Лабораторная работа №4. Разработка программ с использованием одномерных массивов (2 часа)




Цель работы: приобретение навыков программирования при решении задач с использованием структур данных типа массив, научиться правильно описывать одномерные массивы, графически описывать алгоритмы обработки одномерных массивов, то есть строить блок-схемы, приобрести навыки программирования с переменными типа указатель. Перед выполнением работы необходимо изучить правила описания и использования переменных типа массив и указатель.

 

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

1. Дайте определение массива.

2. Какие типы недопустимы для компонентов массива? Почему?

3. В каком разделе программы надо написать описание данных?

4. Как определяется общее число элементов массива?

5. Что такое индекс? Какие типы данных используется в качестве индекса?

6. Какой массив называется одномерным?

7. Существует ли ограничения на размерность массива?

 

Задачи:

1. Дан вектор . Упорядочить компоненты вектора так, чтобы сначала размещались все отрицательные компоненты, а затем положительные.

2. Найти среднее арифметическое элементов массива , предшествующих первому отрицательному элементу .

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

4. Ввести массив . Подсчитать количество всех чисел, расположенных в промежутке [-1,1] и сумму всех остальных.

5. Дан массив . Создать новый массив элементы которого вычисляются следующим образом: .

6. Имеется функция, заданная таблицей на отрезке [ ]. Для произвольного аргумента , вычислить соответствующее значение , воспользовавшись формулой линейной интерполяции , где .

7. Дан массив . В элемент , содержащий наименьшее значение, записать среднее арифметическое значение элементов массива.

8. В массиве подсчитать количество нулевых элементов k и вычислить k!.

9. Дан массив . Все элементы, стоящие после , имеющего наибольшее значение, заменить нулями.

10. Дан массив . Вычислить сумму .

11. Дан массив . Найти произведение всех элементов, значения которых меньше 50, и сложить его с произведением элементов больших 100.

12. Даны два массива и . На место массива X записать массив Y, а на место массива Y – массив X.

13. Написать программу, которая проверяет, представляют ли элементы введенного с клавиатуры массива неубывающую последовательность.

14. Написать программу, которая определяет количество студентов в группе, чей рост превышает средний.

15. Даны целые числа . Если в данной последовательности ни одно четное число не расположено после нечетного, то получить все отрицательные члены последовательности, иначе – все положительные.

16. Даны действительные числа . Оставить без изменения последовательность , если она упорядочена по не убыванию или не возрастанию; в противном случае удалить из последовательности те члены, порядковые номера которых кратны четырем, сохранив прежним порядок остальных членов.

17. Даны действительные числа . Выяснить, имеются ли среди чисел совпадающие, и если есть, то определить их количество и порядковые номера.

18. Даны вектора и . Получить вектор с, компонентами которого являются . Найти минимальный и максимальный элемент вектора c и их порядковые номера.

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

20. Даны целые числа . Найти три натуральных числа i, j, k, каждое из которых не превосходить десяти, такие что . Если таких чисел нет, то сообщить об этом.

 

Литературы:

Основная литература:

1. Абрамов В.Г., Трифонов Н.П., Трифонова Г.Н. Введение в язык Паскаль. - М.: Наука, 1988. - 320 с.

2. Абрамов С.А., Зима Е.В. Начала программирования на языке Паскаль. - М.: Наука, 1987. - 112 с.

3. Вирт Н. Алгоритмы и структуры данных./Пер. с англ. М.: Мир, 1989. - 360 с.

4. Грогоно П. Программирование на языке Паскаль. - М.: Мир, 1982. - 382 с.

5. Дантеманн Дж., Мишел Дж., Тейлор Д. Программирование в среде Delphi: Пер. с англ. - Киев: НИПФ “ДиаСофтЛтд.”, 1995. - 608 с.

6. Епанешников, Фолкнер Д.Р. Delphi: Пер.с англ.- М.: БИНОМ, 1995. - 464 с.

7. Орлик С.В. Секреты Delphi на примерах: - М.: БИНОМ. - 316 с.

Дополнительная литература:

1. Перминов О.Н. Программирование на языке Паскаль. М.: Радио и связь, 1988. 224 с.

2. Пильшиков В.Н. Сборник упражнений по языку Паскаль: Учеб. пособие для вузов. - М.: Наука, 1989. - 160 с.

3. Прайс Д. Программирование на языке Паскаль: Практ. руководство. - М.: Мир, 1987. - 232 с.

4. Рубенкинг Н. Турбо Паскаль для Windows: В 2 т.; Пер. с англ. - М.: Мир, 1993. 536 с.

5. Фаронов В.В. Турбо Паскаль. В 3-х книгах. Книга 1. Основы Турбо Паскаля. - М.: Учеб.-инж.центр МВТУ-ФЕСТО ДИДАКТИК, 1992. - 304 с.

 

Методические указания:

Массивы являются представителями структурированных типов данных, то есть таких, переменные которых составлены из более простых элементов согласно определённому порядку. Для массивов характерно то, что они являются совокупностью некоторого числа одинаковых элементов. В простейшем случае эти элементы могут быть занумерованы натуральными числами из некоторого диапазона. Рассмотрим пример такой переменной в Турбо Паскале:

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

Переменная a состоит из десяти ячеек типа real, можно записывать и извлекать значения из них, пользуясь записью a[< номер ячейки >].

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

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

Описание одномерных массивов:

Type тип=array[1..n] of тип элементов;

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

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

Решение одного варианта: В массиве X() (n=20) определить максимальный по значению элемент и напечатать значения этого элемента.

        program max; type mas=array[1..20]of integer; var A: mas; i: byte; max: integer; begin {блок заполнения} for i: =1 to 20 do readln (A[i]); {поиск максимального элемента} max:=A[1]; for I:=2 to 20 do if A[i]>max then max:=A[i]; write(‘макс.элемент=’,max); end.  

Решение задачи:

 

 



Поделиться:




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

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


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