К. Поляков, Программирование на алгоритмическом языке Тема 1. Введение
Программирование на алгоритмическом языке К. Поляков, Алгоритм 2 Свойства алгоритма дискретность: состоит из отдельных шагов (команд) понятность: должен включать только команды, известные исполнителю конечность: позволяет получить решение задачи за конечное число шагов определенность: при одинаковых исходных данных всегда выдает один и тот же результат массовость: может применяться при различных исходных данных Алгоритм – это четко определенный план решения задачи для исполнителя.
Программирование на алгоритмическом языке К. Поляков, Программа – это алгоритм, записанный на каком-либо языке программирования набор команд для исполнителя Команда – это описание действий, которые должен выполнить исполнитель. откуда взять исходные данные? что нужно с ними сделать? Программа
Программирование на алгоритмическом языке К. Поляков, Простейшая программа 4 алг Первый нач | начало алгоритма кон | конец алгоритма алг Первый нач | начало алгоритма кон | конец алгоритма комментарии после | не обрабатываются Что делает эта программа? ? название алгоритма
Программирование на алгоритмическом языке К. Поляков, алг Вывод на экран нач вывод "2+" вывод "2=?", нс вывод "Ответ: 4" кон алг Вывод на экран нач вывод "2+" вывод "2=?", нс вывод "Ответ: 4" кон Вывод текста на экран 5 Протокол: 2+2=? Ответ: 4 новая строка
Программирование на алгоритмическом языке К. Поляков, Задания 6 «4»: Вывести на экран текст «лесенкой» Вася пошел гулять «5»: Вывести на экран рисунок из букв Ж ЖЖЖ ЖЖЖЖЖ ЖЖЖЖЖЖЖ HH HH ZZZZZ
Программирование на алгоритмическом языке К. Поляков, Переменные 7 Задача. Ввести с клавиатуры два числа и найти их сумму. Протокол: Введите два целых числа =55 компьютер пользователь компьютер считает сам! 1. Как ввести числа в память? 2. Где хранить введенные числа? 3. Как вычислить? 4. Как вывести результат? ?
Программирование на алгоритмическом языке К. Поляков, Программа 8 алг Сумма нач | ввести два числа | вычислить их сумму | вывести сумму на экран кон алг Сумма нач | ввести два числа | вычислить их сумму | вывести сумму на экран кон Псевдокод – алгоритм на русском языке с элементами языка программирования. Компьютер не может исполнить псевдокод! !
Программирование на алгоритмическом языке К. Поляков, Переменные 9 Переменная – это величина, имеющая имя, тип и значение. Значение переменной можно изменять во время работы программы. Значение Имя Поместится? ? Другой тип данных В переменной хранятся данные определенного типа! !
Программирование на алгоритмическом языке К. Поляков, Имена переменных 10 МОЖНО использовать латинские буквы (A-Z), русские буквы (А-Я) цифры знак подчеркивания _ заглавные и строчные буквы различаются НЕЛЬЗЯ использовать скобки знаки +, =, !, ? и др. имя не может начинаться с цифры Какие имена правильные? AXby R&B 4Wheel Вася PesBarbos TU154 [QuQu] _ABBA A+B
Программирование на алгоритмическом языке К. Поляков, Объявление переменных 11 Типы переменных: цел| целая вещ| вещественная и другие… Объявление переменных: цел a, b, c выделение места в памяти тип – целые список имен переменных
Программирование на алгоритмическом языке К. Поляков, Как записать значение в переменную? 12 a := 5 Оператор присваивания При записи нового значения старое стирается! ! 5 5 Оператор – это команда языка программирования (инструкция). Оператор присваивания – это команда для записи нового значения в переменную.
Программирование на алгоритмическом языке К. Поляков, Блок-схема линейного алгоритма 13 начало конец c := a + b ввод a, b блок «начало» блок «ввод» блок «процесс» блок «вывод» блок «конец» вывод c
Программирование на алгоритмическом языке К. Поляков, Как ввести значение с клавиатуры? 14 ввод a 1. Программа ждет, пока пользователь введет значение и нажмет Enter. 2. Введенное значение записывается в переменную a. ! Оператор ввода 5 5
Программирование на алгоритмическом языке К. Поляков, Ввод значений двух переменных 15 через пробел: через запятую: 25,30 ввод a, b Ввод значений двух переменных. a 25 b 30 a 25 b 30
Программирование на алгоритмическом языке К. Поляков, Изменение значения переменной 16 алг Тест нач цел a, b a := 5 b := a + 2 a := (a + 2)*(b – 3) b := b + 1 кон алг Тест нач цел a, b a := 5 b := a + 2 a := (a + 2)*(b – 3) b := b + 1 кон a ? 5 5 b ? a 5 7*4 28 Пример: b
Программирование на алгоритмическом языке К. Поляков, Арифметические операции 17 + сложение – вычитание * умножение / деление div деление нацело (остаток отбрасывается) mod остаток от деления цел a, b a := 7*3 - 4 | 17 a := a * 5 | 85 b := div(a,10) | 8 a := mod(a,10) | 5 цел a, b a := 7*3 - 4 | 17 a := a * 5 | 85 b := div(a,10) | 8 a := mod(a,10) | 5
Программирование на алгоритмическом языке К. Поляков, Вывод данных 18 |вывод значения |переменной a |вывод значения |переменной a и переход |на новую строчку |вывод текста |вывод текста и значения переменной c вывод a вывод a, нс вывод "Привет!" вывод "Ответ: ", c вывод a, "+", b, "=", c
Программирование на алгоритмическом языке К. Поляков, Задача: сложение чисел 19 Задача. Ввести два целых числа и вывести на экран их сумму. Простое решение: алг Сумма нач цел a, b, c ввод a, b c := a + b вывод c кон алг Сумма нач цел a, b, c ввод a, b c := a + b вывод c кон Что плохо? ?
Программирование на алгоритмическом языке К. Поляков, Полное решение 20 алг Сумма нач цел a, b, c вывод "Введите два целых числа" ввод a, b c := a + b вывод a, "+", b, "=", c кон алг Сумма нач цел a, b, c вывод "Введите два целых числа" ввод a, b c := a + b вывод a, "+", b, "=", c кон Протокол: Введите два целых числа =55 компьютер пользователь подсказка
Программирование на алгоритмическом языке К. Поляков, Задания 21 «3»: Ввести три числа, найти их сумму. Пример: Введите три числа: =16 «4»: Ввести три числа, найти их сумму и произведение. Пример: Введите три числа: =16 4*5*7=140
Программирование на алгоритмическом языке К. Поляков, Задания 22 «5»: Ввести три числа, найти их сумму, произведение и среднее арифметическое. Пример: Введите три числа: =16 4*5*7=140 (4+5+7)/3=