Главная страница
Навигация по странице:

  • НАЧАЛА ПРОГРАММИРОВАНИЯ Ключевые слова while ( цикл-ПОКА) for (цикл с параметрами)

  • Программирование циклов с заданным числом повторений Общий вид оператора: for > in range (k, n, m): <оператор

  • Различные варианты программирования циклического алгоритма

  • Самое главное В языке Python имеются два вида операторов цикла: while

  • Число повторений цикла неизвестно

  • Вопросы и задания Дана последовательность операторов: a = 1 b = 1 while True: a = a + 1 b = b * 2 if

  • Вопросы и задания Напишите программу вычисления наибольшего общего делителя двух целых чисел, используйте оператор while . Вопросы и задания

  • контрольная информтиака. While ( циклпока) for (цикл с параметрами) Программирование циклов с заданным условием продолжения работы


    Скачать 415 Kb.
    НазваниеWhile ( циклпока) for (цикл с параметрами) Программирование циклов с заданным условием продолжения работы
    Анкорконтрольная информтиака
    Дата06.04.2023
    Размер415 Kb.
    Формат файлаppt
    Имя файла8-3-5-python.ppt
    ТипДокументы
    #1041624

    ПРОГРАММИРОВАНИЕ ЦИКЛИЧЕСКИХ АЛГОРИТМОВ


    НАЧАЛА ПРОГРАММИРОВАНИЯ


    Ключевые слова


    while ( цикл-ПОКА)
    for (цикл с параметрами)


    Программирование циклов с заданным условием продолжения работы


    Общий вид оператора:
    while <условие> :
    <оператор>
    <условие> - логическое выражение; пока оно истинно, выполняется тело цикла;
    <оператор> - простой или составной оператор, с помощью которого записано тело цикла.


    Тело цикла


    Условие


    да


    нет


    да


    нет


    Начало


    x, y - цел


    r = x
    q = 0


    r >=у


    r = r - y
    q= q +1


    Конец


    q, r


    print ('Частное и остаток')
    x = int(input (' Введите делимое х>>'))
    y = int(input (' Введите делитель y>>'))
    r = х
    q = 0
    while r >= y:
    r = r – y
    q += 1
    print ('Частное 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 = 10


    x >= 25


    i = i +1
    x = x + 0.1 * x


    i


    Программирование циклов с заданным числом повторений


    Общий вид оператора:
    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 * a


    y


    а – вещ, 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 < 0


    n = 0


    k1, k2


    Конец


    k1=0
    k2=0


    k1=k1+1


    k2=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 != 0


    k1, k2


    Конец


    k1 = 0
    k2 = 0


    k1=k1+1


    k2=k2+1


    нет


    n


    n - цел


    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


    Напишите программу, которая выводит на экран таблицу умножения на 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


    Вопросы и задания



    написать администратору сайта