Добавлен: 21.10.2018
Просмотров: 1967
Скачиваний: 6
11
Практическая работа № 3
Технология алгоритмического программирования
Цель
работы
–
исследовать
возможности
командной
инструментальной среды TurboPascal 7.0 и овладеть навыками
разработки простейших программ обработки числовых и символьных данных
на языке Pascal.
Этап 3.1. Исследование возможностей системы программирования
TurboPascal 7.0 для операционной системы MS DOS.
1. Для начала работы в системе программирования TurboPascal 7.0
необходимо подготовить рабочую папку с коротким (8 символов)
именем в латинском алфавите (например, /TP) и в ней создать папку
/TP/Prog для хранения собственных программ.
2. Скопировать файлы TurboPascal 7.0 в папку /TP и запустить на
выполнение файл Turbo.exe.При этом на экране появляется окно
редактора с синим фоном, верхней линейкой меню и нижней линейкой
с функциональными клавишами. Система программирования лишена
графического интерфейса, реагирует на действия мышью и нажатие
клавиш на клавиатуре.
3. Первоначально в окне редактора открыт пустой безымянный файл,
который можно сохранить под собственным именем. Для сохранения
файла выбрать пункт меню File->Save As… В диалоге установить
путь к папке /TP/Prog и ввести имя файла не более чем из восьми
латинских символов (например, task_1). Проверить, что файл
task_1.pas
действительно появился в папке.
4. В процессе редактирования текста программы файл рекомендуется
периодически сохранять, выбирая меню File->Save или нажимая
функциональную клавишу F2.
5. Для открытия существующего файла использовать команду File-
>Open (
клавиша F3).
12
6. После записи текста программы необходимо вызвать компилятор для
проверки синтаксических ошибок и генерации объектного кода. Вызов
компилятора происходит при выборе пункта меню Compile->
Compile
или одновременном нажатии клавиш Alt+F9.
7. Если все синтаксические ошибки в тексте программы исправлены и
компиляция завершилась успешно, программу следует запустить на
выполнение, выбрав пункт меню Run->Run или одновременном
нажатии клавиш Ctrl+F9.
8. Если в программе предусмотрен ввод/вывод данных, то при запуске
появится окно программы с черным фоном, в которое будет
производится вывод. По завершении программы для просмотра
данного окна необходимо выбрать пункт меню Debug->User
screen
или воспользоваться одновременным нажатием клавиш
Alt+F5.
9. Для
отладки
программы
(поиска
семантических
ошибок)
предназначены особые режимы запуска программы, доступные по
следующим пунктам меню:
Run->Step over
– выполнение программы по шагам,
Run->Go to cursor
– программа выполняется до
зафиксированного
положения
курсора
в
тексте
и
останавливается, дальше можно выбрать ее пошаговое
выполнение
10. Для просмотра текущих значений переменных при выполнении
программы по шагам можно воспользоваться пунктом меню Debug-
>Evaluate/modify
или одновременным нажатием клавиш
Ctrl+F4.
В этом режиме следует указать имена переменных,
значения которых подлежат проверки, и наблюдать их изменения при
пошаговом выполнении программы.
13
11. Для завершения работы в системе программирования необходимо
выбрать пункт меню File->Exit или сочетание клавиш Alt+x.
Результат выполнения этапа: Вы познакомились со структурой
рабочего окна командной среды программирования TurboPascal 7.0 и
важнейшими пунктами меню, позволяющими создать текст программы,
провести процесс компиляции, запустить на выполнение, просмотреть
результаты в различных режимах и сохранить программу в виде файла.
Этап 3.2. Программы обработки числовых данных.
1. Вам предстоит, действуя по шаблонам и используя разработанные
ранее алгоритмы, создать простейшие программы обработки числовых
данных и сохранить их в виде файлов int_1.pas, int_2.pas и т.д.
для простых чисел, arr_1.pas, arr_2.pas и т.д. для массивов.
2. Переписать из листинга № 1 и отладить программу суммирования двух
целых чисел.
Листинг 1. Ввести два целых числа. Вычислить их сумму и вывести
результат на экран.
Program int_1;
Uses CRT;
Var a, b, c: integer;
BEGIN
ClrScr;
Write('Введите два целых числа:');
Readln(a, b);
c := a + b;
write('Результат сложения чисел ', a, ' и ', b, ': ', c);
END.
3. По аналогии с предыдущим заданием, используя оператор ветвления,
написать и отладить программы:
ввести два целых числа. Вывести их на экран в порядке
возрастания;
ввести два целых числа. Найти их разницу и результат вывести
на экран;
ввести два целых числа. К максимальному из них прибавить 10 и
результат вывести на экран;
14
ввести два целых числа. Минимальное из них удвоить и
результат вывести на экран.
4. Переписать из листинга № 2 и отладить программу обработки массива
целых чисел.
Листинг 2. Ввести одномерный массив целых чисел. Преобразовать его,
заменив положительные элементы 1, отрицательные - 0. Результат
вывести на экран.
Program arr_1;
Uses CRT;
Const n=10;
Var A: array[1..n] of integer;
i: byte;
BEGIN
ClrScr;
Write ('Введите элементы массива: ');
for i:=1 to n do
readln (A[i]);
for i:=1 to n do
if A[i] > 0 then
A[i]:=1
else
A[i]:=0;
write (‘измененный массив = ');
for i:=1 to n do
write (A[i],' ');
END.
5. По аналогии с предыдущим заданием, используя оператор цикла,
написать и отладить программы:
ввести одномерный массив целых чисел, определить сумму его
элементов, результат вывести на экран;
ввести одномерный массив целых чисел, определить сумму его
отрицательных элементов, результат вывести на экран;
ввести одномерный массив целых чисел, определить его
максимальный элемент, результат вывести на экран
ввести одномерный массив целых чисел, определить сумму его
максимального и минимального элементов, результат вывести на
экран
ввести одномерный массив целых чисел, из положительных
элементов массива сформировать новый массив и вывести его на
15
экран.
ввести одномерный массив целых чисел, определить номер
первого отрицательного элемента, результат вывести на экран
(использовать команду Break для прерывания цикла).
6. Переписать из листинга № 3 и отладить программу обработки
двумерного массива целых чисел.
Листинг 3. Ввести двумерный массив целых чисел, найти максимальный
элемент, результат вывести на экран
Program arr_2;
Uses CRT;
Const n = 4, m = 5;
Var A: array[1..n, 1..m] of integer;
i, j, max: integer;
BEGIN
ClrScr;
Write('Введите элементы двумерного массива размерности ',n, '
x ',m, ': ');
for i:=1 to n do
for j:=1 to m do
ReadLn (A[i,j]);
max := A[1,1];
for i:=1 to n do
for j:=1 to m do
if A[i,j] > max then
max := A[i,j];
Write('Максимальный элемент двумерного массива: ', max);
END.
7. По аналогии с предыдущим заданием, используя вложенные операторы
цикла, написать и отладить программы:
ввести двумерный массив целых чисел; на его основе создать
новый одномерный массив, каждый элемент которого -
максимальное отрицательное число в каждой строке исходного
массива (см. пример на рис. 2);