Система тестов

Тест

Результаты работы Pascal-программы

Тест

Алгоритмы линейной и разветвляющейся структуры

 

Пример 1.1. Простейший алгоритм, запрашивающий имя и затем приветствующий его обладателя.

 

 

Данные Результат
Имя = "Тимур" "Привет, Тимур!"

 

Демонстрация

 

Школьный АЯ

алг Знакомство (арг лит Имя, рез лит t) начвывод "Как тебя зовут ?"ввод Имяt := "Привет, " + Имя + "!" | "+" - операция сцепкивывод tкон


Turbo Pascal

Program Hello;Var Name: String; {Описание переменной Name строкового типа}BEGIN Write('Как тебя зовут ? '); {Вывод на экран текста вопроса}ReadLn(Name); {Ввод c клавиатуры имени}WriteLn('Привет, ', Name, '!'); {Вывод на экран приветствия}ReadLnEND.

Здесь последний оператор ReadLn позволяет видеть на экране результаты работы программы, пока не будет нажата клавиша <Enter>.

 

 

Как тебя зовут ? Тимур <Enter> Привет, Тимур !

QBasic

CLSINPUT "Как тебя зовут ?", Name$PRINT "Привет, "; Name$; "!"END

 

Пример 1.2. Определить объём и площадь боковой поверхности цилиндра с заданными радиусом основания R и высотой H.

 

 

Данные Результат
R = 1 H = 1 V = 3.14 S = 6.28
       

 

Демонстрация

Школьный АЯ

алг Цилиндр (арг вещ R, H, рез вещ V, S)нач вещ Pi Pi := 3.14 V := Pi * R**2 * H S := 2 * Pi * R * H кон


Turbo Pascal

Program Cylinder;Uses Crt; {Подключение библиотеки Crt}VarR, {радиус основания цилиндра}H, {высота цилиндра }V, {объем цилиндра }S: Real; {площадь боковой поверхности цилиндра}BEGINClrScr; {Вызов из библиотеки Crt процедуры очистки экрана}Write('Введите высоту цилиндра : '); ReadLn(H);Write('Введите радиус основания : '); ReadLn(R);V := Pi * R * R * H;S := 2 * Pi * R * H; WriteLn;WriteLn('Объем цилиндра = ', V : 5 : 2); {Здесь 5 - общееколичество позиций, занимаемых переменной V при выводе,а 2 - количество позиций в дробной части значения V}WriteLn('Площадь боковой поверхности = ', S : 5 : 2);ReadLnEND.


QBasic

CLSINPUT "Введите высоту цилиндра : ", HINPUT "Введите радиус основания : ", RV = 3.14 * R ^ 2 * HS = 2 * 3.14 * R * H : PRINTPRINT "Объем цилиндра = "; VPRINT "Площадь боковой поверхности = "; SEND

 

Пример 1.3. Даны три точки на плоскости. Определить, какая из них ближе к началу координат.

 

 

Номер теста Данные Результат
xA yA xB yB xC yC Otvet
-1 "Это точка A"
-1 "Это точка B"
-1 "Это точка C"/TR>

 

Демонстрация

Школьный АЯ

алг Точки(арг вещ xA,yA,xB,yB,xC,yC, рез лит Otvet)нач вещ DistA,DistB,DistC ввод xA,yA,xB,yB,xC,yC DistA := sqrt(xA**2 + yA**2) DistB := sqrt(xB**2 + yB**2) DistC := sqrt(xC**2 + yC**2) если (DistA < DistB) и (DistA < DistC) то Otvet := "Это точка А" иначе если DistB < DistC то Otvet := "Это точка B" иначе Otvet := "Это точка C" все все вывод Otvetкон


Turbo Pascal

Program Points;Uses Crt;Var xA, yA, xB, yB, xC, yC, DistA, DistB, DistC : Real;BEGIN ClrScr;WriteLn('Введите координаты точки А:');Write('x = '); ReadLn(xA); Write('y = '); ReadLn(yA);WriteLn('Введите координаты точки B:');Write('x = '); ReadLn(xB); Write('y = '); ReadLn(yB);WriteLn('Введите координаты точки C:');Write('x = '); ReadLn(xC); Write('y = '); ReadLn(yC); DistA := sqrt(sqr(xA) + sqr(yA)); DistB := sqrt(sqr(xB) + sqr(yB)); DistC := sqrt(sqr(xC) + sqr(yC)); WriteLn; Write('Ответ : '); If (DistA < DistB) and (DistA < DistC) then WriteLn( 'Это точка А.') else If (DistB < DistC) then WriteLn('Это точка B.') else WriteLn('Это точка C.'); ReadLnEND.

 

Пример 1.4. Найти произведение цифр заданного целого четырехзначного числа.