Файл: C. Ефимов, 20132014 Введение Ветвления Сложные условия Циклы Циклы с условием Оператор выбора Графика Графики функций Процедуры Рекурсия Анимация Функции Случайные числа.ppt
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 03.02.2024
Просмотров: 21
Скачиваний: 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