ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ВЫЧИСЛИТЕЛЬНОЙ ТЕХНИКИ И АВТОМАТИЗИРОВАННЫХ СИСТЕМ — КиберПедия 

История развития хранилищ для нефти: Первые склады нефти появились в XVII веке. Они представляли собой землянные ямы-амбара глубиной 4…5 м...

Механическое удерживание земляных масс: Механическое удерживание земляных масс на склоне обеспечивают контрфорсными сооружениями различных конструкций...

ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ВЫЧИСЛИТЕЛЬНОЙ ТЕХНИКИ И АВТОМАТИЗИРОВАННЫХ СИСТЕМ

2023-01-16 20
ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ВЫЧИСЛИТЕЛЬНОЙ ТЕХНИКИ И АВТОМАТИЗИРОВАННЫХ СИСТЕМ 0.00 из 5.00 0 оценок
Заказать работу

ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ

ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ

ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ

«ДОНСКОЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ»

Колледж экономики, управления и права

методические рекомендации

для УЧЕБНОЙ практиКИ студентов

по дисциплине «Основы алгоритмизации и программирования»

Специальность

ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ВЫЧИСЛИТЕЛЬНОЙ ТЕХНИКИ И АВТОМАТИЗИРОВАННЫХ СИСТЕМ

Автор-составитель Шинакова С.В.

 

Ростов-на-Дону 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. Расположить все элементы матрицы в строку в порядке убывания.

 

Приложение С

  1. Пусть А - двумерный массив целых чисел размерности N*N. Составить программу, которая находит номер максимального элемента массива и меняет максимальный элемент с первым.
  2. Пусть А - двумерный массив целых чисел размерности N*N. Составить программу, которая обнуляет все положительные числа.
  3. Пусть А - двумерный массив целых чисел размерности N*N. Составить программу, которая переносит в начало массива все положительные элементы, потом все нули и затем отрицательные.
  4. Пусть А - двумерный массив целых чисел размерности N*N. Составить программу, которая обнуляет все положительные элементы, стоящие перед максимальным.
  5. Пусть А - двумерный массив целых чисел размерности N*N. Найти максимальный по модулю элемент массива, его индексы.
  6. Пусть А - двумерный массив целых чисел размерности N*N. Найти среднее геометрическое положительных элементов.
  7. Пусть А - двумерный массив целых чисел размерности N*N. Найти число строк с отрицательной суммой элементов.
  8. Пусть А - двумерный массив целых чисел размерности N*N. Найти минимальный из элементов, лежащих на главной диагонали и двух смежных с ней.
  9. Пусть А - двумерный массив целых чисел размерности N*N. Найти среднее арифметическое элементов массива.
  10. Определить, имеются ли среди элементов побочной диагонали заданной целочисленной матрицы A(N,N) числа, равные нулю.
  11. Выяснить, имеются ли в заданном векторе A(N) два подряд идущих нулевых элемента.
  12. Выяснить, имеются ли в заданном целочисленном векторе A(N) три подряд идущих элемента одного знака.
  13. Если у заданного вектора A(N) есть хотя бы один элемент, меньший, чем –5, то все отрицательные элементы заменить их квадратами, оставив остальные элементы без изменения; в противном случае вектор домножить на 0,1.
  14. Все элементы заданного вектора A(N), начиная с первого по порядку положительного элемента, уменьшить на единицу.
  15. Если в заданном целочисленном векторе A(N) есть элементы со значением, равным заданному числу B, то переменной С присвоить значение, равное сумме всех элементов, предшествующих первому по порядку такому элементу; в противном случае вывести соответствующий текст.
  16. Среди столбцов заданной целочисленной матрицы, содержащих только такие элементы, которые по модулю не больше 10, найти столбец с минимальным произведением элементов.
  17. Найти номера строк заданной целочисленной матрицы A(N, M), в которых:
    а) на всех нечётных позициях стоят нули;
    б) на нечетных позициях встречаются нули.
  18. Даны сведения о количестве забитых голов каждого футболиста команды в каждом из матчей чемпионата. Проверить, сколько в команде есть футболистов:
    а) забивших хотя бы два гола;
    б) забивавших голы в каждом матче;
    в) не забивших ни одного гола.
  19. Используя сведения о результатах сдачи n вступительных экзаменов m абитуриентами, определить, сколько абитуриентов сдали все экзамены на "отлично".
  20. Дана целочисленная матрица А(N,N). Сформировать результирующий вектор B, элементами которого являются суммы элементов только тех строк матрицы А, которые начинаются с К положительных чисел подряд.

 

ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ

ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ

ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ

«ДОНСКОЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ»

Колледж экономики, управления и права

методические рекомендации

для УЧЕБНОЙ практиКИ студентов

по дисциплине «Основы алгоритмизации и программирования»

Специальность

ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ВЫЧИСЛИТЕЛЬНОЙ ТЕХНИКИ И АВТОМАТИЗИРОВАННЫХ СИСТЕМ


Поделиться с друзьями:

Опора деревянной одностоечной и способы укрепление угловых опор: Опоры ВЛ - конструкции, предназначен­ные для поддерживания проводов на необходимой высоте над землей, водой...

История развития пистолетов-пулеметов: Предпосылкой для возникновения пистолетов-пулеметов послужила давняя тенденция тяготения винтовок...

Двойное оплодотворение у цветковых растений: Оплодотворение - это процесс слияния мужской и женской половых клеток с образованием зиготы...

Археология об основании Рима: Новые раскопки проясняют и такой острый дискуссионный вопрос, как дата самого возникновения Рима...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.061 с.