Читайте также:
|
|
Текст программы
Program Matr;
Uses CRT;
Const kstr = 5;
Kstb = 7;
Var f: text;
M: array [1..kstr, 1.. kstb] of integer;
N, i, j, kstr, kstb: byte;
Begin
Assign (f, ‘dat.txt’);
Reset (f);
Readln(f, kstr, kstb);
i:=1;
While (Eof(f) = false) or (i> kstr) do {считывание всех строк
матрицы}
Begin
j:=1;
While (Eof(f) = false) or (j> kstb) do {считывание всех
элементов i –й строки матрицы}
Begin
Readln(f, M[I,j]); {считывание очередного элем.}
Inc(j); {переход к следующему элем. i –й строки}
End;
Inc(i); {переход к следующей строке матрицы}
End;
// Проверка, считаны ли все элементы матрицы
If (i<= kstr) or (j<= kstb) then {если не удалось считать
матрицу}
Begin
Writeln(‘ Проверьте данные в файле dat.txt’);
Exit; {Выход из программы}
End;
// считывание матрицы закончено
// Печать матрицы
{ Цикл, повторяющийся до тех пор, пока с терминала не будет введён признак конца – 0}
Repeat
ClrScr; {очистка экрана}
Goto XY (3,5);
Write (‘ введите число, кратность которому будет проверяться’);
Readln(N);
If N=0 then break {выход из цикла Repeat, если ведён
признак окончания }
{подсчёт построчных сумм и печать строк}
for i:= 1 to kstr do
begin
s:=0;
for j:= 1 to kstb do {подсчёт суммы i-й строки}
s:=s+M[i,j];
// печать i-й строки красным либо зелёным цветом
Goto XY (5,5);
If S mod N =0 then
Begin
TextColor (Red); {установка красного цвета символов}
for j:= 1 to kstb do {печать i-й строки}
writeln (M[i,j]:4);
End
else
Begin
TextColor (Green); {установка зелёного цвета
символов}
for j:= 1 to kstb do {печать i-й строки}
writeln (M[i,j]:4);
End
Until N=0;
End.
Результат прогона программы
Если исходный файл dat.txt таков:
4 6
1 3 5 4 0 10
8 1 3 3 7 1
12 4 3 1 0 1
2 2 2 2 2 2
Результатом работы программы будет:
введите число, кратность которому будет проверяться 6
1 3 5 4 0 10
8 1 3 3 7 1
12 4 3 1 0 1
2 2 2 2 2 2
В данном тексте красный цвет показан жирным шрифтом.
Контрольные вопросы
1. Какого назначение модуля CRT?
2. Общие о отличительные черты процедур ClrScr, ClrEol, DelLine.
3. Назначение процедуры GotoXY, функций WhereX и WhereY.
4. Какого назначение стандартных процедур Sound, NoSound и Delay?
5. Какие процедуры используются для установления цвета фона и цвета символов?
6. Сколько цветов доступно для установления цвета фона?
7. Сколько цветов доступно для установления цвета текста?
8. Как, используя модули, создать области глобальных переменных, доступные в одних и недоступные в других модулях?
9. В чем состоит отличие сферы действия переменных в модуле и процедуре головной программы?
10. Каков порядок трансляции многомодульной программы?
11. Как задать каталог, куда будет помещён откомпилированный модуль?
12. Что содержит раздел интерфейса?
13. Что содержит исполняемый раздел?
14. Что содержит раздел инициализации?
15. В чем разница между разделом интерфейса и исполняемым разделом?
16. Когда выполняется раздел инициализации?
17. Может ли модуль не содержать раздел инициализации?
18. Как запустить на выполнение многомодульную программу?
19. Какие настройки надо установить в среде TURBO-PASCAL 7.0 для прогона программы, содержащей пользовательские модули?
Дата добавления: 2015-07-11; просмотров: 201 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Задания по РГР | | | Процедуры работы с текстовым файлом |