Слайд 2
Исполнитель Компьютер
Память – для хранения данных, команд и
операций
Процессор – для исполнения команд и вычислений операций
Слайд 3
Данные, которые могут храниться в компьютере
Целые числа
Вещественные числа
(десятичная дробь)
Символы
Литеральный (строка символов)
Логический
Слайд 4
Алгоритмический язык
(среда Кумир)
Переменные
цел a
вещ b
сим K
лит X[1:10]
лог
F
Константы
12, -34, $100
1e+4, 23.5, -6.4e-7
‘1’, “Д”
‘YES’, “ДА”
да, нет
Тип
целый
вещественный
символьный
строка
логический
Слайд 5
Операции с целыми числами:
div(а,2) – целое от деления
a на 2
mod(а,2) – остаток от деления а на
2
iabs(a) – абсолютное значение |a|
а+2 – сложение а с 2
а*2 – умножение а на 2
а-2 – вычитание из а 2
а**2 – возведение а в степень 2
Слайд 7
Операции со строками:
K+’я’ – добавление к символу K
символ ’я’
Х+’ мир’ – добавление к строке Х
строки ’ мир’
Х[2:3] – вырезать из строки Х строку, начиная со 2 и заканчивая 3 символом
лит_в_вещ(Х, F), лит_в_цел(X, F) – строку, состоящую из цифр перевести в число (вещественное или целое), F – результат успеха
вещ_в_лит(b), цел_в_лит(a) – перевод числовых данных в литерный (строку)
Слайд 8
Операции сравнения
(в результате получим да или нет):
0
< 2 – меньше
5 > 2 – больше
2<=2 – меньше или равно
5>=3 – больше или равно
0<>1 – не равно
1=1 – равно
Операции с логическими данными:
и – логическое умножение (конъюнкция)
или – логическое сложение (дизъюнкция)
не – логическое отрицание (инверсия)
Слайд 9
Команды ввода, вывода, присваивания, условия и выбора:
ввод а
вывод
“а=“, a, нс
а:=а+2
если а
иначе
вывод 1/sqrt(а)
все
выбор
при mod(а,2)=0:
вывод “четное число”
при div(а,10)=0:
вывод “однозначное число”
иначе
вывод “что то другое”
все
Слайд 10
Команды цикла:
нц 5 раз
вывод “+”
кц
цел к
нц для
к от 1 до 10 шаг 2
ввод а
вывод а**к
кц
а:=10
нц пока а>0
а:=а-2
кц
вывод а
цел с;
с:=0
нц
ввод а; с:=с+а
кц при а=0
вывод а
Слайд 11
Линейные алгоритмы
Обмен значениями двух переменных
С использованием дополнительной переменной
Без
использования дополнительной переменной, но с использованием арифметических операций: +,
-, *, /
Слайд 12
Команды ввода, вывода, присваивания
ввод а
вывод “а=“, a, нс
а:=а+2
Слайд 14
Постройте алгоритм деления обыкновенных дробей
Вывод организуйте в
виде:
1/2:3/4=4/6
Слайд 15
Алгоритм «Черный ящик»
На входе подается любое целое число,
а на выходе – сообщение:
Определите алгоритм и напишите программу,
ее реализующую.
Слайд 16
Упражнение
Придумайте свой алгоритм «Черного ящика» с использованием не
более двух арифметических операций и реализуйте его.
Слайд 17
Домашнее задание
Стр.190 №6-9
Напишите алгоритм сложения двух простых дробей
(без сокращения дроби)
Напишите алгоритм вычисления y по формуле: y=(1-x2+5x4)2,
где х – заданное целое число. Учтите следующие ограничения: можно использовать только операции +,-,*; каждое выражение содержит только одну операцию. Выполните трассировку при х=2.
Слайд 18
Напишите алгоритм вычисления y=x8; y=x10; y=x15; y=x19, где
х – заданное целое число. Учтите следующие ограничения: можно
использовать только операции +,-,*; каждое выражение содержит только одну операцию. Постарайтесь использовать минимальное количество дополнительных переменных. Выполните трассировку при х=2.
Напишите алгоритм циклического обмена значениями трех переменных A, B, C по схеме:
Например, для A=1, B=2, C=3 должно быть:
A=3, B=1, C=2.
A
B
C
Слайд 20
Команды условия и выбора
если а
вывод а**3
иначе
вывод 1/sqrt(а)
все
выбор
при mod(а,2)=0:
вывод
“четное число”
при div(а,10)=0:
вывод “однозначное число”
иначе
вывод “что то другое”
все
Слайд 21
Практическая работа
Для каких типов переменных работают эти алгоритмы?
Какую задачу решают эти алгоритмы?
Запишите алгоритмы на алгоритмическом языке
и выполните программу.
Как применить эти алгоритмы для 3-х, 4-х и более переменных?
Слайд 25
Упражнение
Составьте алгоритм нахождения наименьшего из двух значений.
Составьте алгоритм
вычисления следующих математических функций с выводом сообщений об ошибке:
tg(x)
1/x
sqrt(x)
Слайд 26
Домашнее задание
Стр. 203, №5-9
Составьте алгоритм нахождения наименьшего из
трех значений.
Определите, какая задача решается по следующему алгоритму:
алг Задача
6
вещ Х
нач
ввод Х
если Х<0
то вывод “отрицательное число”
иначе вывод “положительное число”
все
кон
Слайд 27
Составьте алгоритм определения по введенному возрасту, кто старше:
Саша или Маша. Вывести сообщение: «Саша старше Маши» или
«Маша старше Саши».
Решите задачу 7, при условии, что возраст одинаков. Тогда вывести сообщение: «Саша и Маша – ровесники».
Составьте алгоритм упорядочения по возрастанию значений трех переменных A, B, C, т.е. при любых значениях должно быть:
A ≤ B ≤ C. Проверьте алгоритм трассировкой при разных вариантах значений исходных данных.
Слайд 28
Стр. 207, №6
Составьте алгоритм вычисления корней квадратного уравнения
по данным значениям его коэффициентов
Стр. 211, №5 (с командой
выбора)
Постройте алгоритм, который по вводу номера дня недели выводит его название.
Слайд 30
Задача о перестановке букв
Вывести все слова, образованные двумя
(тремя, четырьмя, пятью) буквами без повторений той же длины,
что и количество букв.
Подсчитайте количество таких слов из заданного числа букв.
Получите последовательно все N чисел Фибоначчи:
1, 1, 2, 3, 5, 8, 13, …
Найдите закономерность и выведите формулы.
Слайд 32
Блок-схема вычисления
N-го числа Фибоначчи
Слайд 33
Виды циклов
Виды циклов
Цикл с параметром счетчика
Цикл с
предусловием
Цикл с постусловием
Слайд 34
Команды цикла на алгоритмическом языке
нц 5 раз
вывод
“+”
кц
цел к
нц для к от 1 до 10 шаг
2
ввод а
вывод а**к
кц
а:=10
нц пока а>0
а:=а-2
кц
вывод а
с:=0
нц
ввод а
с:=с+а
кц при а=0
вывод а
1. Со счетчиком
2. С параметром счетчика
3. С предусловием
4. С постусловием
Слайд 35
Блок-схема вычисления N!
алг факториал
нач
цел N, F,
R
ввод N
F:=1
R:=1
нц пока R<=N
F:=F*R
R:=R+1
кц
вывод F
кон
Алгоритм
Слайд 36
Блок-схема вычисления
N-го числа Фибоначчи
алг Фибоначии
нач
цел
a, b, c, N
ввод N
a:=1;
N:=N-1
если N>0 то
b:=1; N:=N-1
нц пока N>0
c:=a+b; N:=N-1
a:=b
b:=c
кц
a:=b
все
вывод a
кон
Алгоритм
Слайд 37
Упражнение
Придумайте свою последовательность из чисел или символов и
постройте алгоритм получения этой последовательности с использованием цикла.
Слайд 38
Домашнее задание
Стр. 218, №7-8
Составьте алгоритм вычисления суммы всех
натуральных чисел, не превышающих заданного натурального числа N. Проверьте
алгоритм трассировкой.
Дано целое число Х и натуральное число N. Составьте алгоритм вычисления ХN. Проверьте алгоритм трассировкой.
Слайд 39
Вспомогательные алгоритмы
алг ПОДПРОГРАММА
нач
лит s
строка (”+”, 5,
s)
вывод s
кон
алг строка (арг сим а,
арг
цел к, рез лит в)
нач
в:=””
нц к раз
в:=в+а
кц
кон
алг ФУНКЦИЯ
нач
вывод строка(”+”, 5)
кон
алг лит строка (сим а, цел к)
нач
знач:=””
нц к раз
знач:=знач+а
кц
кон
Слайд 41
Упражнение
Составьте функцию НОД (m,n) по алгоритму Евклида и
вызовите ее из основной программы:
алг цел НОД (цел m,
цел n)
нач
…
знач:=m
кон
Слайд 42
Домашнее задание
Стр. 222, №2-3
Составьте алгоритм нахождения наибольшего общего
делителя трех чисел, используя формулу:
НОД(A, B, C)= НОД(НОД(A,
B), C)
Составьте алгоритм нахождения наименьшего общего кратного (НОК) двух чисел, используя формулу:
А∙В = НОД(А, В) ∙ НОК(А, В)
Слайд 43
Таблица Пифагора (таблица умножения)
a\b 2 3 4 5
6 7 8 9
2
3
4
5 a*b
6
7
8
9
Слайд 44
Треугольник Паскаля
0 1
1 1 1
2
1 2 1
3 1 3 3 1
4
1 4 6 4 1
5 1 5 10 10 5 1
н/к 0 1 2 3 4 5
С(н,к)=н!/(к!(н-к)!)
Слайд 45
Табличные данные (массивы)
Описание
цел таб Р[-5:5]
вещ таб Т[1:4, 1:12]
Ввод
нц
для н от -5 до 5
ввод Р[н]
кц
нц для
н от 1 до 4
нц для м от 1 до 12
ввод Т[н, м]
кц
кц
Вывод
нц для н от -5 до 5
вывод Р[н], “ “
кц
нц для н от 1 до 4
нц для м от 1 до 12
вывод Т[н, м], “ “
кц
вывод нс
кц
Слайд 46
Алгоритмы с массивами
Определение наибольшего/ наименьшего числа в массиве
Нахождением
суммы/произведение элементов массива
Определение среднего значения
Поиск числа в массиве
Переставить элементы
массива в обратном порядке
Упорядочивание элементов в массиве
Слайд 47
цел n,н
ввод n
цел таб А[1:n]
нц для н от
1 до n
ввод A[н]
кц
Массив переменной длины
Слайд 48
Алгоритм нахождения наибольшего значения элементов массива
макс:=А[1]
нц для к
от 2 до n
если A[к]>макс
то макс:=A[к]
все
кц
Слайд 49
Алгоритм нахождения суммы элементов массива
сумма:=0
нц для к от
1 до n
сумма:=сумма+A[к]
кц
Слайд 50
Алгоритм нахождения среднего значения элементов массива
сумма:=0
нц для к
от 1 до n
сумма:=сумма+A[к]
кц
среднее:=сумма/11
Слайд 51
Алгоритм поиска элемента в массиве
ввод а
н:=0
нц для к
от 1 до n
если A[к]=а
то н:=н+1
все
кц
Слайд 52
Домашнее задание
Стр. 227, №3-4
Для входных данных значений температуры
за предыдущий год по месяцам составьте алгоритм вычисления средних
температур зимних, весенних, летних, осенних месяцев.
Вы посетили магазин и купили 10 видов товаров. В таблицу Т[1:10] записали количество купленного товара каждого вида, а в таблицу С[1:10] – цены единиц каждого вида товара соответственно. Составьте алгоритм вычисления общей стоимости всех покупок.
Слайд 53
Стр. 231, №1-5
Напишите алгоритм ввода численности населения Москвы
к концу каждого года XX века.
Напишите алгоритм ввода веса
котенка в течение месяца.
Составьте алгоритм получения среднего арифметического введенных температур за год и нахождения массива отклонений от средней температуры по каждому месяцу.
Слайд 54
Алгоритм перестановки элементов массива в обратном порядке
m:=div(n,2)
нц для
к от 1 до m
а:=A[к]; A[к]:= A[n-к+1]; A[n-к+1]:=а
кц
Слайд 55
Алгоритм упорядочивания элементов массива по возрастанию
На входе дан
числовой массив:
1 2 5 11 -5 8 10 0
9 4
На выходе должны получить:
-5 0 1 2 4 5 8 9 10 11
Как это сделать?
Слайд 56
Алгоритмы сортировки
Сортировка вставками
Сортировка выбором
Сортировка пузырек (обменом)
Сортировка челнок (обменом)