Заполнение прямоугольного массива числами из файла, начиная с 4-го числа

Страницы работы

Содержание работы

Министерство образования и науки

Государственное образовательное учреждение профессионального высшего обучения

РОССИЙСКИЙ ГОСУДАРСТВЕННЫЙ ГИДРОМЕТИОРАЛОГИЧЕСКИЙ УНИВКРСИТЕТ

Кафедра: МИТ

Дисциплина "Информатика"

Отчёт по лабораторной работе №7

Вариант№26

Выполнил студент: Завьялов В.С.

Факультет: Океанология.

Курс: Первый.

Группа: О-193

Проверил: Сидоров В.А.

Санкт-Петербург

2005

                                                        Задание

вар.

Программа

Процедуры (Функции)

M<=

N<=

Файл с данными

21

Прямоугольный массив заполнить числами из файла, начиная с 4-го числа. С помощью функции в исходном массиве сделать элементы 1-й строки равным максимальному элементу соответствующего столбца.

1)Исходный и полученный массивы печатать процедурой.

2)Построить функцию, которая возвращает максимальное значение в заказанном столбце прямоугольного массива.

10

12

DATI.TXT

Таблица идентификаторов 21 варианта.

Имя

Тип

Р-р (байт)

Назначение

Основная программа

KorrMas

Имя программы

-

Обработка массива

Massiv

Описатель типа

-

Описатель целочисленных массивов

Stroka

Описатель типа

-

Описатель строки до 30 символов

M

Целое

2

Количество строк массива

N

Целое

2

Количество столбцов массива

I

Целое

2

Номер текущей строки массива

J

Целое

2

Номер текущего столбца массива

Fin

Двоичный файл прямого доступа

2

Файл с исходными целыми числами

Fout

Последовательный символьный файл

128

Файл с результатами работы

Quest1

Инициализированная строка

31

Запрос числа строк массива

Quest2

Инициализированная строка

31

Запрос числа столбцов массива

A

Целочисленный массив

260

Обрабатываемый массив

InpMN

Имя процедуры

-

Ввод размеров массива

Имя

Тип

Р-р (байт)

Назначение

PrintMas

Имя процедуры

-

Вывод массива в файл протокола

DATI.TXT

Строка-константа

9

Имя набора данных с числами

L:\data\Dati.txt

Строка-константа

12

Имя набора данных с протоколом

MaxValueMatr

Имя функции

-

Максимальное значение

InpMN – Процедура ввода размеров массива

Txt

Строка

31

Формальный параметр – строка запроса

Kol

Адрес целочисленной переменной

4

Формальный параметр – имя переменной для результата ввода

MaxK

Целое

2

Формальный параметр – предельное возможное значение

PrintMas - Процедура вывода массива в файл протокола (распечатка массива)

Txt

Строка

256

Формальный параметр – текст заголовка

Mas

Адрес массива

4

Формальный параметр – имя выводимого массива

NS

Целое

2

Формальный параметр – число строк массива

NKol

Целое

2

Формальный параметр – число столбцов массива

I

Целое

2

Номер столбца

J

Целое

2

Номер столбца

MaxValueMatr – Функция вычисления максимального значения элементов заданного столбца массива

Mas

Адрес массива

4

Формальный параметр – имя исходного массива

NS

Целое

2

Формальный параметр – число строк массива

MaxA

Целое

2

Максимальный массив

I

Целое

2

 Номер текущей строки массива

Овал: НачалоБлок-схема алгоритма.

 


                                                 Текст программы

PROGRAM KorrMas;

{Лабораторная работа №7 Вариант №21

                Обработка массива

Завьялов В.С., ст. гр. О-193}

TYPE

            Massiv=array [1..12, 1..10] of integer;

             Stroka=string [30];

CONST

            Quest1: Stroka=’Задайте число строк массива’;

            Quest2: Stroka=’ Задайте число столбцов массива’;

VAR    A: massiv;

M, N, NS, I, J: integer;

Fin: text;

Fout: text

PROCEDURE InpMN (Txt: Stroka;  MaxK: integer;  VakKol: integer);

BEGIN

             Writeln;

             Writeln (Txt);

             Repeat

                        Readln (Kol);

                        If Kol>MaxK then

                        Writeln (‘Можно не более’,MaxK,’задайте снова’);

             Until Kol<=MaxK;

End;

PROCEDURE PrintMas (Txt: string; VarMas: Massiv;

NS, NKol: integer);

Var I, J: integer;

BEGIN

              Writeln (Fout, Txt);

              For I:= 1 to NS do

              BEGIN

                         For J:= 1 to NKol do Write (Fout, Mas [I,J]:2);

                         Writeln (Fout);

              END;

END;

FUNCTION  MaxValueMatr (VarMas: Massiv; NS: integer);

                                             : integer;

VAR  MaxA, I: integer;

BEGIN

               MaxA:= Mas [1, NS];

               For I:= 1 to M do

                          If Mas [I, NS]>MaxA  then   MaxA:=Mas [I, NS];

                          MaxValueMatr:= MaxA

               END;

BEGIN

               InpMN (Quest1, 12, M);

               InpMN (Quest1, 10, N);

               Assign (Fout, ‘L:\Kurs_1\О-193\Zavyalov.txt’);

               Rewrite (Fout);

               Writeln (Fout,’Максимальное значение элементов первой строки’);

             Assign  (Fin,’L:\data\Dati.txt’);

               Reset (Fin);

               For I:= 1 to 3 do   Read (Fin, A[1,1]);

               For I:= 1 to M do

                             For J:= 1 to N do   Read (Fin, A[I,J]);

               Close (Fin);

               PrintMas  (‘Исходный массив’, A, M, N);

               For I:= 1 to N do A[1, I]:= MaxValueMatr (A,I);

               PrintMas  (‘Обработанный массив’, A, M, N);

               Close (Fout);

END.

Содержимое набора данных L:\Kurs_1\О-193\Zavyalov.txt

Максимальное значение элементов в первой строке.

Исходный массив

65  456  59  45  26

59  54    99  65  856

65  656  65  9    554

48  48    44  84  84

85  96    74  12  63

Полученный массив

85  656  99  84  856

59  54    99  65  856

65  656  65  9    554

48  48    44  84  84

85  96    74  12  63

Похожие материалы

Информация о работе

Предмет:
Информатика
Тип:
Отчеты по лабораторным работам
Размер файла:
87 Kb
Скачали:
0