М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
Dag18y5557hvvhi
Dag18y5557hvvhi
12.11.2022 13:47 •  Информатика

Напишите программы для построения правильных многоугольников со сторонами 12,20 и 100

👇
Открыть все ответы
Ответ:
robka2029
robka2029
12.11.2022
1. "Традиционный" вариант
//PascalABC.Net 3.0, сборка 1052
function NOD(a, b: longint): longint;
begin
  while a <> b do if a > b then a := a - b else b := b - a;
  NOD := a
end;

var
  f: Text;
  tNOD: longint;

begin
  Assign(f, 'input.txt'); Reset(f);
  if not Eof(f) then Readln(f, tNOD);
  var n: longint := 1;
  while (not Eof(f)) and (n > 0) and (tNOD > 1) do
  begin
    Readln(f, n);
    if n <> 0 then tNOD := NOD(tNOD, n)
  end;
  Close(f);
  Assign(f, 'output.txt'); Rewrite(f);
  Writeln(f,tNOD);
  Close(f)
end.

2. "Современный" вариант
//PascalABC.Net 3.0, сборка 1052
function NOD(a, b: integer): integer;
begin
  while a <> b do if a > b then a -= b else b -= a;
  Result := a
end;

var
  tNOD: integer := 0;
  n: integer;

begin
  foreach var sn in Readlines('input.txt') do
  begin
    n := StrToInt(sn);
    if tNOD = 0 then tNOD := n
    else
    if n = 0 then break else tNOD := NOD(tNOD, n);
  end;
  WriteAllText('output.txt', IntToSTR(tNOD));
end.

Пример файла input.txt находится во вложении, контрольный результат 4096
4,7(23 оценок)
Ответ:
baga27
baga27
12.11.2022
Var 
a: array[1..n] of integer; 
k, i, m: byte; 
min: integer;

begin 
Write('Razmer massiva: '); 
Readln(k); 
if (k < 0) or (k > 100) then     
begin       
Writeln('Razmer dolzhen byt bolshe 0 i menshe 100');       
Readln;       
Exit;     
end; 
Randomize; 
Writeln('Ishodn. massiv: '); 
for i:=1 to k do     
begin       
a[i]:=Random(101)-50;       
write(a[i]:4);     
end; 
min:=a[1]; 
for i:=2 to k do   
if a[i] < min then       
begin         
min:=a[i];         
m:=i;       
end; 
a[m] := a[1]; 
a[1] := min; 
Writeln; 
Writeln('Min element = ', min:4, ' v posicii ', m:3); 
Writeln('Rezult. massiv: '); 
for i:=1 to k do     
write(a[i]:4); 
readln;
end.
4,6(56 оценок)
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ