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

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

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

  • Задачи

  • § 20. Программирование циклических алгоритмов Зачем нужен цикл

  • Питон. 8-3py_Основы программирования (Python). 17. Введение 18. Линейные программы 19. Ветвления 20. Программирование циклических алгоритмов


    Скачать 5.21 Mb.
    Название 17. Введение 18. Линейные программы 19. Ветвления 20. Программирование циклических алгоритмов
    АнкорПитон
    Дата21.02.2023
    Размер5.21 Mb.
    Формат файлаppt
    Имя файла8-3py_Основы программирования (Python).ppt
    ТипДокументы
    #948190
    страница10 из 18
    1   ...   6   7   8   9   10   11   12   13   ...   18

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





    Тест 1. a = 1, b = 2, c = 1.


    x1=-1.0 x2=-1.0


    x1=-1.0 x2=-1.0


    Реальность:


    Тест 2. a = 1, b = – 5, c = 6.


    x1=3.0 x2=2.0


    x1=4.791 x2=0.209


    Ожидание:


    Найден вариант, когда программа работает неверно. Ошибка воспроизводится!


    Возможные причины:
    неверный ввод данных неверное вычисление дискриминанта неверное вычисление корней неверный вывод результатов

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





      a = float(input())
      b = float(input())
      c = float(input())
      print(a, b, c)
      D = b*b - 4*a*a
      print("D=", D)
      ...


      print(a, b, c)


      print("D=", D)


    Идея: выводить все промежуточные результаты.

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





    Введите a, b, c:
    1
    -5
    6
    1.0 -5.0 6.0
    D= 21.0


    Результат:


    D= 21.0


      D = b*b - 4*a* с ;


    с


    Идея: выводить все промежуточные результаты.


    Одна ошибка найдена!


    !

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





    Тест 1. a = 1, b = 2, c = 1.


    x1=-1.0 x2=-1.0


    x1=-1.0 x2=-1.0


    Реальность:


    Тест 2. a = 1, b = – 5, c = 6.


    x1=3.0 x2=2.0


    Ожидание:


    x1=3.0 x2=2.0


    Тест 3. a = 8, b = – 6, c = 1.


    x1=0.5 x2=0.25


    x1=32.0 x2=16.0


    Программа работает верно?


    ?


      x1 = (-b+sqrt(D))/2*a
      x2 = (-b-sqrt(D))/2*a


    (2*a)


    (2*a)


    Что неверно?


    ?

    Задачи





        «A»: Загрузите программу, которая должна вычислять сумму цифр трёхзначного числа:
        N = input(int("N = "))
        d0 = N % 10
        d1 = N % 100
        d2 = N // 100
        d0 + d2 = s
        print(s)

      Выполните отладку программы:
      исправьте синтаксические ошибки определите ситуации, когда она работает неверно исправьте логические ошибки.

    Задачи





        «B»: Доработайте программу из п. А так, чтобы она правильно работала с отрицательными трёхзначными числами: при вводе числа «–123» программа должна выдавать ответ 6.

    Задачи





        «С»: Загрузите программу, которая должна вычислять наибольшее из трёх чисел:
        a = input("a = ")
        b = int("b = ")
        c = input("c = ")
        if a > b: M = a
        else M = b
        if c > b M = b
        else: M = c
        input(M)

      Выполните отладку программы:
      исправьте синтаксические ошибки определите ситуации, когда она работает неверно исправьте логические ошибки.

    § 20. Программирование циклических алгоритмов




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





    Задача. Вывести 5 раз «Привет!».


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


    А если 5000?


    ?


    Цикл «N раз»:


    сделай 5 раз
    print("Привет")


    такого оператора нет в Python!

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





    Нужно запоминать, сколько раз цикл уже выполнен!


    !


    переменная-счётчик


    счётчик = 0
    пока счётчик < 5
    print("Привет")
    счётчик = счётчик + 1


    ещё не делали


    счётчик += 1


    c = 0
    while c < 5:
    print("Привет")
    c += 1


    сделали ещё раз

    1   ...   6   7   8   9   10   11   12   13   ...   18


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