- •Программирование на языке Паскаль
- •Содержание
- •Оформление лабораторных работ
- •Текст программы
- •Экранные меню и циклы Постановка задачи
- •Математическая модель
- •Описание алгоритма
- •Текст программы
- •Процедуры и функции Постановка задачи
- •Математическая модель
- •Описание алгоритма
- •Текст программы
- •Работа с файлами и алгоритмы сортировки Постановка задачи
- •Математическая модель
- •Описание алгоритма
- •Текст программы
- •Inc(Cmp); {Подсчет количества сравнений}
- •Inc(Cmp); {Подсчет количества сравнений}
- •Визуальное программирование Постановка задачи
- •Математическая модель
- •Основная форма программы
- •Основные свойства формы
- •Элементы формы
- •Текст программы
- •Библиографический список
Текст программы
program Lab2;
{$APPTYPE CONSOLE}
uses SysUtils;
var
a,b,c,p:Real;
begin
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;
ReadLn; { Задержка для консольных приложений }
end.
Тест
Необходимо выполнить несколько тестов с отрицательными числами, несуществующими треугольниками и треугольниками с известными площадями. Вид таблицы для тестов и несколько примеров треугольников приведены ниже.
|
a |
b |
c |
Расчетная площадь |
Результат работы программы |
|
3 |
4 |
5 |
6 |
… |
5 |
12 |
13 |
30 |
… |
|
28 |
45 |
53 |
630 |
… |
|
|
16 |
17 |
17 |
120 |
… |
14 |
25 |
25 |
168 |
… |
|
|
7 |
15 |
20 |
42 |
… |
10 |
17 |
21 |
84 |
… |
|
|
… |
… |
… |
… |
… |
-
Экранные меню и циклы Постановка задачи
Основная задача.
Организовать экранное меню из трех пунктов (расчет площади прямоугольника, треугольника и круга). По выбранному номеру пункта выполнить расчет площади соответствующей фигуры с проверкой корректности ввода данных и возможности вычислений.
Дополнительные задачи.
1. Добавить в меню четвертый пункт – «Выход» – и организовать внешний цикл WHILE для выполнения программы, пока не будет выбран соответствующий пункт меню.
2. Добавить в каждое вычисление площади вопрос «Продолжить вычисление (Y/N) ?» и цикл REPEAT, который должен выполняться, пока не будет введено «N».
Математическая модель
, где p – полупериметр, .
Описание алгоритма
Алгоритм Lab3.
А. Начать исполнение.
1. Присвоить переменной Loop значение "истина".
2. Пока Loop имеет значение "истина", повторять:
А. Вывести на экран меню: "1 – Расчет площади прямоугольника 2 – Расчет площади треугольника 3 – Расчет площади круга".
Б. Вывести сообщение "Выберите пункт меню".
В. Ввести n.
Г. Исследовать n:
1. Если n=1, то:
А. Повторять:
1. Вывести сообщение "Введите стороны прямоугольника".
2. Ввести a,b.
3. Если a≤0, или b≤0,
А. то вывести сообщение "Некорректный ввод".
Б. иначе вывести "Площадь прямоугольника равна ", ab.
4. Вывести сообщение "Продолжить вычисления (Y/N) ?".
5. Ввести символ ot.
Б. Конец цикла при условии ot='N'.
2. Если n=2, то:
А. Повторять:
1. Вывести сообщение "Введите стороны треугольника".
2. Ввести a,b,c.
3. Если a≤0, или b≤0, или с≤0,
А. то вывести "Некорректный ввод".
Б. иначе:
1. Если a+b≤c, или a+c≤b, или b+c≤a,
А. то вывести "Некорректный ввод".
Б. иначе:
1. Рассчитать полупериметр .
2. Вывести "Площадь треугольника равна ", .
4. Вывести сообщение "Продолжить вычисления (Y/N) ?".
5. Ввести символ ot.
Б. Конец цикла при условии ot='N'.
3. Если n=3, то:
А. Повторять:
1. Вывести сообщение "Введите радиус круга".
2. Ввести r.
3. Если r≤0,
А. то вывести сообщение "Некорректный ввод".
Б. иначе вывести "Площадь круга равна ", πr2.
4. Вывести сообщение "Продолжить вычисления (Y/N) ?".
5. Ввести символ ot.
Б. Конец цикла при условии ot='N'.
4. Если n=4, то присвоить переменной Loop значение "ложь".
3. Конец цикла.
Б. Закончить исполнение.