Практическаяработа №1
1. cоставить программу вычисления площади выпуклого четырехугольника, заданного
длинами четырех сторон и диагонали.
2. даны числа x, y, z, т — длины сторон четырехугольника. вычислить его площадь, если
угол между сторонами длиной x и у — прямой. использовать две подпрограммы для
вычисления площадей: прямоугольного треугольника и прямоугольника.
3. напишите программу, которая переводит переданное ей неотрицательное целое число в 10-
значный восьмеричный код, сохранив лидирующие нули.
4. найти все натуральные числа, не превосходящие заданного n, которые делятся на каждую
из своих цифр.
5. ввести одномерный массив a длиной m. поменять в нём местами первый и последний
элементы. длину массива и его элементы ввести с клавиатуры. в программе описать
процедуру для замены элементов массива. вывести исходные и полученные массивы.
6. даны 3 различных массива целых чисел. в каждом массиве найти произведение элементов
и среднеарифметическое значение.
практическаяработа №2
1. даны две матрицы а и в. написать программу, меняющую местами максимальные
элементы этих матриц. нахождение максимального элемента матрицы оформить в виде
процедуры.
2. даны длины сторон треугольника a, b, c. найти медианы треугольника, сторонами
которого являются медианы исходного треугольника. для вычисления медианы проведенной
к стороне а, использовать формулу вычисление медианы оформить в виде процедуры.
3. три точки заданы своими координатами x(x1, x2), y(y1, y2) и z(z1, z2). найти и
напечатать координаты точки, для которой угол между осью абсцисс и лучом, соединяющим
начало координат с точкой, минимальный. вычисления оформить в виде процедуры.
4. составить программу для нахождения чисел из интервала [м, n], имеющих наибольшее
количество делителей.
5. найти все простые натуральные числа, не превосходящие n, двоичная запись которых
представляет собой палиндром, т. е. читается одинаково слева направо и справа налево.
6. составить программу, которая изменяет последовательность слов в строке на обратную.
var
i, a, b, n, n2, j: longint;
s: string;
flag: boolean;
begin
Write('Введите через пробел границы диапазона: ');
Readln(a, b);
if b < a then begin n := a; a := b; b := n end;
if a < 11 then a := 11;
for i := a to b do
begin
Str(i, s);
n := Length(s); n2 := n div 2; flag := true; j := 1;
repeat
flag := (s[j] = s[n - j + 1]);
j := j + 1
until (not flag) or (j > n2);
if flag then Write(i, ' ')
end;
end.
Тестовое решение:
Введите через пробел границы диапазона: 800 1500
808 818 828 838 848 858 868 878 888 898 909 919 929 939 949 959 969 979 989 999
Объяснение:
7
2
мотор
торт
Торт
Объяснение:
writeln(length(s)) - вывод количества символов в строке
writeln(pos('о',s)) - вывод первой позиции символа 'о' в строке s
delete(s,3,2) - удаление в строке s 2-х символов начиная с символа под номером 3
writeln(s) - вывод получившейся строки s
t:=copy(s, 3, 3) - копирование в строку t 3-х символов строки s начиная с 3 символа (тор)
insert ('т',t,4) - вставка символа 'т' в строку t на позицию 4
writeln (t) - вывод получившейся строки t
t[1]:=UpCase(t[1]) - замена первого символа строки t на заглавный
writeln (t) - вывод получившейся строки t