zadachiekzinform

advertisement
1. Даны числа a1, b1, c1, а2, b2, c2. напечатать координаты точки
пересечения прямых, описываемых уравнениями
a1x + b1y = c1 и
а2х + b2у = c2,
либо сообщить, что эти прямые совпадают, не пересекаются или вовсе
не существуют.
2. Даны числа а, b и c (а ≠ 0). Найти вещественные корни уравнения ах4
+ bx2 +c = 0. Если корней нет, то сообщить об этом.
3. Дано ε>0. С точностью ε найти корень уравнения
πх3 – ех2 + (2е + 1)х + π2 = 0.
4. Числа Фибоначчи (FП) определяются формулами
fo = f1 = 1; fn = fn-1 + fn-2 при n= 2,3,...
вычислить s - сумму всех чисел Фибоначчи, которые не превосходят
1000.
5. Приближенно вычислить интеграл

 ln( 2  sin x)dx,
0
используя формулу прямоугольников при n = 100:
∫ f(x)dx ≈ h [f(x1) + f(x2) +…+ f(xn)],
где h = (b - a)/n, xi = a - ih - h/2.
6. Определить k - количество трехзначных натуральных чисел, сумма
цифр которых равна n (1≤n≤27). Операции деления (/, div и mod) не
использовать.
7. Дана непустая последовательность ненулевых целых чисел, за
которой следует 0. Определить, сколько раз в этой последовательности
меняется знак. (Например, в последовательности 1, -34, 8, 14, -5 знак
меняется 3 раза).
8.Даны натуральное n и вещественные числа x1, y1, x2, y2, … xn, yn.
Рассматривая пары xi,yi как координаты точек на плоскости, определить
радиус наименьшего круга (с центром в начале координат), внутрь которого
попадают все эти точки.
9. Дано натуральное k. Напечатать k-ю цифру последовательности
1234567891011121314…, в которой выписаны подряд все натуральные числа.
10. Найти наименьшее общее кратное четырех заданных натуральных
чисел.
11. Два натуральных числа называются “дружественными”, если
каждое из них равно сумме всех делителей другого, за исключением его
самого (таковы, например, числа 220 и 284). Напечатать все пары
«дружественных» чисел, не превосходящих заданного натурального числа.
12. Даны координаты вершин двух треугольников. Определить, какой
из них имеет большую площадь.
13. Дано четное число n>2; проверить для этого числа гипотезу
Гольдбаха. Эта гипотеза заключается в том, что каждое четное n, большее
двух, представляется в виде суммы двух простых чисел. (Определить
процедуру, позволяющую распознавать простые числа).
14. Даны натуральное число n, целые числа a1,...,an. Рассмотреть
отрезки последовательности a1,...,an (последовательности идущих подряд
членов), состоящие из полных квадратов. Получить наибольшую из длин
рассматриваемых отрезков.
15. Создать массив записей, содержащих сведения о студентах
университета. Структура записи:
фамилия, имя, отчество;
факультет, специальность, группа;
количество троек в последнюю сессию;
количество четверок в последнюю сессию;
количество пятерок в последнюю сессию;
размер стипендии.
Количество записей произвольное
Вывести на экран число студентов специальности ПИЭ, получающих
повышенную стипендию.
16. type food = ( broad, butter, milk, meat, fish, salt, cheese,
saucers, sugar, tea, cafe);
assort = set of food;
shop = array [1..20] of assort;
Описать процедуру Nal(sh, A), которая по информации из массива Sh
типа shop (Sh(i) – это множество продуктов, имеющихся в i-м магазине)
присваивает параметру A типа assort множество продуктов, которых нет ни в
одном магазине.
17. Ввести массив записей о пациентах больницы. Каждая запись
массива содержит следующую информацию о пациенте:
фамилия, имя, отчество;
пол, возраст, место жительства;
диагноз.
Число записей произвольное.
Вывести на экран число пациентов – женщин старше X лет с диагнозом
Y и число пациентов, прибывших из города N c диагнозом K.
18. type stroka = packed array [1..80] of char;
var s:stroka;
Известно, что в начале строки s находится не более 40 латинских букв,
за которыми следуют пробелы. Напечатать эту строку, предварительно
заменив все вхождения ph на f, а все вхождения ed на ing.
19. Дана вещественная матрица размером 7×4. Переставляя ее строки
и столбцы добиться того, чтобы наибольший элемент (один из них) оказался
в верхнем левом углу.
20. const n = 100;
vаr х:аrrау [1..n] of rеаl;
Упорядочить массив х по неубыванию, используя следующий
алгоритм сортировки: сортировка вставками. Пусть первые и элементов
массива уже упорядочены по неубыванию; берется (k+1 )-й элемент и
размещается среди первых k элементов так, чтобы упорядоченными
оказались уже k+1 первых элементов; этот метод применяется при k от 1 до
n-1.
21. const n = 100;
vаr х:аrrау [1..n] of rеаl;
Упорядочить массив х по неубыванию y, используя следующий
алгоритм
сортировки:
сортировка
обменом
(метод
пузырька).
Последовательно сравниваются пары соседних элементов xk
и xk+1
(k=1,2,3,...,n-1) и, если хk>xk+1, то они переставляются; тем самым
наибольший элемент окажется на своем месте в конце массива; затем этот
метод применяется ко всем элементам, кроме последнего, и т.д.
22. const n = 100;
vаr х:аrrау [1..n] оf rеаl;
Упорядочить массив x по неубыванию, используя следующий
алгоритм сортировки: сортировка выбором. Отыскивается максимальный
элемент и переносится в конец массива; затем этот метод применяется ко
вcем элементам, кроме последнего (он уже находится на своем
окончательном месте), и т.д.
23. var x, y, z:set of 8..22;
Переменной x присвоить множество всех целых чисел от 8 до 22,
переменной y – множество всех простых чисел из этого диапазона, а
переменной z – множество всех составных чисел из этого же диапазона.
24. Определить, является ли заданная целая квадратная матрица 10-го
порядка симметричной (относительно главной диагонали).
25. type town = (a,b,c,d,e,f,g,h);
towns = set of town;
path = array [town] of towns;
Описать процедуру travel(P,H,K), которая по рейсам P (P[x] –
множество городов, в которые можно за один рейс доехать автобусом из
города x) определяет K – множество городов, в которые можно попасть
автобусом (за один рейс или через другие города) из города H.
26. Заданное целое число от 1 до 1999 напечатать римскими цифрами.
27. Определить, является ли заданная целая квадратная матрица 9-го
порядка магическим квадратом, т.е. такой, в которой суммы элементов во
всех строках и столбцах одинаковы.
28. Имеется нетипизированный файл длиной 50 байт. Вывести его
содержимое на экран. Скопировать его содержимое в другой файл с
помощью оператора FOR..TO..DO. Длина блоков 2 байта. В цикле выводить
содержимое каждого скопированного блока.
29. Напечатать таблицу значений функций sin x и tg x на отрезке [0,3] с
шагом 0.1. Значения x печатать с одной цифрой в дробной части, значения
синуса – с пятью, а значения тангенса – в экспоненциальной форме.
30. Напечатать первые 10 строк «треугольника Паскаля» в следующем
виде:
1
11
121
1331
14641
…
1 9 … 126 126 … 9 1
В этом «треугольнике» крайние числа равны 1, а каждое внутреннее –
сумме двух чисел над ним.
31. Разработать программу для обработки данных типизированного
файла. Обработка данных должна включать процедуры без параметров:
для вывода шапки таблицы;
для вывода данных одной записи;
для создания файла;
для дополнения файла новыми записями;
для записи данных в файл;
для чтения данных файла;
для модификации ряда записей файла;
для поиска записей файла с выводом найденных записей или
сообщения о неуспешном поиске по поисковому признаку;
удаления записей из типизированного файла следующим образом:
поиск удаляемой записи; сдвиг (в случае успешного поиска) всех записей,
расположенных после удаляемой записи, к началу файла; после удаления
производится усечение файла.
Структура файла:
Легковые автомобили
Марка
Цвет
Стоимость Изготовитель Максимальная
скорость
Поисковые признаки: автомобиль зарубежного производства;
автомобиль красного цвета.
32. Пусть текстовый файл t разбит на непустые строки. Написать
программу, использующую функцию count(t) для подсчета числа строк,
которые оканчиваются буквой z..
33. Напечатать картинку, изображающую умножение «столбиком»
двух заданных натуральных чисел. Возможный пример:
39624
×
8503
118872
+ 198120
316992
336922872
34. Пусть текстовый файл t разбит на непустые строки. Написать
программу, использующую функцию count(t) для подсчета числа строк,
которые начинаются и оканчиваются одной и той же литерой.
35. Имеются двоичные деревья:
type
tree=^item;
item=record
data:real;
right,left:tree
end;
Написать программу, которая заменяет в дереве T все отрицательные
элементы на их абсолютные величины.
36. Имеются двоичные деревья:
type
tree=^item;
item=record
data:real;
right,left:tree
end;
Написать программу, меняет местами максимальный и минимальный
элементы непустого дерева T, все элементы которого различны.
37. Используя очередь, решить следующую задачу. В текстовом файле t
записан текст, сбалансированный по круглым скобкам. Требуется напечатать
в порядке убывания номеров позиций в тексте открывающих скобок.
Например, для текста A+(45–F(X)*(B–C)) надо напечатать:
12 8 3.
38. Постфиксной формой записи выражения aΔb называется запись, в
которой знак операции размещен за операндами: abΔ. Примеры:
a–b
→ ab–
a*b+c
→ ab*c+ (т.е. (ab*)c+)
a*(b+c) → abc+* (т.е. a(bc+)*)
a+b2c2d*e → abc2d2e*+
Написать программу, которая печатает в обычной (инфиксной) форме
выражение, записанное в постфиксной форме в текстовом файле postfix.
(Лишние скобки желательно не печатать).
39. Используя очередь, за один просмотр файла f и без использования
дополнительных файлов, напечатать элементы файла f в следующем
порядке: сначала – все числа, меньше a, затем – все числа из отрезка [a,b], и
наконец – все остальные числа, сохраняя исходный взаимный порядок в
каждой из этих трех групп чисел (a и b – заданные числа, a<b).
40. Имеются линейные однонаправленные списки:
type
p=^item;
item=record
data:real;
reference:p
end;
Написать программу, которая переворачивает список L, т.е. изменяет
ссылки в этом списке так, чтобы его элементы оказались расположенными в
обратном порядке.
41. Написать программу с использованием указателя на одномерный
динамический массив для работы с двумерным массивом. Для этого:
сформировать динамический массив арифметических данных из
исходных данных, расположенных в текстовом файле;
для формирования использовать процедуру с параметром-переменной
типа указателя на массив; функцию, возвращающую указатель на массив;
ввести из файла и вывести исходные данные;
поменять местами максимальный и минимальный элементы массива с
помощью процедуры с параметрами.
42. Используя стек напечатать содержимое текстового файла t,
выписывая литеры каждой его строки в обратном порядке.
43. Используя статические объекты и статические методы, разработать
программу движения по экрану прямой линии и треугольника.
44. Используя динамические объекты и виртуальные методы,
разработать программу вывода на экран и смены цвета рамки, состоящей из
двух квадратов.
45. Используя статические объекты и статические методы, разработать
программу движения по экрану прямой линии и дуги.
46. Используя динамические объекты и виртуальные методы,
разработать программу вывода на экран и смены цвета рамки, состоящей из
двух прямоугольников.
47. Используя динамические объекты и виртуальные методы,
разработать программу вывода на экран и смены цвета столбиковой
диаграммы роста некоторого показателя.
48. Используя статические объекты и статические методы, разработать
программу движения по экрану прямой линии и окружности.
48. Используя статические объекты и статические методы, разработать
программу движения по экрану прямой линии и эллипса.
49. Используя динамические объекты и виртуальные методы,
разработать программу одновременного вывода на экран и смены цвета двух
эллипсов разного цвета.
50. Используя динамические объекты и виртуальные методы,
разработать программу одновременного вывода на экран и смены цвета двух
параллелепипедов.
51. Используя статические объекты и статические методы, разработать
программу движения по экрану точки и цифры 8, состоящей из двух
окружностей.
52. Используя динамические объекты и виртуальные методы,
разработать программу вывода на экран и смены цвета диаграммы,
состоящей из равнобедренных треугольников.
Download