Что такое findslide.org?

FindSlide.org - это сайт презентаций, докладов, шаблонов в формате PowerPoint.


Для правообладателей

Обратная связь

Email: Нажмите что бы посмотреть 

Яндекс.Метрика

Презентация на тему програмирование на алгоретмическом языке

Содержание

Программирование на алгоритмическом языкеТема 1. Введение
Программирование  на алгоритмическом языке (7 класс)ВведениеВетвленияСложные условияЦиклыГрафикаВспомогательные алгоритмыАлгоритмы-функцииАнимацияСлучайные числа Программирование  на алгоритмическом языкеТема 1. Введение АлгоритмСвойства алгоритмадискретность: состоит из отдельных шагов (команд)понятность: должен включать только команды, известные Программа – это алгоритм, записанный на каком-либо языке программированиянабор команд для исполнителяКоманда Простейшая программаалг Первыйнач | начало алгоритмакон | конец алгоритмакомментарии после |  не обрабатываютсяназвание алгоритма алг Вывод на экраннач вывод Задания«4»: Вывести на экран текст «лесенкой»	 Вася     пошел ПеременныеЗадача. Ввести с клавиатуры два числа и найти их сумму.Протокол: Введите два Программаалг Сумманач | ввести два числа  | вычислить их сумму ПеременныеПеременная – это величина, имеющая имя, тип и значение. Значение переменной можно Имена переменныхМОЖНО использоватьлатинские буквы (A-Z), русские буквы (А-Я)цифрызнак подчеркивания _заглавные и строчные Объявление переменныхТипы переменных:цел		| целая вещ		| вещественная и другие…Объявление переменных:цел 	a, b, cвыделение Как записать значение в переменную?a := 5Оператор присваивания5Оператор – это команда языка Блок-схема линейного алгоритманачалоконецc := a + bввод a, bблок «начало»блок «ввод»блок «процесс»блок «вывод»блок «конец»вывод c Как ввести значение с клавиатуры?ввод aОператор ввода5a Ввод значений двух переменныхчерез пробел:	25 30через запятую:	25,30ввод a, bВвод значений двух переменных. Изменение значения переменнойалг Тестнач цел a, b a := 5 b := Арифметические операции+ сложение		– вычитание * умножение		/ деление div деление нацело (остаток отбрасывается)mod Вывод данных|вывод значения |переменной a|вывод значения |переменной a и переход |на новую Задача: сложение чиселЗадача. Ввести два целых числа и вывести на экран их Полное решениеалг Сумманач  цел a, b, c вывод Задания«3»: Ввести три числа, найти их сумму.  Пример:	 Введите три числа: Задания«5»: Ввести три числа, найти их сумму, произведение и среднее арифметическое. Какие операторы неправильные?	алг Ошибки нач	  цел a, b	 вещ x, y Порядок выполнения операцийвычисление выражений в скобкахумножение, деление, div, mod слева направосложение и Ручная прокрутка программыалг Тестнач цел a, b a := 5 b := Команда «вывод»цел a = 1, b = 3вывод a, Что будет выведено?цел a = 1, b = 3вывод Как записать оператор «вывод»?цел a = 1, b = 3вывод Программирование  на алгоритмическом языкеТема 2. Ветвления Разветвляющиеся алгоритмыЗадача. Ввести два целых числа и вывести на экран наибольшее из Вариант 1. Блок-схемаполная форма ветвленияблок «решение» Вариант 1. Программа	алг Максимум нач   цел a, b, M Условный оператор	если условие то  | что делать, если условие верно иначе Вариант 2. Блок-схеманеполная форма ветвления Вариант 2. Программа	алг Максимум 2 нач   цел a, b, M Вариант 2б. Программа	алг Максимум 2б нач   цел a, b, M Задания«3»: Ввести два числа и вывести их в порядке возрастания.  Пример:		Введите Задания«5»: Ввести пять чисел и найти наибольшее из них.  Пример: Программирование  на алгоритмическом языкеТема 3. Сложные условия Сложные условияЗадача. Фирма набирает сотрудников от 25 до 40 лет включительно. Ввести Вариант 1. Алгоритмначаловвод xконецданетx >= 25?данетx Вариант 1. Программа	алг Сотрудникнач  цел x вывод Вариант 2. Алгоритмначаловвод xданетx >= 25  иx Вариант 2. Программасложное условиеалг Сотрудникнач  цел x вывод Сложные условияПростые условия (отношения)  <    >=  = Сложные условияПорядок выполнения (приоритет = старшинство)выражения в скобкахНЕ=, =, ИИЛИПример 2 Сложные условияИстинно или ложно при a := 2; b := 3; c Сложные условияДля каких значений x истинны условия: x < 6 и x Задания«3»: Ввести три числа и определить, верно ли, что они вводились в Задания«5»: Ввести возраст человека (от 1 до 150 лет) и вывести его Программирование  на алгоритмическом языкеТема 4. Циклы ЦиклыЦикл – это многократное выполнение одинаковых действий.цикл с известным числом шаговцикл с Циклыалг Приветнач  вывод Циклыалг Приветнач нц 5 раз  вывод ЦиклыначалоконецБлок-схема:данеттело цикла Число шагов – переменнаяалг Приветнач цел N вывод Задания«3»: Ввести натуральное число и вывести в строчку все числа от 1 Задания«5»: Ввести натуральное число N и найти сумму всех чисел от 1 Циклыалг Приветнач нц 5 раз  вывод Блок-схема алгоритманачалоконецданетN = 5?N := 0N := N + 1еще не сделали Цикл с условиемалг Привет 2нач цел N N:= 0 нц пока N Цикл с условиемалг Привет 3нач цел N N:= 5 нц пока N Что получим?алг Пример 1нач цел N N:= 1 нц пока N Что получим?алг Пример 2нач цел N N:= 1 нц пока N Что получим?алг Пример 3нач цел N N:= 2 нц пока N 5 Что получим?алг Пример 4нач цел N N:= 1 нц пока N Что получим?алг Пример 5нач цел N N:= 5 нц пока N >= Задания«3»: Ввести натуральное число вывести квадраты и кубы всех чисел от 1 Задания«5»: Ввести два целых числа a и b (a ≤ b) и Циклы с условиемПример: Отпилить полено от бревна. Сколько раз надо сделать движения Блок-схема алгоритманачалоконецнетдаn 0?count := 0count := count + 1n := div(n, 10)обнулить Программаалг Число цифрнач цел n, count вывод Цикл с условиемОсобенности:можно использовать сложные условия:можно записывать в одну строчку, разделяя команды точкой с запятой: Цикл с условиемОсобенности:условие пересчитывается при каждом входе в циклесли условие на входе Сколько раз выполняется цикл?a:= 4; b:= 6нц пока a < b; a:= Задания«3»: Ввести целое число и определить, верно ли, что в нём ровно Задания«5»: Ввести целое число и определить, верно ли, что в его записи Задания-2«3»: Ввести целое число и определить, верно ли, что в нём ровно Задания-2«5»: Ввести целое число и определить, верно ли, что все его цифры Вычисление НОДНОД = наибольший общий делитель двух    натуральных чисел Алгоритм ЕвклидаЕвклид(365-300 до. н. э.) НОД(a,b)= НОД(a-b, b) Блок-схема алгоритманачалоконец Алгоритм Евклиданц пока a b если a > b   то Модифицированный алгоритм ЕвклидаНОД(a,b)= НОД(mod(a,b), b)     = НОД(a, mod(b,a))Заменяем Алгоритм Евклида«3»: Составить программу для вычисления НОД с помощью алгоритма Евклида.«4»: Составить Алгоритм Евклида«5»: Выполнить задание на «4» и подсчитать число  шагов алгоритма для каждого случая. Цикл с переменнойЗадача: вывести кубы чисел от 1 до 8. Нужны ли Блок-схема алгоритманачалоконецнетдаN Цикл с переменнойЗадача: вывести кубы натуральных чисел от 1 до 8. алг Цикл с переменнойЗадача: вывести кубы натуральных чисел от 1 до 8. алг Цикл с переменнойЗадача: вывести кубы чётных чисел от 2 до 8. алг Сколько раз выполняется цикл?a := 1нц для i от 1 до 3; Цикл с переменнойОсобенности:переменная цикла может быть только целой (цел)начальное и конечное значения Замена одного вида цикла на другойнц для i от 1 до 10 Задания«3»: Ввести натуральное число N и вывести числа от N до 1 Задания«4»: Ввести два целых числа a и b (a ≤ b) и Задания«4»: Ввести a и b и вывести квадраты и кубы чисел от Программирование  на алгоритмическом языкеТема 5. Графика Система координат(0,0)(x,y)XYxy Исполнитель Рисовательиспользовать Рисовательалг нач | текст программыкон Цвет и толщина линий: перо(2, Фигуры с заливкойперо(1, Примериспользовать Рисовательалг Домикнач перо(2, «3»: «Домик» «4»: «Лягушка»Задания «5»: «Корона»Задания Штриховка(x1, y1)(x2, y2)N линий (N=5)hпрямоугольник (x1, y1, x2, y2)x:= x1 + hлиния(x, Штриховка (программа)использовать Рисовательалг Штриховканач цел N = 5 | число линий цел Штриховка(x1, y1)(x2, y2)hxhyx:= x1 + hx; y:= y1 + hyлиния(x1, int(y), int(x), Штриховка(x1, y1)(x2, y2)hxhyвещ hx, hy, x, yhx:=(x2 - x1)/(N + 1)hy:=(y2 - Задания«3»: Ввести с клавиатуры количество линий, построить фигуру и выполнить штриховку: «4»: Задания«5»: Ввести с клавиатуры количество линий и   построить фигуру: Программирование  на алгоритмическом языкеТема 6. Вспомогательные  алгоритмы ЗадачаОсобенность: три похожие фигуры.общее:  размеры, угол поворотаотличия: координаты, цвет С чего начать?найти похожие действия (три фигуры)найти общее (размеры, форма, угол поворота) Если запустить?(50,100) Как использовать?использовать Рисовательалг Треугольникинач перо(1, Вспомогательные алгоритмырасположены ниже основногов заголовке перечисляются формальные параметры, они обозначаются именамидля каждого Задания«3»: Используя одну процедуру, построить фигуру. «4»: Используя одну процедуру, построить фигуру. Задания«5»: Используя одну процедуру, построить фигуру. Рекурсивные объектыРекурсивный объект – это объект, определяемый через один или несколько таких Рекурсивная фигура3 уровня:Фигура из N уровней – этоокружность и4 фигуры из N-1 уровнейN-1N-1N-1N-1 Рекурсивная фигура: алгоритмалг РекОк(цел x, y, R, N)нач если N Рекурсивная фигура: программаиспользовать Рисовательалг Рекурсиянач РекОк(200, 200, 100, 3)коналг РекОк(цел x, y, R, N)нач ...кон Рекурсивные алгоритмывызывают сами себя прямо… или через другой алгоритм:должно быть условие окончания «3»: Нарисовать рекурсивную фигуру, число уровней вводить с клавиатуры:«4»: Нарисовать рекурсивную фигуру, «5»: Нарисовать рекурсивную фигуру, число уровней вводить с клавиатуры:Задания Программирование  на алгоритмическом языкеТема 8. Анимация АнимацияАнимация (англ. animation) – оживление изображения на экране.Задача: внутри синего квадрата 200 Процедура (рисование и стирание)алг Фигура(цел x, y, лит цвет)нач кисть(цвет) прямоугольник(x,y,x+20,y+20)кон(x, y)(x+20, Полная программаиспользовать Рисовательалг Анимациянач цел x, y     | Задания«3»: Квадрат двигается справа налево:«4»: Два квадрата двигаются в противоположных направлениях: Задания«5»: Два квадрата двигаются в противоположных направлениях  и отталкиваются от стенок синего квадрата: Управление клавишамиЗадача: жёлтый квадрат внутри синего квадрата управляется клавишами-стрелками. Коды клавиш:			влево – Программаиспользовать Рисовательалг Управление клавишаминач цел x, y, c  | нарисовать синий Задания«3»: Квадрат в самом начале стоит в правом нижнем углу, и двигается Задания«5»: Квадрат непрерывно двигается, при нажатии стрелок меняет направление и отталкивается от стенок синего квадрата: Программирование  на алгоритмическом языкеТема 9. Случайные числа Случайно…встретить друга на улицеразбить тарелкунайти 10 рублейвыиграть в лотереюСлучайный выбор:жеребьевка на Электронный генераторнужно специальное устройствонельзя воспроизвести результаты318458191041564321209938992481458191938992малый период  (последовательность повторяется через 106 Модель: снежинки падают на отрезок [a,b]распределениеравномерноенеравномерноеРаспределение случайных чисел Особенности: распределение – это характеристика всей последовательности, а не одного числаравномерное распределение Вещественные числа в интервале [0,10): Генератор случайных чиселвещ X, YX:= rand(0, 10) Случайные числаЗадача: заполнить прямоугольник  200 на 150 пикселей равномерно  точками Цвет пикселя на монитореВывод: цвет можно разложить на составляющие Случайный цвет пикселяцел r, g, br:= irand(0, 255)g:= irand(0, 255)b:= irand(0, 255)Случайные Программаиспользовать Рисовательалг Случайные точкинач цел x, y, r, g, b нц пока Задания«3»: Заполнить квадрат точками случайного цвета. размер квадрата ввести с клавиатуры:	 Пример: Задания«5»: Заполнить область точками случайного цвета:или Конец фильмаПОЛЯКОВ Константин Юрьевичд.т.н., учитель информатики высшей категории,ГОУ СОШ № 163, г. Санкт-Петербургkpolyakov@mail.ru
Слайды презентации

Слайд 2 Программирование на алгоритмическом языке
Тема 1. Введение

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

Слайд 3 Алгоритм
Свойства алгоритма
дискретность: состоит из отдельных шагов (команд)
понятность: должен

АлгоритмСвойства алгоритмадискретность: состоит из отдельных шагов (команд)понятность: должен включать только команды,

включать только команды, известные исполнителю
конечность: позволяет получить решение задачи

за конечное число шагов
определенность: при одинаковых исходных данных всегда выдает один и тот же результат
массовость: может применяться при различных исходных данных

Алгоритм – это четко определенный план решения задачи для исполнителя.


Слайд 4 Программа – это
алгоритм, записанный на каком-либо языке

Программа – это алгоритм, записанный на каком-либо языке программированиянабор команд для

программирования
набор команд для исполнителя
Команда – это описание действий, которые

должен выполнить исполнитель.
откуда взять исходные данные?
что нужно с ними сделать?

Программа


Слайд 5 Простейшая программа
алг Первый
нач | начало алгоритма
кон | конец

Простейшая программаалг Первыйнач | начало алгоритмакон | конец алгоритмакомментарии после | не обрабатываютсяназвание алгоритма

алгоритма
комментарии после | не обрабатываются
название алгоритма


Слайд 6 алг Вывод на экран
нач
вывод "2+"
вывод

алг Вывод на экраннач вывод

"2=?", нс
вывод "Ответ: 4"
кон
Вывод текста на экран
Протокол:
2+2=?

Ответ: 4





новая строка


Слайд 7 Задания
«4»: Вывести на экран текст «лесенкой»
Вася

Задания«4»: Вывести на экран текст «лесенкой»	 Вася   пошел

пошел

гулять
«5»: Вывести на экран рисунок из букв
Ж
ЖЖЖ
ЖЖЖЖЖ
ЖЖЖЖЖЖЖ
HH HH
ZZZZZ

Слайд 8 Переменные
Задача. Ввести с клавиатуры два числа и найти

ПеременныеЗадача. Ввести с клавиатуры два числа и найти их сумму.Протокол: Введите

их сумму.
Протокол:
Введите два целых числа
25 30
25+30=55
компьютер
пользователь
компьютер

считает сам!

Слайд 9 Программа
алг Сумма
нач
| ввести два числа
|

Программаалг Сумманач | ввести два числа | вычислить их сумму |

вычислить их сумму
| вывести сумму на экран


кон

Псевдокод – алгоритм на русском языке с элементами языка программирования.


Слайд 10 Переменные
Переменная – это величина, имеющая имя, тип и

ПеременныеПеременная – это величина, имеющая имя, тип и значение. Значение переменной

значение. Значение переменной можно изменять во время работы программы.


a
Значение
Имя

Другой

тип данных

Слайд 11 Имена переменных
МОЖНО использовать
латинские буквы (A-Z), русские буквы (А-Я)


цифры


знак

Имена переменныхМОЖНО использоватьлатинские буквы (A-Z), русские буквы (А-Я)цифрызнак подчеркивания _заглавные и

подчеркивания _
заглавные и строчные буквы различаются
НЕЛЬЗЯ использовать
скобки
знаки +,

=, !, ? и др.

имя не может начинаться с цифры

Какие имена правильные?
AXby R&B 4Wheel Вася “PesBarbos” TU154 [QuQu] _ABBA A+B


Слайд 12 Объявление переменных
Типы переменных:
цел | целая
вещ | вещественная
и другие…
Объявление

Объявление переменныхТипы переменных:цел		| целая вещ		| вещественная и другие…Объявление переменных:цел 	a, b,

переменных:
цел a, b, c
выделение места в памяти
тип – целые



список имен переменных


Слайд 13 Как записать значение в переменную?
a := 5
Оператор присваивания

5

Оператор

Как записать значение в переменную?a := 5Оператор присваивания5Оператор – это команда

– это команда языка программирова-ния (инструкция).
Оператор присваивания – это

команда для записи нового значения в переменную.

a


Слайд 14 Блок-схема линейного алгоритма
начало
конец
c := a + b
ввод a,

Блок-схема линейного алгоритманачалоконецc := a + bввод a, bблок «начало»блок «ввод»блок «процесс»блок «вывод»блок «конец»вывод c

b
блок «начало»
блок «ввод»
блок «процесс»
блок «вывод»
блок «конец»
вывод c


Слайд 15 Как ввести значение с клавиатуры?
ввод a

Оператор ввода

5
a

Как ввести значение с клавиатуры?ввод aОператор ввода5a

Слайд 16 Ввод значений двух переменных
через пробел:
25 30

через запятую:
25,30
ввод a,

Ввод значений двух переменныхчерез пробел:	25 30через запятую:	25,30ввод a, bВвод значений двух переменных.

b
Ввод значений двух переменных.


Слайд 17 Изменение значения переменной
алг Тест
нач
цел a, b
a

Изменение значения переменнойалг Тестнач цел a, b a := 5 b

:= 5
b := a + 2
a :=

(a + 2)*(b – 3)
b := b + 1
кон


a

?

5

5


b

?

5+2

7


a

5

7*4

28

Пример:


b

7

7+1

8


Слайд 18 Арифметические операции
+ сложение – вычитание
* умножение / деление
div

Арифметические операции+ сложение		– вычитание * умножение		/ деление div деление нацело (остаток

деление нацело (остаток отбрасывается)
mod остаток от деления
цел a, b
a

:= 7*3 - 4 | 17
a := a * 5 | 85
b := div(a,10) | 8
a := mod(a,10) | 5






Слайд 19 Вывод данных
|вывод значения |переменной a
|вывод значения |переменной a

Вывод данных|вывод значения |переменной a|вывод значения |переменной a и переход |на

и переход |на новую строчку
|вывод текста
|вывод текста и значения

переменной c

вывод a

вывод a, нс

вывод "Привет!"

вывод "Ответ: ", c

вывод a, "+", b, "=", c


Слайд 20 Задача: сложение чисел
Задача. Ввести два целых числа и

Задача: сложение чиселЗадача. Ввести два целых числа и вывести на экран

вывести на экран их сумму.
Простое решение:
алг Сумма
нач
цел

a, b, c
ввод a, b
c := a + b
вывод c
кон

Слайд 21 Полное решение
алг Сумма
нач
цел a, b, c

Полное решениеалг Сумманач цел a, b, c вывод

вывод "Введите два целых числа"
ввод a, b
c

:= a + b
вывод a, "+", b, "=", c
кон

Протокол:
Введите два целых числа
25 30
25+30=55

компьютер

пользователь

подсказка


Слайд 22 Задания
«3»: Ввести три числа, найти их сумму.

Задания«3»: Ввести три числа, найти их сумму. Пример:	 Введите три числа:

Пример:
Введите три числа:
4 5 7

4+5+7=16
«4»: Ввести три числа, найти их сумму и произведение.
Пример:
Введите три числа:
4 5 7
4+5+7=16
4*5*7=140

Слайд 23 Задания
«5»: Ввести три числа, найти их сумму, произведение

Задания«5»: Ввести три числа, найти их сумму, произведение и среднее арифметическое.

и среднее арифметическое.
Пример:

Введите три числа:
4 5 7
4+5+7=16
4*5*7=140
(4+5+7)/3=5.333333

Слайд 24 Какие операторы неправильные?
алг Ошибки
нач
цел a,

Какие операторы неправильные?	алг Ошибки нач	 цел a, b	 вещ x, y

b
вещ x, y
a := 5

10 := x
y := 7,8
b := 2.5
x := 2*(a + y)
a := b + x
кон

имя переменной должно быть слева от знака :=

целая и дробная часть отделяются точкой

нельзя записывать вещественное значение в целую переменную



Слайд 25 Порядок выполнения операций
вычисление выражений в скобках
умножение, деление, div,

Порядок выполнения операцийвычисление выражений в скобкахумножение, деление, div, mod слева направосложение

mod слева направо
сложение и вычитание слева направо
z := (5*a+c)/a*(b-c)/

b

x:=(5*c*c-d*(a+b))/((c+d)*(d-2*a))



1 2 4 5 3 6

2 3 5 4 1 10 6 9 8 7


Слайд 26 Ручная прокрутка программы
алг Тест
нач
цел a, b
a

Ручная прокрутка программыалг Тестнач цел a, b a := 5 b

:= 5
b := a + 2
a :=

(a + 2)*(b – 3)
b := div(a,5)
a := mod(a,b)
a := a + 1
b := mod(a+14,7)
кон










Слайд 27 Команда «вывод»
цел a = 1, b = 3
вывод

Команда «вывод»цел a = 1, b = 3вывод a,

a, "+", b, "=", a+b

список вывода
элементы разделяются запятыми
элементы в

кавычках – выводятся без изменений
выражения (элементы без кавычек) вычисляются и выводится их результат

1+3=4


Слайд 28 Что будет выведено?
цел a = 1, b =

3
вывод "a+", b, "=a+b"
a+3=a+b
цел a = 1, b =

3
вывод a, "=F(", b, ")"

1=F(3)

цел a = 1, b = 3
вывод "a=F(", b, ");"

цел a = 1, b = 3
вывод a+b, ">", b, "!"

цел a = 1, b = 3
вывод "F(", b, ")=X(", a, ")"

a=F(3);

4>3!

F(3)=X(1)


Слайд 29 Как записать оператор «вывод»?
цел a = 1, b

= 3
вывод "X(", b, ")=", a
X(3)=1
4=1+3
f(1)>f(3)

1+3=?
цел a = 1,

b = 3
вывод a+b, "=", a, "+", b

цел a = 1, b = 3
вывод "f(", a, ")>f(", b, ")"

цел a = 1, b = 3
вывод "<", a, "<>", b, ">"

цел a = 1, b = 3
вывод a, "+", b, "=?"


Слайд 30 Программирование на алгоритмическом языке
Тема 2. Ветвления

Программирование на алгоритмическом языкеТема 2. Ветвления

Слайд 31 Разветвляющиеся алгоритмы
Задача. Ввести два целых числа и вывести

Разветвляющиеся алгоритмыЗадача. Ввести два целых числа и вывести на экран наибольшее

на экран наибольшее из них.
Идея решения: надо вывести на

экран первое число, если оно больше второго, или второе, если оно больше первого.
Особенность: действия исполнителя зависят от некоторых условий (если … иначе …).

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


Слайд 32 Вариант 1. Блок-схема

полная форма ветвления
блок «решение»

Вариант 1. Блок-схемаполная форма ветвленияблок «решение»

Слайд 33 Вариант 1. Программа


алг Максимум нач цел a, b,

M вывод "Введите два целых числа", нс ввод a,

b если a > b то иначе все вывод "Наибольшее число ", M кон

M:=a

M:=b

полная форма условного оператора


Слайд 34 Условный оператор
если условие то
| что делать,

Условный оператор	если условие то | что делать, если условие верно иначе

если условие верно
иначе
| что делать, если

условие неверно
все

Слайд 35 Вариант 2. Блок-схема

неполная форма ветвления

Вариант 2. Блок-схеманеполная форма ветвления

Слайд 36 Вариант 2. Программа


алг Максимум 2 нач цел a,

b, M вывод "Введите два целых числа", нс ввод

a, b
M:= a если b > a то M:= b все вывод "Наибольшее число ", M кон

неполная форма условного оператора


Слайд 37 Вариант 2б. Программа


алг Максимум 2б нач цел a,

b, M вывод "Введите два целых числа", нс ввод

a, b
M:= b если ??? то ??? все вывод "Наибольшее число ", M кон

M:= a

a > b


Слайд 38 Задания
«3»: Ввести два числа и вывести их в

Задания«3»: Ввести два числа и вывести их в порядке возрастания. Пример:		Введите

порядке возрастания.
Пример:
Введите два числа:
15 9
Ответ: 9

15
«4»: Ввести три числа и найти наибольшее из них.
Пример:
Введите три числа:
4 15 9
Наибольшее число 15

Слайд 39 Задания
«5»: Ввести пять чисел и найти наибольшее из

Задания«5»: Ввести пять чисел и найти наибольшее из них. Пример:

них.
Пример:
Введите

пять чисел:
4 15 9 56 4
Наибольшее число 56

Слайд 40 Программирование на алгоритмическом языке
Тема 3. Сложные условия

Программирование на алгоритмическом языкеТема 3. Сложные условия

Слайд 41 Сложные условия
Задача. Фирма набирает сотрудников от 25 до

Сложные условияЗадача. Фирма набирает сотрудников от 25 до 40 лет включительно.

40 лет включительно. Ввести возраст человека и определить, подходит

ли он фирме (вывести ответ «подходит» или «не подходит»).
Особенность: надо проверить, выполняются ли два условия одновременно.

Слайд 42 Вариант 1. Алгоритм

начало
ввод x
конец




да
нет
x >= 25?


да
нет
x

Вариант 1. Алгоритмначаловвод xконецданетx >= 25?данетx

подходит”
“не подходит”


Слайд 43 Вариант 1. Программа



алг Сотрудник
нач
цел x
вывод

"Введите ваш возраст", нс
ввод x
если x >=

25 то
если x <= 40 то
вывод "Подходит!"
иначе
вывод "Не подходит."
все
иначе
вывод "Не подходит."
все
кон

Слайд 44 Вариант 2. Алгоритм
начало
ввод x


да
нет
x >= 25 и
x

Вариант 2. Алгоритмначаловвод xданетx >= 25 иx

40?

“подходит”
“не подходит”


Слайд 45 Вариант 2. Программа



сложное условие

алг Сотрудник
нач
цел x

вывод "Введите ваш возраст", нс
ввод x
если x

>= 25 и x <= 40 то
вывод "Подходит!"
иначе
вывод "Не подходит."
все
кон

Слайд 46 Сложные условия
Простые условия (отношения)
<

Сложные условияПростые условия (отношения) <  >= = Сложное условие –

> >= =
Сложное условие

– это условие, состоящее из нескольких простых условий (отношений), связанных с помощью логических операций:
И – одновременное выполнение условий
x >= 25 И x <= 40
ИЛИ – выполнение хотя бы одного из условий
x <= 25 ИЛИ x >= 40
НЕ – отрицание, обратное условие
НЕ (x > 25) ⇔ ???

равно

не равно

x <= 25


Слайд 47 Сложные условия
Порядок выполнения (приоритет = старшинство)
выражения в скобках
НЕ

Сложные условияПорядок выполнения (приоритет = старшинство)выражения в скобкахНЕ=, =, ИИЛИПример 2

, >=, =,
И
ИЛИ
Пример
2 1

6 3 5 4

если не (a > 2) или c <> 5 и b < a то
...
все


Слайд 48 Сложные условия
Истинно или ложно при a := 2;

Сложные условияИстинно или ложно при a := 2; b := 3;

b := 3; c := 4;
не (a > b)
a

< b и b < c
a > c или b > c
a < b и b > c
a > c и b > d
не (a >= b) или c = d
a >= b или не (c < b)
a > c или b > c или b > a

Да

Да

Нет

Да

Да

Нет

Нет

Да


Слайд 49
Сложные условия
Для каких значений x истинны условия:
x

Сложные условияДля каких значений x истинны условия: x < 6 и

< 6 и x < 10
x < 6 и

x > 10
x > 6 и x < 10
x > 6 и x > 10
x < 6 или x < 10
x < 6 или x > 10
x > 6 или x < 10
x > 6 или x > 10

x < 6

x > 10

x < 10

x > 6

нет таких

6 < x < 10

все x


Слайд 50 Задания
«3»: Ввести три числа и определить, верно ли,

Задания«3»: Ввести три числа и определить, верно ли, что они вводились

что они вводились в порядке возрастания.
Пример:
Введите три

числа:
4 5 17
да
«4»: Ввести номер месяца и вывести название времени года.
Пример:
Введите номер месяца:
4
весна

Слайд 51 Задания
«5»: Ввести возраст человека (от 1 до 150

Задания«5»: Ввести возраст человека (от 1 до 150 лет) и вывести

лет) и вывести его вместе с последующим словом «год»,

«года» или «лет».
Пример:
Введите возраст: Введите возраст:
24 57
Вам 24 года Вам 57 лет

Слайд 52 Программирование на алгоритмическом языке
Тема 4. Циклы

Программирование на алгоритмическом языкеТема 4. Циклы

Слайд 53 Циклы
Цикл – это многократное выполнение одинаковых действий.
цикл с

ЦиклыЦикл – это многократное выполнение одинаковых действий.цикл с известным числом шаговцикл

известным числом шагов
цикл с неизвестным числом шагов (цикл с

условием)
Задача. Вывести на экран 5 раз слово «Привет».
Особенность: одинаковые действия выполняются 5 раз.

Слайд 54 Циклы
алг Привет
нач
вывод "Привет", нс
вывод "Привет",

Циклыалг Приветнач вывод

нс
вывод "Привет", нс
вывод "Привет", нс
вывод "Привет",

нс
кон

Слайд 55 Циклы
алг Привет
нач
нц 5 раз
вывод "Привет!",

Циклыалг Приветнач нц 5 раз вывод

нс
кц
кон
конец цикла
начало цикла
вывод "Привет!", нс
тело цикла


Слайд 56 Циклы

начало
конец
Блок-схема:
да
нет
тело цикла

ЦиклыначалоконецБлок-схема:данеттело цикла

Слайд 57 Число шагов – переменная
алг Привет
нач
цел N
вывод

Число шагов – переменнаяалг Приветнач цел N вывод

"Сколько раз?", нс
ввод N
нц N раз

вывод "Привет!", нс
кц
кон

Задача: ввести количество повторения с клавиатуры.


Слайд 58 Задания
«3»: Ввести натуральное число и вывести в строчку

Задания«3»: Ввести натуральное число и вывести в строчку все числа от

все числа от 1 до этого числа.
Пример:
Введите

натуральное число:
4
Ответ: 1 2 3 4
«4»: Ввести два целых числа, найти их произведение, не используя операцию умножения.
Пример:
Введите два числа:
4 15
4*15=60

Слайд 59 Задания
«5»: Ввести натуральное число N и найти сумму

Задания«5»: Ввести натуральное число N и найти сумму всех чисел от

всех чисел от 1 до N (1+2+3+…+N).
Пример:

Введите число слагаемых:
100
Сумма чисел от 1 до 100 равна 5050

Слайд 60 Циклы
алг Привет
нач
нц 5 раз
вывод "Привет!",

Циклыалг Приветнач нц 5 раз вывод

нс
кц
кон





N := N + 1


Слайд 61 Блок-схема алгоритма

начало
конец
да
нет
N = 5?

N := 0
N := N

Блок-схема алгоритманачалоконецданетN = 5?N := 0N := N + 1еще не

+ 1

еще не сделали ни одного раза
проверить, все ли

сделали

считаем очередной шаг

цикл


Слайд 62 Цикл с условием
алг Привет 2
нач
цел N
N:=

Цикл с условиемалг Привет 2нач цел N N:= 0 нц пока

0
нц пока N 5
вывод "Привет!",

нс
N:= N + 1
кц
кон

Слайд 63 Цикл с условием
алг Привет 3
нач
цел N
N:=

Цикл с условиемалг Привет 3нач цел N N:= 5 нц пока

5
нц пока N ???
вывод "Привет!",

нс
???
кц
кон

Вместо знаков вопроса добавьте числа и операторы так, чтобы цикл выполнился ровно 5 раз:

0

N:= N - 1


Слайд 64 Что получим?
алг Пример 1
нач
цел N
N:= 1

Что получим?алг Пример 1нач цел N N:= 1 нц пока N

нц пока N

N:= N + 1
кц
кон

1
2
3
4
5



Слайд 65 Что получим?
алг Пример 2
нач
цел N
N:= 1

Что получим?алг Пример 2нач цел N N:= 1 нц пока N

нц пока N

N:= N + 2
кц
кон

1
3
5



Слайд 66 Что получим?
алг Пример 3
нач
цел N
N:= 2

Что получим?алг Пример 3нач цел N N:= 2 нц пока N

нц пока N 5
вывод N, нс

N:= N + 2
кц
кон

2
4
6
8
10
12
14
16
...



Слайд 67 Что получим?
алг Пример 4
нач
цел N
N:= 1

Что получим?алг Пример 4нач цел N N:= 1 нц пока N

нц пока N

N:= N + 1
кц
кон

1
8
27
64
125



Слайд 68 Что получим?
алг Пример 5
нач
цел N
N:= 5

Что получим?алг Пример 5нач цел N N:= 5 нц пока N

нц пока N >= 1
вывод N*N*N, нс

N:= N - 1
кц
кон

125
64
27
8
1



Слайд 69 Задания
«3»: Ввести натуральное число вывести квадраты и кубы

Задания«3»: Ввести натуральное число вывести квадраты и кубы всех чисел от

всех чисел от 1 до этого числа.
Пример:
Введите

натуральное число:
3
1: 1 1
2: 4 8
3: 9 27
«4»: Ввести два целых числа a и b (a ≤ b) и вывести квадраты все чисел от a до b.
Пример:
Введите два числа:
4 5
4*4=16
5*5=25

Слайд 70 Задания
«5»: Ввести два целых числа a и b

Задания«5»: Ввести два целых числа a и b (a ≤ b)

(a ≤ b) и вывести сумму квадратов всех чисел

от a до b.
Пример:
Введите два числа:
4 10
Сумма квадратов 371

Слайд 71 Циклы с условием
Пример: Отпилить полено от бревна. Сколько

Циклы с условиемПример: Отпилить полено от бревна. Сколько раз надо сделать

раз надо сделать движения пилой?
Задача: Ввести целое число (

и определить число цифр в нем.
Идея решения: Отсекаем последовательно последнюю цифру, увеличиваем счетчик.




Проблема: Неизвестно, сколько шагов надо сделать.
Решение: Надо остановиться, когда n = 0, т.е. надо делать «пока n <> 0».

Слайд 72 Блок-схема алгоритма


начало
конец
нет
да
n 0?

count := 0

count := count

Блок-схема алгоритманачалоконецнетдаn 0?count := 0count := count + 1n := div(n,

+ 1
n := div(n, 10)
обнулить счетчик цифр
ввод n

выполнять «пока

n <> 0»

вывод count


Слайд 73 Программа
алг Число цифр
нач
цел n, count
вывод "Введите

Программаалг Число цифрнач цел n, count вывод

целое число", нс
ввод n
count:= 0




вывод

"В числе ", n, " нашли ", count, " цифр"
кон

нц пока n<>0
count:= count + 1
n:= div(n,10)
кц

, n1

; n1:= n

n1,


Слайд 74 Цикл с условием

Особенности:
можно использовать сложные условия:
можно записывать в

Цикл с условиемОсобенности:можно использовать сложные условия:можно записывать в одну строчку, разделяя команды точкой с запятой:

одну строчку, разделяя команды точкой с запятой:


Слайд 75 Цикл с условием

Особенности:
условие пересчитывается при каждом входе в

Цикл с условиемОсобенности:условие пересчитывается при каждом входе в циклесли условие на

цикл
если условие на входе в цикл ложно, цикл не

выполняется ни разу


если условие никогда не станет ложным, программа зацикливается

a := 4; b := 6
нц пока a > b; a:= a – b кц

a:= 4; b:= 6
нц пока a < b; d:= a + b кц


Слайд 76 Сколько раз выполняется цикл?

a:= 4; b:= 6
нц пока

Сколько раз выполняется цикл?a:= 4; b:= 6нц пока a < b;

a < b; a:= a + 1 кц
2 раза
a

= 6

a:= 4; b:= 6
нц пока a < b; a:= a + b кц

1 раз
a = 10

a:= 4; b:= 6
нц пока a > b; a:= a + 1 кц

0 раз
a = 4

a:= 4; b:= 6
нц пока a < b; b:= a – b кц

1 раз
b = -2

a:= 4; b:= 6
нц пока a < b; a:= a – 1 кц

зацикливание


Слайд 77 Задания

«3»: Ввести целое число и определить, верно ли,

Задания«3»: Ввести целое число и определить, верно ли, что в нём

что в нём ровно 3 цифры.
Пример:
Введите

число: Введите число:
123 1234
Да. Нет.
«4»: Ввести целое число и найти сумму его цифр.
Пример:
Введите целое число:
1234
Сумма цифр числа 1234 равна 10.

Слайд 78 Задания

«5»: Ввести целое число и определить, верно ли,

Задания«5»: Ввести целое число и определить, верно ли, что в его

что в его записи есть две одинаковые

цифры, стоящие рядом.
Пример:
Введите целое число: Введите целое число:
1232 1224
Нет. Да.
«6»: Ввести целое число и определить, верно ли, что в его записи есть две одинаковые цифры, НЕ обязательно стоящие рядом.
Пример:
Введите целое число: Введите целое число:
1234 1242
Нет. Да.


Слайд 79 Задания-2

«3»: Ввести целое число и определить, верно ли,

Задания-2«3»: Ввести целое число и определить, верно ли, что в нём

что в нём ровно 1 цифра «9».

Пример:
Введите число: Введите число:
193 1994
Да. Нет.
«4»: Ввести целое число и определить, верно ли, что все его цифры четные.
Пример:
Введите число: Введите число:
2684 2994
Да. Нет.

Слайд 80 Задания-2

«5»: Ввести целое число и определить, верно ли,

Задания-2«5»: Ввести целое число и определить, верно ли, что все его

что все его цифры расположены в порядке возрастания.

Пример:
Введите целое число: Введите целое число:
1238 1274
Да. Нет.
«6»: Ввести целое число и «перевернуть» его, так чтобы первая цифра стала последней и т.д.
Пример:
Введите целое число: Введите целое число:
1234 782
4321 287


Слайд 81 Вычисление НОД
НОД = наибольший общий делитель двух

Вычисление НОДНОД = наибольший общий делитель двух  натуральных чисел –

натуральных чисел – это наибольшее

число, на которое оба исходных числа делятся без остатка.

Перебор:

Записать в переменную k минимальное из двух чисел.
Если a и b без остатка делятся на k, то стоп.
Уменьшить k на 1.
Перейти к шагу 2.


это цикл с условием!


Слайд 82 Алгоритм Евклида
Евклид
(365-300 до. н. э.)
НОД(a,b)= НОД(a-b, b)

Алгоритм ЕвклидаЕвклид(365-300 до. н. э.) НОД(a,b)= НОД(a-b, b)   =


= НОД(a, b-a)
Заменяем большее из

двух чисел разностью большего и меньшего до тех пор, пока они не станут равны. Это и есть НОД.

НОД (14, 21) = НОД (14, 21-14) = НОД (14, 7)

НОД (1998, 2) = НОД (1996, 2) = … = 2

Пример:

много шагов при большой разнице чисел:

= НОД (7, 7) = 7

Надо: вычислить наибольший общий делитель (НОД) чисел a и b.


Слайд 83 Блок-схема алгоритма

начало
конец

Блок-схема алгоритманачалоконец

Слайд 84 Алгоритм Евклида
нц пока a b
если a

Алгоритм Евклиданц пока a b если a > b  то

> b
то a:= a - b

иначе b:= b - a
все
кц

Слайд 85 Модифицированный алгоритм Евклида
НОД(a,b)= НОД(mod(a,b), b)

Модифицированный алгоритм ЕвклидаНОД(a,b)= НОД(mod(a,b), b)   = НОД(a, mod(b,a))Заменяем большее

= НОД(a, mod(b,a))
Заменяем большее из двух чисел остатком

от деления большего на меньшее до тех пор, пока меньшее не станет равно нулю. Тогда большее — это НОД.

НОД (14, 21) = НОД (14, 7) = НОД (0, 7) = 7

Пример:

Еще один вариант:

НОД(2·a,2·b)= 2·НОД(a, b)
НОД(2·a,b)= НОД(a, b) | при нечетном b


Слайд 86 Алгоритм Евклида
«3»: Составить программу для вычисления НОД с

Алгоритм Евклида«3»: Составить программу для вычисления НОД с помощью алгоритма Евклида.«4»:

помощью алгоритма Евклида.
«4»: Составить программу для вычисления НОД с

помощью модифицированного алгоритма Евклида и заполнить таблицу:




Слайд 87 Алгоритм Евклида
«5»: Выполнить задание на «4» и подсчитать

Алгоритм Евклида«5»: Выполнить задание на «4» и подсчитать число шагов алгоритма для каждого случая.

число шагов алгоритма для каждого случая.


Слайд 88 Цикл с переменной
Задача: вывести кубы чисел от 1

Цикл с переменнойЗадача: вывести кубы чисел от 1 до 8. Нужны

до 8.
Нужны ли переменные? Сколько?
Как они должны изменяться?
Нужен

ли цикл?

Слайд 89 Блок-схема алгоритма

начало
конец
нет
да
N

Блок-схема алгоритманачалоконецнетдаN

+ 1

кубN := N*N*N


Слайд 90 Цикл с переменной
Задача: вывести кубы натуральных чисел от

Цикл с переменнойЗадача: вывести кубы натуральных чисел от 1 до 8.

1 до 8.
алг Кубы
нач
цел N, кубN
N:=

1
нц пока N <= 8
кубN:= N*N*N
вывод кубN, нс
N:= N + 1
кц
кон

N:= 1

N <= 8

N:= N + 1

3 действия с N


Слайд 91 Цикл с переменной
Задача: вывести кубы натуральных чисел от

Цикл с переменнойЗадача: вывести кубы натуральных чисел от 1 до 8.

1 до 8.
алг Кубы
нач
цел N, кубN




кон
нц для

N от 1 до 8
кубN:= N*N*N
вывод кубN, нс
кц

для 1,2,3,…,8


Слайд 92 Цикл с переменной
Задача: вывести кубы чётных чисел от

Цикл с переменнойЗадача: вывести кубы чётных чисел от 2 до 8.

2 до 8.
алг Кубы
нач
цел N, кубN




кон
нц для

N от 2 до 8 шаг 2
кубN:= N*N*N
вывод кубN, нс
кц

для 2,4,6,8





Слайд 93 Сколько раз выполняется цикл?
a := 1
нц для i

Сколько раз выполняется цикл?a := 1нц для i от 1 до

от 1 до 3; a:=a+1 кц
a = 4
a :=

1
нц для i от 3 до 1; a:=a+1 кц

a = 1

a := 1
нц для i от 1 до 3 шаг -1; a:=a+1 кц

a = 1

a := 1
нц для i от 3 до 1 шаг -1; a:=a+1 кц

a = 4


Слайд 94 Цикл с переменной
Особенности:
переменная цикла может быть только целой

Цикл с переменнойОсобенности:переменная цикла может быть только целой (цел)начальное и конечное

(цел)
начальное и конечное значения и шаг – целые
можно записывать

в одну строчку, разделяя команды точкой с запятой:


если шаг > 0 и конечное значение < начального, цикл не выполняется ни разу (проверка условия в начале цикла, цикл с предусловием)
если шаг < 0 и конечное значение > начального, цикл не выполняется ни разу

Слайд 95 Замена одного вида цикла на другой

нц для i

Замена одного вида цикла на другойнц для i от 1 до

от 1 до 10
| тело цикла
кц
i:=

1
нц пока i <= 10
| тело цикла
i:= i + 1
кц

нц для i от a до b шаг -1
| тело цикла
кц

i:= a
нц пока i >= b
| тело цикла
i:= i - 1
кц

Замена пока на для возможна только тогда, когда можно заранее вычислить число шагов цикла.

Замена цикла для на пока возможна всегда.


Слайд 96 Задания
«3»: Ввести натуральное число N и вывести числа

Задания«3»: Ввести натуральное число N и вывести числа от N до

от N до 1 (через одно) в порядке убывания.

Пример:
Введите натуральное число:
8
Ответ: 8 6 4 2

Слайд 97 Задания
«4»: Ввести два целых числа a и b

Задания«4»: Ввести два целых числа a и b (a ≤ b)

(a ≤ b) и вывести кубы всех чисел от

a до b.
Пример:
Введите два числа:
4 6
4*4*4=64
5*5*5=125
6*6*6=216
«5»: Ввести целое число a и вывести сумму квадратов всех чисел от 1 до a с шагом 0.1.
Пример:
Введите последнее число:
3
Сумма 91.7

12 + 1.12 + 1.22 +…+ a2


Слайд 98 Задания
«4»: Ввести a и b и вывести квадраты

Задания«4»: Ввести a и b и вывести квадраты и кубы чисел

и кубы чисел от a до b.
Пример:
Введите

границы интервала:
4 6
4: 16 64
5: 25 125
6: 36 216
«5»: Вывести квадраты и кубы 10 чисел следующей последовательности: 1, 2, 4, 7, 11, 16, …
Пример:
1: 1 1
2: 4 8
4: 16 64
...
46: 2116 97336


Слайд 99 Программирование на алгоритмическом языке
Тема 5. Графика

Программирование на алгоритмическом языкеТема 5. Графика

Слайд 100 Система координат


(0,0)
(x,y)
X
Y

x
y

Система координат(0,0)(x,y)XYxy

Слайд 101 Исполнитель Рисователь
использовать Рисователь
алг
нач
| текст программы
кон

Исполнитель Рисовательиспользовать Рисовательалг нач | текст программыкон

Слайд 102 Цвет и толщина линий:
перо(2, "синий")
Линии

толщина линии
перо(1, "зеленый")

Цвет и толщина линий: перо(2,

линия(10, 15, 90, 80)
перо(1, "красный“)
в точку(5, 5)
линия в

точку(50, 5)
линия в точку(70, 50)
линия в точку(30, 80)
линия в точку(5, 60)

Слайд 103 Фигуры с заливкой

перо(1, "синий")
кисть("желтый")
прямоугольник(0, 0, 80, 40)
перо(1, "красный")
кисть("зеленый")
эллипс(0,

Фигуры с заливкойперо(1,

0, 100, 50)
кисть("фиолетовый")
залить(70, 80)
кисть(""); | отменить заливку


Слайд 104
Пример
использовать Рисователь
алг Домик
нач
перо(2, "фиолетовый")
кисть("синий")
прямоугольник(100, 100,

Примериспользовать Рисовательалг Домикнач перо(2,

300, 200)
в точку(100, 100)
линия в точку(200, 50)

линия в точку(300, 100)
кисть("желтый")
залить(200, 75);
перо(2, "белый");
кисть("зеленый");
эллипс(150, 100, 250, 200);
кон



(200, 50)

(100, 100)

(300, 200)






Слайд 105
«3»: «Домик»







«4»: «Лягушка»
Задания



«3»: «Домик» «4»: «Лягушка»Задания

Слайд 106
«5»: «Корона»
Задания

«5»: «Корона»Задания

Слайд 107 Штриховка

(x1, y1)
(x2, y2)



N линий (N=5)
h
прямоугольник (x1, y1, x2,

Штриховка(x1, y1)(x2, y2)N линий (N=5)hпрямоугольник (x1, y1, x2, y2)x:= x1 +

y2)
x:= x1 + h
линия(x, y1, x, y2)
x:= x

+ h
линия(x, y1, x, y2)
x:= x + h
...

x

y2

y1



цикл N раз


Слайд 108 Штриховка (программа)

использовать Рисователь
алг Штриховка
нач
цел N = 5

Штриховка (программа)использовать Рисовательалг Штриховканач цел N = 5 | число линий

| число линий
цел x1 = 100, x2 =

300
цел y1 = 100, y2 = 200
вещ h, x
h:=(x2 - x1)/(N + 1)
прямоугольник(x1, y1, x2, y2)
x:= x1 + h
нц N раз
линия(int(x), y1, int(x), y2)
x:= x + h
кц
кон

целая часть

вещ h, x



Слайд 109 Штриховка


(x1, y1)
(x2, y2)


hx
hy
x:= x1 + hx; y:= y1

Штриховка(x1, y1)(x2, y2)hxhyx:= x1 + hx; y:= y1 + hyлиния(x1, int(y),

+ hy
линия(x1, int(y), int(x), int(y))
x:= x + hx; y:=

y + hy
линия(x1, int(y), int(x), int(y))
x:= x + hx; y:= y + hy
...


цикл N раз


Слайд 110 Штриховка


(x1, y1)
(x2, y2)


hx
hy
вещ hx, hy, x, y
hx:=(x2 -

Штриховка(x1, y1)(x2, y2)hxhyвещ hx, hy, x, yhx:=(x2 - x1)/(N + 1)hy:=(y2

x1)/(N + 1)
hy:=(y2 - y1)/(N + 1)
в точку(x1, y1)
линия

в точку(x1, y2)
линия в точку(x2, y2)
линия в точку(x1, y1)
x:= x1 + hx; y:= y1 + hy
нц N раз
линия(x1,int(y),int(x),int(y))
x:= x + hx
y:= y + hy
кц

Слайд 111 Задания

«3»: Ввести с клавиатуры количество линий, построить фигуру

Задания«3»: Ввести с клавиатуры количество линий, построить фигуру и выполнить штриховку:

и выполнить штриховку:





«4»: Ввести с клавиатуры количество линий,

построить фигуру и выполнить штриховку:

или


Слайд 112 Задания

«5»: Ввести с клавиатуры количество линий и

Задания«5»: Ввести с клавиатуры количество линий и  построить фигуру:

построить фигуру:


Слайд 113 Программирование на алгоритмическом языке
Тема 6. Вспомогательные алгоритмы

Программирование на алгоритмическом языкеТема 6. Вспомогательные алгоритмы

Слайд 114 Задача

Особенность: три похожие фигуры.
общее: размеры, угол поворота
отличия:

ЗадачаОсобенность: три похожие фигуры.общее: размеры, угол поворотаотличия: координаты, цвет

координаты, цвет


Слайд 115 С чего начать?

найти похожие действия (три фигуры)
найти общее

С чего начать?найти похожие действия (три фигуры)найти общее (размеры, форма, угол

(размеры, форма, угол поворота) и отличия (координаты, цвет)
отличия

= параметры алгоритма (доп. данные)

(x+100, y)

(x, y-60)

использовать Рисователь
алг Тр (цел x, y, лит цвет)
нач
в точку(x, y)
линия в точку(x, y-60)
линия в точку(x+100, y)
линия в точку(x, y)
кисть(цвет)
залить(x+20, y-20)
кон

цепочка символов


Слайд 116 Если запустить?

(50,100)

Если запустить?(50,100)

Слайд 117 Как использовать?
использовать Рисователь
алг Треугольники
нач
перо(1, "черный")
Тр(100, 100,

Как использовать?использовать Рисовательалг Треугольникинач перо(1,

"синий")
Тр(200, 100, "зеленый")
Тр(200, 160, "красный")
кон
(100,100)
100
60
вызовы алгоритма
алг Тр(цел

x, y, лит цвет)
нач
...
кон


основной
алгоритм

вспомогательный
алгоритм


Слайд 118 Вспомогательные алгоритмы

расположены ниже основного
в заголовке перечисляются формальные параметры,

Вспомогательные алгоритмырасположены ниже основногов заголовке перечисляются формальные параметры, они обозначаются именамидля

они обозначаются именами
для каждого параметра указывают тип
однотипные параметры перечисляются

через запятую
при вызове в скобках указывают фактические параметры в том же порядке

алг Тр(цел x, y, лит цвет)

Тр(200, 100, "зеленый")

x

y

цвет


Слайд 119 Задания

«3»: Используя одну процедуру, построить фигуру.







«4»:

Задания«3»: Используя одну процедуру, построить фигуру. «4»: Используя одну процедуру, построить фигуру.

Используя одну процедуру, построить фигуру.


Слайд 120 Задания

«5»: Используя одну процедуру, построить фигуру.

Задания«5»: Используя одну процедуру, построить фигуру.

Слайд 121 Рекурсивные объекты

Рекурсивный объект – это объект, определяемый через

Рекурсивные объектыРекурсивный объект – это объект, определяемый через один или несколько

один или несколько таких же объектов.
У попа была

собака, он ее любил.
Она съела кусок мяса, он ее убил.
В ямку закопал, надпись написал:

Сказка о попé и собаке

Примеры:

Сказка о попé и собаке:

Факториал:


если

если

Рисунок с рекурсией:


Слайд 122 Рекурсивная фигура





















3 уровня:
Фигура из N уровней – это
окружность

Рекурсивная фигура3 уровня:Фигура из N уровней – этоокружность и4 фигуры из N-1 уровнейN-1N-1N-1N-1

и
4 фигуры из N-1 уровней

N-1
N-1
N-1
N-1


Слайд 123 Рекурсивная фигура: алгоритм
алг РекОк(цел x, y, R, N)
нач

Рекурсивная фигура: алгоритмалг РекОк(цел x, y, R, N)нач если N

если N

R)
РекОк(x, y-R, div(R,2), N-1)
РекОк(x+R, y, div(R,2), N-1)
РекОк(x, y+R, div(R,2), N-1)
РекОк(x-R, y, div(R,2), N-1)
кон

центр

радиус

уровней


рекурсивные вызовы

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

окончание рекурсии







(x,y-R)

(x+R,y)

(x-R,y)

(x,y+R)

(x,y)


Слайд 124 Рекурсивная фигура: программа
использовать Рисователь
алг Рекурсия
нач
РекОк(200, 200, 100,

Рекурсивная фигура: программаиспользовать Рисовательалг Рекурсиянач РекОк(200, 200, 100, 3)коналг РекОк(цел x, y, R, N)нач ...кон

3)
кон
алг РекОк(цел x, y, R, N)
нач
...
кон


Слайд 125 Рекурсивные алгоритмы
вызывают сами себя прямо


… или через другой

Рекурсивные алгоритмывызывают сами себя прямо… или через другой алгоритм:должно быть условие

алгоритм:


должно быть условие окончания рекурсии (иначе?)
рекурсия может стать

бесконечной
все задачи могут быть решены без рекурсии, но…
часто рекурсивные алгоритмы проще и понятнее
как правило, алгоритмы без рекурсии работают быстрее и требуют меньше памяти

A

A

B

прямая рекурсия

косвенная рекурсия


Слайд 126 «3»: Нарисовать рекурсивную фигуру, число уровней вводить с

«3»: Нарисовать рекурсивную фигуру, число уровней вводить с клавиатуры:«4»: Нарисовать рекурсивную

клавиатуры:


«4»: Нарисовать рекурсивную фигуру, число уровней вводить с клавиатуры:
Задания


Слайд 127
«5»: Нарисовать рекурсивную фигуру, число уровней вводить с

«5»: Нарисовать рекурсивную фигуру, число уровней вводить с клавиатуры:Задания

клавиатуры:
Задания


Слайд 128 Программирование на алгоритмическом языке
Тема 8. Анимация

Программирование на алгоритмическом языкеТема 8. Анимация

Слайд 129 Анимация

Анимация (англ. animation) – оживление изображения на экране.
Задача:

АнимацияАнимация (англ. animation) – оживление изображения на экране.Задача: внутри синего квадрата

внутри синего квадрата 200 на 200 пикселей слева направо

двигается желтый квадрат 20 на 20 пикселей. Программа останавливается, если нажата клавиша Esc или квадрат дошел до границы синей области.

Проблема: как изобразить перемещение объекта на экране?
Привязка: состояние объекта задается координатами (x,y)
Принцип анимации:
рисуем объект в точке (x,y)
задержка на несколько миллисекунд
стираем объект
изменяем координаты (x,y)
переходим к шагу 1


Слайд 130 Процедура (рисование и стирание)

алг Фигура(цел x, y, лит

Процедура (рисование и стирание)алг Фигура(цел x, y, лит цвет)нач кисть(цвет) прямоугольник(x,y,x+20,y+20)кон(x,

цвет)
нач
кисть(цвет)
прямоугольник(x,y,x+20,y+20)
кон

(x, y)


(x+20, y+20)
одна процедура рисует и стирает
стереть

= рисовать цветом фона
границу квадрата отключить

рисуем: цвет кисти – желтый
стираем: цвет кисти – синий


Слайд 131 Полная программа

использовать Рисователь
алг Анимация
нач
цел x, y

Полная программаиспользовать Рисовательалг Анимациянач цел x, y   | текущие

| текущие координаты
кисть("синий")
перо(1,

"") | отключить контур
прямоугольник(0, 0, 200, 200) | синий фон
x:= 0; y:= 100 | начальные координаты






кон

алг Фигура(цел x, y, лит цвет)
нач
...
кон

нц пока x < 180
Фигура(x, y, "желтый")
delay(50)
Фигура(x, y, "синий")
x:= x + 5
кц

пока не дошли до границы


Слайд 132 Задания
«3»: Квадрат двигается справа налево:



«4»: Два квадрата двигаются

Задания«3»: Квадрат двигается справа налево:«4»: Два квадрата двигаются в противоположных направлениях:

в противоположных направлениях:


Слайд 133 Задания

«5»: Два квадрата двигаются в противоположных направлениях и

Задания«5»: Два квадрата двигаются в противоположных направлениях и отталкиваются от стенок синего квадрата:

отталкиваются от стенок синего квадрата:








Слайд 134 Управление клавишами

Задача: жёлтый квадрат внутри синего квадрата управляется

Управление клавишамиЗадача: жёлтый квадрат внутри синего квадрата управляется клавишами-стрелками. Коды клавиш:			влево

клавишами-стрелками. Коды клавиш:
влево – 16777234 вверх – 16777235
вправо – 16777236 вниз

– 16777237
Проблема: как изменять направление движения?
Решение:

c:= клав
выбор
при c = 16777234: x:= x – 5 | влево
при c = 16777235: y:= y – 5 | вверх
при c = 16777236: x:= x + 5 | вправо
при c = 16777237: y:= y + 5 | вниз
все

ждать нажатия на клавишу, записать ее код в переменную c


Слайд 135 Программа
использовать Рисователь
алг Управление клавишами
нач
цел x, y, c

Программаиспользовать Рисовательалг Управление клавишаминач цел x, y, c | нарисовать синий

| нарисовать синий квадрат
x:= 100; y:= 100

| начальная точка
нц пока x < 180
Фигура(x, y,"желтый") | рисуем фигуру
c:= клав | ждем нажатия клавиши
Фигура(x, y,"синий") | стираем фигуру
выбор
при c = 16777234: x:= x - 5
при c = 16777235: y:= y - 5
при c = 16777236: x:= x + 5
при c = 16777237: y:= y + 5
все
кц
кон

Слайд 136 Задания
«3»: Квадрат в самом начале стоит в правом

Задания«3»: Квадрат в самом начале стоит в правом нижнем углу, и

нижнем углу, и двигается при нажатии стрелок только вверх

или влево:


«4»: Квадрат двигается при нажатии стрелок, однако не может выйти за границы синего квадрата:














Слайд 137 Задания
«5»: Квадрат непрерывно двигается, при нажатии стрелок меняет

Задания«5»: Квадрат непрерывно двигается, при нажатии стрелок меняет направление и отталкивается от стенок синего квадрата:

направление и отталкивается от стенок синего квадрата:







Слайд 138 Программирование на алгоритмическом языке
Тема 9. Случайные числа

Программирование на алгоритмическом языкеТема 9. Случайные числа

Слайд 139 Случайно…
встретить друга на улице
разбить тарелку
найти 10 рублей
выиграть в

Случайно…встретить друга на улицеразбить тарелкунайти 10 рублейвыиграть в лотереюСлучайный выбор:жеребьевка на

лотерею
Случайный выбор:
жеребьевка на соревнованиях
выигравшие номера в лотерее
Как получить случайность?
Случайность

и ее моделирование

Слайд 140
Электронный генератор
нужно специальное устройство
нельзя воспроизвести результаты

318458191041
564321
209938992481
458191
938992
малый период (последовательность

Электронный генераторнужно специальное устройствонельзя воспроизвести результаты318458191041564321209938992481458191938992малый период (последовательность повторяется через 106

повторяется через 106 чисел)
Метод середины квадрата (Дж. фон Нейман)
в

квадрате

Псевдослучайные числа – обладают свойствами случайных чисел, но каждое следующее число вычисляется по заданной формуле.

Случайные числа на компьютере


Слайд 141 Модель: снежинки падают на отрезок [a,b]
распределение
равномерное
неравномерное
Распределение случайных чисел

Модель: снежинки падают на отрезок [a,b]распределениеравномерноенеравномерноеРаспределение случайных чисел

Слайд 142 Особенности:
распределение – это характеристика всей последовательности, а

Особенности: распределение – это характеристика всей последовательности, а не одного числаравномерное

не одного числа
равномерное распределение одно, компьютерные датчики случайных чисел

дают равномерное распределение
неравномерных – много
любое неравномерное можно получить с помощью равномерного


a

b

a

b

Распределение случайных чисел


Слайд 143 Вещественные числа в интервале [0,10):
Генератор случайных чисел
вещ

Вещественные числа в интервале [0,10): Генератор случайных чиселвещ X, YX:= rand(0,

X, Y
X:= rand(0, 10) | интервал от 0 до

10 (<10)
Y:= rand(0, 10) | это уже другое число!

англ. random – случайный

Целые числа в интервале [0,10]:

цел K, L
K:= irand(0, 10) | интервал от 0 до 10 (<=10)
L:= irand(0, 10) | это уже другое число!

англ. integer – целый


Слайд 144 Случайные числа
Задача: заполнить прямоугольник 200 на 150 пикселей

Случайные числаЗадача: заполнить прямоугольник 200 на 150 пикселей равномерно точками случайного

равномерно точками случайного цвета
Как получить случайные координаты пикселя?


Как добиться

равномерности?
автоматически при использовании irand

цел X, Y
X:= irand(0, 200)
Y:= irand(0, 150)


Слайд 145 Цвет пикселя на мониторе
Вывод: цвет можно разложить на

Цвет пикселя на монитореВывод: цвет можно разложить на составляющие

составляющие (каждая

кодируется числом от 0 до 255).

Модель RGB:










RGB(0,0,0)

R G B


RGB(255,255,255)


RGB(255,0,0)


RGB(0,255,0)


RGB(0,0,255)


RGB(255,0,255)


RGB(255,255,0)


RGB(0,255,255)


RGB(100,100,100)


Слайд 146 Случайный цвет пикселя
цел r, g, b
r:= irand(0, 255)
g:=

Случайный цвет пикселяцел r, g, br:= irand(0, 255)g:= irand(0, 255)b:= irand(0,

irand(0, 255)
b:= irand(0, 255)
Случайные составляющие цвета:
это разные числа!
Управление цветом

пикселя:

пиксель(X, Y, RGB(r,g,b))

случайный цвет


Слайд 147 Программа
использовать Рисователь
алг Случайные точки
нач
цел x, y, r,

Программаиспользовать Рисовательалг Случайные точкинач цел x, y, r, g, b нц

g, b
нц пока да
x:=irand(0,200)
y:=irand(0,100)

r:=irand(0,255)
g:=irand(0,255)
b:=irand(0,255)
пиксель(x,y,RGB(r,g,b))
кц
кон

это бесконечный цикл:
нц пока да

кц


Слайд 148 Задания
«3»: Заполнить квадрат точками случайного цвета. размер квадрата

Задания«3»: Заполнить квадрат точками случайного цвета. размер квадрата ввести с клавиатуры:

ввести с клавиатуры:
Пример:
Введите размер квадрата:
150


«4»: Заполнить

область точками случайного цвета:

Слайд 149 Задания
«5»: Заполнить область точками случайного цвета:
или

Задания«5»: Заполнить область точками случайного цвета:или

  • Имя файла: programirovanie-na-algoretmicheskom-yazyke.pptx
  • Количество просмотров: 126
  • Количество скачиваний: 0