Обработка массивов данных в среде Turbo Pascal - Программирование, компьютеры и кибернетика методичка

Обработка массивов данных в среде Turbo Pascal - Программирование, компьютеры и кибернетика методичка




































Главная

Программирование, компьютеры и кибернетика
Обработка массивов данных в среде Turbo Pascal

Разработка программ на языке Turbo Pascal на основе использования массивов данных. Особенности хранения данных, способы объявления переменных, действия над элементами массивов, их ввод и вывод. Практическое применение одномерных и многомерных массивов.


посмотреть текст работы


скачать работу можно здесь


полная информация о работе


весь список подобных работ


Нужна помощь с учёбой? Наши эксперты готовы помочь!
Нажимая на кнопку, вы соглашаетесь с
политикой обработки персональных данных

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Министерство образования Российской Федерации
УФИМСКИЙ ГОСУДАРСТВЕННЫЙ АВИАЦИОННЫЙ
Кафедра автоматизированных систем управления
ОБРАБОТКА МАССИВОВ ДАННЫХ В СРЕДЕ TURBO PASCAL
к лабораторному практикуму по курсу
Составители: Ю.Б. Головкин, Р.А. Ярцев
Обработка массивов данных в среде Turbo Pascal: Методические указания к лабораторному практикуму по курсу “Информатика и программирование”/ Уфимск. гос. авиац. техн. ун-т; Сост.: Ю.Б.Головкин, Р.А.Ярцев. -Уфа, 2007. - 14 с.
Представленный лабораторный практикум посвящен вопросам разработки программ на языке Turbo Pascal на основе использования массивов данных. Рассматриваются особенности хранения данных в массивах, способы объявления переменных, действия над элементами массивов, ввод и вывод массивов. Практическое применение одномерных и многомерных массивов иллюстрируется на примере написания двух программ на языке Turbo Pascal. В приложении приводятся варианты заданий на лабораторную работу.
Рецензенты: канд. техн. наук, доц. А.М.Сулейманова;
2.4. Действия над элементами массивов
2.6 Контроль ошибок при работе с массивами
Приложение. Варианты заданий на лабораторную работу
Целью настоящей работы является приобретение студентами умений и навыков работы с массивами данных в среде Turbo Pascal.
На практике, при функционировании автоматизированных систем управления, информационных систем, измерительных комплексов и др., возникает необходимость обрабатывать большое количество различной информации. Например, показания температуры воздуха окружающей среды, стоимость товаров, значения координат движущихся объектов, характеристики приборов и других технических устройств и т.д. Программное обеспечение таких систем должно обеспечивать обработку, хранение, ввод-вывод больших объемов всевозможных данных. Интегрированная среда Turbo Pascal позволяет эффективно разрабатывать, тестировать и отлаживать программы, связанные с обработкой массивов данных самой различной структуры.
В языке Pascal под массивом понимается упорядоченный набор фиксированного количества однотипных данных.
Массивы, наряду с записями, строками, множествами, относятся к структурированному типу данных языка. Массивы могут быть одномерные и многомерные. При этом размер массива не ограничивается. Размерность массивов на практике ограничивается лишь объемом рабочей памяти конкретного компьютера. В памяти компьютера элементы массива располагаются в последовательных соседних ячейках памяти.
Переменные массивов можно задавать двумя способами:
< имя типа > = ARRAY [тип индекса] OF < тип элементов >;
б) через объявление переменных в формате
< идентификатор >: ARRAY [тип индекса] OF < тип элементов >;
Элементы массива могут быть любого, в том числе и структурированного, типа. Следует отметить, что вещественный тип не относится к упорядоченным типам данных. В качестве типа индекса может использоваться любой порядковый тип, кроме типа Longint. Обычно в качестве индексного типа используется целочисленный тип-диапазон, в котором задаются границы изменения индексов.
V1, V2: Y; { вещественные массивы }
L1, L2: ARRAY [1.. 20 ] OF Z; { массивы записей }
K: ARRAY [ BYTE ] OF CHAR; { массив символов }
R: ARRAY [ 1.. 5 ] OF STRING [25]; { массив строк }
T: ARRAY [-10.. 9] OF BYTE; { массив целых чисел }
S: ARRAY [ BOOLEAN ] OF REAL; { вещественный массив }
F: ARRAY [ GREEN, RED, BLUE ] OF INTEGER; { целый массив с перечислимым типом-индексом}
G: ARRAY [ 1.. N ] OF (MO, TU, WE, TH, FR, SA, SU );
Типизированная константа-массив объявляется в программе следующим образом:
A: ARRAY [1.. 5] OF INTEGER = ( 1, 2, 3, 4, 5 );
B: ARRAY [1.. 4] OF REAL = ( 1.1, 2.2, 3.3, 4.4 );
Элементами массивов могут быть также массивы. В этом случае мы имеем двухмерный массив ( матрицу ).
Двухмерные массивы задаются в программе следующим образом:
< имя типа > = ARRAY [тип индекса 1] OF ARRAY [тип индекса 2] OF < тип элементов >;
< имя типа > = ARRAY [ тип индекса 1, тип индекса 2 ] OF <тип элементов>;
Обе формы описания равносильны, но вторая употребляется чаще.
б) через объявление переменных в формате
< идентификатор >: ARRAY [тип индекса 1, тип индекса 2] OF < тип элементов >;
Необходимо отметить, что индексы не обязательно должны иметь один и тот же тип. В общем случае индексы по каждому измерению могут быть разных типов как, например, в следующем фрагменте раздела описаний.
Примеры объявления двухмерных массивов:
A = ARRAY [ 1.. N, 1.. M ] OF WORD;
B = ARRAY [ 1.. 10, 1.. 20 ] OF REAL;
C: ARRAY [ 1.. N, BOOLEAN ] OF -20.. 20;
Типизированная константа-матрица объявляется в программе следующим образом:
M: ARRAY [1.. 3, 1.. 2] OF INTEGER = ((1, 2), (3, 4), (5, 6));
Массивы могут быть не только одномерными или двухмерными, но и 3-х, 4-х и n-мерными. В этом случае они описываются в программе следующим образом:
M: ARRAY [ 1.. 10, -10.. 9, CHAR ] OF BYTE;
N: ARRAY [ 1.. 5, 1.. 10, 1.. 15, 1.. 20 ] OF SHORTINT;
В памяти компьютера элементы размещаются друг за другом так, что при переходе от младших адресов к старшим наиболее быстро изменяется самый правый индекс массива. Например, для матрицы 2х2: A[1,1], A[1,2], A[2,1], A[2,2].
2.4 Действия над элементами массивов
Для обеспечения эффективной работы с отдельными элементами необходимо прежде всего обеспечить правильный доступ к элементам массива. Доступ (обращение) к отдельным элементам массива осуществляется путем указания имени переменной массива, за которым в квадратных скобках помещается значение индекса (порядкового номера) элемента.
M [x] - косвенно через переменную x;
M [y+5] - косвенно через выражение;
M [Succ(i)] - косвенно через значение функции.
Всем элементам одного массива можно присвоить значения элементов другого массива с помощью одного оператора присваивания, в том случае, когда массивы имеют идентичный тип. Так, если заданы следующие массивы:
то допустим следующий оператор присваивания:
так как массивы X и Z не идентичных типов.
В Паскале над массивами не определены операции отношения. Сравнивать массивы можно только поэлементно. К отдельным элементам массива можно применять стандартные процедуры и функции, предусмотренные в языке. Перечень допустимых стандартных подпрограмм зависит от типа элементов массива.
Ввод и вывод элементов массивов происходит поэлементно. Значения элементам массива можно присвоить с помощью оператора присваивания или путем считывания из файла, но на практике они чаще всего вводятся с клавиатуры или с помощью генератора случайных чисел. Последний способ целесообразно использовать тогда, когда количество элементов массива достаточно велико.
FOR I: = 1 TO N DO READ ( M [I] );
б) ввод с помощью генератора случайных чисел
RANDOMIZE; { инициализация генератора случайных чисел }
FOR I: = 1 TO N DO M [I]: = - 25 + RANDOM (D);
Стандартная функция Random формирует случайное целое число из диапазона от 0 до D-1. При этом i-му элементу массива будет присвоена сумма выбранного случайного числа и -25. Таким образом, массив будет заполняться целыми случайными числами от -25 до -25 + (D-1). Например, если выбрать D равным 51, то массив будет заполняться случайными числами от -25 до +25.
Вывод одномерных массивов происходит аналогичным образом, например:
FOR I: = 1 TO N DO WRITELN ( M [I] );
Ввод двумерных массивов (матриц) производится с помощью вложенного оператора FOR:
Вывод значений элементов двухмерных массивов производится аналогичным образом с использованием операторов вывода WRITE или WRITELN:
Таким же образом, поэлементно, происходит ввод и вывод многомерных массивов.
2.6 Контроль ошибок при работе с массивами
Самой распространенной ошибкой при работе с массивами является выход индексов за допустимые диапазоны. Для исключения таких ошибок в среде Turbo Pascal предусмотрена директива компилятора {R}. При указании в программе директивы {$R+} все массивы проверяются на предмет нахождения их внутри указанных границ. Если обнаруживается нарушение диапазона, программа завершает свою работу, выводя сообщение об ошибке выполнения. Если директива не используется (этот режим принят по умолчанию), выход индекса за пределы допустимого диапазона не приведет к прекращению работы программы. Но при обращении к ''несуществующему'' элементу массива даст неопределенный результат, что может сделать ход дальнейшего выполнения программы непредсказуемым.
Следует заметить, что применение директивы {R+} несколько замедляет выполнение программы и увеличивает ее размер. Поэтому рекомендуется использовать эту директиву при отладке, а затем ее удалить из текста программы.
В качестве примера рассмотрим решение двух задач с одномерным и двухмерным массивами.
Пример 1. Создать одномерный вещественный массив из 25 элементов. Определить максимальный и минимальный элементы массива и поменять их местами. Полученный результат вывести на экран.
Текст программы на языке Turbo Pascal:
M: ARRAY [1.. 25] OF REAL; { Вещественный массив }
I, K, N: INTEGER; { Вспомогательные переменные }
{ Ввод вещественного массива из 25 элементов }
FOR I: = 1 TO 25 DO READ ( M [I] );
{ Переменным MAX и MIN присваиваем значение первого элемента массива }
{ Определяем максимальный и минимальный элементы массива и их индексы}
{ Меняем местами максимальный и минимальный элементы }
{ Вывод полученного массива на экран }
FOR I: = 1 TO 25 DO WRITELN ( M[I] );
Пример 2. Создать целочисленную матрицу А 10х8. Сформировать одномерный массив В, который содержит суммы положительных элементов каждой строки матрицы А и вывести его на экран.
Текст программы на языке Turbo Pascal:
A: ARRAY [1.. 10, 1.. 8] OF INTEGER;
{ Ввод целочисленной матрицы А 10х8 }
{ Вычисление суммы положительных элементов каждой строки матрицы А и формирование массива В }
IF A [ I, J ] > 0 THEN S: = S + A [ I, J ];
{ Вывод сформированного массива В на экран }
FOR I: = 1 TO 10 DO WRITELN ( B [ I ] );
а) повторить правила техники безопасности при работе с вы-числительной техникой;
б) изучить раздел “Массивы” лекционного курса, а также тео-ретическую часть настоящих методических указаний;
в) получить у преподавателя вариант задания (образцы зада-ний приведены в приложении);
г) в соответствии с заданием написать программу на языке Turbo Pascal;
д) ввести программу в компьютер, отладить и результаты вы-полнения показать преподавателю;
е) в соответствии с требованиями, приведенными в разделе 5, оформить отчет по лабораторной работе;
ж) защитить лабораторную работу, продемонстрировав препо-давателю:
2) умение решать аналогичные задачи;
3) теоретические знания из раздела “Массивы”.
При подготовке к защите для самопроверки рекомендуется ответить на контрольные вопросы, приведенные в разделе 6.
Отчет по лабораторной работе должен содержать:
в) текст программы на языке Turbo Pascal.
2. Какими способами можно описать массивы?
3. Какой максимальный размер может иметь массив?
4. Как происходит доступ к отдельным элементам массива?
5. Могут ли быть многомерные массивы?
6. Какие могут быть типы элементов массивов?
7. Какие могут быть типы индексов массивов?
8. Можно ли всем элементам одного массива присвоить значения элементов другого массива?
9. Как происходит ввод-вывод одномерных и многомерных массивов?
10. Какие действия можно производить с отдельными элементами массивов?
11. Чем отличаются массивы данных от записей?
12. Чем отличаются массивы от других структурированных типов данных?
13. Как задается типизированная константа-массив?
14. Как хранятся массивы в памяти компьютера?
1. Фаронов В.В. Turbo Pascal 7.0. - М.: Нолидж, 2007. - 616 с.
2. Мануйлов В.Г. Разработка программного обеспечения на Паскале. - М.: ПРИОР, 1996. - 238 с.
3. Марченко А.И., Марченко Л.А. Программирование в среде Turbo Pascal 7.0. - К.: ЮНИОР, 1997. - 496 с.
4. Зуев Е.А. Практическое программирование. - М.: ПРИОР, 2005. - 336 с.
5. Епанешников А.М., Епанешников В.А. Программирование в среде Turbo Pascal 7.0. - М.: ДИАЛОГ-МИФИ, 2006. - 288 с.
ВАРИАНТЫ ЗАДАНИЙ НА ЛАБОРАТОРНУЮ РАБОТУ
1. Создать одномерный целочисленный массив. Упорядочить
2. Сформировать вещественную матрицу 4х6. Вычислить сумму и количество положительных элементов каждого столбца матрицы.
3. Найти произведение двух целочисленных матриц 3х3.
4. Вычислить У = (М1 + М2) / 2, где
М1 - максимальный элемент одномерного целочисленного массива из 10 элементов;
М2 - минимальный элемент одномерного целочисленного массива из 15 элементов.
1. Создать одномерный вещественный массив. Определить количество отрицательных элементов массива.
2. Сформировать целочисленную матрицу 3х4. Найти максимальный элемент в каждой строке матрицы и выбрать наибольший из них.
3. Найти сумму двух вещественных матриц 5х5.
В - произведение отрицательных элементов главной диагонали целочисленной матрицы 3х5;
C - сумма положительных элементов главной диагонали целочисленной матрицы 4х4.
1. Создать символьный массив данных. Подсчитать количество вхождений в массив буквы А.
2. Сформировать вещественную матрицу 5х5. Упорядочить по возрастанию элементов каждой строки матрицы.
3. Ввести одномерный целочисленный массив. Найти, сколько в нем пар одинаковых соседних элементов.
4. Вычислить У = (S1 + S2) / (K1 + K2), где
S1,K1 - сумма и количество положительных элементов одномерного целочисленного массива из 15 элементов;
S2,K2 - сумма и количество отрицательных элементов вещественной матрицы 4х6.
1. Создать одномерный целочисленный массив, заполненный случайным образом. Найти среднее арифметическое элементов массива.
2. Сформировать вещественную матрицу 5х5. Вычислить про-изведение отрицательных элементов, находящихся над и под главной диагональю матрицы.
3. Создать целочисленную матрицу 4х5. Сформировать одно-мерный массив, который содержит отрицательные элементы созданной матрицы.
4. Ввести одномерный вещественный массив из 20 элементов. Упорядочить массив по убыванию элементов.
1. Создать одномерный вещественный массив. Определить максимальный элемент массива и его порядковый номер.
2. Вычислить у = x1 - x2 + x3 -...- x(n-1) + x(n).
3. Сформировать матрицу 5х5, состоящую из латинских букв. Отсортировать каждую строку матрицы в алфавитном порядке.
4. Ввести матрицу NхM, состоящую из вещественных чисел. Упорядочить матрицу по возрастанию элементов второго столбца.
1. Создать символьный массив данных. Заменить все символы А массива на символы В.
2. Вычислить y = x(1)x(n) + x(2)x(n-1) +...+ x(n)x(1).
3. Оттранспонировать целочисленную матрицу 4х4.
4. Переписать подряд в массив B положительные и в массив C отрицательные элементы массива A.
1. Создать одномерный целочисленный массив. Найти сумму отрицательных элементов массива и произведение положительных.
2. Сформировать одномерный вещественный массив. Распеча-тать его в обратном порядке.
3. Создать матрицу NхN, состоящую из букв латинского алфа-вита. Подсчитать количество гласных букв.
4. Ввести матрицу NхN, состоящую из целых чисел. Зеркально отразить ее элементы относительно главной диагонали. Вывести результат на экран.
1. Создать одномерный вещественный массив. Найти разность между максимальным и минимальным элементами массива.
2. Вычислить сумму квадратов нечетных элементов целочисленного массива из 20 элементов.
3. Ввести матрицу NхM, состоящую из вещественных чисел. Сформировать одномерный массив, который содержит только положительные элементы матрицы и вывести его на экран.
4. Сформировать матрицу NхN, состоящую из целых чисел. Повернуть ее на 90 градусов по часовой стрелке и вывести результат на экран.
1. Сформировать одномерный целочисленный массив. Определить, есть ли в данном массиве положительные элементы, кратные k.
2. Создать одномерный вещественный массив. Определить число положительных, отрицательных и нулевых элементов массива.
3. Ввести целочисленную квадратную матрицу NхN. Найти максимум среди сумм элементов диагоналей, параллельных побочной диагонали.
4. Ввести с клавиатуры двухмерный массив размерностью 4х6, заполненный целыми числами. Сформировать одномерный массив, каждый элемент которого равен количеству элементов соответствующей строки, больших заданного числа n.
Характеристика вычислительной системы и инструментов разработки. Программирование на языке Pascal в среде Turbo Pascal и на языке Object Pascal в среде Delphi. Использование процедур, функций, массивов, бинарного поиска. Создание базы данных в виде файла. отчет по практике [2,1 M], добавлен 02.05.2014
Работа с массивами, их ввод и вывод, организация программ циклической структуры. Способы описания и использования массивов, алгоритмы их сортировки, сортировка выбором и вставками. Алгоритмы поиска элемента в неупорядоченном и упорядоченном массивах. лабораторная работа [14,2 K], добавлен 03.10.2010
Ознакомление с основными понятиями и организацией ввода-вывода, обработкой массивов. Описание одномерных и двумерных массивов. Описание строк и операции с ними. Комбинированный тип данных - записи. Характеристика записей, использующих вариантную часть. реферат [84,6 K], добавлен 09.02.2011
Понятие массива и правила описания массивов в программах на языке С. Рассмотрение основных алгоритмов обработки одномерных массивов. Примеры программ на языке С для всех рассмотренных алгоритмов. Примеры решения задач по обработке одномерных массивов. учебное пособие [1,1 M], добавлен 22.02.2011
Разработка эскизного и технического проектов программы "Helpopr" (ввод, хранение и вывод данных на дисплей по запросу пользователя). Язык программирования Turbo Pascal. Описание алгоритма программы. Требования к компьютеру и программному обеспечению. курсовая работа [198,1 K], добавлен 03.02.2010
Реализация различных методов сортировки. Алгоритмические языки программирования. Обработка большого числа единообразно организованных данных. Алгоритмы сортировки массивов. Анализ проблем реализации и использования различных видов сортировок массивов. курсовая работа [640,3 K], добавлен 07.07.2011
При помощи Turbo Pascal достаточно не просто создать программу, которая бы демонстрировала работу с базами данных. Для этого существует огромное количество специализированных программ. Основа и сущность формирования базы данных при помощи Turbo Pascal. курсовая работа [479,7 K], добавлен 04.07.2008
Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д. PPT, PPTX и PDF-файлы представлены только в архивах. Рекомендуем скачать работу .

© 2000 — 2021



Обработка массивов данных в среде Turbo Pascal методичка. Программирование, компьютеры и кибернетика.
Реферат: Астафьев Виктор Петрович. Скачать бесплатно и без регистрации
Реферат по теме Творческое исследовательское задание
Дипломная работа: Психологические и социальные факторы, влияющие на формирование делинквентного поведения у подростков в современных условиях
Поиск, накопление и обработка научной информации
Требования Вак Рб К Оформлению Диссертации
Реферат по теме Функциональное подразделение для описания - производство (телевидение, реклама). Функциональное подразделение для аудита - производство АВК (дизайн и упаковка)
Дипломная работа: Рынок банковских услуг и его развитие в Казахстане
Практическое задание по теме Моделирование аналоговых схем
Правила Оформления Протокола Исследований Практической Работы
Черты Классицизма В Недоросле Сочинение
Контрольная работа по теме Рынок ценных бумаг и понятие облигации
Курсовая работа по теме Развитие основных направлений работы с человеческими ресурсами
Реферат по теме Теория Ч. Дарвина
Реферат по теме Основные тенденции развития отечественной культуры XX века. Архитектура
Сочинение Мое Любимое Блюдо Вареники
Моя Первая Встреча С Пушкиным Сочинение
Темы Курсовых По Дошкольной
Эссе По Повести Первый Учитель Айтматова
Итоговая Контрольная Работа По Математике 10 Класс
Дипломная работа: Оборотные средства в сфере деятельности предприятия. Скачать бесплатно и без регистрации
Романа-германскія запазычанні ў сучаснай беларускай мове: тэарэтычныя і лінгваметадычныя аспекты - Иностранные языки и языкознание курсовая работа
Диалог прошлого и будущего в судьбах героев романа "Бильярд в половине десятого" Г. Бёлля - Литература курсовая работа
Технология жидких лекарственных форм на примере изготовления растворов Люголя - Медицина курсовая работа


Report Page