Файл: While ( циклпока) for (цикл с параметрами) Программирование циклов с заданным условием продолжения работы.ppt
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 17.01.2024
Просмотров: 108
Скачиваний: 2
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
ПРОГРАММИРОВАНИЕ ЦИКЛИЧЕСКИХ АЛГОРИТМОВНАЧАЛА ПРОГРАММИРОВАНИЯКлючевые словаwhile ( цикл-ПОКА)for (цикл с параметрами)Программирование циклов с заданным условием продолжения работы Общий вид оператора:while <условие> : <оператор> <условие> - логическое выражение; пока оно истинно, выполняется тело цикла; <оператор> - простой или составной оператор, с помощью которого записано тело цикла. Тело цикла Условие да нет да нет Началоx, y - целr = xq = 0r >=уr = r - yq= q +1 Конецq, rprint ('Частное и остаток')x = int(input (' Введите делимое х>>'))y = int(input (' Введите делитель y>>'))r = хq = 0while r >= y: r = r – y q += 1print ('Частное q=‘, q)print ('Остаток r=', r)Программирование циклов с заданным условием окончания работыВ языке Python нет цикла с заданным условием окончания работы, но его можно организовать с помощью цикла while: while True: <операторы> if <условие>: break Тело цикла Условие да нетТакой цикл будет выполняться бесконечно, потому что условие True всегда истинно. Оператора break обеспечивает выход из цикла если условие истинно (в переводе с англ. – «прервать», досрочный выход из цикла). print ('График тренировок') i = 1 x = 10 while True: i += 1 x = x + 0.1 * x if x >= 25: break print ('Начиная с ', i, '-го дня спортсмен будет пробегать 25 км') Конец да нет Началоi = 1 x = 10x >= 25i = i +1 x = x + 0.1 * xiПрограммирование циклов с заданным числом повторений Общий вид оператора:for <параметр> in range (k, n, m): <оператор> <параметр> - переменная целого типаrange() – диапазон значений:
k – начальное значение переменной (по умолчанию равен 0)n –конечное значение переменной, не включая последнееm – шаг изменения переменной, по умолчанию равен 1 После каждого выполнения тела цикла происходит увеличение на единицу параметра цикла; условие выхода из цикла - достижение параметром конечного значения. Тело циклаi = k,n,m # Возведение в степень a= float(input (' Введите основание а>>')) n= int(input (' Введите показатель n>>')) y=1 for i in range(n): y = y * a print('y=', y) Конец Началоy = 1 y = y * ayа – вещ, n - целi = 0, n-1 # цикл будет работать от 0 до n-1 # ровно n разРазличные варианты программирования циклического алгоритма Для решения одной и той же задачи могут быть созданы разные программы. Организуем ввод целых чисел и подсчёт количества введённых положительных и отрицательных чисел. Ввод должен осуществляться до тех пор, пока не будет введён ноль. В задаче в явном виде задано условие окончания работы. Воспользуемся циклом с постусловием k1 = k2 = 0 while True: n = int (input (' Введите целое число>>')) if n > 0: k1 += 1 if n < 0: k2 += 1 if n == 0: break print ('Введено:') print('положительных чисел -', k1) print('отрицательных чисел -', k2) да нет n - целn > 0 Началоn < 0n = 0k1, k2 Конецk1=0k2=0k1=k1+1k2=k2+1 да да нет нет n = int (input (' Введите целое число>>')) k1=k2 = 0 while n != 0: if n > 0: k1 += 1 if n < 0: k2 += 1 n = int (input (' Введите целое число>>')) print ('Введено:') print ('положительных - ', k1); print ('отрицательных - ', k2) Ввод осуществляется до тех пор, пока не будет введён ноль. Работа продолжается, пока n 0. Воспользуемся оператором while: даn > 0 да нет Началоn != 0k1, k2 Конец k1 = 0k2 = 0 k1=k1+1k2=k2+1 нет nn - целn < 0 да нетСамое главное
В языке Python имеются два вида операторов цикла: while (цикл-ПОКА)for (цикл с параметром). Если число повторений тела цикла известно, то лучше воспользоваться оператором for; в остальных случаях используется оператор whileОпорный конспектwhile (цикл-ПОКA)for (цикл с параметром)Число повторений цикла известно В языке Python имеются два вида операторов цикла: Число повторений цикла неизвестно Дана последовательность операторов: a = 1 b = 2 while a + b < 8: a = a + 1 b = b + 2 s = a + b Сколько раз будет повторен цикл и какими будут значения переменных a, b, s после исполнения этой последовательности операторов?Вопросы и задания Требовалось написать программу вычисления факториала числа n (факториал числа n есть произведение всех целых чисел от 1до n). Программист торопился и написал программу неправильно. Ниже приведён фрагмент его программы, в котором содержится четыре ошибки: k = 1 f = 0 while k < n: f = f * k k += 1 Найдите ошибки. Допишите необходимые операторы.Вопросы и задания Дана последовательность операторов: a = 1 b = 1 while True: a = a + 1 b = b * 2 if b > 8: break s = a + b Сколько раз будет повторено тело цикла и какими будут значения переменных a, b, s после исполнения этой последовательности операторов?Вопросы и задания Сколько раз будет выполнено тело цикла? а) for i in range(15): s = s + 1 б) for i in range(10, 15): s = s + 1 в) for i in range(-1, 1): s = s + 1 г) for i in range(1, 1): s = s + 1 д) k = 5 for i in range(k-1, k+1): s = s + 1Вопросы и задания Какой из двух рассмотренных операторов цикла является, по вашему мнению, основным, т. е. таким, что им можно заменить второй? Обоснуйте свою точку зрения. Вопросы и задания Напишите программу, которая 10 раз выводит на экран ваши имя и фамилию.
Вопросы и задания Напишите программу, выводящую на экран изображение шахматной доски, где чёрные клетки изображаются звёздочками, а белые - пробелами. Рекомендуемый вид экрана после выполнения программы представлен ниже: * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *Вопросы и задания Напишите программу, которая генерирует 10 случайных чисел в диапазоне от 1 до 20, выводит эти числа на экран и вычисляет их среднее арифметическое.Вопросы и задания Напишите программу, которая вычисляет сумму: а) первых n натуральных чисел; б) квадратов первых n натуральных чисел; в) всех чётных чисел в диапазоне от 1 до n; г) всех двузначных чисел.Вопросы и задания Напишите программу вычисления наибольшего общего делителя двух целых чисел, используйте оператор while.Вопросы и задания Напишите программу, в которой осуществляется ввод целых чисел (ввод осуществляется до тех пор, пока не будет введён ноль) и определение максимального (наибольшего) из введённых чисел. Вопросы и задания Напишите программу, в которой осуществляется ввод целых чисел (ввод осуществляется до тех пор, пока не будет введён ноль) и подсчёт суммы и среднего арифметического введённых положительных чисел. Вопросы и задания
Напишите программу, которая выводит на экран таблицу умножения на n (n - целое число в диапазоне от 2 до 10, вводимое с клавиатуры).Вопросы и задания Напишите программу, которая выводит на экран таблицу степеней двойки (от нулевой до десятой). Рекомендуемый вид экрана после выполнения программы представлен ниже: Таблица степеней двойки: 0 1 1 2 2 4 3 8 4 16 5 32 6 64 7 128 8 256 9 512 10 1024Вопросы и задания
k – начальное значение переменной (по умолчанию равен 0)n –конечное значение переменной, не включая последнееm – шаг изменения переменной, по умолчанию равен 1 После каждого выполнения тела цикла происходит увеличение на единицу параметра цикла; условие выхода из цикла - достижение параметром конечного значения. Тело циклаi = k,n,m # Возведение в степень a= float(input (' Введите основание а>>')) n= int(input (' Введите показатель n>>')) y=1 for i in range(n): y = y * a print('y=', y) Конец Началоy = 1 y = y * ayа – вещ, n - целi = 0, n-1 # цикл будет работать от 0 до n-1 # ровно n разРазличные варианты программирования циклического алгоритма Для решения одной и той же задачи могут быть созданы разные программы. Организуем ввод целых чисел и подсчёт количества введённых положительных и отрицательных чисел. Ввод должен осуществляться до тех пор, пока не будет введён ноль. В задаче в явном виде задано условие окончания работы. Воспользуемся циклом с постусловием k1 = k2 = 0 while True: n = int (input (' Введите целое число>>')) if n > 0: k1 += 1 if n < 0: k2 += 1 if n == 0: break print ('Введено:') print('положительных чисел -', k1) print('отрицательных чисел -', k2) да нет n - целn > 0 Началоn < 0n = 0k1, k2 Конецk1=0k2=0k1=k1+1k2=k2+1 да да нет нет n = int (input (' Введите целое число>>')) k1=k2 = 0 while n != 0: if n > 0: k1 += 1 if n < 0: k2 += 1 n = int (input (' Введите целое число>>')) print ('Введено:') print ('положительных - ', k1); print ('отрицательных - ', k2) Ввод осуществляется до тех пор, пока не будет введён ноль. Работа продолжается, пока n 0. Воспользуемся оператором while: даn > 0 да нет Началоn != 0k1, k2 Конец k1 = 0k2 = 0 k1=k1+1k2=k2+1 нет nn - целn < 0 да нетСамое главное
В языке Python имеются два вида операторов цикла: while (цикл-ПОКА)for (цикл с параметром). Если число повторений тела цикла известно, то лучше воспользоваться оператором for; в остальных случаях используется оператор whileОпорный конспектwhile (цикл-ПОКA)for (цикл с параметром)Число повторений цикла известно В языке Python имеются два вида операторов цикла: Число повторений цикла неизвестно Дана последовательность операторов: a = 1 b = 2 while a + b < 8: a = a + 1 b = b + 2 s = a + b Сколько раз будет повторен цикл и какими будут значения переменных a, b, s после исполнения этой последовательности операторов?Вопросы и задания Требовалось написать программу вычисления факториала числа n (факториал числа n есть произведение всех целых чисел от 1до n). Программист торопился и написал программу неправильно. Ниже приведён фрагмент его программы, в котором содержится четыре ошибки: k = 1 f = 0 while k < n: f = f * k k += 1 Найдите ошибки. Допишите необходимые операторы.Вопросы и задания Дана последовательность операторов: a = 1 b = 1 while True: a = a + 1 b = b * 2 if b > 8: break s = a + b Сколько раз будет повторено тело цикла и какими будут значения переменных a, b, s после исполнения этой последовательности операторов?Вопросы и задания Сколько раз будет выполнено тело цикла? а) for i in range(15): s = s + 1 б) for i in range(10, 15): s = s + 1 в) for i in range(-1, 1): s = s + 1 г) for i in range(1, 1): s = s + 1 д) k = 5 for i in range(k-1, k+1): s = s + 1Вопросы и задания Какой из двух рассмотренных операторов цикла является, по вашему мнению, основным, т. е. таким, что им можно заменить второй? Обоснуйте свою точку зрения. Вопросы и задания Напишите программу, которая 10 раз выводит на экран ваши имя и фамилию.
Вопросы и задания Напишите программу, выводящую на экран изображение шахматной доски, где чёрные клетки изображаются звёздочками, а белые - пробелами. Рекомендуемый вид экрана после выполнения программы представлен ниже: * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *Вопросы и задания Напишите программу, которая генерирует 10 случайных чисел в диапазоне от 1 до 20, выводит эти числа на экран и вычисляет их среднее арифметическое.Вопросы и задания Напишите программу, которая вычисляет сумму: а) первых n натуральных чисел; б) квадратов первых n натуральных чисел; в) всех чётных чисел в диапазоне от 1 до n; г) всех двузначных чисел.Вопросы и задания Напишите программу вычисления наибольшего общего делителя двух целых чисел, используйте оператор while.Вопросы и задания Напишите программу, в которой осуществляется ввод целых чисел (ввод осуществляется до тех пор, пока не будет введён ноль) и определение максимального (наибольшего) из введённых чисел. Вопросы и задания Напишите программу, в которой осуществляется ввод целых чисел (ввод осуществляется до тех пор, пока не будет введён ноль) и подсчёт суммы и среднего арифметического введённых положительных чисел. Вопросы и задания
| Пример входных данных | Пример выходных данных |
| Введите n> 5 | 5 * 2 = 10 5 * 3 = 15 5 * 4 = 20 5 * 5 = 25 5 * 6 = 30 5 * 7 = 35 5 * 8 = 40 5 * 9 = 45 5 * 10 = 50 |