- •Содержание
- •Раздел 2.Программирование на процедурном языке turbo pascal 3
- •Раздел 2.Программирование на процедурном языке turbo pascal Лабораторная работа №1. Знакомство с интегрированной средой Turbo Pascal 7.0. Разработка первой программы.
- •Лабораторная работа № 2. Разработка программ, реализующих линейный процесс в среде Turbo Pascal 7.0.
- •Лабораторная работа № 3. Разработка программы, включающей различные форматы ввода/вывода данных средствами языка Pascal.
- •Лабораторная работа № 4. Вычисление алгебраических выражений с использованием стандартных процедур и функций языка Pascal.
- •Лабораторная работа № 5. Разработка программы для решения текстовой задачи в среде Turbo Pascal 7.0.
- •Лабораторная работа № 6. Вычисление заданного выражения при произвольных значениях переменных с использованием нескольких окон на одном экране. Работа с цветом в текстовом режиме.
- •Лабораторная работа № 7. Использование языка программирования для разработки программ вычисления математических выражений с использованием оператора if.
- •If выражение then оператор1
- •Лабораторная работа № 8. Разработка программы для решения текстовых задач, содержащих ветвление
- •Лабораторная работа № 9. Использование языка программирования для реализации разветвляющихся алгоритмов с использованием выражения – селектора в среде Turbo Pascal 7.0.
- •Лабораторная работа № 10. Разработка программ для реализации простых циклических алгоритмов средствами языка Pascal.
- •Лабораторная работа № 11. Разработка программ, включающих алгоритмы работы с числом
- •Лабораторная работа № 12. Реализация задачи табулирования функции на заданном отрезке в среде Turbo Pascal.
- •Лабораторная работа № 13. Вычисление суммы бесконечного ряда с заданной степенью точности в среде Turbo Pascal.
- •Лабораторная работа № 14. Разработка программ, включающих циклический процесс средствами языка Turbo Pascal.
- •Лабораторная работа № 15. Разработка программы реализации текстовой задачи, содержащей условия и циклы.
- •Лабораторная работа № 16. Разработка программы реализации задачи, содержащей одномерный массив данных.
- •Лабораторная работа № 17. Разработка программы реализации задачи, содержащей двумерный массив данных.
- •Лабораторная работа № 18. Методы сортировки массива в среде Turbo Pascal
- •Лабораторная работа № 19. Разработка программы работы со строками в среде Turbo Pascal
Лабораторная работа № 10. Разработка программ для реализации простых циклических алгоритмов средствами языка Pascal.
Цель работы:
создавать символьные схемы простых циклических алгоритмов
научиться разрабатывать программы, реализующие циклический процесс
получение дальнейших навыков по отладке и тестированию программ
Оборудование:
программная часть – интегрированная среда Turbo Pascal 7.0
аппаратная часть - ПЭВМ IBM PC/XT
задание на выполнение работы в электронном варианте
Теоретическая часть
Циклический алгоритм – описание действий, которые должны повторяться указанное число раз или пока не выполнено заданное условие.
Перечень повторяющихся действий называют телом цикла. В циклах со счетчиком какие-то действия выполняются определенное число раз.
Циклы со счетчиком используют, когда заранее известно какое число повторений тела цикла необходимо выполнить. Для счетчика от начального значения до конечного значения выполнить действие. Этот вид оператора цикла циклом с параметром. В нем важную роль играет переменная-параметр, которая на каждом шаге цикла автоматически изменяет свое значение ровно на единицу — поэтому ее и называют счетчиком.
Инструкцию for можно реализовать двумя способами.
Вариант 1 (с увеличением счетчика).
for Счетчик := НачальноеЗначение to КонечноеЗначение do
begin
{ Инструкции }
end;
Ключевые слова for, dо обозначают "для", "выполняй" соответственно. Строка, содержащая for ... do, называется заголовком цикла, оператор, стоящий после do образует его тело. Очень часто тело цикла — составной оператор. Если тело цикла представлено одиночным оператором, то begin и end не пишутся.
На блок-схеме алгоритма цикл с параметром удобно обозначать следующим образом :
Условное обозначение на схемах алгоритмов цикла с параметром
Инструкции между begin и end, выполняются столько раз, сколько определяет выражение [(КонечноеЗначение — НачальноеЗначение) + I].
Это соответствует всем значениям счетчика от начального до конечного включительно.
Если НачальноеЗначение больше, чем КонечноеЗначение, то инструкции между begin и end не выполняются ни разу.
Например, выполнение цикла — фрагмента программы:
For i:=10 to 14 do write (i:3);
выведет на экран последовательность цифр в виде:
10 11 12 13 14
Вариант 2 (с уменьшением счетчика).
for Счетчик := НачальноеЗначение downto КонечноеЗначение do
begin
{ Инструкции }
end;
Инструкции между begin и end, выполняются столько раз, сколько определяет выражение [(НачальноеЗначение — КонечноеЗначение) + I].
Если НачальноеЗначение меньше, чем КонечноеЗначение, то инструкции между begin и end не выполняются ни разу.
Например, выполнение цикла — фрагмента программы:
For i:=14 downto 10 do write (i:3);
выведет на экран последовательность цифр в виде:
14 13 12 11 10
Если переменная-счетчик имеет символьный char тип, то оператор:
For ch:=’a’ to ‘e’ do write (ch:2);
выведет на экран последовательность букв в виде:
а b с d е
Оператор:
For ch:=’e’ downto ‘a’ do write (ch:2);
выведет на экран последовательность букв в виде:
е d с b а
Цикл for удобно использовать для организации вывода данных программы. Вместе с оператором if и функцией readln он позволяет выполнить постраничный вывод.
Например, при выполнении следующего цикла программа будет приостанавливать вывод после заполнения экрана столбцом цифр до нажатия клавиши <Еnter>.
for i:=1 to 50 do begin
writeln (i);
if i mod 24 = 23 then readln;
end;
Ооператор (инструкция) for используется для организации циклов с фиксированным, заранее известным или определяемым во время выполнения программы числом повторений. Количество повторений цикла определяется начальным и конечным значениями переменной-счетчика. Оператор for обеспечивает выполнение тела цикла до тех пор, пока не будут перебраны все значения параметра цикла: от начального до конечного. Переменная-счетчик должна быть порядкового типа: чаще — integer, реже — char, boolean или одного из пользовательских типов. Использование вещественного типа недопустимо!
Начальное и конечное значения параметра цикла могут быть константами, переменными, выражениями и должны принадлежать к одному и тому же типу данных. Начальное и конечное значения параметра цикла нельзя изменять во время выполнения цикла.
После нормального завершения оператора for значение параметра цикла равно конечному значению. Если оператор for не выполнялся, значение параметра цикла не определено.
Параметр цикла for может изменяться (увеличиваться или уменьшаться) каждый раз при выполнении тела цикла только на единицу. Если нужен другой шаг изменения параметра, предпочтительнее циклы repeat и while.
Практическая часть
Пример:
Вычислить значение выражения, состоящее из суммы и произведения.
y=
program Ex;
uses crt;
const n = 1;
var
y, S:real;
P, I, R: integer;
Begin
Clrscr;
R:=1; S:=0;
For i:=1 to 25*n do begin
R:=i*R; {подсчет факториала}
S:=S+ 5*i/R; end;
P:=1;
For i:=1 to 25 do
P:=P*sqr(i);
y:=S+P;
Write(‘y =’,y);
Readln
End.
Задания для самостоятельного выполнения
Изучить теоретические сведения по теме «Операторы цикла».
Составить блок-схему решения задачи по своему варианту.
Разработать программу в среде Turbo Pascal 7.0.
Составить систему тестов и проверить работу программу на всех возможных значениях исходных данных.
Ответить на контрольные вопросы.
Результаты выполнения лабораторной работы оформить в виде отчета.
Индивидуальные задания:
№ варианта |
Задание |
|
|
Вычислить
сумму и произведение: z= |
|
|
Вычислить
сумму и произведение: z= |
|
|
Вычислить
сумму и произведение: z= |
|
|
Вычислить
сумму и произведение: z= |
|
|
Вычислить
сумму и произведение: z= |
|
|
Вычислить
сумму и произведение: z= |
|
|
Вычислить
сумму и произведение: z= |
|
|
Вычислить
сумму и произведение: z= |
|
|
Вычислить
сумму и произведение: z= |
|
|
Вычислить
сумму и произведение: z= |
|
|
Вычислить
сумму и произведение: z= |
|
|
Вычислить сумму и произведение: z= z1= |
|
|
Вычислить
сумму и произведение: z= |
|
|
Вычислить
сумму и произведение: z= |
|
|
Вычислить
сумму и произведение: z=
-
π z1= |
|
|
Вычислить
сумму и произведение: z= |
|
|
Вычислить сумму и произведение: z= z1= |
|
|
Вычислить
сумму и произведение: z= |
|
|
Вычислить
сумму и произведение: z= |
|
|
Вычислить сумму и произведение: z= z1= |
|
|
Вычислить
сумму и произведение: z= |
|
|
Вычислить
сумму и произведение: z= |
|
|
Вычислить
сумму и произведение: z= |
|
|
Вычислить
сумму и произведение: z= |
|
|
Вычислить
сумму и произведение: z= |
|
|
Вычислить
сумму и произведение: z= |
Контрольные вопросы
В каких случаях используется цикл с параметром?
Почему параметр цикла еще называют «управляющая переменная цикла»?
Какой тип НЕ может быть задан для параметра цикла For?
Какие допустимые значения может принимать параметр цикла в For?
Каково значение параметра цикла после его завершения?
Почему параметр цикла For называют «счетчиком»?
Объясните механизм формирования суммы и произведения в цикле For.
