Основные виды алгоритмов. Их реализация в программировании на языке Java.
статья

Основные виды алгоритмов. Их реализация в программировании на языке Java.

Скачать:


Предварительный просмотр:

Урок на тему: Основные виды алгоритмов. Их реализация в программировании на языке Java.

Цель урока:

  1. Разобрать основные типы алгоритмов.
  2. Научиться применять их при написании кода на языке Java.

В данном уроке мы в общем виде рассмотрим виды алгоритмов, изучим их свойства, а также приведем пример в Java.

  1. Что такое алгоритм и с чем его «едят»

Слово алгоритм имеет разные определения.

  1. Алгоритм – последовательность (или цепочка) чётко определенных действий, выполнение которых ведёт к решению задачи. Алгоритм, записанный на языке машины, есть программа решения задачи.

Так же нужно отметить, что действия не обязательно должны следовать друг за другом: они могут повторяться и (или) содержать условие.

  1. Алгоритм – это совокупность действий, приводящих к достижению результата за конечное число шагов.

Свойства алгоритмов:

  1. Дискретность (от лат. discretus — разделенный, прерывистый) – это разбиение алгоритма на ряд отдельных законченных действий (шагов).
  2. Детерминированность (от лат. determinate — определенность, точность) - любое действие алгоритма должно быть строго и недвусмысленно определено в каждом случае. Например, алгоритм поездки на поезде, если к вокзалу подходят поезда разных маршрутов, то в алгоритме необходимо указать конкретный номер платформы.
  3. Конечность – каждое действие в отдельности и алгоритм в целом должны иметь возможность завершения.
  4. Массовость – один и тот же алгоритм можно использовать с разными исходными данными.
  5. Результативность – алгоритм должен приводить к достоверному решению.

Основная цель алгоритмизации – составление алгоритмов для ЭВМ с дальнейшим решением задачи на ЭВМ.

Существует несколько способов записи алгоритмов. На практике наиболее распространены следующие формы представления алгоритмов:

словесная (запись на естественном языке);

псевдокоды (полуформализованные описания алгоритмов на условном алгоритмическом языке, включающие в себя как элементы языка программирования, так и фразы естественного языка, общепринятые математические обозначения и др.);

графическая (изображения из графических символов – блок-схема);

программная (тексты на языках программирования – код программы).

Одни способы применяются чаще других. Наиболее распространенным является программная форма представления алгоритмов.

  1. Основные виды алгоритмов. Пример алгоритма на языке Java

Различают три основных вида алгоритмов:

  • линейный алгоритм,
  • разветвляющийся алгоритм,
  • циклический алгоритм.

Линейный алгоритм – это алгоритм, в котором действия выполняются однократно и строго последовательно, т.е. все действия следуют одно за другим, без условий и повторений.

Пример 1. Напечатать на экране на первой строке «Привет мир» и перейти на новую строчку. Затем напечатать на текущей строчке «Привет всем».

public class Primer1 {// объявляется класс Primer1

   public static void main(String[] args) {// метод по умолчанию

      System.out.println("Привет мир");

      System.out.println("Привет всем");

   }

}

Разветвляющийся алгоритм – это алгоритм, в котором в зависимости от условия выполняется либо одна, либо другая последовательность действий.

В языке Java ветвление осуществляется за счет применения условного оператора if_else, а также применением тернарного оператора.

Пример 2. Вводиться число a. Затем проверяется условие a > 0. Если условие верно, программа печатает «Ваше число положительное», иначе печатает «Ваше число не положительное»

import java.util.Scanner; // подключение к библиотеке

public class Primer2 {// объявляется класс Primer2

   public static void main(String[] args) {// метод по умолчанию

      Scanner sc = new Scanner(System.in); // инициализация инструмента ввода

      int a = sc.nextInt(); // чтение и сохранение в переменную введенного числа

      if (a > 0) { // проверка условия

         System.out.println("Ваше число положительное"); //печать (если верно)

      else {

         System.out.println("Ваше число не положительное"); //печать (иначе)

   }

}

Пример 3. То же что и Пример 2, но для тернарного оператора.

import java.util.Scanner; // подключение к библиотеке

public class Primer2 {// объявляется класс Primer2

   public static void main(String[] args) {// метод по умолчанию

      Scanner sc = new Scanner(System.in); // инициализация инструмента ввода

      int a = sc.nextInt(); // чтение и сохранение в переменную введенного числа

      System.out.println((a > 0) ? "Ваше число положительное"

                                        : "Ваше число не положительное");

   }

}

Циклический алгоритм – это алгоритм, команды которого повторяются некое количество раз подряд.

В языке Java несколько базовых конструкций цикла: постусловный цикл (while), предусловный цикл (do_while) и цикл со счетчиком (for).

Пример 4. Программа умножает числа от 1 до 10.

public class Task {

   public static void main(String[] args) {

      int i = 1;

      int sum = 1;

      while (i != 11);{

         mult *= i;

         i++;

      }

      System.out.println(mult);

   }

}

Пример 5. Программа суммирует числа от 1 до 10.

public class Task {

   public static void main(String[] args) {

      int i = 0;

      int sum = 0;

      do {

         sum = sum + i;

         i = i + 1;

      } while (i != 11);

      System.out.println(sum);

   }

}

Пример 6. Программа суммирует квадраты чисел от 1 до 10.

public class Task {

   public static void main(String[] args) {

      int sum = 0;

      for (int i = 1; i <= 10; i++){

         sum += i * i;

      System.out.println(sum);

   }

}

Также эти виды алгоритмов могут применятся совместно в зависимости от заданной задачи. Покажем это в следующем примере.

Пример 7. Программа считает кубы чисел от 1 до числа, введенного пользователем. Число, введенное пользователем, не должно выходить за рамки диапозона от 1 до 10.

import java.util.Scanner;

public class Task {

   public static void main(String[] args) {

      Scanner sc = new Scanner(System.in);

      System.out.println("Введите число:");

      int a = sc.nextInt();

      sc.close();

      if (a < 1 || a > 10) {

         System.out.println("Введено неправильное число");

      } else {

         int i = 1;

         do {

            System.out.println("Квадрат " + i + " равен " + (i * i * i));

            i = i + 1;

         } while (i < (a + 1));

      }

   }

}


По теме: методические разработки, презентации и конспекты

Сравнительная характеристика основных видов деятельности ученика и учителя при реализации требований ГОС и ФГОС.

В 2015 г. учебном году средняя школа переходит на ФГОС. Как изменится деятельность учителя и ученика? Один из вариантов!...

Характеристика основных видов деятельности ученика при реализации требований ГОС и ФГОС

Характеристика основных видов деятельности ученика при реализации требований ГОС и ФГОС...

Конспект урока на тему: "«Основные виды алгоритмических структур. Линейные алгоритмы»."

Цели  урока:Образовательная.Организовать работу учащихся по изучению и первичному закреплению знаний путем  коллективной и самостоятельной практической деятельности.Развивающая. О...

Основные алгоритмические конструкции. Следование. Реализация линейного алгоритма при помощи робота mOway и его программного обеспечения.

Разработка урока по теме Основные алгоритмические конструкции. Следование. Реализация линейного алгоритма при помощи робота mOway и его программного обеспечения.Содержит описание хода урока и рас...

Практические работы." «Программирование на языке Pascal. Линейные алгоритмы»"

Практические работы." «Программирование на языке Pascal. Линейные алгоритмы»"Практическая работа № 1 Начало программирования. Работа в программе PascalABC. Решение зада...

3.11.21 и 5.11.21 для МСТ1 и 2.11.21 ПКД1 Тема: "Понятие алгоритма. Свойства алгоритма. Виды алгоритмов. Способы описания алгоритмов".

Задание:1) Приготовить сообщение по данной теме.2) Создать кроссворд со словами описывающие способы записи алгоритмов и виды  вычислительных процессов при решении задач....

Алгоритмизация. Основные виды алгоритмов и способы их записи.

Усвоить основные структуры алгоритмов и способы их записи. Научиться записывать  алгоритмы, используя данные структуры....