Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МЕТОДРАЗРАБОТКА ИНФОРМАТИКА ПАСКАЛЬ_p.doc
Скачиваний:
6
Добавлен:
07.05.2019
Размер:
503.81 Кб
Скачать

Заполнение массива

Ввод данных в массив можно выполнить 2 способами:

1) вручную с клавиатуры:

For i:=1 to 10 do {Ввод элементов массива А с клавиатуры}

Begin

Write(''Введите_",I,"-й элемент массива А");

Readln(A[I]);

End;

2) задать массив А случайными числами.

Пример. Задать массив А случайными числами в диапазоне от –5 до 5

Randomize; {инициализируем генератор случайных чисел}

For i:=1 to 10 do

Begin

A[I]:=-5+Random(11);{задаем значения}

{случайными числами в диапазоне от –5 до 5}

Write(A[I]:8);

End;

Задача. Вычислить сумму элементов массива A[20]. Массив задать случайным образом числами в диапазоне от –5 до 5. Вывести на экран заданный массив и искомую сумму.

const n=10;

type massiv=array[1..n] of integer;

var a:massiv;

i, summa:integer;

begin

Randomize;

For i:=1 to 10 do

begin

A[i]:=-5+Random(10);

Write(A[i]:5);

end;

writeln; {пропустим пустую строчку для разделения исходных данных и результатов}

for i:=1 to n do

summa:=summa+a[i];

writeln('summa=', summa:5:3);

end.

Задача. Поменять указанные элементы местами. Позиции элементов, которые необходимо поменять местами, ввести с клавиатуры, проверив, не выходят ли введенные индексы за границы массива.

const n=10;

type massiv=array[1..10] of integer;

var a:massiv;

i,j,pos1,pos2,tmp:integer;

begin

Randomize;

for i:=1 to 10 do

begin

a[i]:=-5+Random(11);

Write(A[i]:5);

end;

writeln('Введите позиции элементов, которые желаете поменять местами');

readln(pos1,pos2);

if (((pos1>0)AND(pos1<=n))AND((pos2>0)AND(pos2<=n))) then

{это условие проверяет, принадлежат ли введенные с клавиатуры значения диапазону индексов элементов}

Begin

tmp:=a[pos1];

a[pos1]:=a[pos2];

a[pos2]:=tmp;

End

Else Writeln('Введены несуществующие индексы элементов массива, обмен не выполняется');

writeln;

{пропустив пустую строчку, выводим массив, полученный в результате обмена}

for i:=1 to n do

writeln('a[',i,']=',a[i]:3);

readln;

end.

Задачи для самостоятельного решения по теме «Одномерные массивы»

  1. Запомнить в элементах массива сумму всех предыдущих элементов, включая данный (самостоятельно).

  2. Изменить знак у максимального по модулю элемента массива.

  3. Заменить все четные элементы на их квадраты, а нечетные удвоить.

  4. Вычесть из положительных элементов элемент с номером k1, а к отрицательным прибавить элемент с номером к2, нулевые элементы оставить без изменения.

  5. К четным элементам прибавить число А, а из элементов с четными номерами вычесть В.

Контрольные вопросы по теме «Одномерные массивы»

  1. Указать особенности программ, использующих массивы.

  2. Какие операторы языка можно применить для описания массивов?

  3. В чем состоит особенность организации цикла при обработке массивов?

  4. В чем состоит особенность использования приемов программирования при обработке массивов?

  5. Указать особенности ввода-вывода массивов.

6. Подпрограммы пользователя. Назначение Преимущества модульности

Не случайно функции и процедуры похожи на программы в миниатюре. Язык Паскаль спроектирован таким образом, что подпрограммы могут рассматриваться как независимые объекты, работа которых не зависит от основной программы. Как следствие наличие функций и процедур позволяет проектировать и конструировать программы модульным, структурированным способом.

Наиболее важное преимущество модульности, даваемое подпрограммами, — это возможность уменьшить число повторений одной и той же последовательностей операторов. В очень больших или средних по размеру программах существует по крайней мере несколько процессов, выполнение которых повторяется в различных частях программы. Было бы неразумно в программе выполняющей тригонометрические преобразования, вычислять ARCSIN в десятках различных мест. Описание функции — гораздо более простое решение.

Использование подпрограмм делает процесс программирования более систематическим и регулируемым по нарастанию сложности. Благодаря использованию подпрограмм программист может рассматривать программу как набор более мелких компонентов, которые проектируются отдельно.

Учитывая сложность программ, этот эффект является более полезным, чем может показаться на первый взгляд. Начиная с простейшего описания функций программы, можно постепенно разбивать программу на отдельные задачи, которые в свою очередь могут быть реализованы как объединение функций и процедур.

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