пайтон тили. C. Ефимов, 20132014 Введение Ветвления Сложные условия Циклы Циклы с условием Оператор выбора Графика Графики функций Процедуры Рекурсия Анимация Функции Случайные числа
Скачать 0.54 Mb.
|
© C. Ефимов, 2013-2014 Введение Ветвления Сложные условия Циклы Циклы с условием Оператор выбора Графика Графики функций Процедуры Рекурсия Анимация Функции Случайные числа Тема 1. Введение © C. Ефимов, 2013 Алгоритм Свойства алгоритма
понятность: должен включать только команды, известные исполнителю (входящие в СКИ) определенность: при одинаковых исходных данных всегда выдает один и тот же результат конечность: заканчивается за конечное число шагов массовость: может применяться многократно при различных исходных данных корректность: дает верное решение при любых допустимых исходных данных Алгоритм – это четко определенный план действий для исполнителя. Программа Программа – это
Команда – это описание действий, которые должен выполнить компьютер.
что нужно с ними сделать? Языки программирования Машинно-ориентированные (низкого уровня) - каждая команда соответствует одной команде процессора (ассемблер) Языки высокого уровня – приближены к естественному (английскому) языку, легче воспринимаются человеком, не зависят от конкретного компьютера
профессиональные: Си, Python, Паскаль для задач робототехники и искусственного интеллекта: Пролог, ЛИСП, С++, Python для Интернета: HTML, CSS, JavaScript, Java, Python, PHP, ASP Язык Python 1991 – разработан Гвидо ван Россумом
успешно применяться для интернета Из чего состоит программа? a=2 b=3 c=a+b print(c) Из чего состоит программа? Константа – постоянная величина, имеющая имя, в питоне нет констант. Переменная – изменяющаяся величина, имеющая имя (ячейка памяти). Процедура – вспомогательный алгоритм, описывающий некоторые действия (рисование окружности). Функция – вспомогательный алгоритм для выполнения вычислений (вычисление квадратного корня, sin). Имена программы, констант, переменных Имена могут включать
цифры знак подчеркивания _ заглавные и строчные буквы не различаются Имена НЕ могут включать
имя не может начинаться с цифры Какие имена правильные?? AXby R&B 4Wheel Вася “PesBarbos” TU154 [QuQu] _ABBA A+B Переменные Язык Python чувствителен к регистру. Переменная Z и z – разные переменные. Python, в отличие от многих языков, не требует описания переменных. Типы переменных:
float { вещественная } list { список, аналог массивов} str { символьная строка } bool { логическая } Объявление переменных (выделение памяти): int(“88”) результат 88 str(88) результат “88” float(88) результат 88.00 Как изменить значение переменной? Оператор – это команда языка программирования высокого уровня. Оператор присваивания служит для изменения значения переменной. a=2 b=a+2 a=b*4 print(a) a ? 5 5 b ? 5+2 7 a 5 7*4 28 Пример: Оператор присваивания Арифметическое выражение может включать
+ - * / // % ** вызовы функций круглые скобки ( ) умножение деление деление нацело остаток от деления <имя переменной> = <выражение> Возведение в степень a := 5 10 = x; y = 7,8 b = 2.5 x = 2*(a + y) a = b + x Какие операторы неправильные? имя переменной должно быть слева от знака = целая и дробная часть отделяются точкой Ручная прокрутка программы a = 5 b = a + 2 a = (a + 2)*(b – 3) b = a // 5 a = a % b a = a + 1 b = (a + 14) % 7
Порядок выполнения операций
Оператор ввода a=input( ) { ввод значения переменной a} import math x=math.pi print ("%.50f" % (x)) print('Введите число') a=input() c = a + 2 print ( ‘c=“, c ) Протокол: Введите число 25 c=27 компьютер пользователь Оператор вывода print ( a ) { вывод значения переменной a} print (' Hello!‘) { вывод текста} print ( ‘Otvet: ', c ) { вывод текста и значения переменной c} print ( a+b ) { вывод суммы чисел } Сложение двух чисел Задача. Ввести два целых числа и вывести на экран их сумму. Простейшее решение: a=input() b=input() c := a + b print ( c ) Форматирование вывода import math x=math.pi print ("%.50f" % (x)) всего символов в дробной части Блок-схема линейного алгоритма начало конец C = a + b ввод a, b вывод c блок «начало» блок «ввод» блок «процесс» блок «вывод» блок «конец» Задания «4»: Ввести три числа, найти их сумму и произведение. Пример: Введите три числа: 4 5 7 4+5+7=16 4*5*7=140 «5»: Ввести три числа, найти их сумму, произведение и среднее арифметическое. Пример: Введите три числа: 4 5 7 4+5+7=16 4*5*7=140 (4+5+7)/3=5.33 Тема 2. Ветвления © C. Ефимов, 2013 Разветвляющиеся алгоритмы Задача. Ввести два целых числа и вывести на экран наибольшее из них. Идея решения: надо вывести на экран первое число, если оно больше второго, или второе, если оно больше первого. Особенность: действия исполнителя зависят от некоторых условий (если … иначе …). Алгоритмы, в которых последовательность шагов зависит от выполнения некоторых условий, называются разветвляющимися. Вариант 1. Блок-схема начало max = a ввод a,b вывод max a > b? max = b конец да нет полная форма ветвления блок «решение» Если a = b? ? Вариант 1. Программа max = a max = b print(‘input 2 number‘) a=input() b=input() if a > b : else : print (‘Max number', max) Условный оператор if <условие> : {что делать, если условие верно} else : {что делать, если условие неверно} Особенности:
Вариант 2. Блок-схема неполная форма ветвления начало max = a ввод a,b вывод max max = b конец да нет b > a? Вариант 2. Программа print(‘input 2 number‘) a=input() b=input() max = a if b > a : max = b print (‘Max number', max) неполная форма условного оператора Задания «4»: Ввести три числа и найти наибольшее из них. Пример: Введите три числа: 4 15 9 Наибольшее число 15 «5»: Ввести пять чисел и найти наибольшее из них. Пример: Введите пять чисел: 4 15 9 56 4 Наибольшее число 56 |