После компиляции и запуска экзешника консоль не ставится на паузу по readln
А вот так работает
После компиляции и запуска экзешника консоль не ставится на паузу по readln
А вот так работает
У меня не воспроизводится. Вы точно используете последнюю версию? Попробуйте обновить.
Вот копируемый код, чтоб от руки не писать каждый раз.
begin
var n := ReadlnInteger('введите n: ');
var a := ArrRandomReal(n,0,10);
a.Select(x->frac(x)).Print;
a.Select(x->frac(x)).Aggregate((x,y)->x*y).Print;
readln;
end.
Первая строка отличается. У вас ReadlnInteger, у меня ReadInteger. Ваш работает правильно. Почему не работает с ReadInteger?
А, действительно…
Выше посмотрите еще скрин с суммой квадратов, там тоже readln не стопорит консоль. А там такая же ситуация похоже.
Да что вы все продолжаете стабильно “ловиться” на одно и то же? Ну сказано же в Писании, что Readln уничтожает в буфере всяческие следы нажатия “Enter” (chr 13, chr 10), а Read оставляет их в буфере. Когда вы считываете числовое данное, это роли не играет, а для символов и строк критично. Потому последний Read консоль и не стопорит, что он с пустым аргументом, т.е. ждет нажатия клавиши и читает char - ему хватает получить не уничтоженные следы прошлого ввода из буфера.
Что там дедушка Крылов писал? “Неча на зеркало пенять…”
И правильно сделает!
P.S. На аватарке - это что? Шестикрылый серафим? )))
Духовной жаждою томим,
В пустыне мрачной я влачился, —
И шестикрылый серафим
На перепутье мне явился.
Но тут как раз считывается число а не строка, это ведь только с ReadString
работает, нет?
ReadInteger
же.
А на аве у меня сам не знаю что. Когда то сам в пеинте нарисовал, сам офигел что вышло. Но мне понравилось)) В том что у меня сзади друзья что только не видели (как листья какой то наркоты), но идея с шестикрылым серафимом мне понравилась))).
P.S.
Где где?
Нет. Число у Вас считывается вначале. А консольный вывод Вы пытаетесь приостановить, указывая Readln без списка ввода. В этом случае ожидается нажатие клавиши, т.е. ввод СИМВОЛА. Если предшествующий ввод был по Read, а не Readln, он оставил в буфере код, сгенерированный нажатием “Enter”. Он будет воспринят и протолкнет работу программы дальше
…В канонах работы системы ввода-вывода в Паскале.
Где то в справке закопано всм или ещё глубже?
Сложно сказать, где именно, но это вещь, которую “знают все”, только забывают часто. В частности, пробегало это и в видеоматериалах С.С. Михалковича. Я это помню еще по ТурбоПаскалю “из 90-х”, когда только пробовал его на “Искре”, “Правеце” и “EC-1840”. (Правец - это был такой болгарский клон IBM PC с очень странно русифицированной операционной системой, которая выдавала фразы типа “ворнинг ми бумага джаммед”).
не туда напсал, сори
Не в ту тему… И всё правильно, массив это дочерний класс от последовательности, а функция Println
это функция последовательности.
delete