yfryjkngttyufddvn
28.03.2022 01:38

Составьте программу, выводящее на экран первые 15 четных чисел в заданном промежутке. Delphi 7, нужно использовать объекты 1 Memo, 2 Edit, 2 Label и 1 Button. Должно быть примерно как на фото.

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
lozovskaya2004
06.05.2022 18:05
1) Все правильно, это и будет разность между максимумом и минимумом
program one;
var input,max,min:integer;
    i:integer;
begin
  readln(input);
  max:=input;
  min:=input;
  for i:=2 to 25 do begin
    readln(input);
    if input>max then max:=input;
    if input<min then min:=input;
  end;
  writeln(max-min);
end.

2) Гораздо проще не суммировать в цикле степени половины, а воспользоваться тем, что 1+\frac12+...+\frac1{2^n}=2-\frac1{2^n}.
program two;
var res:real;
    i,n:integer;
begin
  readln(n);
  res:=0.5;
  for i:=2 to n do res*=0.5;
  res:=2-res;
  writeln(res);
end.

3) Здесь существует несколько реализации; в частности, можно было просто считать число как строку и возвратить ее в перевернутом виде (ReverseString(s)), не заботясь о переполнении, однако я решил, что по логике задания нужно делать через числа. Впрочем, для выявления случаев переполнения все равно используется переворот строки
program three;
var a,b:int64; {можно использовать uint64, если в вашей среде Паскаля  этот тип поддерживается, тогда число в строке ниже надо заменить}
begin
  readln(a);
  if ReverseString(IntToStr(a))>'9223372036854775807' then writeln('Слишком много') else begin
    while a>0 do begin
      b:=10*b+a mod 10;
      a:=a div 10;
    end;
    writeln(b);
  end;
end.
0,0(0 оценок)
Ответ:
DariaDosh
06.05.2022 18:05
1) Все правильно, это и будет разность между максимумом и минимумом
program one;
var input,max,min:integer;
    i:integer;
begin
  readln(input);
  max:=input;
  min:=input;
  for i:=2 to 25 do begin
    readln(input);
    if input>max then max:=input;
    if input<min then min:=input;
  end;
  writeln(max-min);
end.

2) Гораздо проще не суммировать в цикле степени половины, а воспользоваться тем, что 1+\frac12+...+\frac1{2^n}=2-\frac1{2^n}.
program two;
var res:real;
    i,n:integer;
begin
  readln(n);
  res:=0.5;
  for i:=2 to n do res*=0.5;
  res:=2-res;
  writeln(res);
end.

3) Здесь существует несколько реализации; в частности, можно было просто считать число как строку и возвратить ее в перевернутом виде (ReverseString(s)), не заботясь о переполнении, однако я решил, что по логике задания нужно делать через числа. Впрочем, для выявления случаев переполнения все равно используется переворот строки
program three;
var a,b:int64; {можно использовать uint64, если в вашей среде Паскаля  этот тип поддерживается, тогда число в строке ниже надо заменить}
begin
  readln(a);
  if ReverseString(IntToStr(a))>'9223372036854775807' then writeln('Слишком много') else begin
    while a>0 do begin
      b:=10*b+a mod 10;
      a:=a div 10;
    end;
    writeln(b);
  end;
end.
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота