Файл: 17. Введение 18. Линейные программы 19. Ветвления 20. Программирование циклических алгоритмов.ppt

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

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

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

Добавлен: 10.01.2024

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

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

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

СОДЕРЖАНИЕ

Что такое программирование?

Направления в программировании

Простейшая программа

Вывод на экран

Переход на новую строку

Системы программирования

Системы программирования

Задачи

Пример задачи

Зачем нужны переменные?

Имена переменных

Работа с переменными

Работа с переменными

Ввод с клавиатуры

Ввод с клавиатуры

Ввод с подсказкой

Ввод вещественных чисел

Программа сложения чисел

Вывод данных с текстом

Вывод данных с текстом (f-строки)

Программа сложения чисел

Ввод двух чисел в одной строке

Задачи

Задачи

Арифметические выражения

Деление

Частное и остаток

Частное и остаток

Операторы // и %

Сокращенная запись операций

Форматный вывод

Форматный вывод

Задачи

Задачи

Форматный вывод

Форматный вывод

Научный формат чисел

Математические функции

Задачи

Задачи

Задачи

Датчик случайных чисел

Датчик случайных чисел

Задачи

Задачи

Задачи

Выбор наибольшего из двух чисел

Вариант 1. Программа

Выбор наибольшего из двух чисел-2

Вариант 2. Программа

Примеры

Примеры

Знаки отношений

Вложенные условные операторы

Каскадное ветвление

Каскадное ветвление

Задачи (без функций min и max!)

Задачи

Сложные условия

Плохое решение

Хорошее решение (операция «И»)

Примеры

Сложные условия: «ИЛИ»

Ещё пример

Сложные условия: «НЕ»

Простые и сложные условия

Сложные условия

Задачи

Задачи

Задачи

Логические переменные

Задачи

Задачи

Задачи

Экспертная система

Дерево решений

Программирование экспертной системы

Заглавные и строчные буквы

Виды ошибок

Пример отладки программы

Тестирование

Отладочная печать

Отладочная печать

Отладка программы

Задачи

Задачи

Задачи

Зачем нужен цикл?

Как работает цикл?

Ещё один вариант

Цикл с предусловием

Сколько раз выполняется цикл?

Сумма цифр числа

Сумма цифр числа

Сумма цифр числа

Сумма цифр числа

Задачи

Задачи

Алгоритм Евклида

Алгоритм Евклида

Алгоритм Евклида

Модифицированный алгоритм Евклида

Модифицированный алгоритм

В стиле Python

Задачи

Задачи

Обработка потока данных

Обработка потока данных

Задачи

Задачи на циклы (дополнительные)

Задачи

Цикл по переменной

Цикл по переменной

Цикл по переменной

Цикл по переменной

Задачи

Задачи

Что такое массив?

Создание массива

Что неверно?

Перебор элементов массива

Заполнение массива

Вывод массива на экран

Вывод массива на экран (Python)

Ввод с клавиатуры

Ввод с клавиатуры (Python)

Задачи

Задачи

Заполнение случайными числами

Задачи-2

Задачи-2

Сумма элементов массива

Сумма элементов массива (Python)

Задачи

Подсчёт элементов по условию

Подсчёт элементов по условию (Python)

Среднее арифметическое

Среднее арифметическое

Среднее арифметическое (Python)

Задачи

Перестановка элементов массива

Реверс массива

Реверс массива

Задачи

Задачи

Поиск максимального элемента (Python)

Задачи (без min и max)

Задачи

Конец фильма

Источники иллюстраций


§ 17. Введение
§ 18. Линейные программы
§ 19. Ветвления
§ 20. Программирование циклических алгоритмов
§ 21. Массивы
§ 22. Алгоритмы обработки массивов





§ 17. Введение




Что такое программирование?





Программирование — это создание программ для компьютеров. Этим занимаются программисты.


Чем занимаются программисты:


анализ задачи (выделение исходных данных, связей между ними, этапов решения задачи)


системные аналитики


написание документации


технические писатели


разработка алгоритмов


алгоритмисты


написание и отладка программ


кодировщики


тестирование программ


тестировщики

Направления в программировании





системный программист


операционные системы, утилиты, драйверы


прикладной программист


прикладные программы, в т.ч. для мобильных устройств


веб-программист


веб-сайты


программист баз данных


системы управления базами данных

Простейшая программа





# Это пустая программа


Что делает эта программа?


?


комментарии после # не обрабатываются


# coding: utf-8
# Это пустая программа


кодировка utf-8 по умолчанию)


"""
Это тоже комментарий
"""

Вывод на экран





print( "Привет!" )


оператор вывода


Оператор — это команда языка программирования.


print( "Привет", Вася! )


Что плохо?



?


print( "Привет, Вася!" )


вся строка в кавычках

Переход на новую строку





print( "Привет, Вася!" )
print( "Привет, Петя!" )


Результат:


Нужно в одной строке:


Привет, Вася!
Привет, Петя!


Привет, Вася!Привет, Петя!


Решение:


print( "Привет, Вася!", end="" )
print( "Привет, Петя!" )


переход на новую строку автоматически


end=""


после вывода данных ничего не выводить

Системы программирования





Системы программирования — это средства для создания новых программ.


Транслятор — это программа, которая переводит тексты программ, написанных программистом, в машинные коды (команды процессора).


компилятор — переводит всю программу в машинные коды, строит исполняемый файл (.exe)
интерпретатор — сам выполняет программу по частям (по одному оператору).


program Hello;
begin
write('Привет!')
end.


1010010100


privet.exe


Python – интерпретатор!


!

Системы программирования





Отладчик — это программа для поиска ошибок в других программах.


пошаговый режим — выполнение программы по шагам (по одному оператору)
просмотр значений переменных во время выполнения программы
точки останова – операторы в программе, перед выполнением которых нужно остановиться.


Среда программирования (IDE):
редактор текста программ транслятор отладчик


Задачи





«B»: Вывести на экран текст «лесенкой»
Вася
пошел
гулять
«C»: Вывести на экран рисунок из букв
Ж
ЖЖЖ
ЖЖЖЖЖ
ЖЖЖЖЖЖЖ
HH HH
ZZZZZ


§ 18. Линейные программы




Пример задачи





Задача. Ввести два числа и вычислить их сумму.


Компьютер не может исполнить псевдокод!


!


# ввести два числа
# вычислить их сумму
# вывести сумму на экран


Выполнится?


?


Псевдокод – алгоритм на русском языке с элементами языка программирования.

Зачем нужны переменные?


# ввести два числа
# вычислить их сумму
# вывести сумму на экран





Где запомнить?


Переменная — это величина, которая имеет имя, тип и значение. Значение переменной может изменяться во время выполнения программы.


a b c


ячейки памяти

Имена переменных





Идентификатор — это имя программы или переменной.


a b c


МОЖНО использовать
    латинские буквы (A-Z, a-z)
    цифры знак подчеркивания _


Какие имена правильные?
AXby R&B 4Wheel Вася “PesBarbos” TU154 [QuQu] _ABBA A+B


заглавные и строчные буквы различаются


Имя не может начинаться с цифры!


!

Работа с переменными





Присваивание (запись значения)


a = 5


=


оператор присваивания


a = 5
a = 18


Что будет храниться в a?


?


Вывод на экран


print(a)


В чём разница?


?


с = 14
print(c)


с = 14
print("с")


14


c


a ← 5

Работа с переменными






Изменение значения


i = i + 1


увеличить на 1


a = 4
b = 7
a = a + 1
b = b + 1
a = a + b
b = b + a
a = a + 2
b = b + a


a


b


4


7


5


8


13


21


15


36


i ← i + 1


Python:


a, b = 4, 7
a += 1
b += 1
a += b
b += a
a += 2
b += a

Ввод с клавиатуры





Цель – изменить исходные данные, не меняя программу.


a = input()


Программа ждет, пока пользователь введет значение и нажмет Enter.
Введенное значение записывается в переменную a.


!


5

Ввод с клавиатуры





a = input()


ввести строку с клавиатуры и связать с переменной a


b = input()


с = a + b


print ( c )


Протокол:
21
33
2133


Почему?


?


Результат функции input – строка символов!


!


a = int( input() )


b = int( input() )


преобразовать в целое число


Ввод с подсказкой





a = input( "Введите число: " )


подсказка


Введите число:


Qu-Qu


Что не так?


?


a = int( input("Введите число: ") )


преобразовать в целое число


Что будет?


?


ValueError: invalid literal for int() with base 10: 'Qu-Qu'


Введите число:


26

Ввод вещественных чисел





print( "Введите число:" )
x = float (input())


или так:


x = float (input("Введите число:"))


float


float

Программа сложения чисел





ожидание:


реальность:


Введите два числа:
5
7
5+7=12


5
7
12


Как улучшить диалог?


?


a = int ( input() )
b = int ( input() )
c = a + b
print ( c )


Что плохо?


?

Вывод данных с текстом





5+7=12


значение a


значение с


значение b


текст


print(a, "+", b, "=", c)


print(a, "+", b, "=", c, sep="" )


ожидание:


реальность:


5+7=12


5 + 7 = 12


это пробелы не заказывали!


sep=""


separator


пустой

Вывод данных с текстом (f-строки)





5+7=12


значение a


значение с


значение b


текст


print( f "{a}+{b}={c}" )


f


форматная строка


имена переменных в фигурных скобках

Программа сложения чисел





print ( "Введите два числа: " )
a = int ( input() )
b = int ( input() )
c = a + b
print ( f "{a}+{b}={c}" )


Как переделать для 3-х чисел?


?

Ввод двух чисел в одной строке





a, b = map ( int, input().split() )


input()


ввести строку с клавиатуры


21 33


input().split()


21


33


разделить строку на части по пробелам


map ( int, input().split() )


21


33


целые


применить


эту операцию


к каждой части


a, b = map ( int, input().split() )

Задачи





«A»: Ввести три числа, найти их сумму.