Организовать генерацию элементов массива целыми значениями от А до В.




СОД

к. ф. - м. н., доц. каф. Информатика Белинская С.И.

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

Тема: Программирование задач с массивами.

Цель работы: Изучениеописании одномерных и двумерных массивов на языке PASCAL, реализация основных программных элементов: накопления, поисека, формирования

Теоретическая часть

Массив – это группа однотипных элементов, имеющих общее имя и расположенных в памяти рядом.

Особенности:

все элементы имеют один тип

весь массив имеет одно имя

все элементы расположены в памяти рядом

Примеры:

список учеников в классе

квартиры в доме

школы в городе

данные о температуре воздуха за год

Описание массива

В разделе TYPE:

type имя_типа = array [тип_индекса] of тип_элемента

В разделе VAR:

var с: mas;

a, b: array [1.. n] of integer;

Как константа:

const a: mas = (0, 5.2, -7.1, 100, 15, 1);

 

Пример 1

Ввести в диалоге с клавиатуры 20 элементов. Распечатать в столбец.

Program VVod;

const n = 20;

var a: array [1.. n] of real;

i: integer;

……

Begin

writeln('Введите ', n, ' а');

for i:= 1 to n do read(a[i]);

….

writeln(‘Массив А');

for i:= 1 to n do Writeln(a[i]);

Или по- другому, организовать запрос элемента с клавиатуры:

 

for i:=1 to N do begin

write('a[', i, ']=');

read (a[i]);

end;

Вывод элементов в строку:

 

writeln('Массив A:');

for i:=1 to N do
write(a[i]:4);

 

Программные элементы

n Накопление;

n Поиск;

N Формирование.

Поиск максимального элемента в одномерном массиве:

max:= a[1];

for i:= 2 to n do

if a[i] > max then

max:= a[i];

writeln('Максимальный элемент: ', max:6:2);

End.

Кол-во отрицательных и сумма элементов

Program Sum_Num; {накопление, поиск }
const n = 10;

var a: array [1.. n] of integer;

i, sum, num: integer;

Begin

writeln('Введите ', n, ' элементов массива');

for i:= 1 to n do read(a[i]);

sum:= 0; num:= 0;

for i:= 1 to n do begin

if a[i] < 0 then inc(num);

sum:= sum + a[i];

End; writeln('Отрицательных элементов: ',

Num:2); writeln('Сумма элементов: ', sum:5); end.

Сортировка выбором

Program Sort;

const n = 20;

var a: array [1.. n] of integer;

i, j, nmin, buf: integer;

Begin

writeln('Введите ', n, ' элементов массива');

for i:= 1 to n do read(a[i]);

for i:= 1 to n - 1 do begin

nmin:= i;

for j:= i + 1 to n do

if a[j] < a[nmin] then nmin:= j;

buf:= a[i]; a[i]:= a[nmin]; a[nmin]:= buf;

end;

writeln('Упорядоченный массив:');

for i:= 1 to n do write(a[i]:5)

End.

Инициализация двумерного массива

const a: mas2 = ((2, 3, 1, 0),

(1, 9, 1, 3),

(3, 5, 7, 0));

Ввод происходит в 2-х вложенных циклах:

for i:= 1 to m do

for j:= 1 to n do Begin

Writeln(‘Введи ’,j:1,’-ый элемент ’,i:1,’ - строки’);

read (a[i, j]); End;

Получение значений элементов массива

1)Из другого массива:

A:=B;

2)При вычислении значений функции, зависящей от аргумента:

Y=sinx+cosx, где х изменяется от 100 с шагом dх=50 получить 10 элементов массива Mass

Алгоритм

Заполнение целыми случайными числами в диапазоне от -10 до 15

for i:=1 to N do

for j:=1 to M do

A[i,j]:= random(25) - 10;

Вывод на экран матрицы

for i:=1 to N do begin

for j:=1 to M do

write (A[i,j]:5);

writeln;

end;

Задания на лабораторную работу

Описать в разделе Type массив, в разделе переменных использующиеся в программе переменные.

Организовать ввод по запросу с клавиатуры переменные, значения которых являются граничными значениями элементов массива (одномерного или двумерного).

Организовать генерацию элементов массива целыми значениями от А до В.

4. Распечатать элементы одномерного массива по 7 элементов в строку, а элементы двумерного массива, как матрицу.

5. В качестве защиты работы:

Организовать создание одномерного или двумерного массива, если элементы его вычисляются по некоторой формуле для функции, зависящей от меняющегося аргумента.

Вариант 1

Дан вектор А[1:20]

а) найти сумму S элементов из интервала [-3 +6].

б) найти произведение этой суммы на min элемент вектора.

в) найти номер максимального элемента между номерами 5 и 15.

г) удалить 16-ый элемент вектора.

Вариант 2

Дана матрица А[1:3; 1:4]

а) найти разность сумм элементов, попадающих в интервалы [0 5] и [5 15]

б) найти номер минимального элемента в третьем столбце.

в) заменить min элемент в 4-ом столбце на min элемент в третьем столбце.

г) получить среднеарифметическое значение последних 10-ти элементов матрицы.

Вариант 3

Дана матрица А[1:4; 1:4]

а) получить сумму и количество элементов в интервале [-10 +5], и минимальный элемент в третьей строке.

б) получить произведение номеров min и max элементов матрицы.

в) получить среднеарифметическое значение матрицы.

г) получить произведение среднеарифметического значения на min элемент в третьем столбце.

Вариант 4

Дан вектор А [1:20].

а) найти количество и сумму элементов из диапазона [-5 5] и максимальный элемент из последних десяти

б) получить произведение номеров min и max элементов вектора.

в) удалить 6-ой элемент вектора.

г) получить среднеарифметическое значение последних 10-ти элементов вектора.

Вариант 5

Дан вектор А[1:15].

а) найти минимальный элемент

б) найти произведение минимального элемента и суммы элементов вектора, больших - 2

в) найти номер максимального элемента из первых 10 элементов вектора

г) найти произведение среднеарифметического значения вектора на максимальный элемент вектора.

Вариант 6

Дан вектор А[1:25].

а) найти произведение элементов больших - 2 и сумму последних 10 элементов

б) удалить минимальный элемент вектора

в) получить среднеарифметическое значение элементов с четными индексами

г) поменять местами максимальные элементы из первых десяти и последних десяти элементов вектора.

Вариант 7

Дана матрица А[1:4; 1:4].

а) найти минимальный и максимальный элементы матрицы

б) определить число положительных элементов во второй и третьей строках

в) получить среднеарифметическое значение матрицы

г) заменить минимальный элемент в 3-ей строке на 0.

Вариант 8

Дан матрица А[1:6; 1:5].

а) в четных строках найти сумму элементов больших - 3, а в нечетных столбцах произведение положительных элементов.

б) переставить местами минимальный и максимальный элементы матрицы.

в) получить среднеарифметическое значение отрицательных элементов матрицы.

г) в четвертой строке заменить минимальный элемент на 0.

Вариант 9

Дан вектор В[1:25].

а) найти произведение элементов в диапазоне [-3,3] и сумму положительных элементов.

б) удалить минимальный элемент вектора.

в) заменить максимальный элемент вектора среднеарифметическим значением последних 15 элементов.

г) поменять местами максимальные элементы из первых 10 и последних десяти элементов вектора.

Вариант 10

Дан матрица А[1:3:1:3].

а) найти количество N положительных элементов в каждой строке.

б) найти сумму S отрицательных элементов в каждом столбце.

в) заменить минимальный элемент матрицы суммой предыдущих элементов.

г) определить номера минимальных элементов в третьем столбце и второй строке.

Вариант 11

Дан вектор В[1:20].

а) найти минимальный элемент вектора.

б) найти произведение Р ненулевых элементов.

в) вставить за min элементом произведение ненулевых элементов.

г) найти номер максимального из 10 последних элементов вектора.

Вариант 12

Дан вектор В[1:10].

а) найти минимальный и максимальный элементы вектора.

б) поменять местами максимальный и минимальный элементы.

в) получить сумму элементов между их номерами.

г) получить произведение отрицательных элементов.

Вариант 13

Дана матрица [1:3;1:5].

а) найти сумму S элементов >5 и произведение элементов <1

б) найти номера максимального элемента второй строки и третьего столбца.

в) переставить найденные максимальные элементы матрицы.

г) получить среднеарифметическое значение 3-го и 5-го столбцов.

Вариант 14

Дан вектор В[1:15].

а) найти сумму S элементов в диапазоне [-2 2].

б) найти произведение Р элементов в диапазоне [-3 3].

в) получить произведение min и max элементов вектора.

г) получить сумму элементов между max и min элементами вектора.

КОНТРОЛЬНЫЕ ВОПРОСЫ:

1. Способы объявления массивов в TURBO PASCAL.

2. Реализация приема «накопление» при работе с элементами массивов.

3. Порядок задания начальных значений при нахождении минимального или максимального элементов массива.

4. Способы перестановки элементов массива.

5. Порядок удаления элемента из массива.

6. Порядок вставки элемента в массив.

7. Принцип сортировки элементов массива по возрастанию или убыванию.

8. Порядок и смысл использования приема «флажок» в программировании.

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-04-27 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: