
- •Часть 1
- •Содержание
- •Введение
- •Интегрированная среда разработки
- •Задания для выполнения
- •Линейные алгоритмы
- •Задания для выполнения
- •Дополнительные задания
- •Нелинейные алгоритмы. Ветвление
- •Задания для выполнения
- •If t then writeln(‘Кирпич пройдет’)
- •Нелинейные алгоритмы. Циклы
- •Задания для выполнения
- •Массивы
- •Задания для выполнения
- •Библиография
Задания для выполнения
Одномерные массивы
5.1. Дан массив размера 21. Вывести все его элементы в обратном порядке.
5.2. Дан массив размера 21. Вывести вначале его элементы с четными индексами, а затем — с нечетными.
5.3. Дан целочисленный массив размера 21. Вывести вначале все его нечетные элементы, а затем – четные.
5.4. Дан целочисленный массив размера 21. Найти его максимальный элемент.
5.5. Дан целочисленный массив A размера 10, причем A[1] < A[10]. Вывести номер первого из тех его элементов A[i], которые удовлетворяют двойному неравенству: A[1] < A[i] < A[10]. Если таких элементов нет, то вывести 0.
5.6. Дан целочисленный массив размера 21. Найти его минимальный элемент.
5.7. Дан целочисленный массив размера 21. Преобразовать его, прибавив к нечетным числам первый элемент. Первый и последний элементы массива не изменять.
5.8. Дан целочисленный массив размера 21. Найти номер его максимального элемента.
5.9. Дан целочисленный массив размера 21. Вывести вначале все его четные элементы, а затем – нечетные.
5.10. Дан массив размера 21. Вывести вначале его элементы с нечетными индексами, а затем — с четными.
5.11. Дан целочисленный массив размера 21. Найти номер его минимального элемента.
5.12. Дан целочисленный массив размера 21. Преобразовать его, прибавив к четным числам первый элемент. Первый и последний элементы массива не изменять.
5.13. Дан целочисленный массив размера 21. Найти среднее арифметическое элементов второй трети массива (номера от 8 до 14).
5.14. Дан целочисленный массив размера 21. Найти сумму элементов первой трети массива (номера от 1 до 7).
5.15. Дан целочисленный массив A размера 10, причем A[1] < A[10]. Вывести номер последнего из тех его элементов A[i], которые удовлетворяют двойному неравенству: A[1] < A[i] < A[10]. Если таких элементов нет, то вывести 0.
5.16. Дан целочисленный массив размера 21. Преобразовать его, прибавив к четным числам последний элемент. Первый и последний элементы массива не изменять.
5.17. Дан целочисленный массив размера 21. Найти сумму всех его элементов, кроме элементов второй трети массива (номера от 8 до 14).
5.18. Дан целочисленный массив размера 21. Найти среднее арифметическое всех его элементов, кроме элементов второй трети массива (номера от 8 до 14).
5.19. Дан целочисленный массив размера 21. Проверить, чередуются ли в нем четные и нечетные элементы.
5.20. Дан целочисленный массив размера 21. Преобразовать его, прибавив к нечетным числам последний элемент. Первый и последний элементы массива не изменять.
5.21. Дан целочисленный массив длины 10 (внести с клавиатуры). Проверить, чередуются ли в нем положительные и отрицательные числа.
5.22. Дан целочисленный массив длины 10 (внести с клавиатуры). Найти минимальный среди его четных элементов.
5.23. Дан целочисленный массив длины 10 (внести с клавиатуры). Найти минимальный среди его нечетных элементов.
5.24. Дан целочисленный массив длины 10 (внести с клавиатуры). Найти максимальный среди его четных элементов.
5.25. Дан целочисленный массив длины 10 (внести с клавиатуры). Найти максимальный среди его нечетных элементов.
5.26. Дан целочисленный массив длины 10 (внести с клавиатуры). Найти номера таких его элементов, которые больше своего левого соседа.
5.27. Дан целочисленный массив длины 10 (внести с клавиатуры). Найти номера таких его элементов, которые больше своего правого соседа.
5.28. Дан целочисленный массив длины 10 (внести с клавиатуры). Найти номера таких его элементов, которые меньше своего левого соседа.
5.29. Дан целочисленный массив длины 10 (внести с клавиатуры). Найти номера таких его элементов, которые меньше своего правого соседа.
5.30. Дан целочисленный массив длины 10 (внести с клавиатуры). Найти номера таких его элементов, которые больше и своего левого соседа, и своего правого соседа (так называемые локальные максимумы).
5.31. Дан целочисленный массив длины 10 (внести с клавиатуры). Найти номера таких его элементов, которые меньше и своего левого соседа, и своего правого соседа (так называемые локальные минимумы).
5.32. Дан целочисленный массив длины 10 (внести с клавиатуры). Найти максимальный среди его локальных минимумов (понятие локального минимума см. задачу 5.31).
5.33. Дан целочисленный массив длины 10 (внести с клавиатуры). Найти минимальный среди его локальных максимумов (понятие локального максимума см. задачу 5.30).
5.34. Дан целочисленный массив A длины 10 (внести с клавиатуры) и некоторое целое число x. Найти такой элемент массива, который наиболее близок к x по значению (то есть такой элемент A[i], для которого выражение |A[i]-x| минимально).
5.35. Дан целочисленный массив A длины 10 (внести с клавиатуры) и некоторое целое число x. Найти такой элемент массива, который наиболее далек от x по значению (то есть такой элемент A[i], для которого выражение |A[i]-x| максимально).
5.36. Дан целочисленный массив длины 10 (внести с клавиатуры). Вывести два его соседних элемента, сумма которых максимальна среди всех пар элементов.
5.37. Дан целочисленный массив длины 10 (внести с клавиатуры). Вывести два его соседних элемента, сумма которых минимальна среди всех пар элементов.
5.38. Дан целочисленный массив длины 10 (внести с клавиатуры). Проверить, содержит ли он все натуральные числа от 1 до 10?
5.39. Дан целочисленный массив длины 10, упорядоченный по возрастанию (внести его соответствующим образом с клавиатуры). Вывести образцы его различных элементов (например, если введен массив 1, 3, 4, 4, 6, 6, 7, 7, 7, 8, то программа должна выдать ряд 1, 3, 4, 6, 7, 8).
5.40. Дан целочисленный массив длины 10, упорядоченный по возрастанию (внести его соответствующим образом с клавиатуры). Вывести образцы его элементов, несколько раз встречающихся в массиве (например, если введен массив 1, 3, 4, 4, 6, 6, 7, 7, 7, 8, то программа должна выдать ряд 4, 6, 7).
5.41. Дан целочисленный массив A длины 10 (внести с клавиатуры). Обнулить все его элементы, которые равны либо минимуму, либо максимуму.
5.42. Дан целочисленный массив A длины 10 (внести с клавиатуры). Поменять порядок его элементов на обратный.
5.43. Дан целочисленный массив A длины 10 (задать с помощью генератора случайных чисел, верхний предел чисел положить равным 50). Проверить, упорядочен ли он по возрастанию.
5.44. Дан целочисленный массив A длины 10 (внести с клавиатуры). Увеличить все его нечетные элементы на 7.
5.45. Дан целочисленный массив A длины 10 (внести с клавиатуры). Произвести циклический сдвиг всех его элементов на одну позицию влево. Разрешается использовать одну дополнительную целочисленную переменную.
5.46. Дан целочисленный массив A длины 10 (задать с помощью генератора случайных чисел, верхний предел чисел положить равным 50). Проверить, упорядочен ли он по убыванию.
5.47. Дан целочисленный массив A длины 10 (задать с помощью генератора случайных чисел, верхний предел чисел положить равным 50). Подсчитать размах (разность между минимумом и максимумом) значений элементов массива.
5.48. Дан целочисленный массив A длины 10 (внести с клавиатуры). Поменять местами первую и вторую половины массива.
5.49. Дан целочисленный массив A длины 10 (внести с клавиатуры). Возвести в квадрат все его локальные минимумы (понятие локального минимума см. задачу 5.31).
5.50. Дан вещественный массив A длины 10 (внести с клавиатуры). Составить массив B, пользуясь массивом А так, чтобы все локальные минимумы были заменены средними арифметическими их соседей (понятие локального минимума см. задачу 5.31).
5.51. Дан целочисленный массив A длины 10 (внести с клавиатуры). Увеличить все его четные элементы на 7.
5.52. Дан вещественный массив A длины 10 (внести с клавиатуры). Составить вещественный массив B, пользуясь массивом А так, чтобы все локальные максимумы были равны средними арифметическими их соседей (понятие локального максимума см. задачу 5.30) в массиве А.
5.53. Дан целочисленный массив A длины 10 (внести с клавиатуры). Возвести в квадрат все его локальные максимумы (понятие локального максимума см. задачу 5.30).
5.54. Дан целочисленный массив A длины 10 (внести с клавиатуры). Произвести циклический сдвиг всех его элементы на одну позицию вправо. Разрешается использовать одну дополнительную целочисленную переменную.
5.55. Дан вещественный массив A длины 10 (внести с клавиатуры). Составить вещественный массив B, пользуясь массивом А так, чтобы все элементы, начиная со второго и заканчивая девятым, были равны средними арифметическими их соседей в массиве A.
5.56. Дан целочисленный массив A длины 10 (внести с клавиатуры). Увеличить все его нечетные элементы на 7.
5.57. Дан вещественный массив A длины 10 (задать с помощью генератора случайных чисел, верхний предел чисел положить равным 20). Заменить все его элементы, начиная со 1-го и заканчивая 8-ым, на среднее арифметическое следующих двух элементов.
5.50. Дан вещественный массив A длины 10 (задать с помощью генератора случайных чисел, верхний предел чисел положить равным 20). Заменить все его элементы, начиная с 3-го и заканчивая 10-ым, на среднее арифметическое предыдущих двух элементов).
5.58. Дан целочисленный массив A длины 10, составленный из нулей и единиц (внести с клавиатуры). Заменить все единицы нулями, а нули - единицами.
5.59. Дан целочисленный массив размера 21. Поменять порядок его элементов на обратный во второй его трети (номера от 8 до 14).
5.60. Дан целочисленный массив размера 21. Поменять порядок всех его элементов на обратный, кроме тех, которые находятся во второй его трети (номера от 8 до 14).
Двумерные массивы
В заданиях 5.61-5.80 необходимо задать массив типа 100×100, считать с клавиатуры натуральное число n ≤ 100, построить соответствующую матрицу типа n×n и вывести ее на экран.
Приведем пример решения подобной задачи. Возьмем матрицу
,
у которой на главной и побочной диагонали стоят нули, а на остальных местах – единицы. Текст программы, с помощью которой решается задача:
type tm=array[1..100,1..100] of byte;
var m: tm;
i,j,n:byte;
begin
writeln(Введите n<=100: ');
readln(n);
for i:=1 to n do
for j:=1 to n do
begin
if (i+j=n+1)or(i=j){условие быть на побочной}
{или на главной диагонали}
then m[i,j]:=0
else m[i,j]:=1;
if j=n {одновременно с построением массива}
{выводим его на экран}
then writeln(m[i,j]:2)
else write(m[i,j]:2);
end;
readln;
end.
5.61.
5.62.
5.63.
5.64.
5.65.
5.66.
5.67.
5.68.
5.69.
5.70.
5.71.
5.72.
5.73.
5.74.
5.75.
5.76.
5.77.
5.78.
5.79.
5.80.
Комбинация оператора цикла for и оператора выбора if. В заданиях 5.81-5.120 нужно построить целочисленную матрицу типа 10×10, вывести ее на экран и произвести дополнительные операции.
5.81. Вывести на экран элементы 1 строки матрицы, стоящие на нечетных местах.
5.82. Вывести на экран элементы 2 строки матрицы, стоящие на четных местах.
5.83. Вывести на экран элементы 3 столбца матрицы, стоящие на нечетных местах.
5.84. Вывести на экран элементы 4 столбца матрицы, стоящие на четных местах.
5.85. Вывести на экран элементы 5 строки матрицы, стоящие на нечетных местах в обратном порядке.
5.86. Вывести на экран элементы 6 строки матрицы, стоящие на четных местах в обратном порядке.
5.87. Вывести на экран элементы 7 столбца матрицы, стоящие на нечетных местах в обратном порядке.
5.88. Вывести на экран элементы 8 столбца матрицы, стоящие на четных местах в обратном порядке.
5.89. Вывести на экран элементы главной диагонали матрицы, стоящие на четных местах.
5.90. Вывести на экран элементы главной диагонали матрицы, стоящие на нечетных местах.
5.91. Вывести на экран элементы побочной диагонали матрицы, стоящие на четных местах.
5.92. Вывести на экран элементы побочной диагонали матрицы, стоящие на нечетных местах.
5.93. Вывести на экран элементы главной диагонали матрицы, стоящие на четных местах в обратном порядке.
5.94. Вывести на экран элементы главной диагонали матрицы, стоящие на нечетных местах в обратном порядке.
5.95. Вывести на экран элементы побочной диагонали матрицы, стоящие на четных местах в обратном порядке.
5.96. Вывести на экран элементы побочной диагонали матрицы, стоящие на нечетных местах в обратном порядке.
5.97. Вывести на экран элементы последнего столбца матрицы, стоящие на четных местах.
5.98. Вывести на экран элементы последней строки матрицы, стоящие на нечетных местах.
5.99. Вывести на экран элементы последнего столбца матрицы, стоящие на нечетных местах в обратном порядке.
5.100. Вывести на экран элементы последней строки матрицы, стоящие на четных местах в обратном порядке.
5.101. Найти в строке 1 максимальный элемент, а в столбце 1 – минимальный элемент.
5.102. Найти в строке 2 максимальный элемент, а в столбце 2 – минимальный элемент.
5.103. Найти в строке 3 максимальный элемент, а в столбце 3 – минимальный элемент.
5.104. Найти в строке 4 максимальный элемент, а в столбце 4 – минимальный элемент.
5.105. Найти в строке 5 максимальный элемент, а в столбце 5 – минимальный элемент.
5.106. Найти в строке 6 максимальный элемент, а в столбце 6 – минимальный элемент.
5.107. Найти в строке 7 максимальный элемент, а в столбце 7 – минимальный элемент.
5.108. Найти в строке 8 максимальный элемент, а в столбце 8 – минимальный элемент.
5.109. Найти в строке 9 максимальный элемент, а в столбце 9 – минимальный элемент.
5.110. Найти в строке 10 максимальный элемент, а в столбце 10 – минимальный элемент.
5.111. Найти в столбце 1 максимальный элемент, а в строке 1 – минимальный элемент.
5.112. Найти в столбце 2 максимальный элемент, а в строке 2 – минимальный элемент.
5.113. Найти в столбце 3 максимальный элемент, а в строке 3 – минимальный элемент.
5.114. Найти в столбце 4 максимальный элемент, а в строке 4 – минимальный элемент.
5.115. Найти в столбце 5 максимальный элемент, а в строке 5 – минимальный элемент.
5.116. Найти в столбце 6 максимальный элемент, а в строке 6 – минимальный элемент.
5.117. Найти в столбце 7 максимальный элемент, а в строке 7 – минимальный элемент.
5.118. Найти в столбце 8 максимальный элемент, а в строке 8 – минимальный элемент.
5.119. Найти в столбце 9 максимальный элемент, а в строке 9 – минимальный элемент.
5.120. Найти в столбце 10 максимальный элемент, а в строке 10 – минимальный элемент.
Разные задачи. Во всех них используется матрица типа 10×10. Необходимо сначала заполнить ее целыми случайными числами, вывести ее на экран, а затем сделать необходимое преобразование и результат также вывести на экран.
5.121.
Поменять местами верхнюю и нижнюю
половины матрицы
.
5.122.
Поменять местами левую и правую половины
матрицы
.
5.123.
Отразить матрицу относительно ее
горизонтальной срединной оси .
5.124.
Отразить матрицу относительно ее
вертикальной срединной оси
.
5.125. Отразить матрицу относительно ее главной диагонали.
5.126. Отразить матрицу относительно ее побочной диагонали.
5.127.
Обнулить элементы левой верхней четверти
матрицы
.
5.128.
Поменять местами правую верхнюю и левую
нижнюю четверти матрицы
.
5.129.
Поменять местами правую нижнюю и левую
верхнюю четверти матрицы
.
5.130.
Поменять местами правую нижнюю и правую
верхнюю четверти матрицы
.
5.131.
Поменять местами левую нижнюю и левую
верхнюю четверти матрицы
.
5.132.
Поменять местами левую верхнюю и правую
верхнюю четверти матрицы
.
5.133.
Поменять местами левую нижнюю и правую
нижнюю четверти матрицы
.
5.134. Обнулить строки матрицы, содержащие минимальные элементы.
5.135. Обнулить строки матрицы, содержащие максимальные элементы.
5.136. Обнулить столбцы матрицы, содержащие минимальные элементы.
5.137. Обнулить столбцы матрицы, содержащие максимальные элементы.
5.138.
Обнулить элементы правой верхней
четверти матрицы
.
5.139.
Обнулить элементы правой нижней четверти
матрицы
.
5.140.
Обнулить элементы левой нижней четверти
матрицы
.
Задания для «продвинутых». Во всех них используется матрица типа 10×10. Необходимо сначала заполнить ее целыми случайными числами, вывести ее на экран, а затем сделать необходимое преобразование и результат также вывести на экран.
5.001. Повернуть матрицу на 90° по часовой стрелке.
5.002. Повернуть матрицу на 180°.
5.003. Повернуть матрицу на 90° против часовой стрелки.