Похожие презентации:
11_klass_18_algoritm_napisania_programm
1.
РАЗРАБОТКА ИПРОГРАММНАЯ РЕАЛИЗАЦИЯ
АЛГОРИТМОВ РЕШЕНИЯ
ТИПОВЫХ ЗАДАЧ
2.
ОСНОВНЫЕ ЭТАПЫ РАЗРАБОТКИПРОГРАММЫ
Постановка задачи и анализ
• определить цель решения, собрать исходные
данные, выяснить формат и область значений
результатов
Формализация задачи
• Построение математической модели задачи,
определение точности, объёма и времени
вычислений, выбор технических средств
3.
ОСНОВНЫЕ ЭТАПЫ РАЗРАБОТКИПРОГРАММЫ
Создание алгоритма решения
• Разработать блок-схему или описание алгоритма
Составление программы для решения задачи
• Реализация алгоритма на конкретном языке
программирования
Тестирование и отладка программы
• проверить программу на практике, выявить ошибки,
отладить программу.
4.
РАЗРАБОТКА ПРОГРАММЫПОДСЧЕТА ИНДЕКСА МАССЫ ТЕЛА
Постановка задачи и анализ
• Рассчитать ИМТ, если известны вес и рост,
которые вводятся с клавиатуры, программа
считает и выдает готовый результат
Формализация задачи
• ИМТ = V / (R * R), где вес – это V, а рост – это R
5.
СПОСОБЫ ЗАПИСИ АЛГОРИТМАБлок-схема
БЛОК НАЧАЛА/КОНЦА
УКАЗЫВАЮЩИЕ ЛИНИИ
БЛОК ВВОДА/ВЫВОДА ДАННЫХ
БЛОК ОБРАБОТКИ ДАННЫХ
БЛОК ПРИНЯТИЯ РЕШЕНИЯ
6.
НЕТНАЧАЛО
IMT<18
ДА
У ВАС МАЛЫЙ
ВЕС
V
R
КОНЕЦ
IMT= V/R*R
НЕТ
IMT<25 and
IMT>18
ДА
С ВЕСОМ ВСЕ
ВПОРЯДКЕ
• Этап создания алгоритма, подразумевает
выделение последовательных шагов,
НЕТ
IMT>25
ДА
У ВАС ЛИШНИЙ
ВЕС
приводящих к должному результату
7.
Составление программы на языке Python1.
V = int (input("Введите целое значение своего веса в см: "))
2.
R = int (input ("Введите целое значение своего роста в см:
"))
3.
IMT = V / R * R
4.
if IMT < 25 and IMT > 18:
5.
6.
7.
8.
9.
print ("С весом все в порядке!")
if IMT < 18:
print ("Надо есть побольше!")
if IMT > 25:
print ("Надо есть поменьше!")
Тестирование и отладка программы
• выполнение программы в компиляторе
8.
СПИСКИ LIST () - КОЛЛЕКЦИЯ ДАННЫХ, ОТЛИЧАЮЩИЕСЯ ОТМАССИВОВ ТЕМ, ЧТО МОГУТ ХРАНИТЬ РАЗНОТИПНЫЕ ДАННЫЕ
• Индекс элемента массива
• Нумерация элементов в
массиве в Python начинается
с нуля
• Значение элемента массива
0
1
-15 20
2
-12
3
-4
4
-2
5
0
6
0
7
-1
a[0] a [1] a[2] a [3] a[4] a [5] a[6] a [7]
• Обращение к элементу массива
• a – это имя массива
• Длина массива 8 элементов
• Длину массива можно хранить
в отдельной переменной (N)
9.
ОБЩИЙ АЛГОРИТМ РЕШЕНИЯ ЗАДАЧ1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
s = 0 # сумма – s, значение равно нулю
k = 0 # количество – k, значение равно нулю
p = 1 # произведение – p, значение равно единице
min = 1000000 # задается максимальным значением
max = 0 # задается минимальным значением
for i in range (len(arr)): # цикл перебирает все элементы по индексам
if <критерий отбора> # условие по которому отбираются элементы
s = s + arr [i] # сумма отобранных элементов
k = k+1 # количество элементов подходящих под условие
p = p*arr [i] # произведение отобранных элементов
if arr [i] < min: # минимальное из отобранных значений
min = arr [i]
if arr [i] > max: # максимальное из отобранных значений
max = arr [i]
print (<переменная>) # подставляется имя переменной для вывода значения
10.
ЗАДАЧА 1Условия
• Пусть дан целочисленный массив из 40 элементов
• Элементы массива могут принимать значения от 0
до 10 000
• Значения элементов вводятся с клавиатуры
Задание
• Написать программу поиска среднего
арифметического элементов массива, имеющих
четное значение
11.
РЕШЕНИЕ1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
N = 40 # задаем количество элементов в массиве
arr = [] # создаем пустой массив
for i in range (N): # задаем через цикл ввод массива с клавиатуры
arr.append (int(input()))
s = 0 # задаем значение переменной суммы
k = 0 # задаем значение переменной количества элементов
for i in range (N):
if arr [i] % 2 == 0: # условие четности
k = k+1 # счетчик элементов отвечающих условию
s = s + arr [i] # сумма переменных отвечающих условию
print (s / k) # выводим среднее арифметическое значение элементов
12.
ЗАДАЧА 2Условия
• Дан целочисленный массив из 20 элементов
• Элементы массива могут принимать натуральные
значения от 1 до 10 000 включительно
Задание
• Напишите программу, которая находит минимум
среди элементов массива, оканчивающихся на 1, а
затем заменяет каждый элемент, оканчивающийся
на 1, на число равное найденному минимуму
13.
РЕШЕНИЕ1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
N = 20 # задаем количество элементов в массиве
arr = [] # создаем пустой массив
for i in range (N): # задаем через цикл ввод массива с клавиатуры
arr.append (int(input()))
# 1. поиск минимального значения
min_ = 10001
for i in range (N):
if arr [i] % 10 == 1 and arr [i] < min_:
min_ = arr [i]
# 2. замена элементов через цикл
for i in range (N):
if arr [i] % 10 == 1:
arr [i] = min_
# 3. вывод элементов
for i in range (N):
print (arr [i])
14.
ДОМАШНЕЕ ЗАДАНИЕУсловия
• Дан целочисленный массив из 30 элементов
• Значения элементов вводятся с клавиатуры
Задание
• Напишите программу, которая находит количество в подряд
идущих четных числа в списке
1.
2.
3.
4.
5.
6.
7.
8.
9.
N = 30 # задаем количество элементов в массиве
arr = [] # создаем массив
for i in range (N):
arr.append (int(input()))
k=0
for i in range (N-1):
if arr [i] % 2 == 0 and arr [i+1] % 2 == 0:
k +=1
print (k)
Программирование