Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Решение задач на ЭВМ. Программирование на языке Pascal. Учебное пособие

.pdf
Скачиваний:
0
Добавлен:
08.09.2026
Размер:
2 Мб
Скачать
☆
8
1.Напишите программу, которая заполняет с клави­атуры массив А(3,3) словами разного размера и заме­няет самое длинное слово главной диагонали на минимальное по длине слово всего массива. Выве­дите на экран исходный и полученный массивы.
2. Напишите программу, которая заполняет с кла­виатуры первую строку массива размером 3x5 назва­ниями спортивных клубов, вторую — фамилиями тренеров, а третью — видом спорта, которым они за­нимаются. Определите и выведите на экран по за­просу с клавиатуры названия клубов и фамилии тренеров, занимающихся данным видом спорта.
9
1.Напишите программу, которая заполняет с клавиа­туры массив А(3,3) словами разного размера и заменя­ет в нем слова, первая буква которых «Е», на слово «ЗАМЕНА». Выведите на экран исходный и получен­ный массивы.
2. Напишите программу, которая заполняет с клавиатуры первую строку массива размером 3x5 названиями фильмов, вторую — соответствующими фамилиями режиссеров, а третью — фамилиями актеров, занятых в главных ролях этих фильмов. Определите и выведите на экран по запросу с клавиатуры фамилии актера и режис­сера интересующего фильма.
10
1.Напишите программу, которая заполняет с клавиа­туры массив А(3,3) словами разного размера и заменя­ет в каждой строке максимальное по длине слово на «?????». Выведите на экран исходный и полученный массивы.
2. Напишите программу, которая заполняет с клавиату­ры первую строку массива размером 2х10 названиями вузов, а вторую — их профилем (технический или гу­манитарный). Определите и выведите на экран по за­просу с клавиатуры все вузы определенного профиля.
181
11
1.Напишите программу, которая заполняет с клави­атуры массив А(3,3) словами разного размера и заме­няет в нем максимальное по длине слово на слово «МАХ». Выведите на экран исходный и полученный массивы.
2. Напишите программу, которая заполняет с клавиату­ры первую строку массива размером 3x5 именами файлов, вторую — их типом, а третью — фамилией их автора. Определите и выведите на экран по запросу с клавиатуры имена и типы файлов определенного автора.
12
1.Напишите программу, которая заполняет с клави­атуры массив А(3,3) словами разного размера и заме­няет в нем максимальное по длине слово каждого столбца на минимальное по длине слово первого столбца. Выведите на экран исходный и полученный массивы.
2. Напишите программу, которая заполняет с клавиатуры первую строку массива размером 3x5 фамилиями ав­торов, вторую — соответствующим названием произ­ведения, а третью — жанром указанного произведе­ния. Определите и выведите на экран по запросу с кла­виатуры фамилии авторов и названия произведений, принадлежащих определенному жанру.
182
Задания к самостоятельной работе
№
Имя
масси-
Задание
1
А(10)
Вычислить минимальный элемент массива А и его порядковый номер.
2
В(12)
Вычислить среднее арифметическое значение эле­ментов массива В, при условии В(i)>0.
3
G(16)
Вывести на экран последовательность g1, g9, g2, g10, ... , g8, g16.
4
H(14)
Вывести на экран последовательность h1, h14, h2, h13, ... , h7, h8.
5
С(10)
Найти сумму s элементов массива С. Вычислить (s –
c1, s – c2, …, s – c
10)
. Результат вывести в одной стро-
ке.
6
D(10)
Найти произведение p элементов массива D. Вычис- лить (p + d1, p + d2, …, p + d
10
). Результат вывести в
одной строке.
7
F(12)
Вычислить максимальный элемент массива (f1+ f12, f2 + f11, ... , f6 + f7 ).
8
K(12)
Вычислить минимальный элемент массива (k1· k7, k2
·
1. Массивы (одномерные)
Задание. Составить алгоритм и программу решения следующей задачи.
Задан одномерный массив из чисел в диапазоне –20 . . . +20. Необходимо:
– описать массив; – ввести элементы массива из заданного диапазона; – выполнить с элементами массива действия, заданные в таблице
13;
– вывести результаты на экран;
сохранить программу в своей папке на диске С.
Таблица 13.
183
k8, ... , k6 · k12).
9
M(16)
Переписать в массив L подряд положительные эле- менты массива M.
10
P(12)
Переписать в массив Q подряд отрицательные эле- менты массива P.
11
F(10)
Вычислить среднее арифметическое значение m эле- ментов массива F. Вычислить (f1 – m, f 2– m, …, f10 –
m). Результат вывести в одной строке.
12
N(8)
Определить минимальный элемент массива Х и его порядковый номер.
№
Имя
_асссива
Задание
1
F
Вывести на печать положительные элементы мат­рицы.
2
D
Вывести на печать отрицательные элементы мат­рицы.
3
C
Найти сумму элементов второй строки матрицы.
4
B
Найти сумму элементов третьего столбца матрицы.
5
A
Вычислить среднее арифметическое матрицы.
2. Массивы (двумерные)
Задание. Составить блок-схему алгоритма и программу реше- ния следующей задачи.
Задана квадратная целочисленная матрица размером 4х4, элементы которой находятся в диапазоне –16 . . . +16. Необ­ходимо:
– описать двумерный массив; – ввести элементы матрицы из заданного диапазона; – выполнить с элементами действия, заданные в табл. 14; – вывести результаты на экран; – сохранить программу в своей папке на диске С:.
Таблица 14.
184
6
F
Найти сумму элементов главной диагонали матри­цы.
7
D
Вычислить сумму элементов второго и третьего столбца матрицы.
8
C
Вычислить сумму элементов двух первых строк матрицы.
9
B
Найти сумму элементов побочной диагонали мат­рицы.
10
A
Вычислить сумму элементов, расположенных по пе­риметру матрицы.
11
Н
Найти сумму элементов первой и третьей строк мат­рицы
12
Z
Найти сумму элементов первых и последних строк и столбцов матрицы
3. Комплексная работа по темам: «Операторы условного
перехода», «Операторы цикла», «Массивы», «Графика»
Задание посвящено разработке комплексной программы на
языке Pascal. При его выполнении необходимо:
составить алгоритм решения задачи, нарисовать блок-схему алгоритма, составить программу, реализующую алгоритм, привести пояснения к программе, отразив назначение опе-
раторов, используемых в программе,
подготовить входные данные для проверки всех ветвей ал-
горитма,
отладить программу, проверить работоспособность программы для всех входных
данных.
Исходные данные выбираются согласно варианту по таблице
15.
185
Таблица 15.
№
вар.
Функция
Аргумент
Условия поиска
1
15* X3 /T
У= { Sin X*Cos X
X*T
T= -2 T= 0 T= 2
X= -1, 15 X=2
Сумма всех чётных элементов массива
2
Cos X2
Z= { 5*Sin X
X*T
T= -1 T= 0 T= 1
X= 0, 10 X=1
Минимальный элемент массива
3
T*tg (X-1,5)
D= { (10 – X)/T
T*X
T= 5 T= 1 T= -1
X= -10, 10 X=2
Все положитель­ные элементы мас­сива
4
Cos 2 X
W= { Sin X/8*T
X*T –3,6
T= 0 T= 1 T= -1
X= 0, 30 X=3
Все четные эле­менты массива
5
Sin 2 T*X
P= { (X-T)/5*T
X+T –3*X
T= 0 T= 1 T= -2
X= 0, 12 X=1.2
Сумма всех эле­ментов массива
6
4*X 2 +X-T
F= { Sin X*T
(X+T)*3
T= -2 T= 1 T= 8
X= -1, 14 X=1.5
Максимальный элемент массива
7
tg X+1
K= { X
2
/(X-1)*T
X*(T-2)4
T= 1 T= 2 T= -1
X= 10, 12 X=0.2
Все нечетные эле­менты массива
8
(T+31)/ X
U= { (X-2)
2
/(X+T)
X*CosX2
T= 1 T= 2 T= -1
X= -1, 16 X=1.5
Все отрицательные элементы массива
9
Sin X+1
S= { T/(X-5)
8*X*T
T= 0 T= 1 T= -1
X= - 14, 4 X=0.4
Сумма всех поло­жительных эле­ментов массива
10
Cos(X+1)
L= { (X-7)
2
/T
X*Sin X
T= 0 T= 2 T= -1
X= 10, 24 X=3.5
Сумма всех отри­цательных элемен­тов массива
11
Cos 2 T*X
В= { (X-T)/7*Х
(T+5) –7*X
T= 1 T= 2 T= -1
X= -2, 12 X=1.5
Среднее арифме­тическое значение элементов массива
186
12
Cos (X+T)2
N= { 2*Sin X –X*2
X*T
T= -1 T= 0 T= 1
X= 2, 15 X=1.8
Сумма всех эле­ментов массива N
> 0.3
Аргумент Х
Функция
Задание. Вычислить значение функции, заданной по варианту,
в зависимости от аргумента, изменяющегося в диапазоне с указан­ным шагом. Значение Т ввести с клавиатуры в процессе решения задачи на ЭВМ по запросу “Введите Т”. Предусмотреть выдачу на экран сообщения “Повторите ввод. Значение Т введено неверно”, если введенное значение не соответствует условию (см. таблицу1).
В зависимости от значения переменной Т произвести расчет
значения функции по трем направлениям решения, используя опе­ратор выбора <case of>.
Вывод результатов выполнить в виде таблицы:
Таблица 16.
Полученные значения функции обозначить как элементы од­номерного массива и выполнить поиск в массиве данных согласно варианту. Результат вывести на экран, сопроводив текстовым пояс­нением.
4. Список задач различной сложности для программирования
на Паскале
Группа А.
1. Вычислить корни квадратного уравнения ax2+bx+c=0 (разо-
брать все значения a, b и c, указать число корней и корни).
187
2. Без использования массивов вычислить ln(1+x) с помощью ря-
( )!
1
1
k k
k
n
x
k
f x dx h f a f a f a f a f a f a f a f a
n n n
a
b
( ) [ ( ) ( ) ( ) ( ) ( ) ... ( ) ( ) ( )]  
1 3
4 2 4 2 2 4
0 1 2 3 4 2 1
да с точностью до 0.001.
3. Без использования массивов вычислить сумму ряда
.
4. Без использования массивов вычислить приближенное значе-
ние интеграла с помощью формулы
, где a, b , n и f заданы, n - четное, h=(b-a)/n, a0=a, an=b, ak=a0+kh. Функция f(x) вычисляется функцией на Паскале с за- головком function f(x:real): real; .
5. Без использования массивов найти минимальное по абсолют-
ной величине число среди чисел sin1, sin2, ..., sinN (N100) и определить, при каком N оно достигается.
6. Дан массив А из N элементов. Написать функции вычисления
мах А
7. Дан массив А из N элементов. Написать функции вычисления
sum A.
8. Подсчитать количество нулей в массиве a целых чисел.
9. Дан массив из N чисел. Найти в этом массиве номер 7-го по
счету отрицательного элемента. Если число отрицательных элементов массива меньше 7, выдать 0. Построить функцию или фрагмент программы.
10. Генератор случайных чисел выдает числа от 0 до 99 (функция
random (99) ). Выдать седьмое по счету четное число. Постро- ить функцию или фрагмент программы.
11. Найти минимальное положительное значение в массиве a дли-
ны n.
12. Дано множестве n точек на плоскости, заданных координатны-
ми парами (х,y). Найти две ближайшие.
13. Дан массив a целых чисел, расположенных в возрастающем
порядке (возможны повторения). За один проход по массиву найти количество различных чисел среди элементов этого массива.
188
14. Дан массив a целых чисел, расположенных в возрастающем
порядке (возможны повторения). Найти два соседних элемента с наибольшей разницей.
15. Написать функцию вычисления количества чисел в последова-
тельности из n элементов, которые меньше последующего чле­на.
16. Написать функцию вычисления максимума модуля разности
между соседними членами последовательности из n элементов
17. Дан массив A целых чисел, расположенных в порядке убыва-
ния (возможны повторения). За один проход по массиву найти максимальное количество идущих подряд одинаковых чисел.
18. Пусть задан массив записей (объектов типа record), в число по-
лей которой входит поле с именем old. Подсчитать количество элементов массива, для которых 18old55.
19. Используя только один цикл, определить, делится ли число n
на число вида k2.
20. Найти наибольший общий делитель целых чисел m и n.
Группа B
1. Найти максимальное из чисел, встречающихся в заданной по-
следовательности более одного раза.
2. Найти максимальную по длине монотонную (неубывающую
или невозрастающую) подпоследовательность в массиве a це­лых чисел.
3. Дан массив A длины n целых чисел, расположенных в возрас-
тающем порядке (повторения невозможны). Для заданного числа x найти номер j элемента, для которого A[j]x<A[j+1]. Если x<A[1], то j=0, если xA[N] , то j=N.
4. Дан массив a произвольных целых чисел. Найти количество
различных чисел среди элементов этого массива.
5. Двумя вызовами функции random (100) получаем координаты
случайной точки (x,y), лежащей в квадрате со стороной 100. Сколько точек из N попадут внутрь круга с центром в точке (50, 50) и радиусом 25. Построить функцию или фрагмент про­граммы.
189
6. Посчитать число счастливых четырехзначных билетов (сумма
первых двух цифр равна сумме двух последних). Построить функцию или фрагмент программы.
7. Посчитать число чисел, меньших N, не делящихся на 7 и на 11.
Построить функцию или фрагмент программы.
8. Не используя другого массива, заменить каждый элемент мас-
сива на среднее арифметическое своих соседей (первый и по­следний считаются соседями).
9. Дан массив a целых чисел. Не используя дополнительных мас-
сивов, переставить элементы массива в обратном порядке.
10. Пусть задан массив записей (объектов типа record), в число по-
лей которой входит поле с именем name. Подсчитать количе- ство элементов массива с данным значением x поля name.
11. Определить, является ли число n простым.
12. Год считается високосным, если он делится на четыре, при
этом надо исключить года, делящиеся на 100 и не делящиеся на
400. Вычислить логическое выражение, принимающее значе­ние true, если данный год является високосным.
13. Определить, делится ли число n на квадрат другого числа.
14. Пусть гостиница состоит из n корпусов с различным числом
номеров, задаваемых массивом a . Нумерация номеров в гости­нице сквозная. По номеру определить корпус, в котором нахо­дится этот номер.
15. Построить функцию, моделирующую дискретную случайную
величину с заданным распределением p1, p2, ... ,pn.
16. Вычислить номер дня в невисокосном году по числу и месяцу.
17. Вычислить число и месяц в невисокосном году по номеру дня.
18. Определение номера дня недели по дате (день, месяц, год) с
вводом данных и проверкой.
19. Определение месяца и числа по году и номеру дня в году с вво-
дом данных и проверкой.
20. Сортировать массив a длины n в порядке возрастания обме-
ном.
21. Сортировать массив a длины n в порядке возрастания пузырь-
ком.
22. Коэффициенты многочлена a0+a1x+a2x2+...+anxn хранятся в
массиве a длины n+1. Вычислить значение производной этого многочлена в точке x.
190
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]