Задачи по информатике
Глава 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 Составить программу, выводящую на экран расписание учителя (номер урока, время начала урока, класс, предмет, номер кабинета). Определить номера кабинетов, в которых проводит занятия данный учитель. |