Основные виды алгоритмов. Их реализация в программировании на языке Java.
статья
Основные виды алгоритмов. Их реализация в программировании на языке Java.
Скачать:
Предварительный просмотр:
Урок на тему: Основные виды алгоритмов. Их реализация в программировании на языке Java.
- Разобрать основные типы алгоритмов.
- Научиться применять их при написании кода на языке Java.
В данном уроке мы в общем виде рассмотрим виды алгоритмов, изучим их свойства, а также приведем пример в Java.
Слово алгоритм имеет разные определения.
- Алгоритм – последовательность (или цепочка) чётко определенных действий, выполнение которых ведёт к решению задачи. Алгоритм, записанный на языке машины, есть программа решения задачи.
Так же нужно отметить, что действия не обязательно должны следовать друг за другом: они могут повторяться и (или) содержать условие.
- Алгоритм – это совокупность действий, приводящих к достижению результата за конечное число шагов.
- Дискретность (от лат. discretus — разделенный, прерывистый) – это разбиение алгоритма на ряд отдельных законченных действий (шагов).
- Детерминированность (от лат. determinate — определенность, точность) — любое действие алгоритма должно быть строго и недвусмысленно определено в каждом случае. Например, алгоритм поездки на поезде, если к вокзалу подходят поезда разных маршрутов, то в алгоритме необходимо указать конкретный номер платформы.
- Конечность – каждое действие в отдельности и алгоритм в целом должны иметь возможность завершения.
- Массовость – один и тот же алгоритм можно использовать с разными исходными данными.
- Результативность – алгоритм должен приводить к достоверному решению.
Основная цель алгоритмизации – составление алгоритмов для ЭВМ с дальнейшим решением задачи на ЭВМ.
Существует несколько способов записи алгоритмов. На практике наиболее распространены следующие формы представления алгоритмов:
словесная (запись на естественном языке);
псевдокоды (полуформализованные описания алгоритмов на условном алгоритмическом языке, включающие в себя как элементы языка программирования, так и фразы естественного языка, общепринятые математические обозначения и др.);
графическая (изображения из графических символов – блок-схема);
программная (тексты на языках программирования – код программы).
Одни способы применяются чаще других. Наиболее распространенным является программная форма представления алгоритмов.
Различают три основных вида алгоритмов:
Линейный алгоритм – это алгоритм, в котором действия выполняются однократно и строго последовательно, т.е. все действия следуют одно за другим, без условий и повторений.
Пример 1. Напечатать на экране на первой строке «Привет мир» и перейти на новую строчку. Затем напечатать на текущей строчке «Привет всем».
public static void main(String[] args)/>
Разветвляющийся алгоритм – это алгоритм, в котором в зависимости от условия выполняется либо одна, либо другая последовательность действий.
В языке Java ветвление осуществляется за счет применения условного оператора if_else, а также применением тернарного оператора.
Пример 2. Вводиться число a. Затем проверяется условие a > 0. Если условие верно, программа печатает «Ваше число положительное», иначе печатает «Ваше число не положительное»
import java.util.Scanner; // подключение к библиотеке
public static void main(String[] args)/>
Scanner sc = new Scanner(System.in); // инициализация инструмента ввода
int a = sc.nextInt(); // чтение и сохранение в переменную введенного числа
System.out.println(«Ваше число положительное»); //печать (если верно)
System.out.println(«Ваше число не положительное»); //печать (иначе)
Пример 3. То же что и Пример 2, но для тернарного оператора.
import java.util.Scanner; // подключение к библиотеке
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 static void main(String[] args)
Пример 5. Программа суммирует числа от 1 до 10.
public static void main(String[] args)
Пример 6. Программа суммирует квадраты чисел от 1 до 10.
public static void main(String[] args)
Также эти виды алгоритмов могут применятся совместно в зависимости от заданной задачи. Покажем это в следующем примере.
Пример 7. Программа считает кубы чисел от 1 до числа, введенного пользователем. Число, введенное пользователем, не должно выходить за рамки диапозона от 1 до 10.
public static void main(String[] args)
Scanner sc = new Scanner(System.in);
System.out.println(«Введено неправильное число»);
System.out.println(«Квадрат » + i + » равен » + (i * i * i));