Написать программу, которая по номеру квартиры определяет номер подъезда и этажа, на котором находится квартира - 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.