Алгоритм – это:
- Последовательность действий, описывающая процесс преобразования объекта из начального состояния в конечное, записанная с помощью понятных исполнителю команд
Формальное исполнение
Не вникая в содержание поставленной задачи, а строго выполняя последовательность действий, предусмотренную алгоритмом.
Пример: компьютер выполняет программу
Языки программирования:
? Вопросы для размышления
Какие из вышеперечисленных правил являются алгоритмами:
- Орфографические правила;
- Правила выполнения арифметических операций;
- Правила техники безопасности;
- Правила перевода чисел из одной системы счисления в другую
? Вопросы для размышления
В чем состоит различие между естественными языками и языками программирования
Линейный алгоритм
Алгоритм, в котором команды выполняются последовательно одна за другой
Начало
Команда 1
Команда 2
……………
Команда N
Конец
Алгоритмы с ветвлением
- Ветвление – это форма организации действий, при которой в зависимости от выполнения или невыполнения некоторого условия совершается либо одна, либо другая последовательность действий
- Словесная запись: если условие то команда 1 иначе команда 2
Базовая структура ветвления
Неполная форма
Полная форма
Условие
Нет
Нет
Условие
Условие
Нет
Да
Да
Да
Инструкция
Инструкция 1
Инструкция 2
Инструкция 2
Инструкция 1
9 X=A-8 X=A+8 Вывод X Конец 11 " width="640"
Задание: Выполнить вычисления по алгоритму, заданному блок-схемой
Начало
Ввод A
Да
Нет
A9
X=A-8
X=A+8
Вывод X
Конец
11
A
X
3
5
7
8
10
11
13
15
17
3, 2*8=4*4 " width="640"
Алгоритмическая структура «ветвление»
- Команды выполняются в зависимости от истинности условия
- -Простое условие включает в себя два числа, две переменных или два арифметических выражения, которые сравниваются между собой
Например: 5 3, 2*8=4*4
Составить блок-схему алгоритма
- Дано целое число, если оно является положительным, то прибавить к нему 1, в противном случае не изменять его. Вывести полученное число
- Дано целое число, если оно является положительным, то прибавить к нему 1, в противном случае вычесть из него 2. Вывести полученное число
Домашнее задание
- Даны два числа. Вывести наибольшее из них. Составить блок-схему алгоритма.
- Из трех монет одинакового достоинства одна фальшивая (более легкая). Как ее найти с помощью одного взвешивания на чашечных весах без гирь?
Переменная, имя и значение
- Переменная предназначена для хранения и обработки данных
- Переменная – это величина, имеющая имя, тип и значение. Значение переменной можно изменять во время работы программы.
Как записать значение в переменную?
5
Оператор присваивания
При записи нового значения старое стирается!
a := 5;
Оператор – это команда языка программирова-ния (инструкция).
Оператор присваивания – это команда для записи нового значения в переменную.
Составить блок-схему алгоритма
- Дано целое число, если оно является положительным, то прибавить к нему 1, в противном случае вычесть из него 2. Если нулевым, то заменить его на 10. Вывести полученное число
Алгоритмическая структура «выбор»
Выполняется одна из нескольких последовательностей команд при истинности соответствующего условия
Блок-схема «выбор»
Условие 1
Условие 2
Серия 3
Серия 2
Серия 1
Составить блок-схему алгоритма
- Даны две переменные целого типа А и Б. Если их значения не равны, то присвоить каждой переменной сумму этих значений, а если равны, то присвоить переменным нулевые значения. Вывести новые значения переменных.
Алгоритмическая структура «цикл»
Серия команд выполняется многократно
Цикл со счетчиком: когда заранее известно, какое число повторений тела цикла необходимо выполнить;
Цикл с условием: количество повторений тела цикла зависит от некоторого условия
Блок-схема цикла со счетчиком
Счетчик
Тело цикла
Блок-схема цикла с условием
Условие
Тело цикла
? Вопросы для размышления
- Какой тип алгоритмической структуры необходимо применить, если:
- Последовательность команд должна быть выполнена определенное количество раз
- Последовательность команд выполняется или не выполняется в зависимости от условия
? Вопросы для размышления
- Последовательность команд должна быть обязательно выполнена хотя бы один раз и должна повторяться до тех пор, пока условие справедливо?
Линейные алгоритмы
Решение задач
Пример 1. Пешеход шел по пересеченной местности. Его скорость движения по равнине v1 км/ч, в гору — v2 км/ч и под гору — v3 км/ч. Время движения соответственно t1, t2 и t3 ч. Какой путь прошел пешеход?
1. Ввести v1, v2, v3, t1, t2, t3.
2. S1 := v1 * t1.
3. S2 := v2 * t2.
4. S3 := v3 * t3.
5. S := S1 + S2 + S3.
6. Вывести значение S.
7. Конец.
Составить блок- схемы следующих алгоритмов
- . Вам надо поточить все карандаши в коробке, этих карандашей n штук. Вы точите один карандаш и откладываете его в сторону. Затем проверяете есть ли карандаши в коробке. Как только условие стало истинным алгоритм заканчивается.
- 2. Вам родители разрешили смотреть телевизор только до полуночи. Вы смотрите на время каждый час.
0 то y := sin(x) если a b то a := 2*a; b := 1 иначе b := 2*b " width="640"
Составить блок-схему
если x 0
то y := sin(x) если a b то a := 2*a; b := 1 иначе b := 2*b
b то a := 2*a; b := 1 иначе b := 2*b все " width="640"
Составить блок-схему
если a b
то a := 2*a;
b := 1
иначе b := 2*b
все
Составить блок-схему
- выбор при n = 1:
- y := sin(x)
- при n = 2:
- y := cos(x)
- при n = 3: y := 0
- все
5: i := i+1 при a = 0: j := j+1 иначе i := 10; j:=0 все " width="640"
Составить блок-схему
- выбор при a 5: i := i+1 при a = 0: j := j+1 иначе i := 10; j:=0 все