OberonCore
https://forum.oberoncore.ru/

Не могу ввести строку
https://forum.oberoncore.ru/viewtopic.php?f=35&t=5019
Страница 1 из 1

Автор:  tvorimvsevmeste [ Понедельник, 10 Март, 2014 23:45 ]
Заголовок сообщения:  Не могу ввести строку

При попытке ввести массива литер в массив получаю пустой массив. Помогите понять, где у меня ошибка.
Код:
МОДУЛЬ  X1Пример03;
   ПОДКЛЮЧИТЬ Ввод := i21eduВвод, Вывод := i21eduВывод;
   ТИП
      СтрокаПоСловам = УКАЗАТЕЛЬ НА МАССИВ ИЗ МАССИВОВ ИЗ ЛИТЕР;
      ОднаСтрока = УКАЗАТЕЛЬ НА МАССИВ ИЗ ЛИТЕР;    
   ПЕРЕМЕННЫЕ 
      заготовка : ОднаСтрока;
      сюжет: СтрокаПоСловам;
   
   ПРОЦЕДУРА Получить;
      ПЕРЕМЕННЫЕ однаЛитера : ЛИТЕРА; номерЛитеры : ЦЕЛОЕ;
   НАЧАЛО
      НОВАЯ( заготовка, 100); номерЛитеры:=1;
      Ввод.Открыть; УБЕДИТЬСЯ( Ввод.сделано );
      Ввод.Литера(однаЛитера);
      ПОКА Ввод.сделано ДЕЛАТЬ
         заготовка [номерЛитеры]:=однаЛитера;
         Вывод.Цел(номерЛитеры); Вывод.Цепочка(заготовка); Вывод.Литера(однаЛитера);             Вывод.НовСтрока;
         INC(номерЛитеры);
         Ввод.Литера(однаЛитера);
      КОНЕЦ;
      Вывод.Цепочка('Прочитана строка: '); Вывод.Цепочка(заготовка);Вывод.НовСтрока;
   КОНЕЦ Получить;
   
   ПРОЦЕДУРА СочинитьСюжет*;
      ПЕРЕМЕННЫЕ
   НАЧАЛО
      Получить;
   КОНЕЦ СочинитьСюжет;
НАЧАЛО
   
КОНЕЦ  Х1Пример03.

(!)Х1Пример03.СочинитьСюжет Однажды {зимой/летом/осенью/весной} случился {пожар/наводнение/землетрясения} в одном {селе/городе/становище}.
(!)Х1Пример03.СочинитьСюжет Однажды {зимой.

Автор:  Илья Ермаков [ Вторник, 11 Март, 2014 00:24 ]
Заголовок сообщения:  Re: Не могу ввести строку

Проще использовать Ввод.Строка, беря во входном потоке последовательность символов в кавычки.

Автор:  Info21 [ Вторник, 11 Март, 2014 13:30 ]
Заголовок сообщения:  Re: Не могу ввести строку

Ввод.Цепочка

"заготовка" должна каждый раз содержать в конце терминальный символ 0X, чтобы правильно печататься.

Опыт: в учебной ситуации новичкам нужен ровно один способ открытия, и, видимо, самый удобный для такого контекста -- выделять мышкой и нажимать Shift+F1.
Вместо Ввод.Открыть тогда нужно Ввод.Сначала (встать в начало потока ввода).

А Вы прочли документацию про ввод?
Хочу понять -- может, там нужно радикально переписывать? :)

Автор:  tvorimvsevmeste [ Среда, 12 Март, 2014 16:11 ]
Заголовок сообщения:  Re: Не могу ввести строку

На самом деле, я пробую разные варианты ввода большого и наверное структурированного набора данных. Какой из них легче объяснять ребятам. :? (все привлекательные задачи, даже не будучи сложны требуют большого набора данных)
Что проще (с меньшими умолчаниями) объяснить реализацию ввода из строки или работу с формами?

Автор:  Info21 [ Четверг, 13 Март, 2014 00:02 ]
Заголовок сообщения:  Re: Не могу ввести строку

tvorimvsevmeste писал(а):
Что проще (с меньшими умолчаниями) объяснить реализацию ввода из строки или работу с формами?
Я вообще работу с формами не объясняю, т.к. это не относится к универсальной алгоритмике.

Но формы и труднее объяснять.

Страница 1 из 1 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/