Глава VII Подпрограммы

Задачи по информатике

Глава V Двумерные массивы

Раздел 1

1. Дана матрица А(nxn) и вектор а = (a1, a2,..., an). Написать программу вычисления вектора b = A*a.
2. Дана матрица А(nxn). Построить n-мерный вектор по правилу: если в строке матрицы с номером i есть отрицательные элементы, то bi = 0, в противном случае bi = 1.
3. Даны две матрицы А(nxn) и B(nxn). Написать программу нахождения произведения этих матриц D = A*B.
4. Дана матрица А(nxn). Написать программу, которая меняет к-ю и m-ю строки матрицы, а затем транспонирует матрицу.
5. Дана матрица А(nxn) и вектор х = (х1, х2,...,хn). Написать программу нахождения скалярного произведения (х*Ах).
6. Дана матрица А(nxn). Написать программу нахождения матрицы Ат*А, где Ат - транспонированная матрица.
7. Даны две матрицы А(nxn) и B(nxn). Написать программу нахождения матрицы, равной (А-В)т.
8. Даны два вектора b = (b1, b2,..., bn), x = (x1,x2,..., xn) и матрица А(nxn). Написать программу вычисления длины вектора Ах - b.
9. Дана матрица А(nxn). Написать программу, которая вычеркивает столбец с номером р и переставляет остальные так, чтобы получилась матрица nx(m-1).
10. Даны две матрицы А(nxn) и B(nxn), а также два вектора х = (x1, x2,..., xn) и y = (y1, y2,..., yn). Написать программу нахождения скалярного произведения (Ах)*(Ву).
11. Даны две матрицы А(nxn) и C(nxn). Написать программу вычисления матрицы Ст*(А+С), где Ст - транспонированная матрица.
12. Дана матрица А(nxn). Написать программу, которая находит максимальный по абсолютной величине элемент и переставляет строки и столбцы так, чтобы он оказался в левом верхнем углу.
13. Даны две матрицы А(nxn) и B(nxn). Написать программу нахождения суммы диагональных элементов А*В.
14. Дана матрица А(nxn). Написать программу нахождения суммы элементов, стоящих на побочной диагонали.
15. Дана матрица А(nxn). Написать программу нахождения максимального элемента матрицы.
16 Даны две матрицы А(nxn) и B(nxn). Написать программу нахождения матрицы, равной (А+В)т.
17 Даны два вектора b = (b1, b2,..., bn), x = (x1,x2,..., xn) и матрица А(nxn). Написать программу вычисления длины вектора Ах + b.
18 Даны две матрицы А(nxn) и B(nxn), а также два вектора х = (x1, x2,..., xn) и y = (y1, y2,..., yn). Написать программу нахождения вектора (Ах) - (Ву).
19 Даны две матрицы А(nxn) и B(nxn). Написать программу нахождения произведения диагональных элементов матрицы А + В.
20 Дана матрица А(nxn). Написать программу, которая находит минимальный элемент матрицы и переставляет строки и столбцы так, чтобы он оказался в правом нижнем углу.

Раздел 2

1. Дана матрица А(nxn). Написать программу нахождения минимального элемента из (max1,...,maxn), где maxi - максимальный в i - той строке.
2. Даны две матрицы А(nxn) и B(nxn). Написать программу получения коммутатора этих матрицАВ – BA.
3. Дана матрица А(nxn). Написать программу, которая упорядочивает строки этой матрицы по убыванию первых элементов строк.
4. В матрице А(nxn) найти максимальный и минимальный элементы. Указать их разность, а также строки и столбцы, на пересечении которых они находятся.
5. Даны квадратные матрицы А(nxn), B(nxn), C(nxn). Написать программу вычисления матрицы (А+В)*С.
6. Дана матрица А(nxn). Написать программу, которая упорядочивает элементы каждого столбца этой матрицы по убыванию
7. Дана матрица А(nxn). Написать программу, которая упорядочивает элементы каждой строки этой матрицы по возрастанию.
8. Дана матрица А(nxn). Написать программу, которая находит максимальный и минимальный элементы этой матрицы и переставляет столбцы и строки так, чтобы эти элементы поменялись местами.
9. Дана матрица А(nxn). Написать программу вычисления max(Sk), где .
10. Дана матрица А(nxn). Написать программу, которая находит строку матрицы с максимальной суммой элементов.
11. Даны две матрицы А(nxn) и B(nxn). Написать программу нахождения максимального значения max(S1, S2,..., Sn), где Sk - скалярное произведение к - й строки матрицы А на к - й столбец матрицы В.
12. Даны m векторов х1 = (х11, х21,...,хn1),..., xm = (x1m, x2m,...,xnm). Написать программу поиска вектора минимального по длине.
13. Даны две матрицы А(nxn) и B(nxn). Написать программу вычисления величины , где норма ||C|| матрицы С есть max||Ckm||.
14. Дана матрица А(nxn) с положительными элементами. Написать программу, которая находит среди элементов матрицы тройки таких элементов (aji-1, aji, aji+1), чтобы существовал треугольник со сторонами, равными этим числам.
15. Даны m векторов х1 = (х11, х21,...,хn1),..., xm = (x1m, x2m,...,xnm). Написать программу поиска вектора максимального по длине.
16 Дана матрица А(nxn). Написать программу, которая находит столбец матрицы с максимальной суммой элементов.
17 Дана матрица А(nxn). Написать программу нахождения максимального элемента из (min1,...,minn), где mini - минимальный в i - той строке.
18 Дана матрица А(nxn). Написать программу, которая упорядочивает столбцы этой матрицы по убыванию элементов первой строки.
19 Даны m векторов х1 = (х11, х21,...,хn1),..., xm = (x1m, x2m,...,xnm). Написать программу поиска вектора максимального по длине.
20 Дана матрица А(nxn). Написать программу, которая находит строку матрицы с миниимальной суммой элементов.

 


Глава VI Строки

Раздел 1

1. Напишите программу подсчета суммарного числа букв 'а' и букв 'b' в данной строковой переменной. Вывести на экран каких букв больше.
2. Задано предложение y. Проверить, сколько раз встречается данное слово х в предложении у.
3. Предложение содержит буквы латинского и русского алфавитов. Написать программу, которая выводит буквы только латинского алфавита в порядке их следования в предложении.
4. Дано предложение-строка. Подсчитать количество слов, начинающихся с буквы 'а'.
5. Написать программу, подсчитывающую, сколько раз в данном слове х встречается (в качестве его части) слово у.
6. Написать программу, которая каждое встреченное сочетание 'аб' заменяет символом 'с'.
7. Задано предложение-строка. Написать программу, которая находит самое длинное слово, встречающееся в предложении.
8. Написать программу, вычеркивающую из данного текста все буквы 'а'.
9. Написать программу, которая проверяет в строке баланс открывающихся и закрывающихся круглых скобок (строка содержит арифметическое выражение).
10. Написать программу, которая каждую встреченную букву 'б' заменяет сочетанием 'ку'.
11. Задано предложение, состоящее из слов-строк. Написать программу, которая находит самое короткое слово в предложении.
12. Предложение состоит из слов-строк. Написать программу, которая подсчитывает количество слов в предложении.
13. Написать программу, проверяющую, является ли частью данного слова слово 'сок'. Ответ должен быть 'да' или 'нет'.
14. Даны две строки. Вычеркнуть из строки А символы, встречающиеся в строке В.
15. Из данного предложения вычеркнуть слова, содержащие заданную букву.
16 Задано предложение-строка. Написать программу, которая находит самое короткое слово, встречающееся в предложении.
17 Задано предложение-строка. Написать программу, которая находит и печатает слова, начинающиеся с буквы 'а'.
18 Предложение содержит буквы латинского и русского алфавитов. Написать программу, которая выводит буквы только русского алфавита в порядке их следования в предложении.
19 Даны две строки. Вычеркнуть из строки А символы, не встречающиеся в строке В.
20 Написать программу, которая каждую встреченную букву 'б' заменяет сочетанием 'да'.

 

Раздел 2 В заданный непустой текст входят только цифры и буквы. Определить, удовлетворяет ли он следующему свойству:

1. Текст является десятичной записью числа, кратного 9.
2. Текст является записью четного числа в семеричной системе.
3. Текст является записью десятичного числа, кратного 6.
4. Текст является записью десятичного числа, кратного 4.
5. Текст является восьмеричной записью числа, кратного 5.
6. Текст начинается с некоторой ненулевой цифры, за которой следуют только буквы, и их количество равно числовому значению цифры.
7. Текст начинается с к букв (1<=к<=9), за которыми следует только одна литера-цифра с числовым значением к.
8. Текст совпадает с начальным отрезком ряда 0123456789 (например: 0,01,012).
9. Текст совпадает с конечным отрезком ряда 0123456789 (например: 9, 89, 789).
10. Текст совпадает с каким то отрезком ряда 0123456789 (например: 2, 678, 89).
11. Текст состоит только из цифр, причем их числовые значения образуют арифметическую прогрессию (например: 2468).
12. Текст содержит (помимо букв) только одну цифру, причем ее числовое значение равно длине текста.
13. Сумма числовых значений цифр, входящих в текст, равна длине текста.
14. Текст состоит только из цифр, причем их числовые значения образуют геометрическую прогрессию (например: 248).
15. Текст является записью восьмеричного числа, кратного 7.
16 Сумма числовых значений цифр, содержащихся в тексте, кратна 5.
17 Текст содержит ровно две цифры.
18 Количество цифр в тексте не превышает 3.
19 Текст является записью десятичного числа, кратного 5.
20 Произведение числовых значений цифр, содержащихся в тексте, кратна 4.

 


 

Глава VII Подпрограммы

Раздел 1 Решить с помощью подпрограммы - функции

1. Даны действительные числа a, b, c. Получить:
2. Даны действительные числа a, b. Получить u = min(a, b-a), y = min(ab, a+b), k = min(u+v2, 3.14).
3. Даны натуральные числа a, b, c. Определить функцию bin(x), переводящую число х из десятичной системы счисления в двоичную. Найти bin(a + b), bin(ab + c).
4. Даны действительные числа s, t. Получить: g(1.2, s)+g(t, s)-g(2s-1, 5t), |g(ln(s, t+1))-g(t, s)|, где
5. Даны действительные числа x, y. Получить: f(x, -2y, 1.17)+f(2.2, x, x-y), tg(f(x+y, xy, y-x)+f(3.1, 1.4, y-sinx)), где
6. Даны натуральные числа a, b, c. Найти НОД(a, b, c), (наибольший общий делитель) используя формулу: НОД(a, b, c) = НОД(НОД(a, b), c).
7. Даны неотрицательные целые числа a, b. Найти F(a, b), где (Определить вспомогательную функцию, вычисляющую факториал).
8. Даны две квадратные матрицы A, B 3-го порядка. Построить таблицу функции y = cx2 + d при х меняющемся от 0 до 1 с шагом 0.1, где с = sp(A), d = sp(B). (sp(A) - след матрицы А -сумма элементов главной диагонали).
9. Даны два натуральных числа a, b. Найти разность и произведение суммы цифр этих чисел. Вычисление суммы цифр числа оформить в виде функции.
10. Даны два натуральных числа a, b. Вычислить Функция х!! Определяется следующим образом: х!! = 1*3*5*...*х, если х нечетно, х!! = 2*4*6*...*х, если х четно.
11. Даны действительные числа a0, a1, a2, a3. Получить для х = 1, 3, 4 значения р(х+1) - р(х), где р(у) = a3y3 + a2y2 + a1y + a0.
12. Даны действительные числа a, b, c. Получить .
13. Даны действительные числа a, b. Получить r = max (a, b + a), d = max (ab, a + b), s = max (r + d2, 3.14).
14. Даны натуральные числа a, b, c. Определить функцию bin (x), переводящую число х из десятичной системы счисления в двоичную. Найти двоичное представление данных чисел.
15. Даны действительные числа a, b. Получить:
16 Даны натуральные числа a, b, c. Определить функцию ter (x), переводящую число х из десятичной системы счисления в троичную. Найти троичное представление данных чисел.
17 Даны два натуральных числа a, b. Найти произведения цифр этих чисел. Вычисление произведения цифр числа оформить в виде функции.
18 Даны действительные числа a, b. Получить u = min(a, b-a, b+a), y = min(ab, a+b, a+3), k = min(u+v2, 5, u-v).
19 Даны две квадратные матрицы A, B 3-го порядка. Наитии максимальные элементы этих матриц. Нахождение максимального элемента матрицы оформить в виде функции..
20 Даны натуральные числа a, b, c. Определить функцию qur (x), переводящую число х из десятичной системы счисления в четверичную. Найти четверичное представление данных чисел.

 

 

Раздел 2 Решить с помощью подпрограммы – процедуры

1. Заданы два вектора х = (x1, x2, x3, x4), y = (y1, y2, y3, y4). Определить угол a между векторами x и y по формуле: Вычисление скалярного произведения оформить в виде процедуры.
2. Четыре точки заданы своими координатами X(x1, x2), Y(y1, y2), Z(z1, z2), P(p1, p2). Выяснить, какие из них находятся на максимальном расстоянии друг от друга и вывести на печать значение этого расстояния. Вычисление расстояния между двумя точками оформить в виде процедуры.
3. Четыре точки заданы своими координатами X(x1, x2, x3), Y(y1, y2, y3), Z(z1, z2, z3), T(t1, t2, t3).Выяснить, какие из них находятся на минимальном расстоянии друг от друга и вывести на печать значение этого расстояния. Вычисление расстояния между двумя точками оформить в виде процедуры.
4. Три точки заданы своими координатами X(x1, x2), Y(y1, y2) и Z(z1, z2). Найти и напечатать координаты точки, для которой угол между осью абсцисс и лучом, соединяющим начало координат с точкой, минимальный. Вычисления оформить в виде процедуры.
5. Задана окружность (x-a)2 + (y-b)2 = R2 и точки Р(р1, р2), F(f1, f2), L(l1, l2). Выяснить и напечатать, сколько точек лежит внутри окружности. Проверку, лежит ли точка внутри окружности, оформить в виде процедуры.
6. Заданы три матрицы А(второго порядка), В(третьего порядка) и С(четвертого порядка). Выяснить и напечатать, сколько из них являются симметричными (Матрица называется симметричной, если транспонированная матрица равна исходной). Транспонирование матрицы оформить в виде процедуры.
7. Заданы матрицы А и В третьего порядка. Переменной S присвоить -1, если максимальный элемент матрицы А больше максимального элемента матрицы В; 0 если максимальные элементы матрицы равны; 1, если максимальный элемент матрицы А меньше максимального элемента матрицы В. Поиск максимального элемента оформить в виде процедуры.
8. Заданы два вектора X(x1,x2,x3), Y(y1,y2,y3) и матрица А третьего порядка. Найти сумму двух векторов c и d, где вектор с есть произведение вектора x на матрицу А, а вектор d - произведение вектора на матрицу А. Вычисление произведения вектора на матрицу оформить в виде процедуры.
9. Заданы три матрицы А(третьего порядка), В(второго порядка) и С(третьего порядка). Найти максимальное из трех чисел x, y, z, где x - след матрицы А, у- след матрицы В, z- след матрицы С.(Следом матрицы называется сумма элементов главной диагонали). Вычисление следа матрицы оформить в виде процедуры.
10. Даны отрезки а, b, c и d. Для каждой тройки этих отрезков, из которой можно построить треугольник, вывести на экран площадь данного треугольника. Проверку существования треугольника оформить в виде процедуры.
11. Даны длины сторон треугольника a, b, c. Найти медианы треугольника, сторонами которого являются медианы исходного треугольника. Для вычисления медианы проведенной к стороне а, использовать формулу Вычисление медианы оформить в виде процедуры.
12. Даны две матрицы размером 3x3. Написать программу получения коммутатора АВ-ВА и антикоммутатора АВ+ВА этих матриц. Вычисление произведения матриц оформить в виде процедуры.
13. Дана квадратная матрица А. Написать программу вычисления матрицы Ат*Ат*А*А, Ат - транспонированная матрица. Вычисление произведения матриц оформить в виде процедуры.
14. Даны две матрицы А и В. Написать программу, меняющую местами максимальные элементы этих матриц. Нахождение максимального элемента матрицы оформить в виде процедуры.
15. Даны три квадратные матрицы третьего порядка. Вывести на экран ту из них, норма которой наименьшая. В качестве нормы матрицы взять максимум модулей ее элементов. Нахождение нормы матрицы оформить в виде процедуры.
16 Заданы четыре вектора: X = {x1, x2, x3}, Y = {y1, y2, y3}, Z = {z1, z2, z3, z4}, P = {p1, p2, p3, p4}. Логической переменной a присвоить значение true, если скалярное произведение векторов X и Y больше скалярного произведения Z и P, значение false в противном случае. Нахождение скалярного произведения оформить в виде процедуры.
17 Описать процедуру Sort(A, B, C), меняющую содержимое переменных A, B, C таким образом, чтобы их значения оказались упорядоченными по убыванию (A, B, C — вещественные параметры, являющиеся одновременно входными и выходными). С помощью этой процедуры упорядочить по убыванию два данных набора из трех чисел: (A1, B1, C1) и (A2, B2, C2).
18 Описать процедуру Mean(X, Y, AMean, GMean), вычисляющую среднее арифметическое AMean = (X + Y)/2 и среднее геометрическое GMean = (XY)1/2⋅двух положительных чисел X и Y (X и Y — входные, AMean и GMean — выходные параметры вещественного типа). С помощью этой процедуры найти среднее арифметическое и среднее геометрическое для пар (A, B), (A, C), (A, D), если даны A, B, C, D.
19 Описать процедуру RectPS(x1, y1, x2, y2, P, S), вычисляющую периметр P и площадь S прямоугольника со сторонами, параллельными осям координат, по координатам (x1, y1), (x2, y2) его противоположных вершин (x1, y1, x2, y2 — входные, P и S — выходные параметры вещественного типа). С помощью этой процедуры найти периметры и площади трех прямоугольников с данными противоположными вершинами.
20 Описать процедуру DigitCountSum(K, C, S), находящую количество C цифр целого положительного числа K, а также их сумму S (K — входной, C и S — выходные параметры целого типа). С помощью этой процедуры найти количество и сумму цифр для каждого из пяти данных целых чисел.

 


Глава VIII Файлы

Раздел 1

1. В файле f записаны целые числа. Написать программу, которая в файл g записывает четные числа, а файл h - нечетные.
2. Символьный файл содержит пробелы. Сжать этот файл (убрать пробелы).
3. В файле f записан массив действительных чисел. Найти наименьшее из этих чисел.
4. В файле f записаны целые числа. Написать программу, которая в файл g записывает положительные числа, а файл h - отрицательные.
5. Вычислить сумму квадратов чисел от 1 до 30. Квадраты чисел предварительно записать в файл.
6. Сформировать файл последовательности чисел, в котором каждая к-я компонента определяется по формуле: , где хк - к-я компонента исходного файла.
7. Файл f содержит буквы латинского и русского алфавитов. Занести в файл h только латинские буквы, а в файл g - только русские буквы.
8. Символьный файл содержит различные буквы латинского алфавита. Убрать из этого файла все буквы 'а'.
9. Файл содержит буквы латинского алфавита. Подсчитать количество букв 'р' в файле.
10. Файл содержит действительные числа. Найти среднее геометрическое всех положительных чисел файла.
11. Найти сумму чисел, предшествующих первому отрицательному числу в файле.
12. Найти произведение чисел из файла, меньших заданного числа.
13. Файл содержит буквы латинского алфавита. Заменить буквы 'р' на 'w'.
14. Файл содержит числа, упорядоченных по возрастанию. Добавить к этим числам еще одно число, заданное пользователем, чтобы сохранилась упорядоченность по возрастанию.
15. Найти сумму чисел из файла, меньших заданного числа.
16 В файле f записан массив действительных чисел. Найти наибольшее из этих чисел.
17 Найти сумму чисел, стоящих после первого положительного числа в файле.
18 Файл содержит действительные числа. Найти среднее арифметическое всех отрицательных чисел файла.
19 В файле f записаны целые числа. Написать программу, которая в файл g записывает двузначные числа, а файл h - однозначные.
20 Файл содержит буквы латинского алфавита. Подсчитать количество букв 'w' в файле.

Глава IX Записи

Раздел 1 Во всех задачах записи (не менее 5) вводятся с клавиатуры, записываются в файл и выводятся на экран. Затем пользователь вводит параметры запроса и получает ответ на него.

1. Составить программу, выводящую на экран меню детского кафе (наименование блюда, вес, цена). Определить стоимость заказанного пользователем блюда (пользователь задает название блюда и количество порций).
2. Составить программу, выводящую на экран студенческую ведомость (Ф. И. О., оценки за три экзамена, средний балл). Определить количество студентов, у которых средний балл превышает заданное пользователем значение.
3. Составить программу, выводящую на экран расписание движения поездов (номер поезда, станция отправления, станция прибытия, время прибытия, время в пути). Определить номер поезда, который раньше всех прибывает в заданный пользователем пункт.
4. Составить программу, выводящую на экран меню ресторана "Дракон" (наименование блюда, вес, стоимость). Определить стоимость самого дешевого блюда.
5. Составить программу, выводящую на экран анкетные данные учеников (Ф. И. О., год рождения, адрес, сведения о родителях). Распечатать данные об учениках, родившихся ранее заданного года.
6. Составить программу, выводящую на экран список книг домашней библиотеки (автор, название книги, издательство, год издания, стоимость). Распечатать список книг заданного автора.
7. Составить программу, выводящую на экран расписание экзаменов и зачетов (предмет, вид отчетности, число, преподаватель). Распечатать список экзаменов, которые принимает заданный преподаватель.
8. Составить программу, выводящую на экран сведения о студентах (Ф. И. О., курс, группа, номер зачетки, средний балл). Определить количество студентов, у которых средний балл превышает заданное пользователем значение.
9. Составить программу, выводящую на экран сведения о периодических изданиях (наименование издания, тираж, годовая стоимость). Распечатать наименования изданий, тираж которых превышает заданное значенние.
10. Составить программу, выводящую на экран расписание учителя (номер урока, время начала урока, класс, предмет, номер кабинета). Определить номера кабинетов, в которых проходят занятия по заданному предмету.
11. Составить программу, выводящую на экран расписание полетов самолетов (пункт посадки, время отправления, время прибытия, время полета, стоимость билета). Определить номер рейса, который позже всех прибывает в заданный пункт.
12. Составить программу, выводящую на экран перечень товаров, имеющихся в продаже в магазине "Океан" (наименование, единица измерения, цена, количество). Определить полную стоимость выбранных пользователем товаров.
13. Составить программу, выводящую на экран информацию о наличии товаров на складе (наименование, артикул, дата получения, единица измерения, количество, цена). Вывести список товаров, стоимость которых превышает заданную величину.
14. Составить программу, выводящую на экран "Телефонный справочник" (Ф. И. О., адрес, номер телефона). Распечатать список абонентов, у которых первые три цифры номера совпадают с заданными.
15. Составить программу, выводящую на экран график отпусков (Ф. И. О., дата начала отпуска, дата выхода на работу, количество дней). Распечатать имена сотрудников, которые будут находиться в отпуске в заданный день.
16 Составить программу, выводящую на экран сведения о студентах (Ф. И. О., курс, группа, номер зачетки, средний балл). Распечатать фамилии студентов, у которых средний балл не превышает заданное пользователем значение.
17 Составить программу, выводящую на экран список книг домашней библиотеки (автор, название книги, издательство, год издания, стоимость). Распечатать список книг, стоимость которых превышает заданную величину.
18 Составить программу, выводящую на экран сведения о периодических изданиях (наименование издания, тираж, стоимость подписки). Распечатать наименования изданий, для которых стоимость подписки превышает заданное значение.
19 Составить программу, выводящую на экран информацию о наличии товаров на складе (наименование, артикул, единица измерения, количество, цена). Вывести список товаров, цена которых превышает заданную величину, и вычислить их стоимость.
20 Составить программу, выводящую на экран расписание учителя (номер урока, время начала урока, класс, предмет, номер кабинета). Определить номера кабинетов, в которых проводит занятия данный учитель.

 


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: