Написать программу, которая по номеру квартиры определяет номер подъезда и этажа, на котором находится квартира - Turbo Pascal

Узнай цену своей работы

Формулировка задачи:

В N-этажном доме M подъездов. На каждой лестничной площадке К квартир. Нумерация квартир в доме сквозная, начиная с 1. Написать программу, которая по номеру квартиры определяет номер подъезда и этажа, на котором находится квартира. К условиям задачи добавляется то, что на площадке первого этажа по Р<К квартир. Написать программу, которая по номеру квартиры определяет номер подъезда и этажа, на котором находится квартира.
Помогите пожалуйста. От этого задание зависит выполнение курсовой работы.

Решение задачи: «Написать программу, которая по номеру квартиры определяет номер подъезда и этажа, на котором находится квартира»

textual
Листинг программы
var
  etaj  : integer; //этажей в доме
  pod   : integer; //подъездов в доме
  pl_1  : integer; //квартир на площедке 1 этажа
  pl    : integer; //квартир на других площадках
  kv    : integer; //номер квартиры
  kv_pod: integer; //квартир в подъезде
  x     : integer; //искомый подъезд
  y     : integer; //искомый этаж
begin
  write('Сколько этажей в доме? ');
  readln(etaj);
  write('Сколько подъездов в доме? ');
  readln(pod);
  write('Сколько квартир на первом этаже? ');
  readln(pl_1);
  write('Сколько квартир на других этажах? ');
  readln(pl);
  {количество квартир в подъезде}
  kv_pod:=(pl*(etaj-1)+pl_1);
  writeln('Всего квартир в подъезде ',kv_pod);
  writeln('Всего квартир в доме: ',kv_pod*pod);
  repeat
    write('Введите номер квартиры: ');
    readln(kv);
  until kv in[1..kv_pod*pod];
  
  {нахождение искомого подъезда}
  if (kv>kv_pod)and(kv mod kv_pod=0) then
    x:=kv div kv_pod;
  if (kv>kv_pod)and(kv mod kv_pod<>0) then
    x:=kv div kv_pod+1;
  if kv<=kv_pod then x:=1;
  
  if kv>kv_pod then kv:=kv mod kv_pod;
  
  {находжение искомого этажа}
  if kv<=pl_1 then y:=1
    else y:=((kv-pl_1) div pl)+2;
  if kv mod kv_pod=0 then y:=etaj;
  
  writeln('Квартира находится в ',x,' подъезде на ',y,' этаже');
  readln;
end.

Оцени полезность:

8   голосов , оценка 4 из 5
Похожие ответы