Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
program Lab3;
{$APPTYPE CONSOLE}
uses SysUtils;
var
Loop:Boolean;
n:Integer;
a,b,c,p,r:Real;
ch:Char;
begin
Loop:=True;
while Loop do
begin
Writeln(' Меню:');
Writeln('1. Расчет площади прямоугольника');
Writeln('2. Расчет площади треугольника');
Writeln('3. Расчет площади круга');
Writeln('4. Выход из программы');
Write('Выберите пункт меню: ');
Readln(n);
case n of
1:begin
repeat
Write('Введите стороны прямоугольника: ');
Readln(a,b);
if (a<=0) or (b<=0) then
Writeln('Некорректный ввод')
else
Writeln('Площадь прямоугольника равна ',
a*b);
Write('Продолжить вычисления (Y/N)? ');
Readln(ch);
until UpCase(ch)='N';
end;
2:begin
repeat
Write('Введите стороны треугольника: ');
Readln(a,b,c);
if (a<=0) or (b<=0) or (c<=0) then
Writeln('Некорректный ввод')
else
if (a+b<=c) or (a+c<=b) or (b+c<=a) then
Writeln('Вычисление невозможно')
else
begin
p:=(a+b+c)/2;
Writeln('Площадь треугольника равна ',
Sqrt(p*(p-a)*(p-b)*(p-c)));
end;
Write('Продолжить вычисления (Y/N)? ');
Readln(ch);
until UpCase(ch)='N';
end;
3:begin
repeat
Write('Введите радиус круга: ');
Readln(r);
if r<=0 then
Writeln('Некорректный ввод')
else
Writeln('Площадь круга равна ',Pi*Sqr(r));
Write('Продолжить вычисления (Y/N)? ');
Readln(ch);
until UpCase(ch)='N';
end;
4:Loop:=False;
end;
end;
end.
Тест
Для каждого пункта меню необходимо выполнить несколько тестов с отрицательными числами, неправильными треугольниками и т.д. Примеры таблиц тестов приведены ниже.
Пункт 1 – «Площадь прямоугольника»
a | b | Расчетная площадь | Результат работы программы |
-3 | Некорректный ввод | … | |
… | |||
… | … | … | … |
Пункт 2 – «Площадь треугольника»
a | b | c | Расчетная площадь | Результат работы программы |
-1 | Некорректный ввод | … | ||
Вычисление невозможно | … | |||
… | ||||
… | ||||
… | … | … | … | … |
Пункт 3 – «Площадь круга»
Дата публикования: 2014-11-29; Прочитано: 284 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!