Есть ответ 👍

Программирование в pascal хочу создать программу которая считает площадь фигур сначала она запрашивает какую фигуру нужно посчитать и записывается в "а" , потому в зависимости от значения а должны выполнятся следующие действия как это сделать? вот мой код , пробывал через if a then и через case a of вот код ( который остался ): program s; uses crt; var b,c,d: real; a: integer; label m; begin m: clrscr; write('выберите фигуру(1-квадрат,2-прямоугольник)'); readln(a); case a of 1: write('сторона квадрата='); readln(b): d: =b*b; write('s=',d): goto m; end; end.

139
236
Посмотреть ответы 2

Ответы на вопрос:


Uses crt; var       b, a: real;       n: integer; begin       clrscr;       repeat               write('выберите фигуру (1-квадрат, 2-прямоугольник)');               readln(n);                             case n of                       1:                               begin                                       write('сторона квадрата=');                                       readln(a);                                       write('s=', a * a);                               end;                       2:                               begin                                       write('стороны прямоугольника=');                                       readln(b, a);                                       write('s=', b * a);                               end;               else exit;               end;       until false; end.
asjadorn
4,4(16 оценок)

Смотри. всё просто. тебе из 8 нужно перевести в двоичную, при этом у тебя дробное число. то есть у тебя есть целая часть (247) и дробная часть (16). нужно переводить по очереди, вначале целую часть, потом дробную, при этом при переводе целой - нужно делить, при переводе дробной - умножать, сейчас покажу алгоритм. вначале целую часть: мы делим на 2, потом пишем результат деления, а в скобочках пишем остаток. 247/2=123(1) 123/2=61(1) 61/2=30(1) 30/2=15(0) 15/2=7(1) 7/2=3(1) 3/2=1(1) теперь нам нужно записать то, что получилось, записывается снизу-вверх, начиная от той единички, что у нас получилась при делении 3 на 2. итого: 11110111 - это твоя целая часть. теперь дробная часть (16), мы должны приписать ноль, чтобы у нас получилось 0,16 (ведь это дробная часть). теперь умножаем на 2 пока не получится ровно единица, при этом записываем в ответ 0, если у нас целая часть получается ноль и 1, если целая часть получается 1. сейчас поймёшь: 0,16 * 2 = 0,32 - видишь, получился ноль, поэтому мы его в ответ пишем и продолжаем умножать на 2 часть после ноля, пока не получится ровно 1. 0,32 * 2 = 0,64 - опять ноль получился, в ответ ноль записываем еще. 0,64 * 2 = 1,28 - тут уже у нас единица получилась, в ответ 1, отбрасываем 1 и опять множим на 2, пока не будет ровно единица в ответе. 0,28 * 2 = 0,56 - в ответ 0 0,56 * 2 = 1,12 - в ответ 1 0,12 * 2 = 0,24 - в ответ 0 0,24 * 2 = 0,48 - в ответ 0 0,48 * 2 = 0,96 - в ответ 0 0,96*2 = 1,92 - в ответ 1 0,92*2 = 1,84 - в ответ 1 у тебя тут такое число, в котором ты бесконечно будешь умножать и у тебя не получится никогда ровно 1(либо получится, но не скоро), поэтому просто спроси у учителя, до скольки знаков тебе считать. я обычно до 5 считал всегда, но тут я тебе показал аж до 10. дробная часть получилась такой - 0010100011. теперь записываешь целую часть, что получил ранее и дробную, что вычислил сейчас. у тебя получается: 11110111,0010100011 ответ:   11110111,0010100011

Популярно: Информатика