Файл: C. Ефимов, 20132014 Введение Ветвления Сложные условия Циклы Циклы с условием Оператор выбора Графика Графики функций Процедуры Рекурсия Анимация Функции Случайные числа.ppt

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 03.02.2024

Просмотров: 77

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
© C. Ефимов, 2013-2014ВведениеВетвленияСложные условияЦиклыЦиклы с условиемОператор выбора ГрафикаГрафики функцийПроцедурыРекурсияАнимацияФункцииСлучайные числа Тема 1. Введение© C. Ефимов, 2013АлгоритмСвойства алгоритма
    дискретность: состоит из отдельных шагов (команд)
    понятность: должен включать только команды, известные исполнителю (входящие в СКИ)
    определенность: при одинаковых исходных данных всегда выдает один и тот же результат
    конечность: заканчивается за конечное число шагов
    массовость: может применяться многократно при различных исходных данных
    корректность: дает верное решение при любых допустимых исходных данных

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

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

Языки программированияМашинно-ориентированные (низкого уровня) - каждая команда соответствует одной команде процессора (ассемблер)Языки высокого уровня – приближены к естественному (английскому) языку, легче воспринимаются человеком, не зависят от конкретного компьютера
    для обучения: Бейсик, Кумир, Паскаль, Python
    профессиональные: Си, Python, Паскаль
    для задач робототехники и искусственного интеллекта: Пролог, ЛИСП, С++, Python
    для Интернета: HTML, CSS, JavaScript, Java, Python, PHP, ASP

Язык Python1991разработан Гвидо ван Россумом
    объектно-ориентированный язык
    успешно применяться для интернета


Из чего состоит программа?a=2b=3c=a+bprint(c)Из чего состоит программа?Константа – постоянная величина, имеющая имя, в питоне нет констант.Переменная – изменяющаяся величина, имеющая имя (ячейка памяти).Процедура – вспомогательный алгоритм, описывающий некоторые действия (рисование окружности).Функция – вспомогательный алгоритм для выполнения вычислений (вычисление квадратного корня, sin).Имена программы, констант, переменныхИмена могут включать
    латинские буквы (A-Z)
    цифры знак подчеркивания _

заглавные и строчные буквы не различаютсяИмена НЕ могут включать
    русские буквы пробелы скобки, знаки +, =, !, ? и др.

имя не может начинаться с цифрыКакие имена правильные?? AXby R&B 4Wheel Вася “PesBarbos” TU154 [QuQu] _ABBA A+BПеременныеЯзык Python чувствителен к регистру. Переменная Z и z – разные переменные. Python, в отличие от многих языков, не требует описания переменных.Типы переменных:
    int { целая }
    float { вещественная }
    list { список, аналог массивов}
    str { символьная строка }
    bool { логическая }

Объявление переменных (выделение памяти):int(“88”) результат 88str(88) результат “88”float(88) результат 88.00Как изменить значение переменной?Оператор – это команда языка программирования высокого уровня.Оператор присваивания служит для изменения значения переменной.a=2b=a+2a=b*4print(a)a?55b?5+27a57*428Пример:Оператор присваиванияАрифметическое выражение может включать
    имена переменных знаки арифметических операций:
    + - * / // % **
    вызовы функций круглые скобки ( )

умножение деление деление нацело остаток от деления<имя переменной> = <выражение> Возведение в степень 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


b


?


?


5


7


28


5


3


4


4

Порядок выполнения операций
    вычисление выражений в скобках умножение, деление, //, % слева направо сложение и вычитание слева направо

    z := (5*a*c+3*(c-d))/a*(b-c)/ b;

    x:=(a*a+5*c*c-d*(a+b))/((c+d)*(d-2*a));

    2 3 5 4 1 7 8 6 9

    2 6 3 4 7 5 1 12 8 11 10 9

Оператор вводаa=input( ){ ввод значения переменной a}import mathx=math.piprint ("%.50f" % (x)) print('Введите число')a=input()c = a + 2print ( ‘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 mathx=math.piprint ("%.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 вывод maxa > b?max = b конец да нет полная форма ветвления блок «решение» Если a = b??Вариант 1. Программа max = amax = b print(‘input 2 number‘) a=input() b=input() if a > b : else : print (‘Max number', max)Условный оператор if<условие> : {что делать, если условие верно} else : {что делать, если условие неверно} Особенности:
    вторая часть (else …) может отсутствовать (неполная форма)

Вариант 2. Блок-схема неполная форма ветвления началоmax = a ввод a,b вывод maxmax = 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