Задание 2. Напишите программу вычисляющую «y» для заданного «x» по формуле
y = x3 + 2.5x2 – x + 1 = ((x+2.5)x-1)x + 1
(Нельзя возводить в степень, в присваивании только одна арифметическая операция, не больше 5-ти операторов присваивания.)
program z_2; var x, y: real; BEGIN write ('x>>'); read (x); y:= x + 2.5; y:= y*x; y:= y-1; y:= y*x; y:= y+1; writeln ('y = ', y) END.
Задание 3. Напишите программу, вычисляющую длину отрезка AB по заданным координатам точек A и B.
Формула нахождения длины отрезка по заданным координатам:
program z_3; var xA, yA, xB, yB, d: real; BEGIN write ('xA='); read (xA); write ('yA='); read (yA); write ('xB='); read (xB); write ('yB='); read (yB); d:= sqrt(sqr(xB-xA) + sqr(yB-yA)); writeln ('d=', d) END.
Задание 4. Известны длины сторон треугольника a, b, c. Напишите программу, вычисляющую площадь этого треугольника.
program z_4; var a, b, c, p, S: real; BEGIN writeln('Площадь треугольника по трём его сторонам'); writeln('Введите стороны треугольника:'); write('a>>'); read (a); write('b>>'); read (b); write('c>>'); read (c); //Проверяем, существует ли такой треугольник if ((a+b)>c) and ((a+c)>b) and ((b+c)>a) then begin //Вычислим полупериметр p := (a+b+c)/2; //Теперь вычислим площадь S:=sqrt(p*(p-a)*(p-b)*(p-c)); writeln ('S = ', S:3:2, ' см2'); end else writeln ('Треугольник со сторонами ', a,', ', b,', ', c,' не существует'); END.
Задание 5. Известны координаты A, B, C треугольника. Напишите программу, вычисляющую площадь этого треугольника.
Объединим программы из двух предыдущих заданий.
program z_5; var xA, yA, xB, yB, xC, yC, a, b, c, p, S: real; BEGIN writeln('Площадь треугольника по трём его сторонам'); writeln('Введите координаты вершин:'); write ('xA='); read (xA); write ('yA='); read (yA); write ('xB='); read (xB); write ('yB='); read (yB); write ('xC='); read (xC); write ('yC='); read (yC); a:= sqrt(sqr(xB-xA) + sqr(yB-yA)); b:= sqrt(sqr(xC-xB) + sqr(yC-yB)); c:= sqrt(sqr(xC-xA) + sqr(yC-yA)); //Проверяем, существует ли такой треугольник if ((a+b)>c) and ((a+c)>b) and ((b+c)>a) then begin //Вычислим полупериметр p := (a+b+c)/2; //Теперь вычислим площадь S:=sqrt(p*(p-a)*(p-b)*(p-c)); writeln ('S = ', S:3:2, ' см2'); end else writeln ('Треугольник со сторонами ', a,', ', b,', ', c,' не существует'); END.
Задание 6. Если сумма налога исчисляется в рублях и копейках, то налоговая служба округляет ее до ближайшего рубля (до 50 копеек – с недостатком, свыше 50 копеек с избытком). Используйте компьютер, чтобы ввести точную сумму налога и вывести, сколько следует уплатить.
Функция «round(x)» округляет число до ближайшего целого.
program z_6; var nalog: real; k: integer; BEGIN write ('Введите точную сумму налога: '); read (nalog); nalog:= round(nalog); write ('Следует уплатить "', nalog, '" рублей.'); END.
Задание 7. Исследуйте работу функции random, запустив многократно на выполнение программу в учебнике.
Как можно получить случайное число из интервала:
а) (0, x);
random (x-1) + 1;
б) (0, x];
random (x) + 1;
в) (n, x +n);
random (x+n-1) + n+1;
Задание 8. Одна компания выпустила билеты трёх разрядов: для молодежи, для взрослых и для пенсионеров. Номера билетов каждого разряда лежат в пределах:
Для молодежи: от 1 до 100;
Для взрослых: от 101 до 200;
Для пенсионеров – от 201 до 250.
Выберите случайным образом лотерейный билет в каждом разряде.
program z_8; var a, b, c: integer; BEGIN a:= random (100)+1; b:= random (100)+101; c:= random (50)+201; writeln ('Для молодежи билет номер ', a); writeln ('Для взрослых билет номер ', b); writeln ('Для пенсионеров билет номер ', c); END.
Задание 9. Запишите программу, которая для произвольного натурального двузначного числа определяет:
а) сумму и произведение его цифр;
б) число, образованное перестановкой цифр исходного числа.
program z_9; var a, b, c, sum, pr: integer; BEGIN writeln ('Введите двузначное натуральное число:'); readln (a); b:= a div 10; c:= a mod 10; sum:= b+c; pr:= b*c; writeln ('а) Сумма: ', sum, '; Произведение: ', pr); writeln ('б) ', c*10+b) END.
Задание 10. Запишите программу, реализующую алгоритм работы кассира, выдающего покупателю сдачу (s) наименьшим возможным количеством банкнот по 1000 (k1000), 500 (k500), 100 (k100), 50 (k50) рублей.
program z_10; var s: integer; BEGIN writeln ('Введите сдачу:'); readln (s); writeln ('Следует сдать:'); writeln ('банкнот по 1000 руб. - ', s div 1000, ' шт.'); s:= s mod 1000; writeln ('банкнот по 500 руб. - ', s div 500, ' шт.'); s:= s mod 500; writeln ('банкнот по 100 руб. - ', s div 100, ' шт.'); s:= s mod 100; writeln ('банкнот по 50 руб. - ', s div 50, ' шт.'); s:= s mod 50; END.
Задание 11. Идет k-я секунда суток. Разработайте программу, которая по введённой k-ой секунде суток определяет, сколько целых часов h и целых минут m прошло с начала суток.
program z_11; var k: integer; BEGIN writeln ('Введите секунды суток:'); readln (k); write ('Прошло ', k div 3600, ' часа(-ов) '); k:= k mod 3600; write (k div 60, ' минут'); END.
Задание 12. Запишите программу, которая вычисляет сумму кодов букв в слове «БАЙТ».
program z_12; BEGIN writeln ('Слово "БАЙТ"'); writeln ('Сумма кодов букв: ', ord('Б')+ord('А')+ord('Й')+ord('Т')) END.
Задание 13. Запишите на языке Паскаль программу, которая формирует и выводит на экран строку символов, коды которых равны 66, 69, 71, 73, 78.
program z_13; BEGIN writeln ('Код: 66, 69, 71, 73, 78'); writeln ('Сформированное слово: ', chr(66)+chr(69)+chr(71)+chr(73)+chr(78)) END.
Задание 14. Разработайте программу, которая запрашивает три строковые величины – взаимосвязанные прилагательное, существительное и глагол, а затем выводит все варианты фраз с использованием введенных слов.
program z_14; var a, b, c: string; BEGIN writeln('Введите прилагательное, существительное и глагол:'); write ('Прилагательное: '); readln (a); write ('Существительное: '); readln (b); write ('Глагол: '); readln (c); writeln (' ------- '); writeln (a, ' ', b, ' ', c); writeln (a, ' ', c, ' ', b); writeln (b, ' ', a, ' ', c); writeln (b, ' ', c, ' ', a); writeln (c, ' ', a, ' ', b); writeln (c, ' ', b, ' ', a); END.
Задание 15. Даны значения целочисленных переменных: a=10, b=20. Чему будет равно значение логической переменной rez после выполнения операции присваивания?
а) rez:= (a=10) or (b>10) True
б) rez:= (a>5) and (b>5) and (a<20) and (b<30) True
в) rez:= (not(a<15)) or (b>20) False
Задание 16. Составьте программу, вводящую true, если высказывание является истинным, и false в противном случае:
а) Сумма цифр трехзначного числа x является четным числом.
program z_16a; var x: integer; //Исходные данные a, b, c, s: integer; //Промежуточные величины ans: boolean; //Результат BEGIN randomize; x:= random (900)+100; writeln ('Трёхзначное число x=', x); a:=x div 100; b:=x mod 100 div 10; c:=x mod 10; s:=a+b+c; writeln ('s=', s); ans:= s mod 2=0; writeln (ans) END.
б) Треугольник со сторонами a, b, c является разносторонним.
Проверку существования треугольника со сторонами a, b, c в этой программе мы не выполняем.
program z_16b; var a, b, c: real; //Исходные данные ans: boolean; //Результат BEGIN write ('a='); readln (a); write ('b='); readln (b); write ('c='); readln (c); ans:= (a<>b) and (a<>c) and (b<>c); writeln (ans) END.
Решение заданий из учебника Информатика 8 класс Босова, параграф 3.3 Программирование линейных алгоритмов. Числовые типы данных, символьный и строковый типы данных, логический тип данных.
Перейти к контенту
§ 18 Массивы в Паскале ГДЗ по Информатике 9 класс. Семакин
5. Составьте программы на Паскале по алгоритмам из заданий 3, 4 предыдущего параграфа. Выполните эти программы на компьютере.
Ответ
program zad_5_1_nica;
var T: array [1..12] of real;
i: integer; Twinter, Tspring, Tsummer, Tautumn: real;
BEGIN
writeln (‘Введите среднемесячные температуры:’);
for i:=1 to 12 do begin
write (‘T[‘, i, ‘] = ‘);
read (T [i]);
end;
Twinter:= (T[12]+T[1]+T[2])/3;
Tspring:= (T[3]+T[4]+T[5])/3;
Tsummer:= (T[6]+T[7]+T[8])/3;
Tautumn:= (T[9]+T[10]+T[11])/3;
writeln (‘Средняя температура зимой = ‘, Twinter:4:2, ‘градусов’);
writeln (‘Средняя температура весной = ‘, Tspring:4:2, ‘градусов’);
writeln (‘Средняя температура летом = ‘, Tsummer:4:2, ‘градусов’);
writeln (‘Средняя температура осенью = ‘, Tautumn:4:2, ‘градусов’);
END.
program zad_5_2_nica;
var T: array [1..10] of real;
C: array [1..10] of real;
i: integer; AllPrice: real;
BEGIN
AllPrice:= 0;
for i:=1 to 10 do begin
writeln (i, ‘ товар’);
write (‘Количество товара: ‘);
read (T[i]);
write (‘Цена за единицу товара: :’);
read (C[i]);
AllPrice:= AllPrice + T[i]*C[i];
writeln (‘- — — — — — -‘);
end;
writeln (‘Общая стоимость покупок = ‘, AllPrice, ‘ руб.’);
END.
Оглавление:
- 1 ОТВЕТЫ Решебник — ГДЗ Информатика — §13.Программирование ветвлений на Паскале, Семакин 9 класс
- 1.1 Вопросы и задания
1. Как программируется на Паскале полное и неполное ветвление?
2. Что такое составной оператор? В каких случаях составной оператор используется в операторе ветвления?
3. Выполните на компьютере все программы, приведенные в данном параграфе.
4. Составьте не менее трех вариантов программы определения наименьшего из трех данных чисел.
5. Составьте программу сортировки по возрастанию значений трех переменных: А, В, С.
6. Составьте программу вычисления корней квадратного уравнения по данным значениям его коэффициентов. - 1.2 Ответы на вопросы параграф 13 из учебника Семакина 9 класс
- 1.1 Вопросы и задания
ОТВЕТЫ Решебник — ГДЗ Информатика — §13.Программирование ветвлений на Паскале, Семакин 9 класс
Вопросы и задания
1. Как программируется на Паскале полное и неполное ветвление?
2. Что такое составной оператор? В каких случаях составной оператор используется в операторе ветвления?
3. Выполните на компьютере все программы, приведенные в данном параграфе.
4. Составьте не менее трех вариантов программы определения наименьшего из трех данных чисел.
5. Составьте программу сортировки по возрастанию значений трех переменных: А, В, С.
6. Составьте программу вычисления корней квадратного уравнения по данным значениям его коэффициентов.
Ответы на вопросы параграф 13 из учебника Семакина 9 класс
1. Формат записи оператора If имеет 2 формы: неполную (If..Then) и полную (If..Then..Else).
2. Составной оператор предназначен для объединения нескольких действий. Он имеет вид:begin операторы end; В условном операторе составной оператор используется для описания нескольких действий: если истина — то составной оператор, если ложь то составной оператор.
4.
1)Program n_1;
var x,y,z,c:integer;
begin
readln (x,y,z);
c:=x;
if c>y then c:=y;
if c>z then c:=z;
writeln (c);
end.
2)Program n_2;
var x,y,z:integer; q,w,e:boolean;
begin
readln (x,y,z);
q:= (y>x) and (z>x);
w:= (y<x) and (y<z);
e:= (z<y) and (z<x);
if e=True then writeln (z);
if w=True then writeln (y);
if q=True then writeln (x);
end.
3)Program n_3;
var x,y,z:integer;
begin
readln (x,y,z);
if (x<y) and (x<z) then writeln (x);
if (y<x) and (y<z) then writeln (y);
if (z<y) and (z<x) then writeln (z);
end.
5.
var
a, b, c: longint;
begin
writeln (‘Введите переменную a: ‘);
readln (a);
writeln (‘Введите переменную b: ‘);
readln (b);
writeln (‘Введите переменную c: ‘);
readln (c);
if (a > b) and (a > c) and (b > c) then writeln(c, b, a) else
if (b > a) and (b > c) and (c > a) then writeln(a, c, b) else
if (c > a) and (c > b) and (a > b) then writeln(b, a, c) else
if (b > a) and (b > c) and (a > c) then writeln(c, a, b) else
if (c > a) and (c > b) and (b > a) then writeln(a, b, c) else
if (a > b) and (a > c) and (c > b) then writeln(b, c, a)
end.
6.
Var
a,b,c,d:real;
begin
writeln(‘a,b,c ?’);
readln(a,b,c);
d:=sqr(b)-4*a*c;
if d<0 then writeln(‘d<0’);
if d>0 then
writeln(‘x1= ‘,((-b)+sqrt(d))/(2*a),’ x2= ‘,((-b)-sqrt(d))/(2*a)) ;
if d=0 then
writeln(‘x1= ‘,(-b)/(2*a));
end.
Литература:Учебник:Информатика, 9 класс. ФГОС Автор:И. Г. Семакин, Л. А. Залогова, С. В. Русаков, Л. В. Шестакова.
Did you find apk for android? You can find new Free Android Games and apps.
Задание 15.2 в ОГЭ по информатике на составление программы. Как правило, это программы содержащие и циклы и условия. В этой статье постараемся разобраться как решать такие задачи.
Условный оператор присутствует практически в каждой задаче. В решении задач используют два вида циклов: цикл с параметром и цикл с предусловием.
Паскаль ОГЭ как решать?
Чтобы определить какой цикл следует использовать, необходимо внимательно прочитать задание.
- Если в задаче сказано: программа получает на вход количество чисел, то следует использовать цикл с параметром.
- Если в задаче сказано: количество введённых чисел неизвестно, а последовательность чисел заканчивается 0 , то следует использовать цикл с предусловием.
Разберем несколько вариантов задач, с которыми придется столкнуться на экзамене по информатике в 9 классе.
Пример 1. Напишите программу, которая в последовательности натуральных чисел определяет количество всех чётных чисел, кратных 5. Программа получает на вход натуральные числа, количество введённых чисел неизвестно, последовательность чисел заканчивается числом 0 (0 — признак окончания ввода, не входит в последовательность). Количество чисел не превышает 1000. Введённые числа не превышают 30 000. Программа должна вывести одно число: количество всех чётных чисел, кратных 5.
Решение:
Читая условие задачи, явно видим, что нам необходим цикл с предусловием. А также нам нужно будет отбирать четные числа, да еще и кратные 5. Следовательно, в программе будем записывать два условия:
- определение четности числа: a mod 2 =0
- определение кратности 5: a mod 5 =0
Причём эти условия должны выполняться одновременно. А значит, нужно составить из них одно сложное условие, используя логическую операцию — умножение. Вот так:
(a mod 2 =0) and (a mod 5 =0)
Поясним обозначения переменных:
- k — количество чисел, удовлетворяющих условиям задачи,
- a — число, которое получает программа на входе
Теперь, для большего понимания, сделаем блок-схему
Как это работает?
- Программа получает на вход число а.
- Далее оно проходит через условие окончания цикла a<>0. Если условие не выполняется, то заходим внутрь цикла и проверяем число а по критериям задачи.
- Если критерии выполнены, то число заносится в счетчик (k+1).
- Далее вводится следующее значение числа а (новое число).
- Идем по стрелке на проверку условия цикла. Если оно выполняется, то повторяем предыдущие шаги внутри цикла.
- При невыполнении (a=0) выводим полученное значение k и завершаем программу.
Текст программы на Паскале:
var a, k: integer; begin k:=0; readln(a); while a<>0 do begin if (a mod 5=0) and (a mod 2=0) then k:=k+1; readln(a); end; writeln(k) end.
Пример 2. Напишите программу, которая в последовательности натуральных чисел определяет сумму чисел, оканчивающихся на 3. Программа получает на вход количество чисел в последовательности, а затем сами числа. В последовательности всегда имеется число, оканчивающееся на 3. Количество чисел не превышает 100. Введённые числа не превышают 300. Программа должна вывести одно число — сумму чисел, оканчивающихся на 3.
Решение:
Читая условие задачи, явно видим, что нам необходим цикл с параметром. А также нам нужно будет сумму только тех чисел, которые оканчиваются цифрой 3. Следовательно, в программе будем записывать одно условие: a mod 10 =3
Если все еще не понятно, почему такое условие, советую сначала почитать статью «Операции с целыми числами»
Поясним обозначения переменных:
- n — количество вводимых чисел,
- s — сумма чисел, удовлетворяющих условиям задачи,
- a — число, которое получает программа на входе,
- i — параметр цикла, счетчик выполнений цикла
Теперь, для большего понимания, сделаем блок-схему
Как это работает?
- Программа получает на вход количество чисел n.
- Начинается цикл, который выполнится ровно столько раз сколько указано количество чисел. В качестве счетчика введенных чисел, используется переменная цикла i (параметр цикла).
- На первом шаге цикла программа получает первое число а. Проверяется условие. Если число оканчивается цифрой 3, то сумма s увеличивается на значение введенного числа а (s+a).
- Далее шаги внутри цикла повторяются с каждым новым числом.
- После обработки в цикле последнего числа выводится результат вычисленной суммы.
Текст программы на Паскале:
var a,i,s,n: integer; begin readln(n); s:=0; for i:=1 to n do begin readln(a); if a mod 10=3 then s:=s+a; end; writeln(s); end.
Решебник к задачам по информатике: Язык программирования «Паскаль»
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.