Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторная работа 5.doc
Скачиваний:
2
Добавлен:
30.04.2022
Размер:
270.34 Кб
Скачать

8. Контрольные вопросы

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Работа с массивами чисел

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].

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

1) структурированные типы данных;

2) массивы данных одномерные и многомерные;

3) описание массивов;

4) операции по обработке массивов;

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

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

6. Лабораторные задания и методические указания по их выполнению

Написать программу работы с массивом чисел.

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

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

- подпрограммы-процедуры (Procedure) для оформления решения отдельных подзадач;

- дополнительные процедуры и функции модуля Crt для управления режимом отображения текста программы при выполнении.

Общий алгоритм выполнения программы:

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

2. Заполнить массив заданной размерности случайными числами или числами, введенными пользователем с клавиатуры.

3. Вывести все элементы массива на экран построчно.

4. Решить основное задание, согласно варианту.

5. Вывести результаты решения основного задания на экран.

6. Вывести обновленные значения элементов массива на экран.

Варианты основных заданий

Основное задание

1

Найти среднее значение элементов массива. От значений элементов отнять среднее значение. Вывести отрицательные элементы массива на экран

2

Найти среднее значение элементов массива. От значений элементов отнять среднее значение. Вывести положительные элементы массива на экран

3

Найти максимальный элемент массива. Все элементы столбца, в котором он находится, обнулить

4

Найти минимальный элемент массива. Все элементы строки и столбца, в котором он находиться обнулить

5

Найти сумму элементов массива. Все элементы массива разделить на это значение. Найти максимальный элемент массива

6

Найти среднее значение элементов массива. От значений элементов отнять среднее значение. Найти минимальный элемент массива

7

Найти минимальный элемент массива. Все элементы массива разделить на значение минимального элемента

8

Найти минимальный и максимальный элемент массива. Найти сумму всех элементов массива

9

Найти минимальный и максимальный элемент массива. Все элементы строк и столбцов, в которых они находятся обнулить

10

Найти максимальный элемент массива. Вывести все элементы строки, в которой он находится. Найти их сумму и среднее значение

Пример:

Написать программу работы с массивом чисел, согласно варианту задания: найти максимальный элемент массива. Все элементы строки, в которой он находится, обнулить.

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

- подпрограммы-процедуры (Procedure) для оформления решения отдельных подзадач (например, поиска минимального элемента или вывода элементов на экран);

- дополнительные процедуры и функции модуля Crt для управления режимом отображения текста программы при ее выполнении.

Текст программы с использованием процедур приведен ниже.

Program lab_4;

Var

i, j, k, l, m, n, v: integer;

mass : array[1..10,1..10] of real;

max : real;

Procedure autovvod_elementov;

Begin

randomize;

for i:=1 to m do

for j:=1 to n do

mass[i,j]:=random(100);

End;

Procedure vvod_elementov;

Var

i, j : integer;

Begin

for i:=1 to m do

for j:=1 to n do

begin

writeln('Введите элемент [',i,',',j,']');

readln(mass[i,j]);

end;

End;

Procedure max_element;

Begin

max:=mass[1,1]; k:=1; l:=1;

for i:=1 to m do

for j:=1 to n do

begin

if mass[i,j]>max then begin

max:=mass[i,j];

k:=i; l:= j;

end;

end;

writeln ('Максимальный элемент массива  [',k,',',l,']=',max:2:2);

readln;

for j:=1 to n do

mass[k,j]:=0;

End;

Procedure vyvod_elementov;

Begin

for i:=1 to m do begin

for j:=1 to n do

begin

write(' [',i,',',j,']=',mass[i,j]:2:1);

end;

readln;

end;

End;

Begin

writeln('Выберите способ ввода:');

writeln('1 – Автозаполнение случайными числами');

writeln('2 – Заполнение числами, введенными с клавиатуры');

writeln('3 – Выход из программы');

readln(v);

if (v<>1) and (v<>2) then halt;

writeln('Введите число строк – m, m<10');

readln(m);

writeln('Введите число столбцов – n, n<10');

readln(n);

case v of

1: autovvod_elementov;

2: vvod_elementov;

end;

vyvod_elementov;

max_element;

vyvod_elementov;

End.

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

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

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

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

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

    1. Какие типы данных Turbo Pascal 7.0 относятся к структурированным и какие особенности они имеют?

    2. Дайте характеристику массивов?

    3. Как описываются массивы в программах?

    4. Как осуществляется доступ к элементам массива?

    5. Перечислите основные операции с массивами.

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

РАБОТА СО СТРОКАМИ. ЧТЕНИЕ И ЗАПИСЬ В ФАЙЛ

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

Изучение и приобретение навыков работы со строками и текстовыми файлами в Turbo Pascal 7.0.

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

1. Получение навыков работы с символьным и строковым типом данных.

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

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

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

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

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

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

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

2. Ознакомиться и занести в отчет краткие теоретические сведения о символьном и строковом типах данных, использовании файлов при программировании в Turbo Pascal 7.0 [1, раздел 3.3, раздел 3.4.3, раздел 3.4.6].

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

1) определение символьного типа данных;

2) операции с символьными типами данных;

3) определение строкового типа данных;

4) операции со строковыми типами данных;

5) определение файла и файловых переменных в TP 7.0;

6) операции с файловыми переменными.

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

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