ПрограмКумир

Содержание

Слайд 2

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

Тема 1. Введение

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

Слайд 3

Алгоритм

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

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

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

Слайд 4

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

Команда

Программа – это алгоритм, записанный на каком-либо языке программирования набор команд для
– это описание действий, которые должен выполнить исполнитель.
откуда взять исходные данные?
что нужно с ними сделать?

Программа

Слайд 5

Простейшая программа

алг Первый
нач | начало алгоритма
кон | конец алгоритма

комментарии после | не

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

название алгоритма

Слайд 6

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

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

Вывод текста на экран

Протокол:
2+2=?
Ответ: 4

новая строка

Слайд 7

Задания

«4»: Вывести на экран текст «лесенкой»
Вася
пошел
гулять
«5»: Вывести на экран

Задания «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, c

выделение

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

тип – целые

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

Слайд 13

Как записать значение в переменную?

a := 5

Оператор присваивания

5

Оператор – это команда языка

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

a

Слайд 14

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

начало

конец

c := a + b

ввод a, b

блок «начало»

блок «ввод»

блок «процесс»

блок

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

блок «конец»

вывод c

Слайд 15

Как ввести значение с клавиатуры?

ввод a

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

5

a

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

Слайд 16

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

через пробел:
25 30
через запятую:
25,30

ввод a, b

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

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

Слайд 17

Изменение значения переменной

алг Тест
нач
цел a, b
a := 5
b :=

Изменение значения переменной алг Тест нач цел a, b a := 5
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 деление нацело (остаток отбрасывается)
mod

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

цел 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»: Ввести три числа, найти их сумму.
Пример:
Введите три числа:
4

Задания «3»: Ввести три числа, найти их сумму. Пример: Введите три числа:
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, b
вещ x, y
a

Какие операторы неправильные? алг Ошибки нач цел a, b вещ x, y
:= 5
10 := x
y := 7,8
b := 2.5
x := 2*(a + y)
a := b + x
кон

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

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

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

Слайд 25

Порядок выполнения операций

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

Порядок выполнения операций вычисление выражений в скобках умножение, деление, div, 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 := 5
b :=

Ручная прокрутка программы алг Тест нач цел a, b a := 5
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, "+", b, "=",

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

список вывода

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

1+3=4

Слайд 28

Что будет выведено?

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

a+3=a+b

цел

Что будет выведено? цел a = 1, b = 3 вывод "a+",
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 = 1, b = 3 вывод
")=", a

X(3)=1

4=1+3

f(1)>f(3)

<1<>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 вывод "Введите два целых

Вариант 1. Программа алг Максимум нач цел a, b, M вывод "Введите
числа", нс ввод a, b если a > b то иначе все вывод "Наибольшее число ", M кон

M:=a

M:=b

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

Слайд 34

Условный оператор

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

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

Слайд 35

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

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

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

Слайд 36

Вариант 2. Программа


алг Максимум 2 нач цел a, b, M вывод "Введите два

Вариант 2. Программа алг Максимум 2 нач цел a, b, M вывод
целых числа", нс ввод a, b
M:= a если b > a то M:= b все вывод "Наибольшее число ", M кон

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

Слайд 37

Вариант 2б. Программа


алг Максимум 2б нач цел a, b, M вывод "Введите два

Вариант 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 до 40 лет включительно. Ввести

Сложные условия Задача. Фирма набирает сотрудников от 25 до 40 лет включительно.
возраст человека и определить, подходит ли он фирме (вывести ответ «подходит» или «не подходит»).
Особенность: надо проверить, выполняются ли два условия одновременно.

Слайд 42

Вариант 1. Алгоритм

начало

ввод x

конец

да

нет

x >= 25?

да

нет

x <= 40?

“подходит”

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

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

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

Слайд 43

Вариант 1. Программа


алг Сотрудник
нач
цел x
вывод "Введите ваш возраст", нс

Вариант 1. Программа алг Сотрудник нач цел x вывод "Введите ваш возраст",
ввод x
если x >= 25 то
если x <= 40 то
вывод "Подходит!"
иначе
вывод "Не подходит."
все
иначе
вывод "Не подходит."
все
кон

Слайд 44

Вариант 2. Алгоритм

начало

ввод x

да

нет

x >= 25 и
x <= 40?

“подходит”

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

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

Слайд 45

Вариант 2. Программа

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

алг Сотрудник
нач
цел x
вывод "Введите ваш возраст",

Вариант 2. Программа сложное условие алг Сотрудник нач цел x вывод "Введите
нс
ввод x
если x >= 25 и x <= 40 то
вывод "Подходит!"
иначе
вывод "Не подходит."
все
кон

Слайд 46

Сложные условия

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

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

равно

не равно

x <= 25

Слайд 47

Сложные условия

Порядок выполнения (приоритет = старшинство)
выражения в скобках
НЕ
<, <=, >, >=, =,

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

2 1 6 3 5 4

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

Слайд 48

Сложные условия

Истинно или ложно при a := 2; b := 3; c

Сложные условия Истинно или ложно при a := 2; b := 3;
:= 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 < 6 и x

Сложные условия Для каких значений x истинны условия: x x 10 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»: Ввести натуральное число и вывести в строчку все числа от 1

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

Слайд 59

Задания

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

Задания «5»: Ввести натуральное число N и найти сумму всех чисел от
до N (1+2+3+…+N).
Пример:
Введите число слагаемых:
100
Сумма чисел от 1 до 100 равна 5050

Слайд 60

Циклы

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

N := N +

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

Слайд 61

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

начало

конец

да

нет

N = 5?

N := 0

N := N + 1

еще не сделали

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

проверить, все ли сделали

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

цикл

Слайд 62

Цикл с условием

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

Цикл с условием алг Привет 2 нач цел N N:= 0 нц
<> 5
вывод "Привет!", нс
N:= N + 1
кц
кон

Слайд 63

Цикл с условием

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

Цикл с условием алг Привет 3 нач цел N N:= 5 нц
<> ???
вывод "Привет!", нс
???
кц
кон

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

0

N:= N - 1

Слайд 64

Что получим?

алг Пример 1
нач
цел N
N:= 1
нц пока N <=

Что получим? алг Пример 1 нач цел N N:= 1 нц пока
5
вывод N, нс
N:= N + 1
кц
кон

1
2
3
4
5

Слайд 65

Что получим?

алг Пример 2
нач
цел N
N:= 1
нц пока N <=

Что получим? алг Пример 2 нач цел N N:= 1 нц пока
5
вывод N, нс
N:= N + 2
кц
кон

1
3
5

Слайд 66

Что получим?

алг Пример 3
нач
цел N
N:= 2
нц пока N <>

Что получим? алг Пример 3 нач цел N N:= 2 нц пока
5
вывод N, нс
N:= N + 2
кц
кон

2
4
6
8
10
12
14
16
...

Слайд 67

Что получим?

алг Пример 4
нач
цел N
N:= 1
нц пока N <=

Что получим? алг Пример 4 нач цел N N:= 1 нц пока
5
вывод N*N*N, нс
N:= N + 1
кц
кон

1
8
27
64
125

Слайд 68

Что получим?

алг Пример 5
нач
цел N
N:= 5
нц пока N >=

Что получим? алг Пример 5 нач цел N N:= 5 нц пока
1
вывод N*N*N, нс
N:= N - 1
кц
кон

125
64
27
8
1

Слайд 69

Задания

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

Задания «3»: Ввести натуральное число вывести квадраты и кубы всех чисел от
до этого числа.
Пример:
Введите натуральное число:
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 (a ≤ b) и

Задания «5»: Ввести два целых числа a и b (a ≤ b)
вывести сумму квадратов всех чисел от a до b.
Пример:
Введите два числа:
4 10
Сумма квадратов 371

Слайд 71

Циклы с условием

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

Циклы с условием Пример: Отпилить полено от бревна. Сколько раз надо сделать
пилой?
Задача: Ввести целое число (<2000000) и определить число цифр в нем.
Идея решения: Отсекаем последовательно последнюю цифру, увеличиваем счетчик.
Проблема: Неизвестно, сколько шагов надо сделать.
Решение: Надо остановиться, когда n = 0, т.е. надо делать «пока n <> 0».

Слайд 72

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

начало

конец

нет

да

n <> 0?

count := 0

count := count + 1
n := div(n,

Блок-схема алгоритма начало конец нет да n 0? count := 0 count
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 < b; a:=

Сколько раз выполняется цикл? a:= 4; b:= 6 нц пока a 2
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)
= НОД(a, b-a)

Заменяем

Алгоритм Евклида Евклид (365-300 до. н. э.) НОД(a,b)= НОД(a-b, b) = НОД(a,
большее из двух чисел разностью большего и меньшего до тех пор, пока они не станут равны. Это и есть НОД.

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

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

Пример:

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

= НОД (7, 7) = 7

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

Слайд 83

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

начало

конец

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

Слайд 84

Алгоритм Евклида

нц пока a <> b
если a > b
то

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

Слайд 85

Модифицированный алгоритм Евклида

НОД(a,b)= НОД(mod(a,b), b)
= НОД(a, mod(b,a))

Заменяем большее из двух

Модифицированный алгоритм Евклида НОД(a,b)= НОД(mod(a,b), b) = НОД(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»: Составить программу для вычисления НОД с помощью алгоритма Евклида.
«4»: Составить

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

Слайд 87

Алгоритм Евклида

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

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

Слайд 88

Цикл с переменной

Задача: вывести кубы чисел от 1 до 8.

Нужны ли

Цикл с переменной Задача: вывести кубы чисел от 1 до 8. Нужны
переменные? Сколько?
Как они должны изменяться?
Нужен ли цикл?

Слайд 89

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

начало

конец

нет

да

N <= 8?

N := 1

N := N + 1

кубN := N*N*N

Блок-схема алгоритма начало конец нет да N N := 1 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 от 1 до 3;

Сколько раз выполняется цикл? a := 1 нц для i от 1
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 от 1 до 10

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

| тело цикла
кц

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

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

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

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

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

Слайд 96

Задания

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

Задания «3»: Ввести натуральное число N и вывести числа от N до
(через одно) в порядке убывания.
Пример:
Введите натуральное число:
8
Ответ: 8 6 4 2

Слайд 97

Задания

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

Задания «4»: Ввести два целых числа 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) X Y x y

Слайд 101

Исполнитель Рисователь

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

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

Слайд 102

Цвет и толщина линий:

перо(2, "синий")

Линии

толщина линии

перо(1, "зеленый") линия(10, 15, 90, 80)

перо(1,

Цвет и толщина линий: перо(2, "синий") Линии толщина линии перо(1, "зеленый") линия(10,
"красный“)
в точку(5, 5)
линия в точку(50, 5)
линия в точку(70, 50)
линия в точку(30, 80)
линия в точку(5, 60)

Слайд 103

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

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

перо(1, "красный")
кисть("зеленый")
эллипс(0, 0, 100, 50)

кисть("фиолетовый")
залить(70, 80)

кисть("");

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

Слайд 104

Пример

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

Пример использовать Рисователь алг Домик нач перо(2, "фиолетовый") кисть("синий") прямоугольник(100, 100, 300,
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, y2)
x:= x1 + h
линия(x,

Штриховка (x1, y1) (x2, y2) N линий (N=5) h прямоугольник (x1, y1,
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 + hy
линия(x1, int(y), int(x),

Штриховка (x1, y1) (x2, y2) hx hy x:= x1 + hx; y:=
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)/(N + 1)
hy:=(y2 -

Штриховка (x1, y1) (x2, y2) hx hy вещ hx, hy, x, y
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»: Ввести с клавиатуры количество линий, построить фигуру и выполнить штриховку:
«4»: Ввести

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

или

Слайд 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, "синий")
Тр(200, 100, "зеленый")

Как использовать? использовать Рисователь алг Треугольники нач перо(1, "черный") Тр(100, 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 уровней – это
окружность и
4 фигуры из N-1

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

N-1

N-1

N-1

N-1

Слайд 123

Рекурсивная фигура: алгоритм

алг РекОк(цел x, y, R, N)
нач
если N <= 0

Рекурсивная фигура: алгоритм алг РекОк(цел x, y, R, N) нач если N
то выход все
окружность(x, y, 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, 3)
кон

алг РекОк(цел x, y,

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

Слайд 125

Рекурсивные алгоритмы

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

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

A

A

B

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

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

Слайд 126

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

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

Задания

Слайд 127

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

Задания

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

Слайд 128

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

Тема 8. Анимация

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

Слайд 129

Анимация

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

Анимация Анимация (англ. animation) – оживление изображения на экране. Задача: внутри синего
на 200 пикселей слева направо двигается желтый квадрат 20 на 20 пикселей. Программа останавливается, если нажата клавиша Esc или квадрат дошел до границы синей области.

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

Слайд 130

Процедура (рисование и стирание)

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

(x, y)

(x+20,

Процедура (рисование и стирание) алг Фигура(цел x, y, лит цвет) нач кисть(цвет)
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

малый период (последовательность повторяется через 106 чисел)

Метод

Электронный генератор нужно специальное устройство нельзя воспроизвести результаты 318458191041 564321 209938992481 458191
середины квадрата (Дж. фон Нейман)

в квадрате

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

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

Слайд 141

Модель: снежинки падают на отрезок [a,b]

распределение

равномерное

неравномерное

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

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

Слайд 142

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

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

a

b

a

b

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

Слайд 143

Вещественные числа в интервале [0,10):

Генератор случайных чисел

вещ X, Y
X:= rand(0, 10)

Вещественные числа в интервале [0,10): Генератор случайных чисел вещ X, Y X:=
| интервал от 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:= irand(0, 255)
b:= irand(0, 255)

Случайные

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

это разные числа!

Управление цветом пикселя:

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

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

Слайд 147

Программа

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

Программа использовать Рисователь алг Случайные точки нач цел x, y, r, g,
да
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»: Заполнить область точками случайного цвета: или