Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Учебное пособие 702

.pdf
Скачиваний:
3
Добавлен:
30.04.2022
Размер:
537.71 Кб
Скачать

ЛАБОРАТОРНАЯ РАБОТА № 2

ОРГАНИЗАЦИЯ ЦИКЛОВ В ПРОГРАММЕ. ИСПОЛЬЗОВАНИЕ ПРОЦЕДУР И ФУНКЦИЙ. СТАНДАРТНЫЕ МОДУЛИ TURBO PASCAL 7.0

1. ЦЕЛЬ РАБОТЫ

Изучение и приобретение навыков использования в программе операторов цикла языка программирования Turbo Pascal 7.0. Изучение и приобретение навыков использования в программе процедур и функций, а также средств стандартных модулей Turbo Pascal 7.0.

2.ЗАДАЧИ РАБОТЫ

1.Изучение структуры и получение навыков использования операторов цикла: со счетчиком (с параметром), с предусловием, с постусловием.

2.Изучение особенностей использования подпрограмм Turbo Pascal 7.0.

3.Получение практических навыков в написании программ с использованием процедур и функций.

4.Изучение стандартных модулей Turbo Pascal 7.0.

5.Получение практических навыков использования стандартных модулей для управления режимом отображения текста программы при ее выполнении.

3.СОСТАВ ИСПОЛЬЗУЕМЫХ АППАРАТНО-ТЕХНИЧЕСКИХ

СРЕДСТВ

Персональная ЭВМ класса IBM PC стандартной конфигурации, интегрированная инструментальная оболочка Turbo Pascal 7.0.

4. УКАЗАНИЯ ПО ТЕХНИКЕ БЕЗОПАСНОСТИ

Перед выполнением лабораторной работы каждый студент должен изучить правила техники безопасности при работе с ПЭВМ в лаборатории. К работе допускаются студенты, прошедшие инструктаж по технике безопасности и расписавшиеся в регистрационном журнале.

10

5.ПОДГОТОВИТЕЛЬНОЕ ЗАДАНИЕ

1.Заготовить установленную форму отчета по лабораторной работе. На титульном листе указать номер и название работы, в отчет записать цель и задачи работы.

2.Ознакомиться и занести в отчет краткие теоретические сведения об операторах цикла языка программирования высокого уровня

Turbo Pascal 7.0 [1, разделы 4.7–4.10].

В частности, изучить и занести в отчет следующие сведения:

1)определение цикла;

2)схему циклического участка программы;

3)классификацию операторов цикла, используемых в Turbo Pascal 7.0;

4) характеристику

оператора

цикла

со

счетчиком

(с параметром) For;

 

 

 

 

5)характеристику оператора цикла с предусловием While;

6)характеристику оператора цикла с постусловием Repeat ..

Until;

7)понятие подпрограмм, их описание;

8)формальные, фактические параметры процедур и функций;

9)правила вызова процедур и функций;

10)формат описания и вызова процедуры;

11)формат описания и вызова функции;

12)характеристику модулей Turbo Pascal 7.0;

13)основные процедуры и функции модуля Crt.

3. Изучить содержание работы, быть готовым к ответу на контрольные вопросы.

4. Ознакомиться с лабораторными заданиями и методическими указаниями по их выполнению, изложенными в методических указаниях примерами.

6. ЛАБОРАТОРНЫЕ ЗАДАНИЯ И МЕТОДИЧЕСКИЕ УКАЗАНИЯ ПО ИХ ВЫПОЛНЕНИЮ

6.1. Постановка задачи по организации циклов в программе

Написать три программы вычисления суммы ряда согласно варианту задания (табл. 3).

11

1.В программе использовать оператор цикла со счетчиком (For).

2.В программе использовать оператор цикла с предусловием

(While).

3.В программе использовать оператор цикла с постусловием

(Repeat .. Until).

Результаты вычислений должны совпадать для одного и того же варианта.

6.2.Лабораторные задания № 1

1.Варианты заданий приведены в табл. 3.

Запись выражений выполнять в соответствии с правилами языка Turbo Pascal 7.0 с использованием стандартных операций и функций.

Таблица 3

Варианты заданий

Задание

 

 

Задание

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n

 

 

i

2

4

 

 

 

 

n

 

1)

2

 

 

 

 

 

1

 

 

 

 

 

 

 

6

 

 

(i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

3

 

 

 

 

 

 

 

 

 

 

 

i 1

 

 

 

 

 

 

 

 

 

 

i 1

 

 

 

 

 

 

 

 

n

 

 

 

1

 

 

 

 

 

 

 

 

 

 

n

 

 

5i

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

7

 

 

 

 

 

 

 

 

 

 

(3i 1)2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i 1

 

 

 

 

 

i 1

2

 

 

 

 

 

 

 

3

 

 

1

 

 

8

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i 1

 

 

 

 

 

 

 

 

n

 

 

 

 

 

 

 

 

 

 

n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i 1 2i

 

 

 

i 1

 

 

 

i

 

 

 

 

 

 

4

 

 

 

 

 

 

 

 

 

 

 

 

9

 

 

1

 

 

 

 

 

 

 

 

3i 2

 

 

 

 

 

 

 

 

 

 

 

 

n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i 1

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

 

i 1 i

 

 

 

 

 

 

 

 

 

n

 

2i

 

 

 

 

 

 

n

 

 

 

 

1

 

 

 

 

 

 

 

5

 

 

 

 

 

 

10

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i3

 

i 4

 

 

 

 

i 1

3

 

 

 

 

 

 

i 1

 

 

 

 

При написании программы можно использовать примеры,

приведенные ниже.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n

i

 

 

 

 

 

 

 

 

 

 

Пример 1. Программа подсчитывает сумму

 

до введенного

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i 1

 

 

 

 

 

 

 

 

 

пользователем числа, используя оператор цикла со счетчиком: Program Summa_For;

Var

12

I, N: Integer;

S: Real;

Begin

Write('Введите N = ');

Readln(N);

S:=0;

For I:=1 To N Do

S:=S + I / 2;

Writeln ('Cумма = ', S:3:2);

Readln;

End.

n

i

 

Пример 2. Программа подсчитывает сумму

до введенного

2

i 1

 

пользователем числа, используя оператор цикла с предусловием: Program Summa_While;

Var

I, N: Integer; S: Real;

Begin

Write('Введите N = '); Readln(N);

S:=0;

I:=1;

While I<=N Do begin

S:=S + I / 2; I:=I+1;

end;

Writeln ('Cумма = ', S:3:2); Readln;

End.

n

i

 

Пример 3. Программа подсчитывает сумму

до введенного

2

i 1

 

пользователем числа, используя оператор с постусловием: Program Summa_Repeat;

Var

I, N: Integer;

13

S: Real;

Begin

Write('Введите N = ');

Readln(N);

S:=0;

I:=1;

Repeat

S:=S + I / 2;

I:=I+1;

Until I>N;

Writeln ('Cумма = ', S:3:2);

Readln;

End.

6.3. Постановка задачи по использованию процедур, функций и стандартных модулей Turbo Pascal 7.0

Написать программу вычисления суммы ряда согласно варианту задания из табл. 4.

В программе использовать:

операторы цикла: со счетчиком (For), с предусловием (While), с постусловием (Repeat);

подпрограммы-процедуры (Procedure) для оформления процесса вычисления суммы с помощью каждого оператора;

подпрограммы-функции (Function) для вычисления выражений;

меню пользователя и выбор метода расчета или выхода из программы с помощью оператора варианта (Case);

заданный цвет фона и текста.

Рекомендуется сначала отдельно написать и протестировать вычисление суммы ряда с помощью операторов цикла, а затем оформить их как процедуры и добавить меню пользователя.

6.4. Лабораторные задания № 2

Варианты заданий приведены в табл. 4.

14

Таблица 4

Варианты заданий

Задание

Задание

 

n

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

n

 

i!

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(3i 1)2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

i 1

6

 

 

 

 

i 1 2

 

 

 

 

Цвет фона – синий

Цвет фона – черный

 

Цвет текста – желтый

 

Цвет текста – малиновый

 

Цикл с оператором For

 

Цикл с оператором Repeat

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1)

2

 

 

 

 

n

 

 

 

i

2

4

 

n

 

 

(i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2i

 

 

 

 

 

 

 

 

 

 

3

 

 

 

 

 

 

 

 

 

 

 

2

i 1

 

 

 

 

 

 

 

 

 

 

 

7

i 1

 

 

 

 

 

 

 

Цвет фона – зеленый

Цвет фона – бирюзовый

 

 

 

Цвет текста – белый

 

Цвет текста – черный

 

Цикл с оператором While

 

Цикл с оператором While

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

3i 2

 

 

 

 

 

 

 

 

 

 

 

 

n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n

 

 

 

 

 

 

 

 

3

i 1

 

 

 

 

 

i

 

 

 

 

 

 

 

8

 

 

 

 

i 1 i!

 

 

 

 

Цвет фона – синий

Цвет фона – зеленый

 

Цвет текста – белый

 

Цвет текста – желтый

 

Цикл с оператором While

 

Цикл с оператором Repeat

 

 

 

n

2i!

 

n

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3

 

 

 

 

 

 

 

 

i3

i 4

4

 

 

i 1

 

 

 

 

 

 

9

i 1

 

Цвет фона – черный

Цвет фона – светло-серый

 

Цвет текста – светло-зеленый

 

Цвет текста – черный

 

Цикл с оператором Repeat

 

Цикл с оператором While

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

i 1

 

 

 

 

 

 

 

 

 

 

n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n

 

 

 

 

 

 

 

 

5

i 1

i

 

 

 

 

 

 

 

10

 

 

i 1 2i!

 

 

 

 

Цвет фона – синий

Цвет фона – малиновый

 

Цвет текста – светло-голубой

 

Цвет текста – белый

 

Цикл с оператором For

 

Цикл с оператором For

n 2

Пример. Вычислить сумму ряда вида: .

i 1 i!

В программе использовать:

оператор цикла с предусловием (While);

подпрограмму-процедуру (Procedure) для оформления процесса вычисления суммы с помощью оператора;

15

подпрограмму-функцию (Function) для вычисления выражений;

меню пользователя и выбор метода расчета или выхода из программы с помощью оператора варианта (Case);

цвет фона – черный, цвет текста – светло-голубой.

Текст программы приведен ниже.

Program lab_3; uses crt;

Var

I, N, K: Integer; S: real;

Function Fact (X:Integer):LongInt; Begin

If X=0 Then Fact := 1 Else Fact:= X*Fact(X-1);

End;

Procedure Oper_while; Begin

writeln ('Введите N'); readln(N);

S:=0;

I:=1;

While I<=N do begin

S:=S+2/Fact(I);

I:=I+1;

end;

Writeln('Сумма ряда = ', S:3:3); readkey;

end; BEGIN

repeat TextBackGround(0); TextColor(11); clrscr;

writeln('Выберите пункт меню:');

writeln('1 – Вычисление суммы с помощью оператора While'); writeln('2 – Выход');

readln(K);

16

case K of

1:Oper_while;

2:Exit;

end;

until K=2; End.

7. СОДЕРЖАНИЕ ОТЧЕТА ПО ЛАБОРАТОРНОЙ РАБОТЕ

7.1. Результаты выполнения подготовительного задания: титульный лист, цель и задачи работы, краткие теоретические сведения.

7.2. Результаты выполнения лабораторных заданий, оформленные в виде листинга программы с указанием результата ее выполнения.

7.3. Выводы по результатам выполнения заданий и заключение по работе в целом.

8. КОНТРОЛЬНЫЕ ВОПРОСЫ

8.1.Что такое цикл? Дайте характеристику схемы цикла.

8.2.Какие виды циклов Вы знаете?

8.3.Дайте характеристику цикла со счетчиком.

8.4.Дайте характеристику цикла с предусловием.

8.5.Дайте характеристику цикла с постусловием.

8.6.Для каких целей в программах используются подпрограммы? Какие виды подпрограмм Вам известны?

8.7.Чем отличаются процедуры от функций?

8.8.Каким образом описываются подпрограммы? Для чего предусмотрен механизм предварительных описаний?

8.9.Какие параметры подпрограмм называют входными и выходными?

8.10.Чем отличаются формальные параметры от фактических?

8.11.Перечислите правила вызова процедур и функций.

8.12.Приведите формат описания процедуры.

8.13.Приведите формат описания функции.

8.14.Для чего используются формальные и фактические параметры функции?

8.15.Каким образом организуется вызов функции?

8.16.Какие функции называются рекурсивными?

17

8.17.Для чего в Turbo Pascal используются модули?

8.18.Какие виды модулей используются в Turbo Pascal?

8.19.Дайте характеристику процедур и функций модуля Crt.

18

ЛАБОРАТОРНАЯ РАБОТА № 3

РАБОТА С МАССИВАМИ ЧИСЕЛ

1. ЦЕЛЬ РАБОТЫ

Изучение и приобретение навыков работы в Turbo Pascal 7.0 с массивами чисел, а также закрепление навыков использования в программе процедур.

2.ЗАДАЧИ РАБОТЫ

1.Изучение структурированных типов данных TP 7.0.

2.Получение навыков работы с массивами чисел.

3.Закрепление полученных практических навыков в написании программ с использованием процедур.

3.СОСТАВ ИСПОЛЬЗУЕМЫХ АППАРАТНО-ТЕХНИЧЕСКИХ

СРЕДСТВ

Персональная ЭВМ класса IBM PC стандартной конфигурации, интегрированная инструментальная оболочка Turbo Pascal 7.0.

4. УКАЗАНИЯ ПО ТЕХНИКЕ БЕЗОПАСНОСТИ

Перед выполнением лабораторной работы каждый студент должен изучить правила техники безопасности при работе с ПЭВМ в лаборатории. К работе допускаются студенты, прошедшие инструктаж по технике безопасности и расписавшиеся в регистрационном журнале.

5.ПОДГОТОВИТЕЛЬНОЕ ЗАДАНИЕ

1.Заготовить установленную форму отчета по лабораторной работе. На титульном листе указать номер и название работы, в отчет записать цель и задачи работы.

2.Ознакомиться и занести в отчет краткие теоретические сведения об использовании структурированных типов данных языка программирования высокого уровня Turbo Pascal 7.0, в частности массивов [1, раздел 3.4, раздел 6.1].

19