Лабораторная работа №8. Одномерный массив
Цель работы: овладение навыками работы с одномерными массивами.
Задания
Условие вида «дан массив размера N» означает, что вначале дается фактический размер массива (целое число N), а затем приводятся все его элементы. Если в задании явно не указывается, какие значения может принимать размер исходного массива, то предполагается, что размер может изменяться в пределах от 2 до 10. Индекс начального элемента массива считается равным 1.
1. Даны целые числа N >2, A и B. Сформировать и вывести целочисленный массив размера N, первый элемент которого равен A, второй равен B, а каждый последующий элемент равен сумме всех предыдущих.
2. Дан массив A размера N и целое число K (1 ≤ K ≤ N). Вывести элементы массива с порядковыми номерами, кратными K: AK, A2∙K, A3∙K,….
3. Дан массив A размера N. Вывести вначале его элементы с нечетными номерами в порядке возрастания номеров, а затем — элементы с четными номерами в порядке убывания номеров:
A1, A3, A5, ..., A6, A4, A2.
4. Дан массив A размера N. Вывести его элементы в следующем порядке:
A1, AN, A2, AN−1, A3, AN−2,…
5. Дан целочисленный массив A размера 10. Вывести порядковый номер последнего из тех его элементов AK, которые удовлетворяют двойному неравенству
A1 < AK < А10. Если таких элементов нет, то вывести 0.
6. Дан массив размера N и целые числа K и L(1 < K ≤ L ≤ N). Найти сумму всех элементов массива, кроме элементов с номерами от K до L включительно.
7. Дан массив размера N и целые числа K и L(1 < K ≤ L ≤ N). Найти среднее арифметическое всех элементов массива, кроме элементов с номерами от K до L включительно.
8. Дан целочисленный массив размера N, не содержащий одинаковых чисел. Проверить, образуют ли его элементы арифметическую прогрессию. Если образуют, то вывести разность прогрессии, если нет — вывести 0.
9. Дан массив ненулевых целых чисел размера N. Проверить, образуют ли его элементы геометрическую прогрессию. Если образуют, то вывести знаменатель прогрессии, если нет — вывести 0.
10. Дан массив ненулевых целых чисел размера N. Проверить, чередуются ли в нем положительные и отрицательные числа. Если чередуются, то вывести 0, если нет, то вывести порядковый номер первого элемента, нарушающего закономерность.
11. Дан массив A размера N. Найти минимальный элемент из его элементов с четными номерами: A2, A4, A6, ....
12. Дан массив A размера N. Найти максимальный элемент из его элементов с нечетными номерами: A1, A3, A5, ....
13. Дан массив размера N. Найти номера тех элементов массива, которые больше своего правого соседа, и количество таких элементов. Найденные номера выводить в порядке их возрастания.
14. Дан массив размера N. Найти номера тех элементов массива, которые больше своего левого соседа, и количество таких элементов. Найденные номера выводить в порядке их убывания.
15. Дан массив размера N. Найти номер его первого локального минимума (локальный минимум — это элемент, который меньше любого из своих соседей).
16. Дан массив размера N. Найти номер его последнего локального максимума (локальный максимум — это элемент, который больше любого из своих соседей).
17. Дан массив размера N. Найти количество участков, на которых его элементы монотонно возрастают.
18. Дан массив размера N. Найти количество участков, на которых его элементы монотонно убывают.
19. Дано число R и массив A размера N. Найти элемент массива, который наиболее близок к числу R (то есть такой элемент AK, для которого величина |AK − R| является минимальной).
20. Дан массив размера N. Найти два соседних элемента, сумма которых максимальна, и вывести эти элементы в порядке возрастания их индексов.
21. Дан целочисленный массив размера N, содержащий ровно два одинаковых элемента. Найти номера одинаковых элементов и вывести эти номера в порядке возрастания.
22. Дан массив размера N. Найти номера двух ближайших элементов из этого массива (то есть элементов с наименьшим модулем разности) и вывести эти номера в порядке возрастания.
23. Дан целочисленный массив размера N. Найти количество различных элементов в данном массиве.
24. Дан целочисленный массив размера N. Найти максимальное количество его одинаковых элементов.
25. Дан массив A размера N. Сформировать новый массив B того же размера, элементы которого определяются следующим образом: BK = 2∙AK, если AK<5, AK/2 в противном случае.
26. Даны два массива A и B одинакового размера N. Сформировать новый массив C того же размера, каждый элемент которого равен максимальному из элементов массивов A и B с тем же индексом.
27. Дан целочисленный массив A размера N. Переписать в новый целочисленный массив B все четные числа из исходного массива (в том же порядке) и вывести размер полученного массива B и его содержимое.
28. Дан целочисленный массив A размера N ≤ 15. Переписать в новый целочисленный массив B все элементы с нечетными порядковыми номерами (1, 3,...) и вывести размер полученного массива B и его содержимое.
29. Дан целочисленный массив A размера N ≤ 15. Переписать в новый целочисленный массив B все элементы с порядковыми номерами, кратными трем (3, 6, ...), и вывести размер полученного массива B и его содержимое.
30. Дан целочисленный массив A размера N. Переписать в новый целочисленный массив B того же размера вначале все элементы исходного массива с четными номерами, а затем — с нечетными: A2, A4, A6, …,A1, A3, A5, ...
31. Дан массив A размера N. Сформировать новый массив B того же размера по следующему правилу: элемент BK равен сумме элементов массива A с номерами от 1 до K.
32. Дан массив A размера N. Сформировать новый массив B того же размера по следующему правилу: элемент BK равен среднему арифметическому элементов массива A с номерами от 1 до K.
33. Дан массив A размера N. Сформировать новый массив B того же размера по следующему правилу: элемент BK равен сумме элементов массива A с номерами от K до N.
34. Дан массив A размера N. Сформировать новый массив B того же размера по следующему правилу: элемент BK равен среднему арифметическому элементов массива A с номерами от K до N.
35. Дан массив A размера N. Сформировать два новых массива B и C: в массив B записать все положительные элементы массива A, в массив C — все отрицательные (сохраняя исходный порядок следования элементов). Вывести вначале размер и содержимое массива B, а затем — размер и содержимое массива C.
36. Даны два массива A и B размера 5, элементы которых упорядочены по возрастанию. Объединить эти массивы так, чтобы результирующий массив C (размера 10) остался упорядоченным по возрастанию.
37. Даны три целочисленных массива A, B и C размера Na, Nb, Nc соответственно, элементы которых упорядочены по убыванию. Объединить эти массивы так, чтобы результирующий целочисленный массив D (размера Na + Nb + NC) остался упорядоченным по убыванию.
Выполнение лабораторной работы
Для выполнения работы необходимо:
- формализовать задачу;
- разработать алгоритм решения задачи;
- составить блок-схему алгоритма;
- выбрать и обосновать представление входных, промежуточных и выходных данных;
- произвести кодирование;
- разработать набор тестов, на которых будет проверяться программа;
- продемонстрировать работу программы на наборе тестов;
- оформить работу и отчитаться по ней.
Методические указания к выполнению лабораторной работы
Задание
Дано целое число N >2. Сформировать и вывести целочисленный массив размера N, содержащий N первых элементов последовательности чисел Фибоначчи Fk:
F1 = 1, F2 = 1, FK = FK−2 + FK−1, K = 3,4,...
Выполнение
Отличительная особенность массивов заключается в том, что все их элементы принадлежат к одному типу. Эти элементы можно легко упорядочить и обеспечить доступ к любому из них простым указанием его порядкового номера. Для обработки элементов массива используется оператор цикла.
Этап 1. Формализация. Задача заключается в генерации значений последовательности Фибоначчи и помещении их в элементы массива. Генерация новых элементов последовательности проводится по рекуррентному соотношению FK = FK−2 + + FK−1 (элемент равен сумме двух предыдущих элементов). Первый и второй элементы равны 1.
Третий элемент: F3 = F2 + F1 =1 + 1 = 2.
Четвёртый элемент: F4 = F3 + F2 = 2 + 1 = 3.
Пятый элемент: F5 = F4 + F3 = 3 + 2 = 5.
И т.д.
Для генерации это соотношение помещается внутрь цикла. Для вывода элементов массива также используется цикл.
Этап 2. Декомпозиция. Производим декомпозицию задачи — выделяем действия. Определяем, что для решения задачи необходимо выполнить следующие действия:
1. Ввести количество элементов N.
2. Присвоить первому и второму элементу в качестве значений единицу.
3. В цикле от 3 до N по рекуррентному соотношению рассчитать значение элемента.
4. Присвоить значение элементу массива.
5. В цикле от 1 до N вывести значения элементов массива на экран.
Этап 3. Алгоритмизация. Составляем алгоритм решения задачи. Используем для записи алгоритма форму блок-схемы.
Блок-схема алгоритма выглядит следующим образом:
![](https://konspekta.net/stydopediaru/baza4/1053464560478.files/image028.gif)
Этап 4. Кодирование. Переводим разработанный алгоритм на язык программирования — составляем программу. Новым в задании является описание и использование массива. Для него в языках программирования предусмотрены специальные ключевые слова.
Не нашли, что искали? Воспользуйтесь поиском по сайту:
©2015 - 2024 stydopedia.ru Все материалы защищены законодательством РФ.
|