Требования к решению задач

      Комментарии к записи Требования к решению задач отключены

O Размер матрицы (величины M и N) программа должна запрашивать у пользователя.

O Имя файла для ввода/вывода программа должна запрашивать у пользователя.

O Максимальный размер матрицы 100×200 задать константами.

O Программа должна подсказывать пользователю, что ему делать.

O Процедура обработки матрицы должна получать данные для обработки, то есть матрицу и ее размер, через параметры.

O Процедура обработки матрицы должна возвращать результат обработки, через параметры.

O Программу необходимо снабдить тестом (примером, выполнение которого подтверждает правильность работы программы).

Варианты задач.

Тип элементов Обработка
1. real Выбрать элементы массива в порядке возрастания.
2. integer Выбрать элементы массива в порядке убывания.
3. char Переставить элементы строк массива в порядке возрастания.
4. real Переставить строки матрицы в порядке возрастания суммы их элементов.
5. integer Транспонировать матрицу.
6. char Выбрать максимальные элементы строк.
7. real Выбрать минимальные элементы столбцов.
8. integer Разделить все элементы матрицы на максимальный.
9. char Переставить элементы столбцов массива в порядке убывания.
10. real Переставить столбцы матрицы в порядке убывания произведения их элементов
11. real Расположить элементы в каждой строке массива в порядке возрастания.
12. integer Выбрать в порядке возрастания все положительные элементы матрицы.
13. char Переставить строки массива в алфавитном порядке.
14. real Выбрать в порядке возрастания все отрицательные элементы матрицы.
15. integer Выбрать в порядке убывания все положительные элементы матрицы.
16. char Выбрать все строки, содержащие гласные, расположив их элементы в алфавитном порядке.
17. real Выбрать все строки, содержащие отрицательные числа, расположив их элементы в порядке убывания.
18. integer Выбрать все строки, содержащие положительные числа, расположив их элементы в порядке возрастания.
19. char Выбрать все строки, содержащие согласные, расположив их элементы в алфавитном порядке.
20. real Выбрать все строки, содержащие положительные числа, расположив их в порядке убывания суммы элементов.
21. real Выбрать все строки, содержащие отрицательные числа, расположив их в порядке возрастания суммы элементов.
22. integer Выбрать элементы массива в порядке убывания
23. char Переставить элементы строк массива в порядке, обратном алфавитному.
24. real Переставить строки матрицы в порядке возрастания разности их элементов.
25. integer Выбрать строки, сумма элементов которых отрицательна и вывести их в порядке возрастания сумм.

Контрольные вопросы

1) Что такое файл в языке ПАСКАЛЬ?

2) Какие операции для типа файл существуют в языке ПАСКАЛЬ?

3) Какие процедуры для типа файл существуют в языке ПАСКАЛЬ?

4) Как использовать файлы в программе?

5) Для чего используются файлы?

6) Чем отличается файл от одномерного массива?

Лабораторная работа № 7

Комбинированный тип переменных в языке ПАСКАЛЬ.

Цель работы

Ознакомиться с типом запись (record). Научиться использовать комбинированный тип для организации простейших баз данных.

Краткие теоретические сведения

Тип данных record

Запись – это структура, объединяющая фиксированное число данных разных типов, называемых полями записи. Как правило, данные, помещенные в запись, логически (по смыслу решаемой задачи) связанны между собой. В одном поле можно размещать данные только одного типа, но разные поля могут иметь разный тип. Описание записи ведется по следующей форме:

Type

= record

S_1 : TYPE_1;

S_2 : TYPE_2;

S_N : TYPE_N

end;

где S_1– список имен полей имеющих типTYPE_1;S_2– список имен полей имеющих типTYPE_2; … S_N– список имен полей имеющих типTYPE_N.

Пример 1. Календарные даты удобно описывать следующим образом:

Type

Date = record

Month : 1..12;

Day : 1..31;

Year : integer

end;

var d : Date;

Здесь d переменная типа Date, представляет собой трехкомпонентную структуру.

Обращение к полям типа record осуществляется путем указания имени переменной и имени поля, разделенных символом “.” (точка):

..

Например, d.Year; d.Day; и т.д., а процедура ввода даты может выглядеть так:

procedure Get_Data( var dt : Date);

Begin

Writeln;

Writeln( ‘Введите дату’);

Write(‘День ?’); Readln( dt.Day );

Write(‘Месяц ?’); Readln( dt.Month );

Write(‘Год ?’); Readln( dt.Year );

end;

Оператор with.

Это оператор создает удобства при работе с переменными типа record.

Общий вид:

With A do P;

где A – имя переменной типа record, P – любой оператор (простой или составной) ) языка ПАСКАЛЬ. В операторе P разрешается опускать имя A при ссылках на компоненты (поля) записи A (указываются только имена полей). Используя оператор with процедуру ввода даты можно записать так:

procedure Get_Data( var dt : Date);

Begin

Writeln;

Writeln( ‘Введите дату’);

With dt do

Begin

Write(‘День ?’); Readln( Day );

Write(‘Месяц ?’); Readln( Month );

Write(‘Год ?’); Readln( Year );

End

end;

Запись с вариантами

В тех случаях, когда наборы частей записи предстоит менять в зависимости от значения какого либо поля, удобно использовать запись с вариантами (очень похоже на оператор ветвления case). Общий вид:

Type

= record

S_1 : TYPE_1;

S_2 : TYPE_2;

S_N : TYPE_N

case S : TYPE_S of

C1 : ( );

C2 : ( );

CK : ( )

End;

где S_1– список имен полей имеющих типTYPE_1;S_2– список имен полей имеющих типTYPE_2; … S_N– список имен полей имеющих типTYPE_N.

где S – поле порядкового типа TYPE_S, значение которого как?то задается в программе;

C1, C2, … CK – константы, того же типа, с которыми сравнивается выражение S;

, , …, – списки полей, записанные также как и список стоящий между словами record и case, из которых реализуется тот, с константой которого совпадет значение поля S.Изменяя значение поля S переменной в программе, вы изменяете и структуру записи.

Задача №1.

Написать программу, реализующую небольшую базу данных в виде одномерного массива записей:

1. Ввод c клавиатуры элементов базы данных.

2. Вывод содержимого базы данных на дисплей.

Задача №2.

Дополнить программу функцией сортировки базы данных по способу соответствующему вашему варианту.

Статьи к прочтению:

Требования к оформлению задач с развернутым ответом на ЕГЭ по математике


Похожие статьи:

  • Решение задач с использованием массивов

    Цель работы Освоение методов работы с массивами на языке С++; получение навыков работы с указателями. Подготовка к работе При подготовке к работе следует…

  • Решение логических задач на прологе

    Целью всего предшествующего изложения была подготовка к данному разделу -решению содержательных логических задач на Прологе, т.е. задач невычислительного…