История развития хранилищ для нефти: Первые склады нефти появились в XVII веке. Они представляли собой землянные ямы-амбара глубиной 4…5 м...
Механическое удерживание земляных масс: Механическое удерживание земляных масс на склоне обеспечивают контрфорсными сооружениями различных конструкций...
Топ:
Когда производится ограждение поезда, остановившегося на перегоне: Во всех случаях немедленно должно быть ограждено место препятствия для движения поездов на смежном пути двухпутного...
Оценка эффективности инструментов коммуникационной политики: Внешние коммуникации - обмен информацией между организацией и её внешней средой...
Марксистская теория происхождения государства: По мнению Маркса и Энгельса, в основе развития общества, происходящих в нем изменений лежит...
Интересное:
Принципы управления денежными потоками: одним из методов контроля за состоянием денежной наличности является...
Лечение прогрессирующих форм рака: Одним из наиболее важных достижений экспериментальной химиотерапии опухолей, начатой в 60-х и реализованной в 70-х годах, является...
Что нужно делать при лейкемии: Прежде всего, необходимо выяснить, не страдаете ли вы каким-либо душевным недугом...
Дисциплины:
2023-01-16 | 20 |
5.00
из
|
Заказать работу |
|
|
ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ
ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ
ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ
«ДОНСКОЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ»
Колледж экономики, управления и права
методические рекомендации
для УЧЕБНОЙ практиКИ студентов
по дисциплине «Основы алгоритмизации и программирования»
Специальность
ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ВЫЧИСЛИТЕЛЬНОЙ ТЕХНИКИ И АВТОМАТИЗИРОВАННЫХ СИСТЕМ
Автор-составитель Шинакова С.В.
Ростов-на-Дону 2010
Рассмотрены на заседании Ц(П)К специальности 230105.51 Программное обеспечение вычислительной техники и автоматизированных систем
«06» апреля 2010 г. Протокол № 9
Председатель Ц(П)К _____________ Шинакова С.В.
Практическая работа
Тема «Работа с массивами»
Цель работы
Изучить принципы работы с одно- и двумерными массивами на языке Pascal.
Задачи работы
Научиться основным алгоритмам решения задач с использованием массивов на языке Pascal.
Порядок выполнения работы
3.1 В среде программирования Turbo Pascal составить и отладить программу решения следующей задачи тему «Одномерные массивы»:
Задан массив из 8 действительных чисел вида а1, а2, а3,…, а8. Вывести на экран в одну строку все элементы массива и выполнить задание в соответствии с указанным вариантом приложения А.
3.2 Получить численные результаты и провести их анализ.
3.3 Составить и отладить программу решения следующей задачи на тему «Двумерные массивы»:
Задан целочисленный двумерный массив размера 3х4. Вывести на экран массив в виде матрицы, состоящей из трех строк и четырех столбцов, и выполнить задание в соответствии с указанным вариантом приложения В.
|
3.4 Выполнить приложение С.
3.5. Для заданий приложений А, В, С произвести сортировку методами обмена (пузырька), вставками и включением для каждой задачи соответственно.
3.6 Проанализировать полученные результаты.
3.7 Составить отчет о проделанной работе.
Отчет о проделанной работе должен содержать
- название и цель работы;
- номер и условие своего варианта;
- тексты программ;
- полученные численные результаты;
- анализ численных результатов;
- ответы на контрольные вопросы пункта 7.
Теоретические положения
Общие сведения о массивах
Массивом называется совокупность элементов одинакового типа. Число элементов в массиве называется размерностью массива; каждый элемент массива задается своим порядковым номером в массиве – так называемым индексом.
Примером массива может являться список фамилий студентов одной группы, где каждый студент однозначно определяется своим порядковым номером в списке (индексом в массиве).
Для создания типа массивов в языке Pascal используются служебные слова TYPE и ARRAY, позволяющие создать пользовательский тип данных «Массив». Каждому типу массивов присваивается собственное имя; элементы, относящиеся к данному массиву, описываются в операторе VAR как переменные его типа.
Ввод и вывод элементов массива осуществляется в циклах. Индексы элементов массивов записываются в квадратных скобках.
Одномерные массивы
Массивы, элементы которых однозначно определяются одним индексом, называются одномерными. В виде одномерного массива можно представить, например, урожайности различных полей одного хозяйства, где первому полю соответствует первое значение урожайности, второму полю – второе и т.д.; показатели успеваемости различных групп одного курса по определенному предмету, где каждой из групп соответствует свое значение среднего балла по результатам экзамена и др.
Язык Pascal допускает описание в программах одномерных массивов в следующем виде:
|
TYPE <Имя_типа_массива>=ARRAY [<Диапазон_индексов>] OF <Тип>,
где TYPE - служебное слово, используемое для создания пользовательского типа данных;
ARRAY … OF - служебные слова для описания массивов (“Массив…из”);
<Имя_типа_массива> - задаваемое пользователем имя типа массива (требования к именам типов совпадают с требованиями к именам переменных);
<Диапазон_индексов> – диапазон изменения индексов массива. В качестве данного диапазона может выступить любой порядковый тип, кроме LONGINT. Чаще всего используют тип-диапазон, в котором задают границы изменения индексов;
<Тип> - тип элементов массива, например, REAL, INTEGER, CHAR и др.
Примеры описания типа массивов:
TYPE М=ARRAY [1..10] OF INTEGER;
TYPE AR=ARRAY [0..15] OF REAL;
TYPE VТ=ARRAY [-5..5] OF SINGLE;
TYPE GRUP=ARRAY [1..27] OF STRING[10].
Переменные, относящиеся к тому или иному типу массивов, должны быть соответственно объявлены в разделе описания переменных.
Например:
VAR REZ:M;
VAR P:AR;
VAR A:VТ;
VAR STUD:GRUP.
Можно также описать переменную как непосредственно имеющую тип массива, например:
VAR REZ:ARRAY [1..10] OF INTEGER.
При обращении к элементам массива в тексте программы обязательно требуется указывать их порядковый номер в массиве, например, REZ[1], POLE[0], A[5], STUD[i] (где i принадлежит диапазону изменения индексов массива).
Одномерные массивы, диапазон индексов которых начинается с 1, также иногда называются векторами.
Например, если задан вектор V из 5 чисел (3, 0, 5, -7, 8), то второй элемент вектора равен 0 (т.е. V[2]=0), пятый элемент вектора равен 8 (т.е. V[5]=8) и т.д.
Примеры основных типов задач с использованием одномерных массивов
К стандартным типам задач на использование одномерных массивов относятся, прежде всего, задачи:
-нахождения суммы (произведения) элементов массива;
-определения наибольшего (наименьшего) элемента в массиве;
-нахождения количества элементов массива, удовлетворяющих определенным условиям;
-упорядочения массива в порядке возрастания (убывания) элементов.
Рассмотрим перечисленные типы задач на следующих примерах.
Двумерные массивы
Массив, для задания элементов которого требуется использовать два индекса, называется двумерным. Примеры двумерных массивов: места в зрительном зале театра, где каждое место характеризуется номером ряда и номером кресла в ряду; таблица результатов спортивного чемпионата, где все команды характеризуется результатом игры с каждым из соперников и др.
|
Двумерные массивы, в которых диапазоны индексов начинаются с 1, также называются иногда матрицами. Размерность каждой матрицы определяется как MxN, где М – число строк в матрице, N – число столбцов.
Если число строк матрицы равняется числу столбцов, то матрицы данного типа называются квадратными. Элементы квадратной матрицы вида B[1,1], B[2,2], B[3,3]… составляют главную диагональ матрицы. Иногда вводят понятие побочной диагонали квадратной матрицы для элементов вида B[1,N], B[2,N-1], B[3,N-2]…B[N,1], где N – число строк (столбцов) матрицы.
Описание типов двумерных массивов в языке Pascal осуществляется аналогично описанию типов одномерных массивов с добавлением диапазона изменения второго индекса.
Примеры:
TYPE MATR=[1..4,1..5] OF INTEGER;
TYPE B=[2..9,0..6] OF REAL;
TYPE C=ARRAY[-1..4,-1..4] OF CHAR.
Также допускается указание имени другого типа массива в качестве типа элементов массива, например:
TYPE VEC=ARRAY[1..4] OF REAL;
MAS=ARRAY[1..5] OF VEC.
В результате приведенного выше описания тип массива MAS будет объявлен как тип двумерного массива, первый индекс которого будет меняться от 1 до 5, а второй индекс – от 1 до 4, т.е. размерность массива составит 5х4 элементов.
При вводе и выводе элементов двумерных массивов используются вложенные циклы, в которых внешний оператор цикла, как правило, задает изменение строк массива, внутренний оператор цикла – изменение столбцов.
Примеры задач с использованием двумерных массивов
При решении задач на использование двумерных массивов применяются, как правило, те же алгоритмы, что и при работе с одномерными массивами. Проиллюстрируем это на конкретных примерах.
Приложение А
Варианты заданий на тему «Одномерные массивы»
1. Найти среднее арифметическое всех элементов массива.
2. Найти наименьший элемент в массиве.
3. Найти количество положительных элементов массива.
4. Найти количество отрицательных элементов массива.
5. Определить, сколько раз встречается число 7 среди элементов массива.
|
6. Определить, сколько элементов массива меньше, чем число 6.
7. Определить, сколько элементов массива больше, чем число 3.
8. Найти сумму всех неотрицательных элементов массива.
9. Найти наименьшее из чисел а1, 2а2, 3а3,…, 8а8.
10. Найти наибольшее из чисел 2а1, 3а2, 4а3,…, 9а8.
11. Найти сумму а1+2а2+3а3+…+8а8.
12. Найти наименьший по модулю элемент массива.
13. Найти разность между наибольшим и наименьшим элементами массива.
14. Отсортировать массив в порядке убывания элементов.
15. Найти произведение отрицательных элементов массива.
16. Найти сумму всех элементов массива, имеющих четные индексы.
17. Найти наибольший из элементов массива, имеющих нечетные индексы.
18. Найти среднее арифметическое всех положительных элементов массива.
19. Найти среднее арифметическое всех отрицательных элементов массива.
20. Найти сумму элементов массива, превышающих число 5.
Приложение В
Варианты заданий на тему «Двумерные массивы»
1. Найти наибольший элемент в третьем столбце матрицы.
2. Найти сумму всех элементов матрицы.
3. Найти сумму всех положительных элементов матрицы.
4. Найти наименьший элемент в первой строке матрицы.
5. Найти среднее арифметическое значение элементов второго столбца матрицы.
6. Найти произведение элементов третьего столбца матрицы.
7. Найти сумму элементов первой и третьей строк матрицы.
8. Определить, сколько раз встречается число 5 среди элементов всей матрицы.
9. Определить, сколько раз встречается число 1 среди элементов третьей строки матрицы.
10. Найти количество отрицательных элементов в матрице.
11. Найти количество отрицательных элементов в первой строке матрицы.
12. Найти количество неотрицательных элементов во втором столбце матрицы.
13. Найти сумму элементов второй строки матрицы.
14. Найти наибольший элемент в матрице.
15. Найти наименьший элемент в матрице.
16. Найти наименьший по модулю элемент в первой строке матрицы.
17. Найти среднее арифметическое значение всех отрицательных элементов матрицы.
18. Определить, сколько элементов матрицы превышает число 2.
19. Расположить все элементы матрицы в строку в порядке возрастания.
20. Расположить все элементы матрицы в строку в порядке убывания.
Приложение С
|
ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ
ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ
ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ
«ДОНСКОЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ»
Колледж экономики, управления и права
методические рекомендации
для УЧЕБНОЙ практиКИ студентов
по дисциплине «Основы алгоритмизации и программирования»
Специальность
ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ВЫЧИСЛИТЕЛЬНОЙ ТЕХНИКИ И АВТОМАТИЗИРОВАННЫХ СИСТЕМ
|
|
Опора деревянной одностоечной и способы укрепление угловых опор: Опоры ВЛ - конструкции, предназначенные для поддерживания проводов на необходимой высоте над землей, водой...
История развития пистолетов-пулеметов: Предпосылкой для возникновения пистолетов-пулеметов послужила давняя тенденция тяготения винтовок...
Двойное оплодотворение у цветковых растений: Оплодотворение - это процесс слияния мужской и женской половых клеток с образованием зиготы...
Археология об основании Рима: Новые раскопки проясняют и такой острый дискуссионный вопрос, как дата самого возникновения Рима...
© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!