Алгоритмизация и программирование Зозулина Любовь Сергеевна, учитель информатики МОУ «СОШ №3» г. Первоуральск
Понятие и свойства алгоритма Виды алгоритмических конструкций.
Понятие и свойства алгоритма. Алгоритм – это точное предписание на выполнение последовательности действий, приводящих от исходных данных к результату. Свойства алгоритма: Дискретность; Понятность; Результативность (конечность); Определённость (однозначность); Массовость. Далее
Дискретность. Алгоритм состоит из отдельных законченных шагов – операций, которые и составляют всю последовательность. На первом шаге задаются исходные данные. Каждый последующий шаг – выполнение какого-либо действия. Последний шаг выдаёт результат алгоритма. Далее
Понятность. Каждый шаг алгоритма должен быть понятен и выполним для конкретного исполнителя. Далее
Результативность. Количество шагов алгоритма должно быть конечным и их последовательность должна приводить к запланированному результату. Далее
Определённость. На каждом шаге алгоритма однозначно и точно определены действия. Далее
Массовость. Возможность многократного применения алгоритма с различными исходными данными.
Виды алгоритмических конструкций ЛИНЕЙНАЯ ВЕТВЛЕНИЕ ЦИКЛ
Линейная алгоритмическая структура Структура алгоритма называется линейной, если все команды в ней выполняются последовательно друг за другом. Также эта структура называется структурой «Следование». Описание структуры: На языке блок-схем. На алгоритмическом языке. На языке программирования QBasic На языке программирования Pascal
На языке блок-схем Начало Команда 1 Команда 2 Команда 3 Конец Задачи.
Задачи с линейными алгоритмами.
На алгоритмическом языке НАЧ Название алгоритма 1. Команда 2. Команда 3. Команда КОН
На языке программирования QBasic REM Название алгоритма INPUT (Оператор присваивания) PRINT END Задачи.
Примеры программ на QBasic. REM вычисление функции. INPUT “Введите значение х”; x Y = SQR(X^2+3) - ABS(X-5) PRINT “Y=”; Y END Составить программу для вычисления функции Далее
Программы с линейными алгоритмами (продолжение). Определите значение целочисленных переменных a и b после выполнения фрагмента программы: a = 8673 b =(a MOD 100)*10+14 a =(a\100)*100 a = 8600, b = 744 a = 8600, b = 874 a = 8673, b = 874 a = 8673, b = 744
На языке программирования Pascal PROGRAM Название программы; VAR имена переменных : тип переменных; BEGIN READ (имена переменных); имя переменной:=выражение; WRITELN (имена переменных); END.
Алгоритмическая структура Ветвление Ветвление – это структура алгоритма, в которой осуществляется выбор одного из двух вариантов действий в зависимости от верности некоторого условия. Различают полную и неполную форму ветвления. Описание структуры: На языке блок-схем. На алгоритмическом языке. На языке программирования QBasic На языке программирования Pascal
На языке блок-схем Полная форма ветвления
На языке блок-схем Вариант 1 Условие Неполная форма ветвления да нет Задачи.
Задачи с разветвляющимися алгоритмами. Далее
Задачи с разветвляющимися алгоритмами (продолжение). Какое значение получит переменная Z в результате выполнения алгоритма? Х=1, Y=1; X=1. Y= -1; X= -1, Y=1. Далее
Задачи с разветвляющимися алгоритмами (продолжение). Какое значение получит переменная Z в результате выполнения алгоритма? Х=1, Y=1; X=1. Y= -1; X= -1, Y=1 X= -1, Y=-1
На алгоритмическом языке (полная форма) ЕСЛИ условие ТО Команда 1 Команда N ИНАЧЕ Команда 1 Команда N КОН Вариант 1 Вариант 2
На алгоритмическом языке (неполная форма) ЕСЛИ условие ТО Команда 1 Команда N КОН Вариант 1
На языке программирования QBasic Полная форма IF условие THEN Оператор 1 Оператор N ELSE Оператор 1 Оператор N END IF Неполная форма IF условие THEN Оператор 1 Оператор N END IF (Возможна запись в одну строку, тогда операторы пишутся через двоеточие) Задачи.
Примеры программ на QBasic REM Вычисление значения функции INPUT “X=”; X IF X>- 4 THEN Y=(5*X^2+2)/(X+4) ELSE Y=3*X^2+7 END IF PRINT “Y=”;Y END Составить программу вычисления функции:
На языке программирования Pascal Полная форма IF условие THEN BEGIN Оператор 1; Оператор N END; ELSE BEGIN Оператор 1; Оператор N END; Неполная форма IF условие THEN BEGIN Оператор 1; Оператор N END; (Возможна запись в одну строку тогда BEGIN и END не ставятся)
Алгоритмическая структура Цикл Цикл – это структура алгоритма, в которой осуществляется повторение выполнения некоторой группы операций определенное число раз (пока верно некоторое условие). Различают следующие виды циклов: С предусловием С постусловием Со счетчиком
На языке блок-схем Тело цикла Условие Цикл с предусловием да нет Задачи.
Задачи на циклы. Определите значение переменной с после выполнения фрагмента алгоритма: 1) - 11 2) – 78 3) – 55 4) – 66 Далее
Задачи на циклы (продолжение). Определите значение переменной m после выполнения фрагмента алгоритма: 1) 1 2) 2 3) 3 4) 33
На алгоритмическом языке (с предусловием) ПОКА условие НЦ Команда 1 • • • • • • • • Команда N КЦ Тело цикла
На языке программирования QBasic С предусловием WHILE условие Оператор 1 • • • • • • • • Оператор N WEND Или WHILE условие: Оператор 1:…:Оператор N: WEND
На языке программирования Pascal С предусловием WHILE условие DO BEGIN Оператор 1 • • • • • • • • Оператор N END Возможна запись в одну строку
На языке блок-схем Тело цикла Условие Цикл с постусловием да нет
На алгоритмическом языке (с постусловием) ДЕЛАТЬ НЦ Команда 1 • • • • • • • • Команда N КЦ условие Тело цикла
На языке программирования QBasic С постусловием DO Оператор 1 • • • • • • • • Оператор N LOOP WHILE условие Или DO Оператор 1:…:Оператор N:LOOP WHILE условие
На языке программирования Pascal С постусловием REPEAT Оператор 1 • • • • • • • • Оператор N UNTIL условие Возможна запись в одну строку
На языке блок-схем Цикл со счетчиком (параметром) Задачи
Задачи с циклическими алгоритмами.
На алгоритмическом языке ДЛЯ имя пар=НЗ ДО КЗ С ШАГОМ шаг НЦ Команда 1 • • • • • • • • Команда N КЦ Тело цикла Со счетчиком (параметром)
На языке программирования QBasic Со счетчиком (параметром) FOR имя пар = НЗ TO КЗ STEP шаг Оператор 1 • • • • • • • • Оператор N END IF Возможна запись в одну строку
На языке программирования Pascal Со счетчиком (параметром) FOR имя пар = НЗ TO КЗ DO BEGIN Оператор 1 • • • • • • • • Оператор N END