Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Лабораторная работа №3. Экранные меню и циклы




Постановка задачи

Основная задача.

Организовать экранное меню из трех пунктов (расчет площади прямоугольника, треугольника и круга). По выбранному номеру пункта выполнить расчет площади соответствующей фигуры с проверкой корректности ввода данных и возможности вычислений.

 

Дополнительные задачи.

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 + bc, или a + cb, или b + ca,

А. то вывести "Некорректный ввод".

Б. иначе:

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. Конец цикла.

Б. Закончить исполнение.

 

Текст программы

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 – «Площадь круга»

r Расчетная площадь Результат работы программы
-2 Некорректный ввод
  314.1592653

 





Поделиться с друзьями:


Дата добавления: 2016-12-17; Мы поможем в написании ваших работ!; просмотров: 1567 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Если вы думаете, что на что-то способны, вы правы; если думаете, что у вас ничего не получится - вы тоже правы. © Генри Форд
==> читать все изречения...

2215 - | 2158 -


© 2015-2024 lektsii.org - Контакты - Последнее добавление

Ген: 0.007 с.