Смекни!
smekni.com

Методические рекомендации по выполнению контрольных и лабораторных работ (стр. 6 из 7)

¨ Переменной ch присваивается значение нажатой клавиши ch:=ReadKey и в зависимости от ответа управление передается на начало цикла (ch:=’Y’) или программа заканчивает выполнение (ch:= ‘N’).

ПРИЛОЖЕНИЕ 5

пример выполнения контрольной работы № 4

ЛИСТИНГ ПРОГРАММЫ Work4.pas - см. Прил. 1.

В контрольной работе № 4 задана квадратная матрица А размером N * N (N<=10), состоящая из действительных элементов. Необходимо найти среднее арифметическое значение элементов каждого из столбцов этой матрицы.

Имя программы - WORK4.

· В поле описания библиотек и констант заданы стандартный модуль CRT, определена константа N=10.

· Описан собственный тип данных ArrayA для описания массива размером N * N, элементы которого имеют тип Real, - Type ArrayA=Array[1..N,1..N] of Real.

· Описаны переменные: целочисленная k: Integer, массив A:ArrayA; символьная переменная ch: char.

· Далее идут описания процедур InputN, InputMatrix, OutputMatrix, и Evaluate.

· Записана главная программа, которая вызывает нужные процедуры и функции, согласно алгоритму решения задачи.

Описание процедуры InputN

¨ В заголовке процедуры описан один формальный параметр:

выходное k (значение определяется в процедуре и передается в основную про- грамму).

¨ В цикле Repeat ...Until (K<=N) and (K>1) вводится значение переменной K - Readln(K) с проверкой (т.е. вводимое K должно быть больше единицы и меньше либо равно N - заданному по условию максимальному значению размера массива А). Затем управление передается в основную программу.

Описание процедуры InputMatrix.

¨ В заголовке процедуры описаны параметры: K - входной параметр, передаваемый из основной программы, и A -выходной параметр (массив вводимых в процедуре элементов матрицы А).

¨ Описаны локальные целочисленные переменные i (счетчик числа строк), j (счетчик числа столбцов) - integer.

¨ В процедуре в двойном цикле for по переменным i, j вводятся значения элементов массива А[I,J]: Readln(A[I,J].

¨ Затем управление передается основной программе.

Описание процедуры OutputMatrix.

Поскольку алгоритм вывода матрицы структурно ничем не отличается от алгоритма ее ввода (см. Соответствующие блок-схемы в прил. 1), то и оформление процедуры почти одинаково. Обратите, пожалуйста, внимание на то, что массив А - теперь параметр входной ( т.е. известный), поэтому ключевое слово Var отсутствует. В двойном цикле for реализован построчный вывод на экран исходной матрицы. В формате вывода под выводимое значение элементов матрицы отводится 7 позиций, в том числе две позиции для вывода дробной части:

Write(A[i,j]:7:2,’ ‘).

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

Описание процедуры Evaluate.

¨ В заголовке процедуры описаны параметры: K, A как входные параметры.

¨ Описаны локальные переменные i (счетчик числа строк), j (счетчик числа столбцов) как integer и stolb (вещественный массив длиной N - array [1..N] of Real), sr (рабочая переменная типа Real для подсчета суммы элементов в данном столбце).


¨ В двойном цикле for считается среднее арифметическое значение для каждого столбца и сохраняется в одномерном массиве Stolb:

1) цикл начинается по столбцам j от 1 до k ;

2) затем в цикле по строкам i считается сумма элементов в данном столбце sr;

3) и вычисляется среднее арифметическое значение для каждого столбца путем деления вычисленной суммы на количество строк Stolb[j]:=sr/k.

¨ Значение элементов одномерного массива среднего арифметического значения столбцов Stolb[j] в цикле for выводится на экран.

Замечание. Средние арифметические значения каждого из столбцов матрицы можно вычислять и тут же выдавать на экран. Этот вариант пригоден только тогда, когда значения средних арифметических больше ни для чего НЕ нужны (как в нашем случае). Тогда надобность в массиве Stolb и дополнительном цикле for отпадает. В этом случае подпрограмма Evaluate будет иметь следующий вид:

Procedure Evaluate(k:integer; A:arrayA);

Var i,j:integer;

sr:real;

Begin

Writeln('------- Cреднее арифметическое каждого из столбцов -------');

for j:=1 to k do {------- цикл по столбцам ------- }

Begin

sr:=0;

for i:=1 to k do {------- цикл по строкам ------- }

sr:=sr+A[i,j]; {вычисление суммы элементов по столбцам

матрицы A}

Writeln ('Cтолбец [',j,']= ', sr/k :7:2);

End;

End;

Описание главной программы

· В теле основной программы в цикле Repeat ... Until очищается экран (ClrScr).

· Путем вызова процедуры InputN(k) вводится значение k - фактическое число строк и столбцов исходной матрицы A.

· Путем вызова процедуры InputMatrix(k,A) вводим значения элементов исходной матрицы А.

· Опять очищаем экран (ClrScr).

· Через вызов процедуры OutputMatrix(k,A) выводим на экран значения элементов исходной матрицы А.

· Через вызов процедуры Evaluate(k,A) определяем значения средних арифметических каждого из столбцов и выводим их на экран.

· Затем следует запрос «Опять? (Y/N)».

· Переменной ch присваивается значение нажатой клавиши ch:=ReadKey и в зависимости от ответа управление передается или на начало цикла (ch:=’Y’) для повторного счета, но уже с другими исходными данными, или программа заканчивает выполнение (ch:= ‘N’).

ПРИЛОЖЕНИЕ 6

Основные функции среды ТУРБО ПАСКАЛЬ

Система программирования ТУРБО ПАСКАЛЬ представляет собой совокупность компилятора языка программирования ПАСКАЛЬ и инструментальной программной оболочки. Для вызова ТУРБО ПАСКАЛЯ следует дать команду:

TURBO

По этой команде в память загружается файл TURBO.EXE, на экране монитора появляется оболочка ТУРБО ПАСКАЛЯ. Верхняя строка оболочки содержит «главное меню» режимов работы ТУРБО ПАСКАЛЯ, нижняя строка - краткую справку о назначении основных функциональных клавиш. Центральная часть экрана принадлежит окну редактора для ввода и редактирования текста программы. Под верхней строкой в центре двойной рамки приводится имя дискового файла ( новому файлу присваивается имя NONAME00.PAS). Цифра в верхнем правом углу окна редактора обозначает номер окна редактирования. В ТУРБО ПАСКАЛЕ можно одновременно работать с 9 программами, каждая из которых располагается в отдельном окне редактора. Кроме окон редактора используются окна: отладочного режима, вывода результатов работы программы, справочной службы, стека, регистров.

Для перехода в главное меню необходимо нажать клавишу F10, поместить курсор на нужную функцию, нажать ENTER. В появившемся ниспадающем меню выбрать необходимую опцию и нажать ЕNTER. Например, для сохранения текста программы на диске нужно нажать F10, переместить курсор на FILE, затем SAVE и нажать ENTER, в появившемся диалоговом окне задать имя файла, под которым ваша программа будет храниться на диске. Отметим, что имя файла, под которым текст программы хранится на диске, не эквивалентен имени программы, заданным в первой строке программы, написанной на Паскале.

Функциональные клавиши

Функциональные клавиши используются для быстрого управления средой ТУРБО ПАСКАЛЯ. Они обозначаются F1,..., F12 и располагаются в верхнем ряду клавиатуры.

Назначения функциональных клавиш:

· F1 - вызов справки;

· F2 - записать программу на диск;

· F3 - открыть записанную программу на диске в окне редактора;

· F4 - используется в отладочном режиме;

· F5 - распахнуть активное окно на весь экран;

· F6 - сделать активным следующее окно;

· F7 - используется в отладочном режиме;

· F8 - используется в отладочном режиме;

· F9 - компилировать программу, но не выполнять ее;

· F10 - перейти к диалоговому выбору режима работы;

· Ctrl-F9 - компилировать программу, загрузить ее в оперативную память (или записать на диск) и выполнить, после чего вернуться в среду ТУРБО ПАСКАЛЬ;

· Alt-F5 - сменить окно редактора на окно вывода результатов программы;

· Alt-X - выход из ТУРБО ПАСКАЛЯ;

Текстовый редактор среды

Текстовый редактор предназначен для создания и редактирования текста программы. Для создания текста его вводят с клавиатуры, нажимая в конце каждой строки клавишу ENTER.

Для того, чтобы исправить ошибки, которые были допущены при наборе программы, необходимо переместить курсор( небольшой мигающий прямоугольник в окне редактора) с помощью клавиш перемещения курсора ¬ ­ ® ¯ в нужное место и исправить ошибку.


Команды текстового редактора.

· PgUp - переместить курсор на страницу вверх;

· PgDn - переместить курсор на страницу вниз;

· HOME -переместить курсор в начало строки;

· END -переместить курсор в конец строки;

· Ctrl-PgUp -переместить курсор в начало текста;

· Ctrl-PgDn -переместить курсор в конец текста;

· BACKSPACE -стереть символ слева от курсора;

· DEL -стереть символ справа от курсора;

· CtrL-Y -стереть строку, на которой располагается курсор;

· ENTER - вставить новую строку;

· Ctrl-Q L - восстановить текущую строку (действует, если курсор не покидал измененную строку);

· Ctrl-K B - пометить начало блока;

· Ctrl-K K - пометить конец блока;

· Ctrl-K Y - стереть блок;

· Ctrl-K C - копировать блок;

· Ctrl-K V - переместить блок;

· Ctrl-K W - записать блок в дисковый файл;

· Ctrl-K R - прочитать блок из дискового файла;

· Ctrl-K P - напечатать блок;