Вы находитесь на странице: 1из 11

Лабораторное занятие №6

Структурированные типы данных (одномерные массивы, списки)

1. Цель и порядок работы


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

Порядок выполнения работы:


• ознакомиться с описанием лабораторного занятия;
• получить задание у преподавателя, согласно своему варианту;
• написать программу и отладить ее на ЭВМ.

2. Теоретический материал
Язык Источники для изучения:
програм-
мирования
С++ https://metanit.com/cpp/tutorial/2.15.php
https://code-live.ru/post/cpp-arrays/
Python https://metanit.com/python/tutorial/3.1.php
https://pythonworld.ru/tipy-dannyx-v-python/spiski-list-funkcii-i-
metody-spiskov.html
https://pythonworld.ru/moduli/modul-array-massivy-v-python.html
https://pythonworld.ru/numpy/1.html
https://pythonworld.ru/numpy/2.html

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

Язык программирования С++:


1. Зачем нужны массивы?
2. Как определить массив?
3. Как проинициализировать массив?
4. Какие варианты объявления с инициализацией вы знаете?
5. Как обратиться к элементу массива?
6. Как определить размер одномерного массива, зная его имя?
7. Как можно осуществить ввод массива случайным образом?
1
8. Какого типа может быть индекс массива?
9. Какого типа могут быть элементы массива?
10.Что такое размерность массива?

Язык программирования Python:


11.Для чего нужны списки? Для обработки каких данных можно
использовать списки? Приведите примеры.
12.Как лучше выбирать элементы из списка?
13.Как получить последний элемент списка?
14.Как использовать срезы в списках?
15.Как случайным образом выбрать элемент из списка?
16.Как в Python работают представления списков?
17.Чем списки в Python отличаются от массивов в языке
программирования C++?
18.Что общего и в чем различие списков от массива, реализованного в
модуле array?
19.Что общего и в чем различие массива, реализованного в модуле array
от массива, реализованного в библиотеке numpy?
20.Что общего и в чем различие списков от массива, реализованного в
библиотеке numpy?

4 Задание

1. Изучите теоретический материал.


2. Ответьте на теоретические вопросы.
3. Напишите программы в соответствии с вариантом задания из пункта 5.
4. Проверьте работоспособность программ.
5. Отладьте и протестируйте программы.
6. Оформите отчет и прикрепите его в Microsoft Teams. При
выставлении баллов за работу учитывается: правильность
написания кода, полнота и правильность ответов учащегося на
вопросы. Одинаковые работы оцениваются 0 баллов. Ответы на
теоретические вопросы, не прошедшие антиплагиат оцениваются
0 баллов.
7. Правила оформления и структура отчета приведены в приложении.
8. Задания для соответствующего варианта определяется следующим
образом:

Вариант Номера вопросов на которые Номера заданий для написания


необходимо написать программ
развернутый ответ
1. 1, 11, 17 1, 21
2. 2, 12, 18 2, 22
3. 3, 13, 19 3, 23
4. 4, 14, 20 4, 24
5. 5, 15, 17 5, 25

2
6. 6, 16, 18 6, 26
7. 7, 11, 19 7, 27
8. 8, 12, 20 8, 28
9. 9, 13, 17 9, 29
10. 10, 14, 18 10, 30
11. 1, 15, 19 11, 31
12. 2, 16, 20 12, 32
13. 3, 11, 17 13, 33
14. 4, 12, 18 14, 34
15. 5, 13, 19 15, 35
16. 6, 14, 20 16, 36
17. 7, 15, 17 17, 37
18. 8, 16, 18 18, 38
19. 9, 11, 19 19, 39
20. 10, 12, 20 20, 40

5 Задания к лабораторной работе:


Указания к заданиям 1-20:
• реализуйте задание на языке программирования С++;
• массив реализовать стандартным образом без использования
дополнительных модулей и библиотек;
• в программе с помощью цикла и оператора выбора реализовать меню,
в котором должны присутствовать пункты заданий с 2 по 5;
• инициализацию массива осуществлять перед циклом с меню;
• в программе обязательно должны быть комментарии к тексту
программы, поясняющие ее работу;
• во всех случаях программа должна выдавать сообщения о наличии или
отсутствии искомых элементов (задания 2-4).

1. Дан одномерный массив, состоящий из N целых элементов.


1.1. Ввести массив с клавиатуры.
1.2. Найти максимальный элемент массива и вывести на экран элементы
равные максимальному элементу.
1.3. Вычислить среднеарифметическое положительных элементов массива.
1.4. Вывести элементы массива кратные 4 на экран в обратном порядке.
1.5. Отсортировать массив методом выбора элементов и вывести
отсортированный массив на экран.

2. Дан одномерный массив, состоящий из N целых элементов.


2.1. Заполнить массив случайными числами.
2.2. Найти минимальный элемент массива среди элементов кратных 3.
2.3. Вычислить сумму отрицательных элементов массива кратных 7.
2.4. Вывести положительные, четные элементы на экран.
2.5. Отсортировать массив методом вставки и вывести отсортированный
массив на экран.

3
3. Дан одномерный массив, состоящий из N целых элементов.
3.1. Ввести массив с клавиатуры.
3.2. Найти максимальный элемент среди элементов кратных 5.
3.3. Вычислить среднеарифметическое отрицательных элементов массива.
3.4. Вывести положительные элементы на экран в обратном порядке.
3.5. Отсортировать массив методом «пузырька» и вывести отсортированный
массив на экран.

4. Дан одномерный массив, состоящий из N вещественных элементов.


4.1. Заполнить массив случайными числами.
4.2. Найти минимальный положительный элемент и вывести на экран числа
меньшие минимального положительного элемента.
4.3. Вычислить произведение не нулевых элементов массива.
4.4. Вывести отрицательные элементы на экран в обратном порядке.
4.5. Отсортировать массив методом выбора элементов и вывести
отсортированный массив на экран.

5. Дан одномерный массив, состоящий из N целочисленных элементов.


5.1. Ввести массив с клавиатуры.
5.2. Найти максимальный отрицательный среди четных элементов.
5.3. Вычислить сумму нечетных элементов массива кратных 8.
5.4. Вывести положительные элементы на экран.
5.5. Отсортировать массив методом вставки и вывести отсортированный
массив на экран.

6. Дан одномерный массив, состоящий из N целочисленных элементов.


6.1. Заполнить массив случайными числами.
6.2. Найти максимальный положительный элемент среди нечетных элементов.
6.3. Вычислить сумму первых трех четных элементов массива.
6.4. Вывести ненулевые элементы на экран в обратном порядке.
6.5. Отсортировать массив методом «пузырька» и вывести отсортированный
массив на экран.

7. Дан одномерный массив, состоящий из N вещественных элементов.


7.1. Ввести массив с клавиатуры.
7.2. Найти максимальный элемент среди элементов, индексы которых четные
числа.
7.3. Вычислить среднеарифметическое отрицательных элементов массива.
7.4. Вывести элементы массива с нечетными индексами на экран в обратном
порядке.
7.5. Отсортировать массив методом выбора элементов и вывести
отсортированный массив на экран.

4
8. Дан одномерный массив, состоящий из N целочисленных элементов.
8.1. Ввести массив с клавиатуры.
8.2. Найти минимальный положительный элемент.
8.3. Вычислить сумму положительных элементов массива, кратных 3.
8.4. Вывести первые 5 не нулевые элементы на экран.
8.5. Отсортировать массив методом «пузырька» и вывести отсортированный
массив на экран.

9. Дан одномерный массив, состоящий из N целочисленных элементов.


9.1. Заполнить массив случайными числами.
9.2. Найти максимальный положительный элемент.
9.3. Вычислить произведение нечетных элементов массива.
9.4. Вывести положительные элементы кратные 6 на экран.
9.5. Отсортировать массив методом выбора элементов и вывести
отсортированный массив на экран.

10. Дан одномерный массив, состоящий из N целочисленных элементов.


10.1.Ввести массив с клавиатуры.
10.2.Найти максимальный элемент.
10.3.Вычислить сумму четных элементов массива.
10.4.Вывести отрицательные элементы на экран в обратном порядке.
10.5.Отсортировать массив методом вставки и вывести отсортированный
массив на экран.

11. Дан одномерный массив, состоящий из N вещественных элементов.


11.1.Заполнить массив случайными числами.
11.2.Найти минимальный отрицательный элемент.
11.3.Вычислить среднеарифметическое положительных элементов массива.
11.4.Вывести положительные элементы на экран.
11.5.Отсортировать массив методом «пузырька» и вывести отсортированный
массив на экран.

12. Дан одномерный массив, состоящий из N целочисленных элементов.


12.1.Ввести массив с клавиатуры.
12.2.Найти максимальный отрицательный элемент.
12.3.Вычислить произведение четных элементов массива.
12.4.Вывести ненулевые элементы на экран в обратном порядке.
12.5.Отсортировать массив методом выбора элементов и вывести
отсортированный массив на экран.

5
13. Дан одномерный массив, состоящий из N целочисленных элементов.
13.1.Заполнить массив случайными числами.
13.2.Найти максимальный элемент среди элементов кратных 3.
13.3.Вычислить среднеарифметическое нечетных элементов массива.
13.4.Вывести отрицательные элементы на экран.
13.5.Отсортировать массив методом вставки и вывести отсортированный
массив на экран.

14. Дан одномерный массив, состоящий из N целочисленных элементов.


14.1.Ввести массив с клавиатуры.
14.2.Найти минимальный положительный элемент среди элементов кратных 7.
14.3.Вычислить сумму четных элементов массива.
14.4.Вывести массив на экран в обратном порядке.
14.5.Отсортировать массив методом «пузырька» и вывести отсортированный
массив на экран.

15. Дан одномерный массив, состоящий из N целочисленных элементов.


15.1.Заполнить массив случайными числами.
15.2.Найти минимальный отрицательный элемент.
15.3.Вычислить произведение ненулевых элементов массива, кратных 5.
15.4.Вывести отрицательные элементы на экран в обратном порядке.
15.5.Отсортировать массив методом выбора элементов и вывести
отсортированный массив на экран.

16. Дан одномерный массив, состоящий из N целочисленных элементов.


16.1.Ввести массив с клавиатуры.
16.2.Найти максимальный отрицательный элемент.
16.3.Вычислить среднеарифметическое четных элементов массива.
16.4.Вывести ненулевые элементы на экран в обратном порядке.
16.5.Отсортировать массив методом вставки и вывести отсортированный
массив на экран.

17. Дан одномерный массив, состоящий из N целочисленных элементов.


17.1.Заполнить массив случайными числами.
17.2.Найти минимальный элемент среди отрицательных чисел.
17.3.Вычислить сумму положительных нечетных элементов массива.
17.4.Вывести положительные элементы кратные 4 на экран.
17.5.Отсортировать массив методом «пузырька» и вывести отсортированный
массив на экран.

6
18. Дан одномерный массив, состоящий из N целочисленных элементов.
18.1.Ввести массив с клавиатуры.
18.2.Найти минимальный положительный элемент.
18.3.Вычислить произведение нечетных элементов массива.
18.4.Вывести отрицательные элементы на экран.
18.5.Отсортировать массив методом выбора элементов и вывести
отсортированный массив на экран.

19. Дан одномерный массив, состоящий из N целочисленных элементов.


19.1.Ввести массив с клавиатуры.
19.2.Найти максимальный положительный элемент.
19.3.Вычислить сумму положительных четных элементов массива.
19.4.Вывести отрицательные элементы на экран в обратном порядке.
19.5.Отсортировать массив методом «пузырька» и вывести отсортированный
массив на экран.

20. Дан одномерный массив, состоящий из N вещественных элементов.


20.1.Ввести массив с клавиатуры.
20.2.Найти минимальный положительный элемент.
20.3.Вычислить среднеарифметическое положительных элементов массива.
20.4.Вывести ненулевые элементы на экран в обратном порядке.
20.5.Отсортировать массив методом вставки и вывести отсортированный
массив на экран.

Указания к заданиям 21-40:


• задания реализуйте на языке программирования Python в 3 вариантах: с
использованием списков, с использованием модуля array и с
использованием библиотеки NumPy;
• в программе обязательно должны быть комментарии к тексту программы,
поясняющие ее работу.
для реализации массива в Python используйте списки.
21. Даны два одномерных массива из одинакового количества элементов,
получить третий массив той же размерности, каждый элемент которого равен
большему из соответствующих элементов массивов т.е. 𝑐𝑐[𝑖𝑖] =
𝑚𝑚𝑚𝑚𝑚𝑚(𝑎𝑎[𝑖𝑖], 𝑏𝑏[𝑖𝑖] ).
22. Дан одномерный массив и число k. Найти элементы другого массива типа
bool, элемент которого будет равен true, если соответствующий элемент
массива делится на k без остатка и false в противном случае.
23. Дан одномерный массив, получить другой массив той же размерности,
каждый элемент которого равен 𝑏𝑏𝑖𝑖 = 𝑎𝑎1 + 𝑎𝑎2 + ⋯ + 𝑎𝑎𝑖𝑖 .
24. Дан одномерный массив, переставить в обратном порядке элементы массива,
расположенные между минимальным и максимальным элементами.

7
Дан одномерный массив а состоящий из 2n элементов. Переставить элементы
массива следующим образом:
25. a[n+1], a[n+2], . . ., a[2n], a[1], a[2], . . ., a[n].
26. a[n+1], a[n+2], . . ., a[2n], a[n], a[n-1], . . ., a[1].
27. a[1], a[n+1], a[2], a[n+2], . . ., a[n], a[2n].
28. a[2n], a[2n-1], . . ., a[n+1], a[1], a[2], . . ., a[n].
29. Найдите сумму элементов массива между двумя первыми двухзначными
числами. Если двух двузначных чисел в массиве нет, то выведите ноль.
30. Выведите на экран элементы массива большие минимального по модулю
элемента, если их нет выдайте соответствующие сообщение.
31. Удалить в массиве все числа, которые повторяются более двух раз.
32. Найти среднее геометрическое положительных элементов массива с k1 по k2,
где k1 и k2, вводятся с клавиатуры.
33. Найдите количество элементов массива с четными номерами больше
заданного числа N, которое вводится с клавиатуры.
34. Определить все ли элементы массива различны и выдать соответствующее
сообщение на экран.
35. Определить, есть ли в массиве два элемента сумма которых является четным
числом.
36. Определить сколько элементов массива, стоящие на четных местах,
превосходят по модулю заданное число.
37. Определить, есть ли в массиве два элемента произведение которых является
нечетным числом.
38. Определить есть ли в массиве хотя бы два соседних положительных
элемента.
39. Определить, есть ли в массиве два элемента сумма которых является четным
числом.
40. Вывести на экран все номера элементов массива равных минимальному.

8
Приложение 1
Структура отчета
Отчет должен содержать:
1. Титульный лист.
2. Цель выполнения работы.
3. Теоретическую часть с подробным описанием ответа на вопрос и с
указанием источников.
4. Практическую часть, содержащую по каждому заданию: постановку
задачи, алгоритм решения задачи в виде блок-схемы, листинг программы
с комментариями, результаты выполнения программы (скриншот экрана).
5. Список использованных источников.

9
Приложение 2
МИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ
РОССИЙСКОЙ ФЕДЕРАЦИИ
Федеральное государственное автономное образовательное учреждение
высшего образования
«ТЮМЕНСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ»

ИНСТИТУТ МАТЕМАТИКИ И КОМПЬЮТЕРНЫХ НАУК


Кафедра программного обеспечения

Лабораторное занятие № 6.

Структурированные типы данных (одномерные массивы, списки)

Вариант 5.

Выполнил студент:
ФИО

Тюмень-2020

10
1.Цель работы
Изложить цель работы.
2. Теоретическая часть
2.1 Ответ на вопрос 5
Ответ должен быть полным, содержать теоретические выкладки, примеры
программ и ссылки на источники из списка литературы представленном в пункте
4. Ответы не прошедшие антиплагиат оцениваются 0 баллов.
2.2 Ответ на вопрос 15

2.3 Ответ на вопрос 17

3. Практическая часть
3.1 Решение задачи 5
Постановка задачи
Привести постановку задачи, определить входные и выходные параметры.

Алгоритм решения задания в виде блок- схемы


Привести алгоритм решения (алгоритм предоставить только по пункту 2,
т.е. если 5 вариант, значит по пункту 5.2).

Текст программы на языке С++


Привести полный текст программы с комментариями поясняющие ее
работу.

Результат тестирования программы на языке C++


Результат работы программы представить в виде скриншота с экрана.

3.2 Решение задачи 25


Постановка задачи
Привести постановку задачи, определить входные и выходные параметры.

Алгоритм решения задания в виде блок- схемы


Привести алгоритм решения.

Текст программы на языке Python


Привести полный текст программы с комментариями поясняющие ее
работу.

Результат тестирования программы на языке Python


Результат работы программы представить в виде скриншота с экрана.

4. Список использованных источников


Привести список источников (пример оформления смотрите в приложении
№2 в лабораторной работе № 3).
11

Вам также может понравиться