МОУ СОШ №124 Чушкин Александр Анатольевич Программирование циклов
Программирование циклов Вопросы: Этапы решения расчетной задачи на компьютере. Программирование цикла на Паскале: Задача о перестановке букв. Отладка и тестирование программы. Конспект Домашнее задание.
Этапы решения расчетной задачи на компьютере. Постановка задачи. Математическое формализация. Построение алгоритма. Составление программы на языке программирования. Отладка и тестирование программы. Проведение расчетов и анализ полученных результатов.
Технология решения задачи на компьютере. 1 этап Что дано и что требуется найти 2 этап Математическая формализация: задача переводится на язык математических формул, уравнений, отношений 3 этап : Построение алгоритма
Программирование цикла на Паскале. Задача о перестановке букв. Постановка задачи: Дано N кубиков, На которых написаны буквы. Сколько различных N-буквенных слов можно составить из этих кубиков? Дано : N Найти : F
Программирование цикла на Паскале. 2. Математическая формализация. Получим математическую формулу: И К ИК КИ (2 слова) И К С ИКС КИС ИСК СКИ КСИ СИК (6 слов) И К С А ИКСА КИСА ИСКА СКИА КСИА СИКА… (24 слова) И К С А у ИКСАУ КИСАУ ИСКАУ СКИАУ … (120 слов)
Программирование цикла на Паскале. Подобные задачи решает раздел математики, которые называются комбинаторикой. И К ИК КИ (2 слова) И К С ИКС КИС ИСК СКИ КСИ СИК (6 слов) И К С А ИКСА КИСА ИСКА СКИА КСИА СИКА… (24 слова) И К С А у ИКСАУ КИСАУ ИСКАУ СКИАУ … (120 слов)
Комбинаторика Количество различных комбинаций из N предметов, получаемых из изменением их порядка, называется числом перестановок. Это число выражается функцией от N, которая называется факториалом и записывается так: N! (Читается N факториал)
Для любого натурального N значение N! Вычисляется как произведение последовательности натуральных чисел от 1 до N. Например: И К ИК КИ (2 слова) 2!=1*2=2 И К С ИКС КИС …. (6 слов) 3!=1*2*3=6 И К С А ИКСА СИКА… (24 слова) 4!=1*2*3*4=24 И К С А у ИКСАУ СКИАУ … (120 слов) 5!=1*2*3*4*5=120 И И (1слово) 1!= 1
Программирование цикла на Паскале. Дано N кубиков, На которых написаны буквы. Сколько различных N-буквенных слов можно составить из этих кубиков? N – количество букв F- количество слов из этих букв Расчетная формула: F= N!=1*2*3*…..*N
Программирование цикла на Паскале 3. Построение алгоритмов. Цикл- это команда исполнителю многократно повторить указанную команду. Цикл с предусловием
Блок-схема алгоритма вычисление факториала начало Ввод N F:=1 R:=1 R ≤ N F:=F*R R:=R+1 Вывод F Конец N - количество букв Условие цикла - это отношение R≤N (R меньше или равно N) R –множитель , значение которого меняется от 1 до N (счетчик) Произведение накапливается в переменной F, начальная значение равна 1 Цикл заканчивается, когда R=N+1
Для проверки правильности алгоритма построим трассировочную таблицу (для случая N = 3):
Программирование цикла на Паскале. 4. Составление программы. Цикл с предусловием (цикл-пока): While do < оператор>; Служебное слово While означает «пока», do- «делать». Оператор , стоящий после слова do, называется телом цикла (может быть простым и составным оператором).
Напишем программу: Program Words; var F, N, R: integer; begin write('Введите число букв'); readln(N); F:=1; R:=1; while R
Программирование цикла на Паскале 5. Отладка и тестирование. Проверка на компьютере правильности алгоритма производится с помощью тестов. Под отладкой программы понимаются процесс испытания работы программы и исправления обнаруженных при этом ошибок Тест- это конкретный вариант значений исходных данных, для которого известен ожидаемы результат.
Программирование цикла на Паскале 6. Проведение расчетов и анализ полученных результатов- этот этап технологической цепочки реализуется при разработки практически полезных программ. пример: Расчет погоды, анализ рынка, скорость движение ракеты….
Вопросы и задания 1. Как блок-схемой и на алгоритмическом языке представляется команда цикла с предусловием? 2. Как программируется цикл с предусловием на Паскале? 3. Почему алгоритм вычисления N1 должен быть циклическим? 4. Из каких этапов состоит работа программиста по решению задачи на компьютере? 5. Что такое математическая формализация задачи? 6. Что такое отладка программы? Что называется тестом? 7. Составьте алгоритм вычисления суммы всех натуральных чисел, не превышающих заданного натурального числа N. Проверьте алгоритм трассировкой. Напишите программу на Паскале. 8. Дано целое число X и натуральное N. Составьте алгоритм вычисления XN. Проверьте алгоритм трассировкой. Напишите программу на Паскале.