Автор Time To Die задал вопрос в разделе Другие языки и технологии
Перечисляемый тип в Паскале ABC и получил лучший ответ
Ответ от Gennady[гуру]
Начнем с того, что Inc() это процедура. Это раз. Во-вторых, перечисляемый тип задается так
abz = 'A'..'Z';
У вас i переменная перечисляемого типа, т. е. может принимать только заданные значения, но это не освобождает от необходимости инициализировать ее перед началом цикла.
i := 'A';
А в самом цикле ввиду того, что Inc() процедура, обращаться к ней надо отдельно.
S := S + i; Inc(i);
Ну и условие выхода из цикла. Цикл repeat выполняется при ложном условии, а length(s)<=26 истинно. Змените знак отношения
until Length(s) >= 26;
Ответ от Dnikitaa[гуру]
Как бы abz = set of 'A'..'Z';
Как бы abz = set of 'A'..'Z';
Ответ от Krab Bark[гуру]
program pr4;
var i:'A'..'Z'; begin i:='A'; repeat writeln(i); inc(i) until i>'Z'; readln end.
Правда, массив я не использовал, он тут как рыбке зонтик. Впрочем, и цикл repeat ...until тоже от лукавого. Лучше
program pr4;
var i:'A'..'Z'; begin for i:='A' to 'Z' do writeln(i); readln end.
program pr4;
var i:'A'..'Z'; begin i:='A'; repeat writeln(i); inc(i) until i>'Z'; readln end.
Правда, массив я не использовал, он тут как рыбке зонтик. Впрочем, и цикл repeat ...until тоже от лукавого. Лучше
program pr4;
var i:'A'..'Z'; begin for i:='A' to 'Z' do writeln(i); readln end.
Ответ от 3 ответа[гуру]
Привет! Вот подборка тем с ответами на Ваш вопрос: Перечисляемый тип в Паскале ABC
ребят, буду благодарен, если кто нибудь объяснит про операторы ord и chr в паскале.
Striker немного дезинформировал…
Но я его не виню, ибо такую ошибку я встречал даже во многих
подробнее...