Лабораторный практикум по программированию на языке Pascal. Суркова Е.В. - 35 стр.

UptoLike

Составители: 

34
Массивы, участвующие в этих действиях, должны быть идентичны по струк-
туре, то есть иметь одинаковые базовые типы и типы индексов.
Задание значений переменной типа массив может осуществляться с кла-
виатуры, путем генерирования случайным образом либо иным способом. Когда
значения элементов задаются с клавиатуры или генерируются случайным обра-
зом, необходима организация
цикла, в котором последовательно происходит
обращение к каждому элементу массива. Вывод значений элементов массива на
экран или в файл также происходит в цикле.
При написании программ необходимо следить за тем, чтобы значения ин-
дексов не превышали границ, указанных при объявлении массива, так как вы-
ход индекса за границы массива приводит к
сбою в работе программы. Кон-
троль значений индексов массивов можно организовать при помощи директивы
компилятора
{$R+}, которая приводит к проверке всех индексных выражений
на соответствие их значений диапазону индекса.
Пример выполнения лабораторной работы
Для примера рассмотрим следующую задачу. Дан одномерный массив це-
лых чисел. Удалить все отрицательные элементы, расположенные справа от
максимального.
Прежде всего, определим алгоритм решения данной задачи. Вначале надо
найти максимальный элемент среди элементов массива и запомнить его индекс.
Затем, начиная со следующего за максимальным элементом, проверять элемен-
ты массива на знак
, и если число оказывается отрицательным, то удаляем этот
элемент из массива путем «сдвига» элементов массива влево и уменьшаем дли-
ну массива. При этом следует заметить, что в памяти переменная типа массив
будет занимать столько же места, как и до удаления элементов.
В графическом виде этот алгоритм будет блок-схему, представленную
на
рис. 5.1.
Теперь пишем код программы.
Поскольку в программе требуется использование генератора случайных
чисел, то необходимо подключить стандартный модуль CRT, в котором описа-
на функция генерации случайных чисел.
Uses crt;
В разделе описания типов определим тип-массив:
type arr=array[1..15] of integer;
В разделе описания переменных описываем необходимые переменные:
var a:arr; {массив}
i,j,n: byte; {индексы, длина массива}
i_max: byte; {индекс максимального элемента массива}
max:integer; {максимальный элемент}