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

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

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

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

Добавлен: 03.02.2024

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

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

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.




© C. Ефимов, 2013-2014


Введение
Ветвления
Сложные условия
Циклы
Циклы с условием
Оператор выбора


Графика
Графики функций
Процедуры
Рекурсия
Анимация
Функции
Случайные числа





Тема 1. Введение


© C. Ефимов, 2013





Алгоритм


Свойства алгоритма
    дискретность: состоит из отдельных шагов (команд)
    понятность: должен включать только команды, известные исполнителю (входящие в СКИ)
    определенность: при одинаковых исходных данных всегда выдает один и тот же результат
    конечность: заканчивается за конечное число шагов
    массовость: может применяться многократно при различных исходных данных
    корректность: дает верное решение при любых допустимых исходных данных


Алгоритм – это четко определенный план действий для исполнителя.





Программа


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


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





Языки программирования


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





Язык Python


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






Из чего состоит программа?


a=2
b=3
c=a+b
print(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”) результат 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


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 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 :
{что делать, если условие неверно}


Особенности:
    вторая часть (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