sunrise
?>

Сделать на java Создать программу калькулятор площади и периметра встроенных геометрических фигур. Должны поддерживаться круг, прямоугольник и треугольник (три класса и общим родителем Figure, который должен быть абстрактным В базовом классе Figure должны быть абстрактые функции getSquare() и getPerimeter(). Классы-наследники реализовывают эти функции, каждый по своему. Например у круга все зависит только от радиуса, которые является его private свойством. Все свойства классов наследников, как радиус или длины сторон (для треугольника это три длины сторон) передаются к конструкторы классов наследников, и в них не должно быть дефолтных конструкторов. Программа должна использовать полиморфизм, т.е. должна быть единная ссылка Figure f, в которой может находиться ссылка на круг, прямоугольник или треугольник. При запуске программа выводит меню:Новая фигураВычислить площадьВычислить периметрПри выборе "Новая фигура", программа выводит меню с тремя фигурами:КругПрямоугольникТреугольникВыбрав нужную категорию, программа просит ввести свойства этой фигуры, для круга - радиус, для прямоугольника - две стороны, для треугольника - три стороны. После чего возвращается на главное меню. При выборе "Вычислить площадь" или "Вычислить периметр" срабатывают функции f.getSquare() или f.getPerimeter() соответственно. Если же пользователь пытается их вычислить сразу после запуска программы не введя инфу о фигуре, предупредить его об этом. Программа не должна помнить предыдущие фигуры, только текущую.

Информатика

Ответы

ГусенковФролова1121
Var i,n,mn,mx: integer;
    a: array of integer;
begin
{ считать количество чисел n }
  write('n = ');  readln(n);
{ установить длину массива а n+1,
  массив динамический, нумерация с нуля}
    i:=1;  setlength(a,n+1);
  writeln('введите числа через пробел:   ');
{циклический ввод n чисел с клавиатуры}
    repeat 
       read(a[i]);
       i:=i+1;
   until i>n;
{ конец ввода }
{ начальные значения для максимума  и минимума  mn  mx  }
  mn:=a[1];  mx:=a[1];
{ цикл по элементам массива }
    for i:=1 to n do
    begin
{ если элемент массива больше текущего максимума,
  то в максимум записать текущий элемент }
      if a[i]>mx then mx:=a[i];
{ если элемент массива меньше текущего минимума,
  то в минимум записать текущий элемент }
      if a[i]<mn then mn:=a[i];
  end;
{ конец цикла }
   writeln('min = ',mn,'  max = ',mx);
   writeln('разница:   (max - min) = ',mx-mn);
end.
    

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Сделать на java Создать программу калькулятор площади и периметра встроенных геометрических фигур. Должны поддерживаться круг, прямоугольник и треугольник (три класса и общим родителем Figure, который должен быть абстрактным В базовом классе Figure должны быть абстрактые функции getSquare() и getPerimeter(). Классы-наследники реализовывают эти функции, каждый по своему. Например у круга все зависит только от радиуса, которые является его private свойством. Все свойства классов наследников, как радиус или длины сторон (для треугольника это три длины сторон) передаются к конструкторы классов наследников, и в них не должно быть дефолтных конструкторов. Программа должна использовать полиморфизм, т.е. должна быть единная ссылка Figure f, в которой может находиться ссылка на круг, прямоугольник или треугольник. При запуске программа выводит меню:Новая фигураВычислить площадьВычислить периметрПри выборе "Новая фигура", программа выводит меню с тремя фигурами:КругПрямоугольникТреугольникВыбрав нужную категорию, программа просит ввести свойства этой фигуры, для круга - радиус, для прямоугольника - две стороны, для треугольника - три стороны. После чего возвращается на главное меню. При выборе "Вычислить площадь" или "Вычислить периметр" срабатывают функции f.getSquare() или f.getPerimeter() соответственно. Если же пользователь пытается их вычислить сразу после запуска программы не введя инфу о фигуре, предупредить его об этом. Программа не должна помнить предыдущие фигуры, только текущую.
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

menesmir
notka19746
razumeiko0790
ПетровичЖивотовская1245
tarhan1221
ASRodichev
yurievaalxndra55
puchkovajulia
alex091177443
tigran87-87
pbttehnology
Сергеевич1386
Gennadievna bessonov
verkop9
imosal