Уважаемые коллеги! Предлагаем вам разработку программного обеспечения под ключ.
Опытные программисты сделают для вас мобильное приложение, нейронную сеть, систему искусственного интеллекта, SaaS-сервис, производственную систему, внедрят или разработают ERP/CRM, запустят стартап.
Сферы - промышленность, ритейл, производственные компании, стартапы, финансы и другие направления.
Языки программирования: Java, PHP, Ruby, C++, .NET, Python, Go, Kotlin, Swift, React Native, Flutter и многие другие.
Всегда на связи. Соблюдаем сроки. Предложим адекватную конкурентную цену.
Заходите к нам на сайт и пишите, с удовольствием вам во всем поможем.
Министерство образования и науки
Государственное образовательное учреждение профессионального высшего обучения
РОССИЙСКИЙ ГОСУДАРСТВЕННЫЙ ГИДРОМЕТИОРАЛОГИЧЕСКИЙ УНИВКРСИТЕТ
Кафедра: МИТ
Дисциплина "Информатика"
Отчёт по лабораторной работе №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
Уважаемые коллеги! Предлагаем вам разработку программного обеспечения под ключ.
Опытные программисты сделают для вас мобильное приложение, нейронную сеть, систему искусственного интеллекта, SaaS-сервис, производственную систему, внедрят или разработают ERP/CRM, запустят стартап.
Сферы - промышленность, ритейл, производственные компании, стартапы, финансы и другие направления.
Языки программирования: Java, PHP, Ruby, C++, .NET, Python, Go, Kotlin, Swift, React Native, Flutter и многие другие.
Всегда на связи. Соблюдаем сроки. Предложим адекватную конкурентную цену.
Заходите к нам на сайт и пишите, с удовольствием вам во всем поможем.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.