Лабораторная работа. "Обработка одномерных массивов (векторов)"




Скачать 44.58 Kb.
НазваниеЛабораторная работа. "Обработка одномерных массивов (векторов)"
Дата24.09.2012
Размер44.58 Kb.
ТипЛабораторная работа
Лабораторная работа.

"Обработка одномерных массивов (векторов)"


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


1. Краткие сведения из теории.

В языке Турбо Паскаль имеется так называемый структурированный тип данных, переменные которого состоят из нескольких элементов. К таким типам относят массивы, записи, множества и т. д.

Один из наиболее распространенных структурированных типов в языке программирования — массивы. Массив ( англ. "Array") объединяет элементы одного типа данных. Более формально массив можно определить как одномерную (многомерную) упорядоченную последовательность элементов некоторого типа, которые адресуются с помощью некоторого индекса. Размер массива в ТР7.0 ограничивается 64 килобайтами.

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

В ТР7.0 объявить массив можно двумя способами:

Var Имя_массива : Array [нач_индекс .. кон_индекс] of Тип_данных;

или

Type Имя_типа = Array [нач_индекс .. кон_индекс] of Тип_данных;

Var Имя_массива : Имя_типа;

Начальный и конечный индекс (нач_индекс, кон_индекс) массива должны быть простого порядкового типа (integer, byte, shortint, word, char). Тип_данных — тип элементов массива.

Например:

1) Var massiv : Array [1..5] of integer ;

или

Type MyMas = Array [1..5] of integer ;

Var massiv : MyMas ;

Объявлен одномерный массив (вектор) с именем massiv и размерностью в 5 элементов целого типа.

2) Var b : Array ['a'..'f'] of byte;

3) Var c : Array[4..16] of real;

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


2. Пример выполнения программы.

Задание. Создайте массив-вектор целых чисел  0

из 5 элементов. Подсчитать и вывести на экран

сумму элементов вектора и среднее арифметическое.

Оформите работу программы в виде блок-схемы.


Program sred_arifmet;

Const n=5;

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

i, sum:integer;

sred:real;

begin

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

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

sum:=0;

for i:=1 to n do sum:=sum+a[i];

sred:=sum/n;

writeln('Сумма элементов массива = ',sum);

writeln('Среднее арифметическое = ',sred:4:2);

end.


Блок-схема работы программы

представлена на рис. 1.


Рис. 1

3. Задание.

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


4. Варианты заданий.

  1. Найдите два минимальных элемента из заданного массива из 6 чисел.

  2. Вычислите наибольший отрицательный элемент массива.

  3. Определите минимальный из элементов массива, имеющих четные индексы.

  4. Запишите на место A(1) наибольший, а на место A(n) – наименьший элементы массива.

  5. Подсчет количества положительных элементов массива.

  6. Вычислите среднее арифметическое элементов массива, удовлетворяющих условию -5i<5 .

  7. Вычислите наименьший положительный элемент массива.

  8. Перепишите отрицательные элементы массива с четными индексами в массив Т, а с нечетными — в массив Р.

  9. Вычислите сумму элементов массива, лежащих внутри интервала [1, 10].

  10. Найдите отношение максимального из 5 заданных чисел к минимальному.

  11. Найдите первое из 6 заданных чисел, которое меньше произведения двух предыдущих.

  12. Упорядочить по убыванию массив, содержащий 20 целых чисел.

  13. В массиве из 15 чисел определить произведение элементов, кратных трем.

  14. В массиве из 20 чисел выполнить обратное присваивание (первый элемент становится равным последнему, второй — предпоследнему и т. д.).

  15. Записать в массив В элементы массива А, индексы которых кратны 4.

  16. Над элементами массива из 10 чисел произвести кольцевой сдвиг элементов вправо на 2 позиции.

  17. Упорядочить по возрастанию массив, содержащий 20 целых чисел.

  18. Элементы массива вещественных чисел находятся в интервале от -2 до 2. Требуется каждый третий элемент возвести в пятую степень.

  19. Над элементами массива из 10 чисел произвести кольцевой сдвиг элементов влево на 3 позиции.

  20. Заменить в массиве все положительные числа единицами, а отрицательные —нулями.

  21. Дан вектор из 20 целых трехзначных чисел. Вывести на экран индексы тех элементов массива, у которых сумма цифр больше 5.


5. Содержание отчета.

В отчете предоставить текст программы, блок-схему программы и протокол работы программы.


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

  1. Понятие массива-вектора.

  2. Правила объявления одномерного массива.

  3. Каковы ограничения памяти для массива и как эти ограничения могут повлиять на декларацию массива-вектора?

  4. Укажите ошибки (если они есть) в декларации массива:

  1. Var massiv : Array ['1'..'5'] of integer;

  2. Var massiv : Array [1.5 .. 5.5] of real;

  3. Var massiv : Array ['a'..'z'] of byte;

  4. Var massiv : Array [7...1] of integer;

  5. Var massiv : Array [-7..7] of integer;

  6. Var massiv : Array [1..1] of integer;

  1. Дан фрагмент программы:



var A,B:array[1..10]of real;

begin



A:=B;



Допустима ли такая операция в Паскале?

6) Какими способами можно объявить вектор в Паскале?

Похожие:

Лабораторная работа. \"Обработка одномерных массивов (векторов)\" iconЛабораторная работа №5 (7 неделя) Рекурсия
Цель: изучение рекурсивного способа описания алгоритмов и использование динамических одномерных массивов
Лабораторная работа. \"Обработка одномерных массивов (векторов)\" iconЛабораторная работа «Одномерные массивы»
Цели: формирование практических умений и навыков составления блок-схем и записи на языке программирования Паскаль алгоритмов заполнения,...
Лабораторная работа. \"Обработка одномерных массивов (векторов)\" iconЛабораторная работа №3 Обработка массивов
С помощью компонентов ListBox и StringGrid создайте приложения, обрабатывающие одномерный и двумерный массивы
Лабораторная работа. \"Обработка одномерных массивов (векторов)\" iconРоссийской Федерации Государственное образовательное учреждение высшего профессионального образования Ульяновский государственный технический университет
Изучение си после паскаля: циклы, развилки, функции, обработка одномерных массивов
Лабораторная работа. \"Обработка одномерных массивов (векторов)\" iconРеферат с элементами исследования на тему: «Алгоритмы сортировки одномерных массивов»
Сортировка применяется во всех без исключения областях программирования, будь то базы данных или математические программы
Лабораторная работа. \"Обработка одномерных массивов (векторов)\" iconЛабораторная работа 6 Двумерные массивы
Целью лабораторной работы является получение практических навыков в способах задании двумерных массивов
Лабораторная работа. \"Обработка одномерных массивов (векторов)\" iconЛабораторная работа №2 программирование обработки массивов
Дана матрица 5 Определить сумму положительных элементов каждой строки и поместить на место элементов главной диагонали
Лабораторная работа. \"Обработка одномерных массивов (векторов)\" iconЛабораторная работа №12 «Двумерные массивы»
Цели: формирование практических умений и навыков составления блок-схем и записи на языке программирования Паскаль алгоритмов заполнения,...
Лабораторная работа. \"Обработка одномерных массивов (векторов)\" icon14 Типы параметров-массивов
Разрешены три типа массивов: array, char и table. Тип array используется для задания чисел в удобной табличной форме. Примеры таких...
Лабораторная работа. \"Обработка одномерных массивов (векторов)\" iconЛабораторная работа №4 по дисциплине «Имитационное моделирование экономических процессов»
«Системы с разнородными потоками событий. Статистика очередей. Цикличная обработка»
Разместите кнопку на своём сайте:
Библиотека


База данных защищена авторским правом ©lib.znate.ru 2014
обратиться к администрации
Библиотека
Главная страница