Цель работы Овладеть техникой составления программ с повторяющимися фрагментами.
Задачи работыНаучиться использовать оператор цикла FORв программах циклического типа.
Задание Составить программы для предложенных заданий, используя оператор цикла FOR, отладить их и сохранить.
Требования к отчету. Итоги практической работы представить в виде отчета, содержащего:
— Новый теоретический материал;
— Решенные задачи 2 уровня (все) и 3 уровня (одну задачу на выбор преподавателя) в следующем виде: входные и выходные данные, блок-схема алгоритма, текст программы (с комментариями), таблица с тестовыми данными и классами входных/выходных данных.
Технология работы
1. Ознакомьтесь с теоретическим материалом, необходимым для выполнения работы:
Оператор цикла с параметром
Оператор цикла с параметром используют, когда количество повторений цикла известно заранее или необходимо изменять какую-либо величину на одно и то же значение в определенном диапазоне. Форма записи оператора:
УРОК 19. Оператор цикла (8 класс)
Служебное слово To указывает направление изменения параметра – увеличение на 1 (начальное значение меньше конечного значения; если это условие не выполнится, то оператор не выполнится ни разу). Если необходимо, чтобы параметр уменьшался на 1, то используется слово DownTo (начальное значение больше конечного значения). В качестве оператора можно использовать любой простой или составной оператор.
Цикл For удобно использовать для организации вывода данных программы. Вместе с оператором ifи функцией readln он позволяет выполнить постраничный вывод. Например, при выполнении следующего цикла программа будет приостанавливать вывод после заполнения экрана столбцом цифр до нажатия клавиши :
for i:=1 to 50 do
Begin
ifi mod 24=23 then readln;
Генератор случайных чисел
В работе используется генератор случайных чисел. В языке программирования Паскаль для генерации псевдослучайных чисел в заданных диапазонах используется функция random. Перед ее использованием обычно выполняется процедура инициализации датчика случайных чисел randomize; иначе программа всегда будет выдавать один и тот же результат. Randomize задает начальное значение последовательности, от которого вычисляются все последующие. При каждом запуске программы это значение будет разным, а значит и результат работы функции random будет различным.
Функция random генерирует случайное число в диапазоне от 0 (включительно) до единицы. Если в скобках указан аргумент, то от 0 до значения указанного в скобках (не включая само значение). Так выражение random(10), говорит о том, что будет получено любое число в диапазоне [0, 10). Если требуется получать значения в каком-либо другом диапазоне (не от нуля), то прибегают к математической хитрости.
формуладиапазона [a,b]x:=random(b-a+1)+a;
2. Выполните следующие упражнения:
Задания уровня 1
Упражнение 1. Программа выводит на экран целые числа от 1 до 10, целые числа от 10 до -10 и латинские символы от a до r в алфавитном порядке.
Информатика. Язык Pascal: Оператор цикла for в Pascal. Центр онлайн-обучения «Фоксфорд»
1. Наберите текст программы:
2. Запустите программу на выполнение и проверьте её работу.
3. Измените программу так, чтобы она выводила на экран числа от 20 до 30 и буквы от ‘r’ до ‘a’ в обратном порядке.
4. Сохраните программу.
Упражнение 2.Тест по таблице умножения: ученику задается ровно пять вопросов и в конце тестирования выставляется оценка по пятибалльной системе.
1. Наберите текст программы:
2. Запустите программу на выполнение и проверьте её работу.
3. Измените программу так, чтобы она содержала тест на 10 вопросов. Подсчет оценки производится по следующим критериям: «5» ставится, если правильно выполнены все задания, «4» ставится, если правильно выполнены 8 или 9 заданий, «3» ставится, если правильно выполнены 6 или 7 заданий, в остальных случаях ставится оценка «2».
4. Сохраните программу.
Упражнение 3.Дано натуральное число N. Определить, является ли оно простым.
Натуральное число N называется простым, если оно делится нацело без остатка только на единицу и N. Число 13 – простое, т.к. делится только на 1 и 13, N=12 не является простым, т.к. делится на 1, 2, 3, 4, 6, 12. Алгоритм решения этой задачи заключается в том, что число N делится на параметр цикла i, изменяющийся в диапазоне от 2 до N/2. Если среди значений параметра не найдется ни одного числа, делящего заданное число нацело, то N – простое число, иначе оно таковым не является.
2. Запустите программу на выполнение и проверьте её работу.
3. Сохраните программу.
3. Выполнить самостоятельно:
Задания уровня 2
1. Составить программу вычисления факториала.Факториал числа — это произведение последовательности чисел от 1 до этого числа. N! = 1*2*. *N.
2. Вычислить сумму натуральных нечетных чисел, не превышающих n.
3. Вычислить произведение натуральных чисел, кратных трем и не превышающих n.
Задания уровня 3
1. Вычислить a n (n>0), где a — вещественное число, которое необходимо возвести в целую положительную степень n.
2. Выведите на экран в три столбца список чисел от 1 до N, их квадратов и кубов. Число N вводите с клавиатуры.
3. Вычислите сумму S и произведение P всех целых чисел от N1 до N2. Пример: для N1=3, N2=7 получимS=25, P=2520.
4. Напишите программу вычисления выражения (3-x)(6-x)(9-x)∙ … ∙(21-x), где x – действительное число ().
5. Последовательно вводится Nцелых чисел. Найдите минимальное и максимальное число из введенных чисел.
6. Вводится последовательность из M элементов. Каждый элемент последовательности – цифра (то есть находится в диапазоне от 0 до 9). Сформироватьчисло N, считая первый элемент последовательности младшим разрядом. Например, дана последовательность 5, 4, 3, 2, 1, тогда десятичное число формируется следующим образом: 5+4*10+3*100+2*1000+1*10000=12345.
7. Проверить, является ли введенное целое число простым.
8. На промежутке от 1 до M найти все числа Армстронга. Натуральное число из n цифр называется числом Армстронга, если сумма его цифр, возведенных в степень n, равна самому числу. Например, число 153 (153=1 3 +5 3 +3 3 ).
9. Проверить, является ли целое число, введенное пользователем, палиндромом. (палиндромом называют любой симметричный относительно своей середины набор символов).
10. Дана строка, содержащая 20 символов. Подсчитать сколько раз буквы f и a встречаются в данной строке.
11. Дана строка, содержащая 20 символов. Подсчитать количество цифр, входящих в данную строку.
Окончание работы:
1. Сохранить созданные программы.
2. Подготовить ответы на контрольные вопросы.
3. Показать работу преподавателю.
Контрольные вопросы:
1. Что называют циклом?
2. Какова функция оператора цикла с параметром?
3. В программах какого типа используется счетный оператор цикла?
4. Каким образом изменить наращивание переменной цикла в отрицательную сторону?
5. Перечислите правила использования оператора цикла с параметром.
ПРАКТИЧЕСКАЯ РАБОТА №5
ПРИМЕНЕНИЕ ЦИКЛОВ С ПРЕДУСЛОВИЕМ И С ПОСТУСЛОВИЕМ
Цель работы Овладеть техникой составления программ с повторяющимися фрагментами.
Задачи работыНаучиться использовать операторы цикла WHILEи REPEATв программах циклического типа.
Задание Составить программы для предложенных заданий, используя операторы цикла WHILEи REPEAT, отладить их и сохранить.
Требования к отчету. Итоги практической работы представить в виде отчета, содержащего:
— Новый теоретический материал;
— Решенные задачи 2 уровня (все) и 3 уровня (одну задачу на выбор преподавателя) в следующем виде: входные и выходные данные, блок-схема алгоритма, текст программы (с комментариями), таблица с тестовыми данными и классами входных/выходных данных.
Технология работы
1. Ознакомьтесь с теоретическим материалом, необходимым для выполнения работы:
1.1 Оператор while…do предназначен для реализации циклов с предусловием. Форма записи:
В качестве оператора может быть любой простой или составной оператор.
В цикле с предусловием предварительной проверкой определяется, выполнять тело цикла или нет, до первой итерации. Если это не соответствует логике алгоритма, то можно использовать цикл с постусловием, т.е. цикл, в котором проверяется, делать или нет очередную итерацию, лишь после завершения предыдущей. Это имеет принципиальное значение только на первом шаге, а далее циклы ведут себя идентично.
1.2 Оператор repeat…until реализует цикл с постусловием. Данный цикл всегда будет выполнен хотя бы один раз. Форма записи:
Repeat
Последовательность операторов может состоять из одного или нескольких любых операторов.
В цикле while подразумевается такой алгоритм: пока условие истинно, выполнять операторы тела цикла. В цикле repeat действует другой алгоритм: выполнять тело цикла, пока не станет истинным условие, т.е. пока условие ложно, выполняется цикл.
2. Выполните следующие упражнения:
Задания уровня 1
Упражнение 1. Подсчет суммы цифр натурального числа (цикл с предусловием).
1. Наберите текст программы:
2. Запустите программу на выполнение и проверьте её работу.
3. Сохраните программу.
4. Составьте алгоритм и трассировочную таблицу для примера четырехзначного числа.
Упражнение 2.Подсчёт суммы положительных элементов последовательности до первого нулевого элемента. Последовательность чисел вводится поэлементно с клавиатуры (цикл с постусловием).
1. Наберите текст программы:
2. Запустите программу на выполнение и проверьте её работу.
3. Сохраните программу.
4. Составьте алгоритм и трассировочную таблицу для примера последовательности из 5-ти чисел.
Упражнение 3.Изменить программу для первого упражнения так, чтобы использовался цикл с постусловием.
Упражнение 4.Изменить программу для второго упражнения так, чтобы использовался цикл с предусловием.
3. Выполнить самостоятельно:
Задания уровня 2
1.Вывести значение функции на отрезке от a до b с шагом d. Числа a, b, d вводятся с клавиатуры. Программу составьте, используя цикл с предусловием.
2.Население города ежегодно увеличивается на состава жителей. Через сколько лет население города утроится? Программу составьте, используя цикл с постусловием.
3.Вычислить сумму натуральных четных чисел, не превышающих N. N вводится с клавиатуры. Программу составьте двумя способами: используя цикл с предусловием и цикл с постусловием.
Задания уровня 3
1.Дано действительное число A. Требуется найти первое значение числа N, при котором сумма S=1+1/2+1/3+…+1/Nпревышает A. Программу составьте двумя способами: используя цикл с предусловием и цикл с постусловием.
2.Мяч упал с высоты 243 сантиметра, ударяется о землю и отскакивает, поднимаясь над землей каждый раз на 2/3 высоты, с которой он падал. Определите через сколько ударов мяч поднимется на высоту меньшую 32 сантиметров.
3.Дано натуральное число N. Вычислить: S=l! + 2! + 3. + N!
4.Напишите программу вычисления выражения (3-x)(6-x)(9-x)∙ … ∙(21-x), где x – действительное число.
5.Последовательно вводится N целых чисел. Найдите минимальное и максимальное число из введенных чисел.
6.Вводится последовательность из M элементов. Каждый элемент последовательности – цифра (то есть находится в диапазоне от 0 до 9). Сформировать число N, считая первый элемент последовательности младшим разрядом. Например, дана последовательность 5, 4, 3, 2, 1, тогда десятичное число формируется следующим образом: 5+4*10+3*100+2*1000+1*10000=12345. Сохранить программу под именем P4PR10
7.Начальный вклад в банк составляета рублей. Через сколько лет он станет больше b рублей? Каждый год вклад увеличивается на 3%.
8.Ежегодный прирост рыбы в пруду составляет 15%. Запасы рыбы оценены в А тонн. Ежегодный план отлова Втонн. Подсчитать, сколько лет можно выдерживать заданный план?
9.Каждая бактерия делится на две в течение одной минуты. В начальный момент имеется A бактерий. Сколько времени потребуется, чтобы количество бактерий превзошлоX?
10.Определить количество посетителей салона, которых успеет обслужить мастер-стилист, если его рабочий день составляет t часов и известна продолжительность (в минутах) обслуживания каждого посетителя очереди (вводится пользователем).
4. Окончание работы:
1. Сохранить созданные программы.
2. Подготовить ответы на контрольные вопросы.
3. Написать отчет.
4. Показать работу преподавателю.
Контрольные вопросы:
1. Что называют циклом?
2. Какова функция предусловного оператора цикла?
3. В программах какого типа используется предусловный оператор цикла?
4. Каким образом можно создать бесконечную программу?
5. Как прервать выполнение бесконечного цикла?
6. Какова функция оператора цикла с постусловием?
7. В программах какого типа используется оператор цикла с постусловием?
8. Почему перед словом UNTILвставка точки с запятой не обязательна?
Дата добавления: 2018-04-04 ; просмотров: 1448 ; Мы поможем в написании вашей работы!
Поделиться с друзьями:
Источник: studopedia.net
38. Счетный оператор цикла или оператор цикла с параметром
Оператор цикла с параметром используется в программе в случае, когда заранее известно количество повторений в цикле.
Этот оператор имеет следующую структуру:
For : = to do ;
Здесь: For, to, do — зарезервированные слова;
— параметр цикла — переменная типа Integer (точнее любого порядкового типа);
— начальное значение — выражение того же типа;
— конечное значение — выражение того же типа;
— произвольный оператор Turbo Pascal.
При выполнении оператора For вначале вычисляется начальное значение и осуществляется его присваивание параметру цикла. Затем производится проверка условия , если условие имеет значение ИСТИНА, то выполняется оператор следующий за словом do, в противном случае оператор For прекращает свою работу.
Отметим два обстоятельства. Во-первых, условие, управляющее работой оператора For, проверяется перед выполнением оператора : если условие не выполняется в самом начале работы циклического оператора, исполняемый оператор не будет выполнен ни разу. Другое обстоятельство — шаг наращивания параметр строго постоянен и равен +1. Существует другая форма оператора:
For : = downto do ;
Замена зарезервированного слова to на downto означает, что шаг наращивания параметра цикла равен -1.
В случае использования в цикле не одного, а нескольких операторов, то принято заключать эти группы операторов в логические скобки begin и end.
Дана последовательность целых чисел, состоящая из 25 элементов. Вычислить сумму элементов последовательности.
. .
Program primer1;
Var i, a, s : integer;
For i := 1 to 25 do
Write (‘Сумма элементов равна ‘, x);
Решим задание из примера 1 используя конструкцию оператора For, в которой шаг наращивания будет равен -1.
. .
Program primer2;
Var i, a, s : integer;
For i := 25 downto 1 do
Write (‘Сумма элементов равна ‘, x);
39. Цикл с предпроверкой условия
Оператор цикла с предпроверкой условия While. Do схематично представлен в виде блок-схемы на рис.2 и имеет следующий формат:
Здесь While, Do — зарезервированные слова («Пока [выполняется условие]», «делать»);
— выражение логического типа;
оператор> — произвольный оператор, составляющий тело цикла (включая случай расширенного оператора).
Если условие имеет значение «Истинно» (True), то выполняетсяоператор>, после чего проверка условия повторяется. Если условие имеет значение «Ложь» (False), то оператор While прекращает свою работу.
Рис.5.2 Блок-схема цикла с предпроверкой условия
Лабораторная работа №4. “Программирование циклических вычислительных процессов”
Цель работы: освоение методов составления алгоритмов циклических вычислительных процессов и организации циклических программ сложной структуры.
Теоретическая часть
4.1.1. Циклические алгоритмы.
Цикл – это последовательность действий, которая может выполняться более одного раза.
Циклический алгоритм – это алгоритм, содержащий один или несколько циклов.
Имеется 3 вида циклов:
— цикл с предусловием;
— цикл с постусловием;
— цикл со счетчиком (счетный цикл).
Если выполнение цикла связано с каким-либо логическим условием, то используются циклы с предусловием или с постусловием.
Циклы со счетчиком представляют такой класс, в котором выполнение тела цикла должно повторяться заранее определенное число раз.
Блок-схемы циклических алгоритмов выглядят следующим образом:
1. Цикл со счетчиком.
2. Цикл с предусловием. 3. Цикл с постусловием.
4.1.2 Операторы цикла в языке программирования C++.
В C++ для каждого вида цикла имеется соответствующий оператор:
— цикл типа while (с предусловием);
— цикл типа do…while (с постусловием);
— цикл типа for (счетный).
1.Оператор цикла типа while
while (условие) оператор;
где: (условие) – логическое выражение;
оператор – выполняемый в цикле оператор или тело цикла.
Если тело цикла представляет собой составной оператор, то его нужно заключить в операторные скобки<. >:
Схема работы такого цикла: пока условие является истинным (true), выполняется тело цикла и снова проверяется условие и т.д. Когда условие станет ложным (false) цикл завершает работу.
2. Оператор цикла типа do…while
Схема работы такого цикла: сначала выполняется оператор, потом проверяется условие, если условие является истинным, выполняется оператор и снова проверяется условие и т.д. Когда условие станет ложным, цикл завершает работу.
Если тело цикла представляет собой составной оператор, то, как и для цикла с предусловием, его нужно заключить в операторные скобки<. >:
3. Оператор цикла типа for
A – начальное выражение, которое задает начальные значения параметру цикла и при необходимости начальные значения другим параметрам. Например:
i=0, x=0.5, p=1, s=0
B – условное выражение, которое проверяет условие продолжения работы цикла. Например:
C – выражение приращения, которое задает приращение параметру цикла и при необходимости другим параметров, тогда они записываются списком. Например: x+=0.1, i++
4.1.3 Пример составления алгоритма и программы на языке C++ для циклического вычислительного процесса.
Вычислить значение выражения:
b – исходная величина, ее значение вводятся с клавиатуры и не изменяется;
a – изменяется в диапазоне [0;10] с шагом 1;
y – результат, его значения выводятся на экран.
Исходя из условия задания переменная a является целочисленной, поэтому может быть использована в качестве счетчика в счетном цикле.
Блок-схема алгоритма решения данной задачи с использованием счетного цикла выглядит следующим образом:
Текст программы на языке C++, соответствующей данному алгоритму, выглядит следующим образом:
else printf(“ y не существуетn”);
Блок-схема алгоритма решения данной задачи с использованием цикла с предусловием выглядит следующим образом:
Текст программы на языке C++, соответствующей данному алгоритму, выглядит следующим образом:
else printf(“ y не существуетn”);
Блок-схема алгоритма решения данной задачи с использованием цикла с постусловием выглядит следующим образом:
Текст программы на языке C++, соответствующей данному алгоритму, выглядит следующим образом:
else printf(“ y не существуетn”);
Практическая часть
4.2.1 Требования к выполнению работы:
Выполнить задание из лабораторной работы № 3 для диапазона значений одной из переменных. Изменяемая переменная, диапазон ее изменения и шаг указаны в таблице 4. Составить блок-схемы алгоритмов и программы для двух типов циклов, указанных в индивидуальном задании (таблица 4).
Оформить вывод результатов таким образом, чтобы четко выделялись значения изменяемого параметра и при каждом его конкретном значении выводились значения результата (трех переменных из столбца 2 таблицы 3) в виде таблицы.
Порядок выполнения работы.
1. Выполнить анализ задания, сформулировать постановку задачи.
2. Составить блок-схемы алгоритмов.
3. Составить программу на языке C++. Предусмотреть ввод исходных данных с клавиатуры и вывод результатов на экран.
4. Выполнить проверку работоспособности программы на различных исходных данных.
5. Выполнить анализ полученных результатов.
Варианты индивидуальных заданий.
Варианты индивидуальных заданий выбираются из таблицы 4 в соответствии с номером студента в списке группы в журнале преподавателя.
Таблица 4. Варианты индивидуальных заданий
№ п/п | Изменяемая переменная | Типы циклов |
10 ≤ a ≤ 10, Δ a=1 | 1. С предусловием, 2. Счетный | |
-4 ≤ d ≤ 4, Δ d = 0.5 | 1. С предусловием, 2. С постусловием | |
-6 ≤ x ≤ 3, Δ x = 0.5 | 1. Счетный, 2. С постусловием | |
0 ≤ b ≤ 30, Δ b = 1.5 | 1. С предусловием, 2. Счетный | |
-15 ≤ j ≤ 10, Δ j = 0.5 | 1. С предусловием, 2. С постусловием | |
5 ≤ e ≤ 35, Δ e = 2 | 1. Счетный, 2. С постусловием | |
-5 ≤ m ≤ 15, Δ m = 1 | 1. С предусловием, 2. Счетный | |
1 ≤ c ≤ 70, Δ c = 3 | 1. С предусловием, 2. С постусловием | |
1.5 ≤ c ≤ 15, Δ c = 0.5 | 1. Счетный, 2. С постусловием | |
-8 ≤ b ≤ 28, Δ b = 2 | 1. С предусловием, 2. Счетный | |
-4.5 ≤ x ≤ 11.5, Δ x = 0.5 | 1. С предусловием, 2. С постусловием | |
-7 ≤ k ≤ 2, Δ k = 0.3 | 1. Счетный, 2. С постусловием | |
-1 ≤ m ≤ 21, Δ m = 1 | 1. С предусловием, 2. Счетный | |
-2 ≤ e ≤ 34, Δ e = 2 | 1. С предусловием, 2. С постусловием | |
-11 ≤ c ≤ 23, Δ c = 2 | 1. Счетный, 2. С постусловием | |
-13 ≤ p ≤ 50, Δ p = 3 | 1. С предусловием, 2. Счетный | |
3.3 ≤ b ≤ 9.3, Δ b = 0.3 | 1. С предусловием, 2. С постусловием | |
3.5 ≤ y ≤ 12.3, Δ y = 0.4 | 1. Счетный, 2. С постусловием | |
-7.5 ≤ a ≤ 5.7, Δ a = 0.6 | 1. С предусловием, 2. Счетный | |
-1.5 ≤ h ≤ 1.2, Δ h = 0.1 | 1. С предусловием, 2. С постусловием | |
0 ≤ h ≤ 10, Δ h=0.5 | 1. Счетный, 2. С постусловием | |
-15 ≤ b ≤ 15, Δ b =2 | 1. С предусловием, 2. Счетный | |
-7 ≤ l ≤ 3, Δ l = 0.5 | 1. С предусловием, 2. С постусловием | |
-5.5 ≤ b ≤ 6.5, Δ b = 0.5 | 1. Счетный, 2. С постусловием | |
1 ≤ k ≤ 9, Δ k = 0.4 | 1. С предусловием, 2. Счетный | |
0 ≤ b ≤ 6.9, Δ b = 0.3 | 1. С предусловием, 2. С постусловием | |
-3 ≤ v ≤ 9, Δ v = 0.6 | 1. Счетный, 2. С постусловием | |
-2 ≤ p ≤ 2.6, Δ p = 0.2 | 1. С предусловием, 2. Счетный |
4.3 Контрольные вопросы и практические задания:
1. Как работает оператор while?
2. Как работает оператор do . while?
3. Как работает оператор for?
4. Подчеркнуть в программе операторы, образующие цикл.
5. В чем заключается отличие операторов while и do . while?
6. Заменить в программе один оператор цикла другим.
Источник: megaobuchalka.ru