Способы записи алгоритма.
Существует четыре способа записи алгоритма.
1. Словесный
2. Псевдокод
3. Блок-схема (графический способ или символьная схема)
4. Язык программирования
Рассмотрим подробнее каждый способ.
Словесная запись- используется чаще всего для исполнителя человека. Проста понятна. Команды могут быть пронумерованы, для возможной ссылки на них.
Пример: Кулинарный рецепт, инструкция.
Псевдокод- система обозначений и правил для единообразной записи алгоритма. Существуют специальные слова, смысл которых определен раз и навсегда.
Пример:
Нач
Ввод(а, с);
У:=а+с;
Вывод(‘у=’,у);
Кон.
Блок- схема- графически способ записи алгоритма. Наиболее наглядна. Команды алгоритма помещаются внутрь графических блоков, которые соединяются линиями, указывающими порядок выполнения действий.
Рассмотрим основные графические блоки.
Символ процесса. Отображает выполнение операций, приводящих к изменению значений некоторых величин.
Символ, отображающий ввод- вывод данных
Терминатор, Отображает начало или коней блок-схемы
Символ, имеющий 1 вход и два альтернативных выхода. Внутри ромба записывается условие, и, в зависимости от его истинности, алгоритм проходит по той или иной ветви-выхода
Соединитель
Символ подпрограммы, внутри указывается имя подпрограммы (процедуры, функции) к которой необходимо обратится.
Символ ввода с клавиатуры.
Символ дисплея.
Символ магнитного диска.
Символ вывода на печать
Пример:
Написать на блок-схеме алгоритм нахождения суммы двух чисел.
Язык программирования- совокупность символов, правил, обозначений для описания алгоритма.
Пример: Turbo Pascal, Си и т.д.
Лекция 3.
Типы алгоритмов.
Все алгоритмы можно разделить на три типа.
1. Линейные
2. Разветвляющиеся
3. Циклические
К линейным алгоритмам относятся алгоритмы, все команды которых идут последовательно друг за другом, не содержат условия и повторений.
Пример:
Написать алгоритм нахождения суммы (произведения, разности и т.д) двух чисел.
К разветвляющимся относятся алгоритмы, в которых в зависимости от какого-то условия выполняется два или больше альтернативных действий.
Пример:
Написать алгоритм вычисления частного двух целых чисел.
Зам! На ноль делить нельзя!
К циклическим относятся алгоритмы, в которых одно или несколько действий повторяются.
Эту повторяющуюся часть в алгоритме называют циклом, а операторы, которые повторяются, называют телом цикла. Циклы бывают простые и сложные.
Цикл называется сложным, если он содержит в себе еще один или несколько циклов. Цикл находящийся внутри называется вложенным (внутренним), а цикл, содержащий в себе др. циклы называется охватывающим (внешним). Чтобы сложные циклы работали нормально, необходимо чтобы внутренний цикл заканчивался раньше внешнего.
Все циклы можно разделить еще на циклы с заранее известным количеством шагов (повторений) и циклы с неизвестным количеством шагов (итерационные)
К первому типу относится цикл:
ДЛЯ им.пер.:=нач.зн. ДО кон.зн. ПОВТОРЯТЬ
НАЧЦИКЛА
Действия
КОНЦИКЛА
Пример: выводить на экран значение функции y=x2 для х из (0,15), где х целое число.
Дано: целые числа от 0 до 15.
Результат: на экран вывести значение функции от данных аргументов, т.е. должны получить
0 1 4 9 16 25 36 49… 225.
Алгоритм:
Присвоить х 0;
Вычислить y=x2
Вывести у
Присвоить х 1
Вычислить y=x2
Вывести у
…
Присвоить х 15
Вычислить y=x2
Вывести у
Алгоритм получился очень большим, что не удобно. Кроме того, он содержит практически одни и те же действия. Рациональнее переписать алгоритм следующим образом.
Начало
ДЛЯ Х:=0 ДО 15 ПОВТОРЯТЬ
НАЧЦИКЛА
У:=Х*Х;
ВЫВОД(У);
КОНЦИКЛА;
Конец
Итерационные циклы реализуются при помощи циклов ПОКА, ПОВТОРЯТЬ ДО.
Рассмотрим цикл ПОКА.
ПОКА усл ПОВТОРЯТЬ
НАЧЦИКЛА
Действие
КОНЦИКЛА
Действие повторяется пока условие истинно, при ложном условии происходит выход из цикла.
Пример: дана функция у=1/х, где х натуральное число. Выводить у, пока он больше 0,066.
Алгоритм:
Присвоить х 1
Вычислить у
Вывести у, если он больше0,066
Присвоить х 2
Вычислить у
Вывести у, если он больше0,066
Присвоить х 3
Вычислить у
Вывести у, если он больше0,066
Когда закончится этот алгоритм, не знаем, следовательно, написанный таким образом алгоритм не удовлетворяет свойству результативности, поэтому перепишем его следующим образом:
Начало
Х:=1;
У:=х*х;
ПОКА у>0.066 Повторять
НАЧЦИКЛА
Вывод(у);
х:=х+1;
у:=х*х;
КОНЦИКЛА;
Конец
Дома Записать на псевдокоде и блок- схеме:
1. Вычислить у=3х2+2а=7, где а=-8.
2. Найти площадь прямоугольника со сторонами х, у. обратить внимание, что стороны не могут быть отрицательными.
3. Протабуллировать функцию у=х3, для целого х из интервала (-4;4).
4. Протабуллировать функцию у=1/х, для х из интервала (0,10) с шагом 0,1.
Лекция 4.
Вопросы: (отвечаем по цепочки, начиная с первой парты первого ряда)
1. Какие типы алгоритмов вы знаете(перечислить)
2. Охарактеризовать каждый тип
В это же время 4 человека у доски показывают домашнее задание.
Дата добавления: 2016-05-25; просмотров: 820;