- •Программирование на языке Паскаль
- •Содержание
- •Оформление лабораторных работ
- •Текст программы
- •Экранные меню и циклы Постановка задачи
- •Математическая модель
- •Описание алгоритма
- •Текст программы
- •Процедуры и функции Постановка задачи
- •Математическая модель
- •Описание алгоритма
- •Текст программы
- •Работа с файлами и алгоритмы сортировки Постановка задачи
- •Математическая модель
- •Описание алгоритма
- •Текст программы
- •Inc(Cmp); {Подсчет количества сравнений}
- •Inc(Cmp); {Подсчет количества сравнений}
- •Визуальное программирование Постановка задачи
- •Математическая модель
- •Основная форма программы
- •Основные свойства формы
- •Элементы формы
- •Текст программы
- •Библиографический список
Текст программы
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 |
5 |
Некорректный ввод |
… |
5 |
8 |
40 |
… |
… |
… |
… |
… |
Пункт 2 – «Площадь треугольника»
a |
b |
c |
Расчетная площадь |
Результат работы программы |
-1 |
2 |
3 |
Некорректный ввод |
… |
2 |
5 |
10 |
Вычисление невозможно |
… |
3 |
4 |
5 |
6 |
… |
5 |
12 |
13 |
30 |
… |
… |
… |
… |
… |
… |
Пункт 3 – «Площадь круга»
r |
Расчетная площадь |
Результат работы программы |
-2 |
Некорректный ввод |
… |
10 |
314.1592653 |
… |
… |
… |
… |