Алгоритмизация и программирование Зозулина Любовь Сергеевна, учитель информатики МОУ «СОШ 3» г. Первоуральск
Понятие и свойства алгоритма Понятие и свойства алгоритма Понятие и свойства алгоритма Понятие и свойства алгоритма Виды алгоритмических конструкций. Виды алгоритмических конструкций. Виды алгоритмических конструкций. Виды алгоритмических конструкций.
Понятие и свойства алгоритма. Алгоритм – это точное предписание на выполнение последовательности действий, приводящих от исходных данных к результату. Свойства алгоритма: 1. Дискретность; 2. Понятность; 3. Результативность (конечность); 4. Определённость (однозначность); 5. Массовость. Далее
Дискретность. Алгоритм состоит из отдельных законченных шагов – операций, которые и составляют всю последовательность. На первом шаге задаются исходные данные. Каждый последующий шаг – выполнение какого-либо действия. Последний шаг выдаёт результат алгоритма. Далее
Понятность. Каждый шаг алгоритма должен быть понятен и выполним для конкретного исполнителя. Далее
Результативность. Количество шагов алгоритма должно быть конечным и их последовательность должна приводить к запланированному результату. Далее
Определённость. На каждом шаге алгоритма однозначно и точно определены действия. Далее
Массовость. Возможность многократного применения алгоритма с различными исходными данными.
Виды алгоритмических конструкций ЛИНЕЙНАЯ ЛИНЕЙНАЯ ЛИНЕЙНАЯ ВЕТВЛЕНИЕ ВЕТВЛЕНИЕ ВЕТВЛЕНИЕ ЦИКЛ ЦИКЛ ЦИКЛ
Линейная алгоритмическая структура Структура алгоритма называется линейной, если все команды в ней выполняются последовательно друг за другом. Также эта структура называется структурой «Следование». Описание структуры: На языке блок-схем. На языке блок-схем. На языке блок-схем. На языке блок-схем. На алгоритмическом языке. На алгоритмическом языке. На алгоритмическом языке. На алгоритмическом языке. На языке программирования QBasic На языке программирования QBasic На языке программирования QBasic На языке программирования QBasic На языке программирования Pascal На языке программирования Pascal На языке программирования Pascal На языке программирования Pascal
На языке блок-схем Начало Команда 1 Команда 2 Команда 3 Конец Задачи.
Задачи с линейными алгоритмами. НАЧ КОН А=7 В=3 В=В^2-A A=(A+1)/2 B=A*B B НАЧ КОН X=1X=1 Y=2Y=2 Z=(X+Y)^2 Z=Z+1 Z=Z/2 Z НАЧ КОН C=10 C=(C+5)/3 C=C^2+5 C=C/(C-3) C=C/3-4 B НАЧ КОН A В=3 C=A^2+B^2 S=1/C S=S+C S НАЧ КОН А, B P=(A+B)*2 S=A*B D=SQR(A^2+B^2) D P, S
На алгоритмическом языке НАЧ Название алгоритма 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)* a = 8600, b = a = 8600, b = a = 8673, b = a = 8673, b = 744
На языке программирования Pascal PROGRAM Название программы; VAR имена переменных : тип переменных; BEGIN READ (имена переменных); имя переменной:=выражение; WRITELN (имена переменных); END.
Алгоритмическая структура Ветвление Ветвление – это структура алгоритма, в которой осуществляется выбор одного из двух вариантов действий в зависимости от верности некоторого условия. Различают полную и неполную форму ветвления. Описание структуры: На языке блок-схем. На языке блок-схем. На алгоритмическом языке. На алгоритмическом языке. На языке программирования QBasic На языке программирования QBasic На языке программирования Pascal На языке программирования Pascal
На языке блок-схем Полная форма ветвления Вариант 1Вариант 2 Условие данет
На языке блок-схем Вариант 1 Условие Неполная форма ветвления данет ЗадачиЗадачи.
Задачи с разветвляющимися алгоритмами. НАЧ КОН А, B M=A A>B данет M=B M НАЧ КОН Х M=Х Х>=0 данет M= -Х M Далее
Задачи с разветвляющимися алгоритмами (продолжение). НАЧ КОН Х, Y X>0 да нет M=B Z Z=0 Z=1 Y>0 да нет Z=2 Какое значение получит переменная Z в результате выполнения алгоритма? 1. Х=1, Y=1; 2. X=1. Y= -1; 3. X= -1, Y=1. Далее
Задачи с разветвляющимися алгоритмами (продолжение). Какое значение получит переменная Z в результате выполнения алгоритма? 1. Х=1, Y=1; 2. X=1. Y= -1; 3. X= -1, Y=1 4. X= -1, Y=-1 НАЧ КОН Х, Y X>0 да нет Z Z=1 Y>0 да нет Z=4 Z=2 Y>0 да нет Z=3
На алгоритмическом языке (полная форма) ЕСЛИ условие ТО Команда 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)ELSEY=3*X^2+7 END IF PRINT Y=;Y END Составить программу вычисления функции:
На языке программирования Pascal Полная форма IF условие THEN BEGIN Оператор 1; Оператор N BEGIN Оператор 1; Оператор N END; END;ELSE BEGIN Оператор 1; Оператор N BEGIN Оператор 1; Оператор N END; END; Неполная форма IF условие THEN BEGIN Оператор 1; Оператор N BEGIN Оператор 1; Оператор N END; END; (Возможна запись в одну строку тогда BEGIN и END не ставятся)
Алгоритмическая структура Цикл Цикл – это структура алгоритма, в которой осуществляется повторение выполнения некоторой группы операций определенное число раз (пока верно некоторое условие). Различают следующие виды циклов: С предусловием С предусловием С предусловием С предусловием С постусловием С постусловием С постусловием С постусловием Со счетчиком Со счетчиком Со счетчиком Со счетчиком
На языке блок-схем Тело цикла Условие Цикл с предусловием данет Задачи.
Задачи на циклы. а = -11 да нет а:=0 с:=0 а: = а - 1 с: = а + с Определите значение переменной с после выполнения фрагмента алгоритма: 1) - 112) – 783) – 55 4) – 66 Далее
Задачи на циклы (продолжение). Определите значение переменной m после выполнения фрагмента алгоритма: 1) 12) 23) 3 4) 33 m = n данет m:=81 n:=48 n: = n - m m > n да нет m: = m - n
На алгоритмическом языке (с предусловием) ПОКА условие НЦ Команда 1 Команда N Команда NКЦ Тело цикла
На языке программирования QBasic С предусловием WHILE условие Оператор 1 WHILE условие Оператор 1 Оператор N WENDИли WHILE условие: Оператор 1:…:Оператор N: WEND
На языке программирования Pascal С предусловием WHILE условие DO BEGIN Оператор 1 WHILE условие DO BEGIN Оператор 1 Оператор N END Возможна запись в одну строку
На языке блок-схем Тело цикла Условие Цикл с постусловием данет
На алгоритмическом языке (с постусловием) ДЕЛАТЬ НЦ Команда 1 Команда N Команда N КЦ условие Тело цикла
На языке программирования QBasic С постусловием DO Оператор 1 DO Оператор 1 Оператор N LOOP WHILE условие Или DO Оператор 1:…:Оператор N:LOOP WHILE условие
На языке программирования Pascal С постусловием REPEAT Оператор 1 REPEAT Оператор 1 Оператор N UNTIL условие Возможна запись в одну строку
На языке блок-схем Цикл со счетчиком (параметром) Пар=НЗ,КЗ,Шаг Тело цикла Задачи
Задачи с циклическими алгоритмами. НАЧ S=0S=0 КОН S S=S+K K=1,5,1 НАЧ D=160 КОН D D=D/2 K=1,5,1 НАЧ C=1C=1 КОН C C=C*2+K K=5,1,-1
На алгоритмическом языке ДЛЯ имя пар=НЗ ДО КЗ С ШАГОМ шаг НЦ Команда 1 Команда N Команда NКЦ Тело цикла Со счетчиком (параметром)
На языке программирования QBasic Со счетчиком (параметром) FOR имя пар = НЗ TO КЗ STEP шаг Оператор 1 FOR имя пар = НЗ TO КЗ STEP шаг Оператор 1 Оператор N END IF Возможна запись в одну строку
На языке программирования Pascal Со счетчиком (параметром) FOR имя пар = НЗ TO КЗ DO BEGIN Оператор 1 FOR имя пар = НЗ TO КЗ DO BEGIN Оператор 1 Оператор N END