想像してみてください - 80戸のアパートがある家があります。4階建て5ブロックあります。各ブロックには 4 つのフラットがあります。ユーザーはフラット数を入力するように求められ、Pascal プログラムはフラット数を計算して出力することになっています。これは、何らかの式を使用して計算する必要があります。私が持っている唯一のヒントは、div 操作と mod 操作を使用する必要があるということです。
これまでのところ、80 個のフラットすべてをループし、16 個のフラットごとにブロック値が増加し、4 ブロックごとに階段が増加するプログラムを作成しました。
これは私のコードです:
program project1;
var
i, floors, blocks, flats, flat, block, floor, blockCounter, floorCounter : integer;
begin
floors := 4;
blocks := 5;
flats := 80;
while true do
begin
write('Flat number: ');
read(flat);
block := 1;
floor := 1;
blockCounter := 0;
floorCounter := 0;
for i := 1 to 80 do
begin
blockCounter := blockCounter + 1;
floorCounter := floorCounter + 1;
if (floorCounter = 4) then
begin
floorCounter := 0;
floor := floor + 1;
end;
if (blockCounter > 16) then
begin
block := block + 1;
blockCounter := 0;
floorCounter := 0;
floor := 1;
end;
if (i = flat) then
begin
writeln('Flat nr. ', flat, ' is in ', floor, '. floor and in ', block, '. block!');
end;
end;
end;
end.
これで私を助けることができる人はいますか?