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

Написать программу нахождения периметра и площади прямоугольника с использованием ФУНКЦИИ в паскале

👇
Ответ:
лолпрапти
лолпрапти
06.08.2020

program PER_AND_PLOSH;

var

   a,b:integer;

   

function per(a,b:integer):integer;

begin

   per:=a+b+a+b;

end;

function plos(a,b:integer):integer;

begin

   plos:=a*b;

end;

begin

 writeln('Введите длины сторон прямоугольника:');

 readln(a,b);

 write('Периметр равен ',per(a,b),', а площадь равна ',plos(a,b));

end.

4,6(49 оценок)
Открыть все ответы
Ответ:
kacok2
kacok2
06.08.2020
Такие задания нужно решать с конца, команды будут обратные: раздели на 2, вычесть 3.
1. Берём число 47, видим, что без остатка на 2 его разделить не получится, поэтому вычитаем 3. Получаем число 44. Мы использовали команду 1.
2. Видим, что теперь число 44 можно разделить на 2, делим, получаем 22. Мы использовали команду 2.
3. Число опять делится на 2, делим, получаем 11. Команда 2.
4. 11 не делится на 2, вычитаем 3, получаем 8. Команда 1, и т.д.
5. 8/2=4 . 2
6. 4 - 3 = 1. 1
Как раз у нас получилось 6 действий. Т.к. мы использовали обратные команды, то записываем их обратном порядке.
ответ: 121221,
4,7(98 оценок)
Ответ:
zhenyakrestins
zhenyakrestins
06.08.2020
// PascalABC.NET 3.0, сборка 1128
begin
  var k:=ReadInteger('Укажите номер записи k:');
  var a:=ReadLines('T1.txt').Select(x->Length(x)).
         Where(x->x<>0).ToArray;
  var n:=a.Length;
  if k>n then Writeln('В файле записей меньше, чем ',k)
  else Writeln('Сумма равна ',a.Min+a[n-k+1])
end.

А теперь "школьный вариант"
// PascalABC.NET 3.0, сборка 1128
var
  t:text;
  min,l,m,n,k:integer;
  s:string;
begin
  k:=2; // вторая от конца запись
  Assign(t,'T1.txt'); Reset(t);
  min:=1000; m:=0;
  while not Eof(t) do begin
    ReadLn(t,s); Inc(m);
    l:=Length(s);
    if (l>0) and (l<min) then min:=l
    end;
  Close(t); Reset(t);
  k:=m-k+1;
  if k<1 then Writeln('В файле нет стольких строк')
  else begin
    m:=0;
    while m<>k do begin Readln(t,s); Inc(m) end;
    Writeln('Сумма равна ',min+Length(s))
    end;
  Close(t)
end.
4,4(83 оценок)
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ