Решебник к задачам по информатике: Язык программирования «Паскаль»
1 часть
♯Задача №1
Найти площадь прямоугольного треугольника, если известны его катеты.
Решение:
Program Plashed;
Var a, b, S: real;
Begin
Writeln ('Введите два числа (катеты треугольника)');
Readln (a,b);
S := (a*b)/2;
Writeln('Площадь треугольника равна ', S);
End.
♯Задача №2
Шоколадка «Dove» стоит некоторую сумму денег. После праздников цена шоколадки увеличилась на 10%. Какова новая стоимость шоколадки?
Решение:
Program chocolate;
Var c: real;
Begin
Writeln(‘Введите первоначальную стоимость шоколадки');
Readln(c);
c:= c+(c/100)*10;
Writeln (‘Стоимость шоколадки после подорожания на 10% = ', c);
End.
♯Задача №3
Одна сторона прямоугольника на 7 см длиннее другой. Найти его периметр. Размеры сторон произвольные.
Решение:
Program perimeter;
Var a, P: real;
Begin
Writeln(‘Введите число(сторона прямоугольника)’);
Readln(a);
P:= a+a+a+7+a+7;
Writeln (‘Периметр прямоугольника = ’, P);
End.
♯Задача №4
Найдите ускорение, с которым движется автомобиль, если известна начальная и конечная скорость, время.
Решение:
Program uscorenie;
Var a, v0, v, t: real;
Begin
Writeln(‘Введите 3 числа больше нуля :начальная скорость(м/с), конечная скорость(м/с), время(с)’);
Readln(v0, v, t);
a:= (v-v0)/t;
Writeln(‘Ускорение = ’, a);
End.
♯Задача №5
Поменяйте местами цифры в двузначном числе.
Решение:
Program zamena;
Var a,b,c: integer;
Begin
Writeln(‘введите число а’);
Readln(a);
b:=a div 10;
c:= a mod 10;
a:= c*10+b;
Writeln(a);
End.
♯Задача №6
Дана сторона квадрата а. Найти его периметр.
Решение:
Program kvadrat;
VaraP :integer;
Begin
Writeln(' введите cторону квадрата а ');readln(a);P:=4*a;
Writeln(P);End.
♯Задача №7
Дан радиус круга r. Найти площадь круга.
Решение:
Program krug;
const p=3.14;
Var
S,r :real;
Begin
Writeln(' введите радиус круга r ');
readln(r);
S:=sqr(r)*p;
Writeln(S);
End.
♯Задача №8
Ввести двузначное число а. Поменять цифры местами.
Решение:
Program prim_9;
Var a,b,c:integer;
Begin
Write(' введите число а ');
Readln(a);
b:= a div 10;
c:=a mod 10;
a:=c*10+b;
Writeln(a);
End.
♯Задача №9
Даны катеты прямоугольного треугольника. Найти площадь треугольника и гипотенузу.
Решение:
program treyg;
var
a,b,c,S: real;
begin
a:=3;
b:=4;
c:=sqrt(sqr(a)+sqr(b));
writeln(c);
S:=0.5*a*b;
writeln(S);
end.
♯Задача №10
Произвести операцию перевод из сантиметров в метры(полные метры).
Решение:
Program metr;
var m,s: integer;
begin
write ('Введите значение m:');
readln (m);
s:=m div 100;
write ('Количество полных метров: ',s,'.');
end.
♯Задача №11
Дано натуральное число меньше 256. Сформировать число, представляющее собой его квадрат.
Решение:
program van ;
var
a: word;
begin
writeln(‘введите 1 число ‘);
readln(a);
a := a * a;
writeln(a);
end.
♯Задача №12
Вывести на экран три введенных с клавиатуры числа в порядке, обратном их вводу.
Решение:
program cat ;
var
a, b, c: integer;
begin
writeln(‘ введите 3 числа ‘);
readln(a, b, c);
writeln(c,b,a);
end.
♯Задача №13
Сережа посмотрел в дневник на свои оценки по географии и захотел предположить, что он получит за четверть. Помоги Сереже если его оценки выглядят так ( 5, 3, 4).
Решение:
program zet ;
var
a, b, c, z: integer ;
begin
writeln(‘ введите 3 числа ‘);
readln(a, b, c);
z:=(a*b*c)/3;
writeln(z);
end.
♯Задача №14
Найдите площадь прямоугольного треугольника, катеты которого a и b .
Решение:
program go ;
var
a, b, s: integer;
begin
writeln(‘ введите 2 числа ‘);
readln(a, b);
s:= 0.5*(a*b);
writeln(s);
end.
♯Задача №15
Выведите корень из числа на экран, введенного с клавиатуры.
Решение:
program dog ;
var
a: real;
begin
writeln(' введите число ');
readln(a);
a:= sqrt(a);
writeln(a);
end.
♯Задача №16
Вывести на экран запись « information technology».
Решение:
Program information technology;
Begin
Readln( ҆введите слово ҆);
Writeln( ҆ information technology ҆ );
End.
♯Задача №17
Вывести на экран три числа в порядке, обратном вводу. Решение: Program two; Var A , B , C : integer; Begin Readln( ҆ A,B,C҆); Writeln(C, ҆ ҆ ,B , ҆ ҆ , A); End. ♯
Задача №18 Дано число … . Вывести на экран его квадрат . Решение: Program three; Var C : real; Begin Readln( ҆ Введите число ҆); Writeln( C); C:=C*C; Writeln( C); End. ♯
Задача №19 Найти площадь треугольника . Решение: Program for; Var A, H, S : real; Begin Readln(҆҆ Введите числа ҆); Writeln( A , H); S :=1/2*A*H Writeln(H); End. ♯
Задача №20 Проверить, является ли четырехзначное число счастливым билетом. Решение: Program fufe; Var n:word; left,right:byte; begin readln(‘введите четырехзначное число’); writeln(n); right:=n div 10; n:=n div 10; right: right + n mod 10; n:=n div 10; left:=n mod 10; n:=n div 10; left:= left + n; writeln(left=right); end.
♯Задача №21
Треугольник существует только тогда, когда сумма любых двух его сторон больше третьей. a, b, c – стороны предполагаемого треугольника.
Требуется сравнить длину каждого отрезка с суммой двух других. Если хотя бы в одном случае отрезок окажется больше суммы двух других, то треугольника с такими сторонами не существует.
Решение:
Program one;
var a, b, c: integer;
begin
write ('Длины сторон: ');
readln (a,b,c);
if a then;
if b then;
if c then;
writeln ('Треугольник существует.');
else
writeln ('Треугольник не существует.');
else
writeln ('Треугольник не существует.');
else
writeln ('Треугольник не существует.');
readln;
end.
♯Задача №22
Даны три числа. Вывести вначале наименьшее, а затем наибольшее из данных чисел.
Решение:
Program two ;
var
a, b, c, min, max :integer;
begin
write('Введите три числа: ');
readln(a,b,c);
if (a c) and (a b) then max := a
else if b c then max := b
else max := c;
if (a c) and (a b) then min := a
else if b c then min := b
else min := c;
writeln('Наименьшее число: ', min);
writeln('Наибольшее число: ', max);
end.
♯Задача №23
Даны три числа. Найти сумму двух наибольших из них.
Решение:
Program Free;
Var
a, b, c :integer;
begin
write('Введите три числа: ');
readln(a,b,c);
if (a b) and (a c) then writeln(b+c)
else if b c then writeln(a+c)
else writeln(a+b);
end.
♯Задача №24
Чиновник, ежемесячно берёт взятки в размере Х рублей. Величина Х непостоянная и колеблется от 0 до 150000 рублей. Автомобиль BMW 3, который хочет купить на взятки чиновник, стоит 1700000 рублей. Напишите программу, которая вычислит, сколько месяцев потребуется чиновнику на сбор нужной суммы.
Решение:
program Project1;
uses
SysUtils;
Var
x: longint; {Размер взятки}
mes: integer; {Число месяцев}
begin
mes:= 0;
x:= 0;{Организуем цикл, который завершится при сумме взяток
равной или больше 1700000}
Repeat
{Организуем случайные числа для величины Х}
randomize;
x:= x + random(150000);
writeln(x);{Организуем счётчик месяцев}
mes:= mes + 1; {inc(mes)}
until x = 1700000;
{Выводим результат на экран}
writeln('Mesjac = ', mes);
readln; {Задержка закрытия программы}
end.
♯Задача №25
В компьютер вводятся два числа. Если первое больше второго, то вычислить их сумму, иначе – произведение.
Решение:
Program Five;
Var a, b :integer;
Begin
WriteLn('Введите первое число');
ReadLn(a);
WriteLn('Введите второе число');
ReadLn(b);
if ab then
WriteLn(a+b)
Else
WriteLn(a*b);
WriteLn('Задача решена');
end.
♯Задача №26
Найти площадь квадрата, если известно, что его сторона равна а.
Решение:
Program kvadrat;
Var
S,a:integer;
begin
write(‘введите а’);
read (а);
S:=sqr(a);
Writeln(S);
End.
♯Задача №27
Найдите площадь треугольника, если известна высота h к стороне и эта сторона а.
Решение:
Program treugolnik;
Var
a,h,S:integer;
begin
write(‘введите а,h’);
read(a,h);
S:=1/2*a*h;
Writeln(S);
End.
♯Задача №28
Вычислите периметр треугольника, если известны его стороны a,b,c.
Решение:
Program perimeter;
Var
a,b,c,S:integer;
write(‘введите числа a,b,c’);
read(a,b,c);
S:=a+b+c;
Writeln(S);
End.
♯Задача №29
Найдите синус угла А прямоугольного треугольника, если известно, что противолежащий катет равен а, гипотенуза равна b.
Решение:
Program sinus;
Var
Sin,a,b: integer;
Begin
Write(‘ введите a,b’);
Read(a,b);
Sin:= a/b;
Writeln(sin);
End.
♯Задача №30
Найдите длину окружности, если известен диаметр d.
Решение:
Program krug ;
Var
L,d:integer;
Begin
Write(‘введите d’);
Read(d);
L:=Pi*d;
Writeln(L);
End.
♯Задача №31
Найти количество 3-х значных чисел, сумма цифр которых=15.
Решение:
program gt;
var
a,b,c,k:integer;
begin
k:=0;
for a:=1 to 9 do
for b:=0 to 9 do
for c:=0 to 9 do
if(+b+c=15)then k:=k+1;
writeln(k);
end.
♯Задача №32
Вывести на экран три числа в порядке, обратном вводу.
Решение:
program WriteThree;
var
a, b, c: integer;
begin
readln(a, b, c);
writeln(c, ' ', b, ' ', a)
end.
♯Задача №33
Вывести на экран квадрат введенного числа.
Решение:
program SqrOfNum;
var
a: word;
begin
readln(a);
a := a * a;
writeln(a)
end.
♯Задача №34
Вывести на экран сообщение «Hello World!».
Решение:
program HelloWorld;
begin
writeln('Hello World!')
end.
♯Задача №35
Сформировать число, представляющее собой реверсную (обратную в порядке следования разрядов) запись заданного трехзначного числа. Например, для числа 341 таким будет 143.
Решение:
programReverseNum;
var
n, a, b, c: word;
begin
readln(n);
a := n mod 10;
n := n div 10;
b := n mod 10;
n := n div 10;
c := n;
n := 100 * a + 10 * b + c;
writeln(n)
end.
♯Задача №36
Найдите среднюю линию треугольника, с основанием AС=18.
Решение:
Program one;
Var
AС, x: real;
Begin
AС:=18;
x:=1/2 *AС;
writeln(x);
end.
♯Задача №37
Найдите среднюю линию трапеции с основаниями СВ=6 и AR=12.
Решение:
Program two;
Var
CB, AR, x: real;
Begin
CB:=6;
AR:=12;
x:= (CB+AR)/2
writeln(x);
end.
♯Задача №38
Найдите площадь ромба с диагоналями LK и JH. Введите числа с клавиатуры.
Решение:
Program three;
Var
S, LK, JH: real;
Begin
Write (‘введите два числа’);
Read (LK,JH);
S:= (LK*JH)/2
Writeln(S);
end.
♯Задача №39
Найдите площадь треугольника со сторонами a, b, c. Числа введите с клавиатуры.
Решение:
Program reg;
Var
S, a, c, b, p: real;
Begin
Write (‘введите три числа’);
Read (a, b, c);
p:= (a+b+c)/2;
S:= sqrt(p*(p-a)*(p-b)*(p-c));
Writeln(S);
end.
♯Задача №40
Найдите длину окружности. Радиус введите с клавиатуры.
Решение:
Program rek;
Var
L, r: real;
Begin
Write(‘введите число с клавиатуры’);
Read(r);
L:=2*Pi*r
Writeln(L);
end.
♯Задача №41
Дана сторона квадрата a. Найти его периметр.
Решение:
Program lolo;
Var a: real;
Begin
а:=5;
writeln(а);
Р:= 4*а;
Writeln(P);
End.
♯Задача №42
Дана сторона квадрата a. Найти его площадь.
Решение:
Program popi;
Var a: real;
Begin
а:=7;
writeln(а);
S:= a*а;
Writeln(S);
End.
♯Задача №43
Дана длина ребра куба a. Найти объем куба.
Решение:
Program cub;
Var a: real;
Begin
а:=5;
writeln(а);
V:= a*a*а;
Writeln(V);
End.
♯Задача №44
Даны длины ребер a, b, c прямоугольного параллелепипеда. Найти его объем.
Решение:
Program sweet;
Var a, b, с: real;
Begin
а:=5;
b:=3
c:=8
writeln(а, b, с);
V:= a*b*c;
Writeln(V);
End.
♯Задача №45
Даны длины сторон треугольника АВС. Найдите площадь треугольника S.
Решение:
Program trup;
Var A, B, C: integer;
Begin
A:=9
B:=7;
С:=13;
р:=
;
writeln (p);
S:=
Writeln(S);
End.
Часть 2
♯Задача №1
Вывести на экран три введенных с клавиатуры числа в порядке, обратном их вводу.
Решение:
program WriteThree;
var
a, b, c: integer;
begin
readln(a, b, c);
writeln(c, ' ', b, ' ', a)
end.
♯Задача №2
Дано натуральное число меньше 256. Сформировать число, представляющее собой его квадрат.
Решение:
program SqrOfNum;
var
a: word;
begin
readln(a);
a := a * a;
writeln(a)
end.
♯Задача №3
Даны два числа. Вывести на экран то из них, которое больше.
Решение:
program MaxOfTwo;
var
a, b: integer;
begin
readln(a, b);
if a b then begin
writeln(a)
end
else begin
writeln(b)
end;
end.
♯Задача №4
Даны три числа. Вывести на экран то из них, которое больше.
Решение:
program MaxOfThree;
var
a, b, c: integer;
begin
readln(a, b, c);
if a b then begin
if a c then begin
writeln(a)
end.
else begin
writeln(c);
end.
else begin
if b c then begin
writeln(b);
end.
else begin
writeln(c);
end;
end.
♯Задача №5
Даны вещественные числа a, b и c, причем a отлично от 0. Решить квадратное уравнение ax2 + bx + c = 0 или сообщить о том, что действительных решений нет.
Решение:
program QuadraticEquation;
var
a, b, c, d, x1, x2: real;
beginreadln(a, b, c);
d := b * b - 4 * a * c;
if d = 0 then begin
if d 0 then begin
x1 := (-b + sqrt(d)) / 2 * a;
x2 := (-b - sqrt(d)) / 2 * a;
writeln('x1 = ', x1:4:2, ', x2 = ', x2:4:2)
end
else begin
x1 := -(b / 2 * a);
writeln('x = ', x1:4:2)
end;
end
else begin
writeln('No real solutions!');
end
end.
♯Задача №6
Даны два натуральных числа. Найти их наибольший общий делитель.
Решение:
program GreatestCommonDiv;
var
m, n: word;
begin
readln(m, n);
while m n do begin
if m n then begin
m := m - n
end
else begin
n := n - m
end
end;
writeln(m);
end.
♯Задача №7
Даны натуральные числа x и n (которое также может быть равно 0). Вычислить xn.
Решение:
program Exponentiation;
var
x, n, i, res: word;
begin
readln(x, n);
res := 1;
for i := 1 to n do begin
res := res * x
end;
writeln(res)
end.
♯Задача №8
Даны натуральные числа x и n. Вычислить xn, используя алгоритм быстрого возведения в степень:
.
Решение:
program FastExponentiation;
var
x, n, r: word;
begin
readln(x, n);
r := 1;
while n 1 do begin
if odd(n) then r := r * x;
x := x * x;
n := n div 2
end;
writeln(x * r)
end.
♯Задача №9
Сформировать число, представляющее собой реверсную (обратную в порядке следования разрядов) запись заданного трехзначного числа. Например, для числа 341 таким будет 143.
Решение:
program ReverseNum;
var
n, a, b, c: word;
begin
readln(n);
a := n mod 10;
n := n div 10;
b := n mod 10;
n := n div 10;
c := n;
n := 100 * a + 10 * b + c;
writeln(n)
end.
♯Задача №10
Дано четырехзначное число. Проверить, является ли оно палиндромом.
Решение:
program PalindromeNum;
var
n: word;
a, b: byte;
begin
readln(n);
a := n mod 10;
n := n div 10;
b := n mod 10;
n := n div 10;
a := 10 * a + b;
writeln(n = a)
end.
♯Задача №11
Выведите на экран наименьшее из трех чисел.
Решение:
Program mini;
Var a, b, c: integer;
Begin
Writeln('Введите 3 числа');
Readln(a,b,c);
If (aнаименьшее из трех чисел ', a)else
If (bнаименьшее из трех чисел ', b)
Else writeln ('наименьшее из трех чисел ', c);
End.
♯Задача №12
Вывести название месяца по его номеру.
Решение:
Program DaysOfTheWeek;
Var
i: byte;
Begin
Writeln(‘Введите число’);
Readln(i);
case i of
1: writeln('Январь');
2: writeln('Февраль');
3: writeln('Март');
4: writeln('Апрель');
5: writeln('Май');
6: writeln('Июнь');
7: writeln('Июль');
8: writeln('Август');
9: writeln('Сентябрь');
10: writeln('Октябрь');
11: writeln('Ноябрь');
12: writeln('Декабрь');
else writeln('Такой месяц не был найден!')
end
end.
♯Задача №13
О
пределите значение выражения:
(x2/|x-17x|)/(tg(x) - 4); x10
y= (sin(x))2 -4x; 0 ≤ x≤10
(cos(x-4)/0,0005)(x+15) x
Решение:
Program znachenie;
Var x, y: real;
Begin
Writeln(‘Введите число’);
Readln(x);
If x10 then y:= (Sqr(x)/abs(x-17*x))/((sin(x)/cos(x))-4) else
If x
Else y:= sqr(sin(x))-4*x;
Writeln(y);
End.
♯Задача №14
Определите возможность существования треугольника по сторонам.
Решение:
Program hgfd;
Var a, b, c: integer;
Begin
Writeln(‘Введите длины сторон треугольника’);
Readln(a,b,c);
If (aТреугольник существует’)
Else writeln(‘Треугольник не существует’);
End.
♯Задача №15
Программа-настроение!
Составьте программу, где каждой цифре будет соответствовать пожелание!:).
Возможное решение:
Program smile;
Var a: real;
Begin
Writeln(‘Введите число’);
Readln(a);
If a100 then writeln(‘И не лень было нажимать так много кнопочек на клавиатуре??? Иди расслабься^_^’) else
If a
else writeln(‘Нуууу, это же так предсказуемо!!!’);
End.
♯Задача №16
Даны два числа. Вывести на экран то из них, которое больше.
Решение:
program Max;
Var
a,b: integer;
Begin
readln(a,b);
if a b then begin
writeln(a)
end
else begin
writeln(b)
end
end.
♯Задача №17
Даны три переменные вещественного типа: A, B, C. Если их значения упорядочены по возрастанию, то удвоить их; в противном случае заменить значение каждой переменной на противоположное. Вывести новые значения переменных A, B, C.
Решение:
Program chisla;
var
a,b,c: integer;
begin
write('Введите A, B и C: ');
readln(a,b,c);
if (band (athen
begin
a := 2 * a;
b := 2 * b;
c := 2 * c;
end
else begin
a := -a;
b := -b;
c := -c;
end;
writeln (a,' ',b,' ',c);
end.
♯Задача №18
Вычислить значение функции y=f(x)/ Если x y=x2+3x-4/ Если 5xy=ln x. Если x10, то y=x^3/3.
Решение:
program space;
var x:real;
begin
readln(x);
if xthen x:= sqr(x)+3*x+4;
if (x5) and (xthen x:= ln(x);
if x10 then x:=(exp(3*ln(x)))/3;
writeln(x);
end.
♯Задача №19
Задано значение х. Вычислить значение y.
Решение:
Y=cosx+√2
Решение:
program tinker;
var x,y: real;
begin
write('x = ');
readln(x);
y:= cos(x) + sqrt(2);
writeln(y);
end.
♯Задача №20
Составить программу, которая, если введенное число отрицательное, меняет его на противоположное.
Решение:
Program Navi;
Var
x:integer; {вводимое число}
Begin
writeln('Введите число '); {вводим целое число}
readln(x);
if x
then
x:=-x;
writeln (x);
End.
♯Задача №21
Даны два числа. Вывести на экран то из них, которое больше.
Решение:
program sambo ;
var
a, b: integer;
begin
readln(a, b);
if a b then
writeln(a);
else
writeln(b)
end.
♯Задача №22
Даны три числа. Вывести на экран то из них, которое больше.
Решение:
program fre ;
var
a, b, c: integer;
begin
writeln(‘ введите 3 числа ‘);
readln(a, b, c);
if a b then begin
writeln(a)
end
else
writeln(b);
end;
if b c then begin
writeln(b);
end
else
writeln(c);
end.
♯Задача №23
Даны три переменные вещественного типа: A, B, C. Если их значения упорядочены по возрастанию, то удвоить их; в противном случае заменить значение каждой переменной на противоположное. Вывести новые значения переменных A, B, C.
Решение:
Program Ifect ;
var a,b,c: integer;
begin
write('Введите A, B и C ');
readln(a,b,c);
if (b
begin
a := 2 * a;
b := 2 * b;
c := 2 * c;
end
else begin
a := -a;
b := -b;
c := -c;
end;
writeln (a, b, c);
end.
♯Задача №24
Даны три целых числа, одно из которых отлично от двух других, равных между собой. Определить порядковый номер числа, отличного от остальных.
Решение:
Program doloran;
Var
a, b, c: integer;
begin
write('Введите A, B и C ');
readln (a, b, c);
if a = b then write(3);
if b = c then write(1);
if a = c then write(2);
end.
♯Задача №25
На числовой оси расположены три точки: A, B, C. Определить, какая из двух последних точек (B или C) расположена ближе к A, и вывести эту точку и ее расстояние от точки A.(Для того чтобы решить эту задачу, используем модуль, ведь модуль — это расстояние. В Паскаль есть специальная функция для превращения любого числа в положительное число — abs.).
Решение:
program zerec ;
var
A, B, C, r1, r2: integer;
begin
write('Введите A, B и C ');
read(A,B, C);
r1 := Abs(A - B);
r2 := Abs(A - C);
if r1 r2 then Write('Ближайшая к точке А точка B и растояние между ними , r1’)
else write('Ближайшая к точке А точка C и растояние между ними , r2’);
end.
♯Задача №26
Для данного вещественного x найти значение следующей функции f, принимающей вещественные значения:
f(x) =2·sin(x), если x 0,
f(x) =6 – x, если x ≤ 0.
Решение:
program vasd ;
var
x, f: real;
begin
Write ('Введите X ');
readln (x);
if x 0 then f := 2 * Sin(x)
else f := 6- x;
writeln(f);
end.
♯Задача №27
Для данного вещественного x найти значение следующей функции f, принимающей вещественные значения:
f(x) = –x, если x ≤ 0,
f(x) = 4+x2 , если x 2.
Решение:
program reter;
var
x, f: real;
begin
write('Введите X ');
readln(x);
if (x
else
if (x 2) then f := 4+ sqr(x);
writeln(f);
end.
♯Задача №28
Вывести на экран все числа Фибоначчи до n-ого включительно.
Решение:
program Fibonacci;var
fib0, fib1, fib, sum: integer;
i, n: byte;
begin
readln(n);
fib0 := 0;
fib1 := 1;
if n = 0 then sum := 0 else sum := 1;
for i := 2 to n do begin
fib := fib1 + fib0;
sum := sum + fib;
fib0 := fib1;
fib1 := fib
end;
writeln(sum)
end.
♯Задача №29
Вычислить экспоненту с заданной точностью.
Решение:
program Exp;
var
x, eps, expf, p: real;
n: word;
begin
readln(x, eps);
expf := 1;
n := 1;
p := 1;
while abs(p) = eps do begin
p := p * x / n;
expf := expf + p;
inc(n)
end;
writeln(expf:0
:5)
end.
♯Задача №30
Подсчитать общее число делителей натурального числа.
Решение:
program Count;
var
i, n, count: word;
begin
readln(n);
count := 0;
for i := 1 to n do begin
if n mod i = 0 then inc(count)
end;
writeln(count)
end.
♯Задача №31
Найти количество простых членов последовательности.
Решение: program Primes;
var
a, i, s, count: word;
begin
read(a);
count := 0;
while a 0 do begin
s := 0;
for i := 1 to a do begin
if a mod i = 0 then inc(s)
end;
if s = 2 then inc(count);
read(a);
end;
writeln(count);
end.
♯Задача №32
Решить квадратное уравнение.
Решение:
program Equation;
var
a, b, c, d, x1, x2: real;
begin
readln(a, b, c);
d := b * b - 4 * a * c;
if d = 0 then begin
if d 0 then begin
x1 := (-b + sqrt(d)) / 2 * a;
x2 := (-b - sqrt(d)) / 2 * a;
writeln('x1 = ', x1:4:2, ', x2 = ', x2:4:2)
end
else begin
x1 := -(b / 2 * a);
writeln('x = ', x1:4:2)
end
end
else begin
writeln('No real solutions!');
end
end.
♯Задача №33
Cos 5x-tan(3x)+10, x15
y
= x+3+sin 2, x
ln(x2 -4), 15
Решение:
program may;
var
y,x: real;
write(‘введите переменную’);
read(x);
if x15 then
y:= cos(5*x)-sin(x)/cos(x) +10;
if x
y:=Abs(x+3)+ sin(2)
else
y:=ln(sgr(x)-4);
writeln(y);
end.
♯Задача №34
x4+ctg 2x, x5
y= sin x/(π+9), x
√x+3, 5x
Решение:
program day;
var
y,x: real;
write(‘введите переменную’);
read(x);
if x5 then
y:=exp(4*ln(x))+cos(2*x)/sin(2*x);
if x
y:=(sin( x))/(Pi+9)
else
y:=sqrt(x+3);
writeln(y);end.
♯
Задача №35
4√x2-cos 10, x3
y= (x-1)/(x*x+2), x
√x+1+x, 3
Решение:
program day;
var
y,x: real;
write(‘введите переменную’);
read(x);
if x3 then
y:=exp(ln(x)/2)-cos(10);
if x
y:=(x-1)/(x*x+2)
else
y:=sqrt(x+1+x);
writeln(y);end.
♯Задача №36
C
os x+sin x+x3, x11
y= tan(x+3)-tan(4x), x
ln(x-5)*6x, 11x
Решение:
program day;
var
y,x: real;
write(‘введите переменную’);
read(x);
if x11 then
y:=cos(x)+sin(x)+sqr(x)*x;
if x
y:=sin(x+3)/Cos(x+3)-sin(4x)/cos(4x)
else
y:=ln(x-5)*6x;
writeln(y);end.
♯Задача №37
Ln(x3-x)+ln(2x), x4
y= cos((x-1)*(x+3)), x
x4 +6x/3x, 4
Решение:
program day;
var
y,x: real;
write(‘введите переменную’);
read(x);
if x4 then
y:=ln(sqr(x)*x)+ln(2*x);
if x
y:=cos((x-1)*(x+3))
else
y:=Abs(sqr(x)*sqr(x))+(6*x)/(3*x); writeln(y);end.
♯Задача №38
x3+4, x≤4
y= 3x+5, x≥9
√x+8, 4
Решение:
Program tryep;
Var
x,y: real;
begin
Write(‘введите число с клавиатуры’);
Read(x);
If x
If x=9 then y:= 3*x+5 else y:= sqrt(x+8);
Writeln(y);
end.
♯Задача №39
√(3x4+8)/3, x≤6
Y= (x+x2)/(9+x), x≥ 13
ǀ x+9ǀ, 6x
Решение:
Program tpop;
Var
x,y: real;
begin
Write(‘введите число с клавиатуры’);
Read(x);
If x
If x=13 then y:=(x+sqr(x))/(9+x) else y:=abs(x+9);
Writeln(y);
end.
♯Задача №40
ǀx3+aǀ, x≤7
y= x-a2, x≥ 9
a, 7при a=5.
Решение:
Program tpip;
Const a=5;
Var
x,y: real;
begin
Write(‘введите число с клавиатуры’);
Read(x);
If x
If x=9 then y:=x-sqr(a) else y:=a;
Writeln(y);
end.
♯Задача №41
ǀ√x2+6ǀ, x≤7
y= 4cosx/ x2, x≥11
sinx, 7
Решение:
Program tpp;
Var
x,y: real;
begin
Write(‘введите число с клавиатуры’);
Read(x);
If x
If x=11 then y:=(4*cos(x))/sqr(x) else y:= sin(x);
Writeln(y);
end.
♯Задача №42
ǀx4+4xǀ, x≤2
y= √4tgx/ x2, x≥5
√ǀx3-6xǀ, 2
Решение:
Program klyp;
Var
x,y: real;
begin
Write(‘введите число с клавиатуры’);
Read(x);
If x
If x=5 then y:=((4*sin(x)/cos(x))/sqr(x)) else y:= sqrt(abs(sqr(x)*x- (6*x)));
Writeln(y);
end.
♯Задача №43
Вывести на экран наибольшее из двух чисел.
Решение:
program MaxOfTwo;
var
a, b: integer;
begin
readln(a, b);
if a b then begin
writeln(a)
end
else begin
writeln(b)
end
end.
♯Задача №44
Вывести название дня недели по его номеру.
Решение:
program DaysOfTheWeek;
var
i: byte;
begin
readln(i);
case i of
1: writeln('Monday');
2: writeln('Tuesday');
3: writeln('Wednesday');
4: writeln('Thursday');
5: writeln('Friday');
6: writeln('Saturday');
7: writeln('Sunday')
else writeln('This day of the week does not exist!')
end
end.
♯Задача №45
Даны вещественные числа a, b и c, причем a отлично от 0. Решить квадратное уравнение ax2 + bx + c = 0 или сообщить о том, что действительных решений нет.
Решение:
program QuadraticEquation;
var
a, b, c, d, x1, x2: real;
begin
readln(a, b, c);
d := b * b - 4 * a * c;
if d = 0 then begin
if d 0 then begin
x1 := (-b + sqrt(d)) / 2 * a;
x2 := (-b - sqrt(d)) / 2 * a;
writeln('x1 = ', x1:4:2, ', x2 = ', x2:4:2)
end
else begin
x1 := -(b / 2 * a);
writeln('x = ', x1:4:2);
end;
end
else begin
writeln('No real solutions!');
end;
end.
♯Задача №46
Дано натуральное число n. Вывести на экран решения всех квадратных уравнений вида x2 + 2ax – 3 = 0 для всех a от 1 до n.
Решение:
program MyQuadraticEquation;
var
a, n: word;
x1, x2: real;
begin
readln(n);
for a := 1 to n do begin
x1 := sqrt(a * a + 3) - a;
x2 := -a - sqrt(a * a + 3);
writeln('a = ', a, ', x1 = ', x1:4:2, ', x2 = ', x2:4:2)
end
end.
♯Задача №47
Дано натуральное число n. Проверить, представляет ли оно собой натуральную степень числа 2.
Решение:
program PowerOfTwo;
var
n: integer;
begin
readln(n);
while n 1 do begin
if n mod 2 = 1 then break;
n := n div 2
end;
writeln(n = 1)
end.
♯Задача №48
у=
Решение:
Program home;
Var x: real;
Begin
Write (‘введите число’);
Read (x);
If x
Else y:=
;
Writeln (y);
End.
♯Задача №49
у=
Решение:
Program hoze;
Var x: real;
Begin
Write (‘введите число’);
Read (x);
If x=8 then y:=
;
If x
Else y:=
;
Writeln (y);
End.
♯Задача №50
F=
Решение:
Program hone;
Var x,z: real;
Begin
Write (‘введите число’);
Read (z,x);
If z
Else F:=
;
Writeln (F);
End.
♯Задача №51
F=
Решение:
Program home;
Var x,r: real;
Begin
Write (‘введите число’);
Read (x,r);
If
then F:= ;
If r
Else F: =
;
Writeln (F);
End.
♯Задача №52
Y=
Решение:
Program hope;
Var x: real;
Begin
Write (‘введите число’);
Read (x);
If х2 then y: =
Else y:=
;
Writeln (y);
End.
♯Задача №53
Сгенерировать случайное число, вывести на экран это число, а также сумму и произведение его цифр.
Решение:
Program six;
Var
n: integer;
a,b,c: byte;
begin
randomize;
n := random(900) + 100;
writeln(n);
a := n div 100;
b := n div 10 mod 10;
c := n mod 10;
writeln('Сумма: ',a+b+c);
writeln('Произведение: ',a*b*c);
end.
♯Задача №54
Вывести на экран сообщение «Hello World!»
Решение:
program HelloWorld;
var
begin
writeln('Hello World!')
end.
♯Задача №55
Обменять значения двух переменных, используя третью (буферную) переменную.
Решение:
Program BUF;
var x, y, b: integer;
begin
write ('Input first number: ');
readln (x);
write ('Input second number: ');
readln (y);
writeln ('x = ', x, ', y = ', y);
writeln ('Changing values... changing values...');
b := x;
x := y;
y := b;
writeln ('x = ', x, ', y = ', y);
readln
end.
♯Задача №56
Сгенерировать случайное число, вывести на экран это число, а также сумму и произведение его цифр.
Решение:
Program IBT;
Var
n: integer;
a,b,c: byte;
begin
randomize;
n := random(900) + 100;
writeln(n);
a := n div 100;
b := n div 10 mod 10;
c := n mod 10;
writeln('Сумма: ',a+b+c);
writeln('Произведение: ',a*b*c);
end.
♯Задача №57
По координатам двух точек, которые вводит пользователь, определить уравнение прямой, проходящей через эти точки.
Решение:
Program GMB;
var
x1,y1,x2,y2: real;
k, b: real;
begin
write('A(x1;y1): '); readln(x1, y1);
write('B(x2;y2): '); readln(x2, y2);
k := (y1 - y2) / (x1 - x2);
b := y2 - k * x2;
writeln('y = ',k:0:2,'x + ',b:0:2);
end.