Главная
страница 1
Лабораторная работа №6

ОБРАБОТКА ОДНОМЕРНЫХ МАССИВОВ
Цель работы:

Изучить принципы работы с одномерными массивами.


Общие сведения:

Массив - это упорядоченная совокупность конечного числа данных одного типа. Простейшим примером массива может служить линейная таблица. Значения, образующие линейную таблицу, являются элементами массива, а их порядковые номера в таблице называются индексами. Индекс определяет положение элемента массива относительно его начала.


Общая форма описания переменной:

Var <имя>: Array |<тип-индексов>| of<тип-элементов>

Пример


Var f :array[1..10] of integer;

mas:array[0..100] of char;

asd:array[1..20] of byte;
Чтобы обратиться к элементу массива, надо указать имя массива и номер элемента в массиве (индекс)

f[1]:=0;

индекс задается как константа

mas[100]:='a';

индекс задается как константа

s[i]

индекс задается как переменная

w[4*p].

индекс задается как выражение

Задачи по программированию с использованием массивов решаются, как правило, по следующему алгоритму:



  1. объявление массива

  2. генерация или инициализация

  3. обработка значений элементов

  4. вывод.

При этом, если в процессе обработки значения элементов массива изменяются, то вывод осуществляется дважды: до и после обработки.

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

В большинстве задач с использованием массивов целесообразно выполнять генерацию массивов – автоматическое формирование значений элементов. Генерацию массива (массивов) в программе оформляют в виде отдельной функции. Стандартными способами генерация массивов являются:


  • ввод данных с клавиатуры,

  • формирование значений через генератор случайных чисел,

  • вычисление значений по формуле,

  • ввод данных из файла.

Пример №1

Заполнить вручную одномерный массив. Найти минимальный элемент в массиве:



pict39

  program min;
   const n=10;
   var i: byte;
      a: array [1..n] of real;
      min: real;
   begin
      for i:=1 to n do read (A[i]);
      min:=A[1];
      for i:=1 to n do
         if min>A[i] then min:=A[i];
      write (min);
   end.



Пример №2

Заполнить одномерный массив, если очередной элемент массива равен разности квадратов двух предыдущих элементов, т.е. a[i]=sqr(a[i-1])-sqr(a[i-2])


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

i: byte;


begin

a[1]:=2; {т.к. у нас формула a[i]=sqr(a[i-1]) - sqr(s[i-2]), то понятно, что 1-й и 2-й элементы не будут иметь двух предыдущих элементов, и поэтому мы их заполним с помощью оператора присваивания}

a[2]:=3;

write(a[1],' ',a[2],' ');

for i:=3 to 10 do

begin


a[i]:=sqr(a[i-1]) - sqr(a[i-2]);

write(a[i],' ');

end;

end.
Пример №3



Заполнить одномерный массив случайными символами с помощью генератора в диапазоне 'A'..'Z'

Randomize;

for i := 1 to 500 do

Mas[i] := Chr(Ord('A') + Random(26));

WriteLn('Исходный массив : ');

for i := 1 to 500 do

Write(Mas[i]);

WriteLn;
Порядок выполнения работы:



  1. Изучить описание лабораторной работы.

  2. Разобрать примеры программ

  3. Решить задачу по индивидуальному варианту. Обязателен вывод на экран исходного массива и результата.

  4. Продемонстрировать результаты выполнения работы преподавателю.

Варианты заданий:



Алешин

Заполнить массив из пятнадцати элементов случайным образом вещественными значениями х (-50 < х < 50); Составить программу расчета квадратного корня из любого элемента массива по введенному индексу;



Аргентов

Заполнить массив из десяти элементов следующими значениями: первый элемент массива = -37, второй = 0, третий = 50, четвертый = - 46, пятый = 34, шестой = - 46, седьмой = 0, восьмой = 13, девятый = - 13, десятый = 11. Выяснить является ли s-й элемент массива положительным числом;



Ахмадиев

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



Бабкин

Заполнить массив из десяти элементов случайным образом целыми значениями, лежащими в диапазоне от -10 до 10 включительно. Определить является ли k-й элемент массива четным числом;



Болотнов

Массив предназначен для хранения значений ростов двенадцати человек. С помощью счетчика случайных чисел заполнить массив целыми значениями, лежащими в диапазоне от 163 до 190 включительно. Все его элементы уменьшить на число А, определяемое пользователем, и вывести новый массив на экран;



Борисов

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



Гостев

Заполнить массив двадцатью первыми простыми числами (простым называется натуральное число, большее 1, не имеющее других делителей, кроме единицы и самого себя) и находящимися в интервале, левая граница которого равна 7. Определить сумму элементов массива с А1-го по А2-й (А1 и А2 определяет пользователь);



Гусарков

Заполнить массив из двенадцати элементов следующим образом:

1

2



12

Все его элементы умножить на последний элемент и вывести новый массив на экран;



Дрюпина

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



Елистратова

Заполнить массив из восьми элементов таким образом, чтобы значения элементов при просмотре массива слева направо образовывали убывающую последовательность. Нечетные элементы уменьшить на m, а элементы с четными номерами увеличить на п (m и n определяет пользователь). Вывести новый массив на экран;



Казаков

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



Каштанов

Заполнить массив из двадцати элементов следующим образом:

20

19



1

Вывести 2-й массив, заполненный всеми четными элементами 1-го массива;



Кичигин

Заполнить массив из пятнадцати элементов случайным образом вещественными значениями х (-25 < х < 25); Определить сумму квадратов всех элементов массива;



Крайнова

Массив предназначен для хранения значений веса двадцати человек. С помощью генератора случайных чисел заполнить массив целыми значениями, лежащими в диапазоне от 50 до 80 включительно. Все его элементы увеличить на число b (число b определяет пользователь);



Култышев

Заполнить массив двадцатью первыми натуральными числами, делящимися нацело на 13 или на 17 и находящимися в интервале, левая граница которого равна 100. Определить сумму шести первых элементов массива;



Курочкин

Заполнить массив из пятнадцати элементов случайным образом целыми значениями, лежащими в диапазоне от 0 до 100 включительно. Напечатать все элементы массива, являющиеся однозначными числами;



Лисовцев

Заполнить массив пятнадцатью первыми простыми числами (простым называется натуральное число, большее 1, не имеющее других делителей, кроме единицы и самого себя). Верно ли, что сумма чисел стоящих на четных местах больше суммы чисел, стоящих на нечетных местах?



Малов

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



Немов

Массив предназначен для хранения школьных оценок двадцати человек. С помощью счетчика случайных чисел заполнить массив целыми значениями, лежащими в диапазоне от 2 до 5 включительно. Определить среднее арифметическое всех элементов массива;



Попов

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



Сайгушева

Используя счетчик случайных чисел, заполнить массив из двадцати элементов неповторяющимися числами от -50 до 50. Вывести на экран сначала его неотрицательные элементы, затем отрицательные;



Салдушкин

Заполнить массив случайными числами в диапазоне от -100 до 100. Выяснить, верно ли, что сумма элементов массива есть неотрицательное число;



Сафиуллин

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



Семагина

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



Сергеева

В массиве хранится информация о количестве осадков, выпавших каждый день января. Определить, в какие числа месяца осадков не было;



Тантай

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



Столяров

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



Тарасова

Дан массив целых чисел (массив заполняется вручную с клавиатуры, либо с помощью генератора случайных чисел). Выяснить верно ли, что сумма элементов массива есть четное число;



Хусаинова

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


Смотрите также:
Лабораторная работа №7 обработка двумерных массивов цель работы: Изучить принципы работы с двумерными массивами. Общие сведения
76.78kb.
1 стр.
Лабораторная работа №6 обработка одномерных массивов цель работы: Изучить принципы работы с одномерными массивами. Общие сведения
97.36kb.
1 стр.
Лабораторная работа № Типовые алгоритмы обработки одномерных массивов
57.54kb.
1 стр.
Лабораторная работа №12 процедуры и функции цель работы: Изучить принципы работы с процедурами и функциями Общие сведения
66.1kb.
1 стр.
Лабораторная работа. Системный реестр Windows
74.22kb.
1 стр.
Лабораторная работа Использование стандартных компонентов в C++ Builder
87.05kb.
1 стр.
Лабораторная работа №2 «Система безопасности Windows xp» Цель работы: Изучить систему безопасности Windows xp описание работы
58.41kb.
1 стр.
Общие принципы работы с матрицами в системе matlab лабораторная работа №3
149.49kb.
1 стр.
Лабораторная работа №2 Металлографический микроскоп мим 7
86.05kb.
1 стр.
Лабораторная работа №7 изучение прокаливаемости конструкционной стали
62.38kb.
1 стр.
Лабораторная работа 3 изучение принципа действия сцинтилляционного детектора
179.04kb.
1 стр.
Лабораторная работа №6 Страничное распределение памяти
144.49kb.
1 стр.