Вы вводите символьную информацию (данное типа char) при процедуры Read(). В языке Паскаль ввод должен ВСЕГДА завершаться посылкой пары кодов "перевод строки" и "возврат каретки", что и происходит при нажатии клавиши "Enter". Так, если Вы вводите латинское "А", программа получает не один символ, а три: с кодом "А", с кодом "перевод строки" и с кодом "возврат каретки". И чтение в цикле происходит сразу три раза до очередного обращения к клавиатуре. Итого получается четыре прохода по циклу: первые три символа на самом деле воспринимаются, как девять, а затем считывается четвертый, что дает десять и цикл завершается.
Для правильной работы с символьными данными (char, string) следует использовать не Read(), а Readln() и все у Вас получится. Процедура Readln() "отрезает" коды "перевод строки" и "возврат каретки".
задача 1
поскольку и объем лазерного диска и объем дискеты выражены в одних единицах, можно сразу приступать к вычислениям
разделим объем лазерного диска на объем дискеты
650/1,39=467,6 (приблизительно 468) дискет
задача2а
переведем килобайты в байты, умножив на 1024
5Кб=5*1024=5120 байт переведем байты в биты, умножив на 8
5120 байт*8=40960 бит
задача2б
чтобы перевести биты в байты разделим их на 8
12288бит/8=1536 байт
чтобы перевести байты в килобайты разделим полученное число на 1024
1536/1024=1,5 Кб
задача2в
переведем биты в байты
2^13/2^3=2^10 при делении показатели степеней вычитаются
переведем байты в килобайты
2^10/2^10=1Кб
Для правильной работы с символьными данными (char, string) следует использовать не Read(), а Readln() и все у Вас получится. Процедура Readln() "отрезает" коды "перевод строки" и "возврат каретки".