- •Введение
- •Лабораторная работа № 1 Знакомство с системой программирования Turbo Pascal
- •Лабораторная работа № 2 Программирование алгоритмов условных (разветвляющихся) процессов в Turbo Pascal
- •Лабораторная работа № 3 Программирование алгоритмов циклических процессов в Turbo Pascal
- •Лабораторная работа № 4 Обработка структурированных типов данных в Turbo Pascal
- •Лабораторная работа № 5 Обработка массивов как фундаментальных структур данных в Turbo Pascal
- •Лабораторная работа № 6 Обработка символьных данных в Turbo Pascal
- •Лабораторная работа № 7 Программирование с использованием процедур и функций с элементами структуризации программ в Turbo Pascal
- •Лабораторная работа № 8 Обработка файловых структур данных в Turbo Pascal
- •Лабораторная работа № 9 Разработка диалоговых программ в Turbo Pascal
- •Лабораторная работа № 10 Программирование кнопок в Borland Delphi
- •Лабораторная работа № 11 Программирование ветвлений в Borland Delphi
- •Лабораторная работа № 12 Табулирование функций в Borland Delphi.
- •Лабораторная работа № 13 Представление данных в табличном и графическом виде средствами Borland Delphi
- •Лабораторная работа № 14 Основы профессиональных информационных технологий
- •Часть 2. На первом листе рабочей книги табличного процессора Microsoft Excel составить список из 10 наименований, содержащий сведения о…
- •Лабораторная работа № 15 Основы функционирования информационной системы Microsoft Access.
- •Литература
- •4.1. Основная литература
- •4.2. Дополнительная литература
Лабораторная работа № 3 Программирование алгоритмов циклических процессов в Turbo Pascal
Цель: Изучить возможности языка программирования Turbo Pascal для реализации вычислительных процессов циклической структуры с известным и неизвестным количеством повторений.
Задачи:
Разработать алгоритм решения в соответствии с заданием.
Составить блок-схему и программу решения.
Организовать вывод значений аргумента и функции в два столбца.
Перечень оборудования и программного обеспечения: ПК, находящийся в локальной сети, оболочка операционной системы FAR Manager, системе программирования Turbo Pascal 7.0.
Литература: 1, 2, 13, 23, 25, 26, 28, 33, 34, 35.
Краткое изложение основных теоретических и методических аспектов:
1. Операторы циклов.
Для всех операторов цикла характерно:
Повторяющиеся вычисления записываются один раз.
Вход в цикл возможен только через его начало.
Переменные цикла должны быть определены до входа в цикл.
Необходимо предусмотреть выход из цикла.
Оператор цикла со счетчиком служит для организации цикла с известным числом повторений и имеет вид:
FOR I : = N ТО К DO оператор ;
где FOR - для, TO - до, DO – выполнить, I - параметр цикла, N – его начальное значение и К – конечное значение, оператор, выполняющийся в цикле.
Оператором цикла может быть составной оператор. После DO нельзя ставить точку с запятой, т. к. в цикле будет выполняться пустой оператор. I, N, К - целого типа. Начальным и конечным значением могут быть константы или выражения. N<К и шаг изменения параметра 1. Вычисляются выражения N и К или берутся введенные значения. Параметр цикла I принимает начальное значение N и сравнивается с конечным значением К. Если параметр цикла не превышает К, управление передается в тело цикла и выполняются операторы. Затем параметр цикла увеличивается на 1 и работа повторяется, выход из цикла происходит когда параметр цикла превысит К.
Если N>К, шаг изменения параметра равен -1, тогда оператор имеет вид:
FOR I : = N DOWNТО К DO оператор;
В цикле FOR …DOWNTO если параметр цикла не меньше К, управление передается в тело цикла и выполняются операторы. Затем параметр цикла уменьшается на 1 и работа повторяется, выход из цикла происходит когда параметр цикла станет меньше К. После завершения цикла значение параметра не определено.
Если в цикле FOR ТО начальное значение больше конечного, а в цикле FOR … DOWNTO - меньше, то цикл не выполняется ни разу.
1.2. Оператор цикла с предусловием используется, когда неизвестно количество повторений. Общий вид записи оператора цикла с предусловием:
W HILE условие DO оператор ;
где WHILE - пока, DO - выполнить, условие - условие работы цикла.
В качестве оператора может применяться составной оператор.
При выполнении условия управление переходит в тело цикла и работают операторы, после чего проверяется условие и все повторяется. Как только условие не выполняется, происходит выход из цикла. Оператор тела цикла может ни разу не обрабатываться, если условие сразу не выполнимо. Значение переменных в условии должны изменяться в теле цикла, иначе цикл будет бесконечным.
1.3. Оператор цикла с постусловием.
О бщий вид записи оператора цикла с постусловием:
RЕРЕAТ оператор UNTIL условие ;
где RЕРЕAТ - повторить, UNTIL - до тех пор, условие - условие прекращения работы цикла.
Сначала выполняются операторы цикла, затем проверяется условие выхода. Если оно не выполняется, то управление передается в цикл. Если условие истинно, происходит выход из цикла. Особенность цикла - операторы тела цикла выполняются хотя бы раз. Значения переменных, входящих в условие, должны изменяться внутри цикла, иначе цикл никогда не завершится. Если в цикле необходимо выполнить несколько операторов, то служебные слова цикла сами являются как бы операторными скобками и применение BEGIN и END не обязательно.
Одну и ту же задачу можно решить при помощи любого из циклов WHILE или REPEAT. При этом условия должны быть прямо противоположными.
Самостоятельно изучить вопросы:
1. Являются итерационные циклы и циклы с параметрами взаимозаменяемыми?
2. Рекурсивный алгоритм. Применение рекурсии.
3. Назовите три основных типа структур данных.
Контрольные вопросы:
1. Привести реальные ситуации, решение которых можно реализовать при помощи алгоритмов циклических процессов.
2. Какие существуют и для чего применяются операторы циклов?
3. Почему будет ошибкой ставить ; в середине операторов?
4. Привести примеры задач или реальные ситуации, для которых можно использовать цикл со счетчиком, шаг изменения параметра которого равен -1.
5. Какой цикл может не обрабатываться ни разу, если условие сразу не выполнимо, а какой выполнится хотя бы один раз?
Задания:
Вариант |
Функция |
Условия |
Данные |
Изменения аргумента |
|
|
x < 1,3 х = 1,3 x > 1,3 |
a = 1,5 |
x[0,8;2] x=0,1 |
|
|
x < 1,2 x = 1,2 x > 1,2 |
a = 2,8 b =-0,3 c = 4 |
x[1;2] x=0,1 |
|
|
x < 1,4 x = 1,4 x > 1,4 |
a=1,65 |
x[0,7;2] x=0,1 |
|
|
x < 0,5 x = 0,5 x > 0,5 |
t = 2,2 |
x[0,2;2] x=0,2 |
|
|
t < 0,1 t = 0,1 t > 0,1 |
a = 2,5 b = 0,4 |
t[-5;5] ∆t=0,5 |
|
|
x > 1,2 x = 1,2 x < 1,2 |
z = 1,7 a = 4,3 |
x[0;1.6] ∆x=0,3 |
|
|
z < 1,5 z = 1,5 z > 1,5 |
x = /3 |
z[1;10] ∆z=1 |
|
|
b > 3,7 b = 3,7 b < 3,7 |
x = 0,5 |
b[1;5] ∆b=0,7
|
|
|
z > 1 z = 1 z < 1 |
x = 0,1 |
z[1,7;3,1] ∆z=0,6 |
|
|
x>/7 x=/7 x</7 |
Z = |
x[4,5;5] ∆x=0,2 |
Порядок выполнения:
Открыть Turbo Pascal.
Составить алгоритм и блок-схему цикла со счетчиком, в котором запрос диапазона и шага изменения аргумента предусмотреть с клавиатуры.
Набрать программу, ввести данные и зафиксировать результат.
Составить алгоритм и блок-схему реализации цикла с предусловием.
Набрать программу, ввести данные и зафиксировать результат.
Составить алгоритм и блок-схему реализации цикла с постусловием.
Набрать программу, ввести данные и зафиксировать результат.
По полученным результатам работы трех программ сделать вывод.