Pascal abc не работает окно вывода

Ввод-вывод данных в Pascal

Компьютерные программы обрабатывают (изменяют) различные данные. Программа получает данные, что-то делает с ними и выводит их в измененной форме или выводит другие данные.

Следовательно, любой язык программирования должен иметь инструменты как для ввода данных, так и их вывода. В Паскале ввод осуществляется с помощью процедур read() и readln() , а вывод — благодаря write() и writeln() . Процедуры, которые имеют окончание ln , после своего выполнения переводят указатель на новую строку.

Откуда или с помощью чего можно ввести данные в программу? Обычно это можно сделать с помощью клавиатуры или из файлов.

Куда можно вывести данные? На экран, в файл, на принтер и др.

Стандартным устройством ввода является клавиатура, а вывода — монитор. Стандартные — значит «работающие по-умолчанию»; т.е. если не указано ничего иного, то программа будет считывать данные с клавиатуры, а выводить их на монитор. Вместе клавиатуру и монитор называют консолью. Таким образом консоль представляет собой стандартное устройство ввода-вывода.

Вывод данных на экран. Форматированный вывод

Вывод данных на экран и в файл в языке программирования Pascal осуществляется с помощью процедур write ( ) и writeln ( ) . Здесь будет рассмотрен вывод только на экран.

Допустим, нам требуется отобразить на экране пару фраз. Если мы хотим, чтобы каждая из них начиналась с новой строки, то надо использовать writeln() , если нет – то write() .

Write() чаще используется, когда надо вывести для пользователя сообщение на экран, после чего получить данные, не переводя курсора на новую строку. Например, выводим на экран «Введи число: » и не переводим курсор на новую строку, а ждем ввода.

Еще один пример. В памяти компьютера хранятся данные. Из программы мы обращаемся к ним с помощью переменных num, fl и st. Вывести их значения на экран можно по-разному.

Во втором случае мы видим, что процедуры вывода (как write() так writeln() ) позволяют конструировать выводимую информацию из различных компонент (строк-констант и переменных).

В третьем случае был осуществлен так называемый форматированный вывод. При этом для выводимого значения указывается ширина поля вывода (количество знакомест). Если мы выводим вещественное (дробное) число, то вторым числом через двоеточие указывается количество знаков после запятой. Если для вещественных чисел не осуществлять форматирование, то они отобразятся так, как определено для данного компьютера. Если указать только число знакомест без фиксирования дробной части, то вывод будет в экспоненциальной форме.

Ввод данных с клавиатуры

Ввод данных в языке программирования Паскаль обеспечивается процедурами read() и readln() . Ввод данных осуществляется либо с клавиатуры, либо из файла. Здесь рассматривается только ввод с клавиатуры.

Когда данные вводятся, то они помещаются в ячейки памяти, доступ к которым обеспечивается с помощью механизма переменных. Поэтому, когда в программе на Pascal используется процедура read() (или readln() ), то в качестве фактического параметра (аргумента) ей передается имя переменной, которая будет связана с вводимыми данными. Потом эти данные можно будет использовать в программе или просто вывести на экран.

В процедуры ввода можно передавать не один фактический параметр, а множество.

При вводе данных их разделяют пробелом, табуляцией или переходом на новую строку (Enter). Данные символьного типа не разделяются или разделяются переходом на новую строку.

Существуют особенности ввода данных с помощью операторов read() и readln() . Если используются подряд несколько операторов read() , то вводимые данные можно разделять всеми допустимыми способами. При использовании нескольких вызовов readln() каждый последующий срабатывает только после нажатия Enter. Программа ниже иллюстрирует это. Комментарии поясняют последовательность возможных действий при вводе данных.

Источник

Pascal abc не работает окно вывода

Профиль
Группа: Участник
Сообщений: 20
Регистрация: 16.5.2011

Репутация: нет
Всего: нет

petri
Дата 4.4.2012, 11:39 (ссылка) | (нет голосов) Загрузка .
Код
j:=1;
i:=length(s);
y:=»;
repeat
y[j]:=s[i];

j:=j+1;
i:=i-1;
until i=0;
writeln(y);

При этом если выводить символы по ходу цикла: , то они нормально выводятся, их конечное число, т.е. зацикливания не происходит.

Строка s той же длины также нормально выводится: .

Почему y не выводится на экран?

Это сообщение отредактировал(а) petri — 4.4.2012, 11:41

Mirkes
Дата 4.4.2012, 18:56 (ссылка) | (нет голосов) Загрузка .

Опытный

Профиль
Группа: Участник
Сообщений: 586
Регистрация: 18.8.2011
Где: Красноярск

Репутация: 4
Всего: 17

Гениальный текст! еще более гениальная среда исполнения — PascalABC (я с ним работаю, но не знал, что в нем есть такая ошибка).
Вы создали пустую строку y. То есть массив из нуля элементов типа char. А потом начинаете писать в разные элементы этого массива.
В результате все приличные паскали выдали бы выход за границу массива range chesk error. А эта зараза пропустила .
Чтобы исправить ваш код нужно сделать одно из двух.
1. До цикла написать y:=s;
2. В цикле вместо y[j]:=s[i] написать y:=y+s[i];
Но только что-то одно.

Проверить мою гипотезу о работе программы очень просто. До всех модификаций сразу за строкой writeln(y); добавьте строку writeln(length(y));
Должен вывестись ноль!

Профиль
Группа: Участник
Сообщений: 20
Регистрация: 16.5.2011

Репутация: нет
Всего: нет

petri
Дата 5.4.2012, 02:25 (ссылка) | (нет голосов) Загрузка .

ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Несоблюдение правил может повлечь за собой самые строгие меры от закрытия/удаления темы до бана пользователя!

  • Название темы должно отражать её суть! (Не следует добавлять туда слова «помогите», «срочно» и т.п.)
  • При создании темы, первым делом в квадратных скобках укажите область, из которой исходит вопрос (язык, дисциплина, диплом). Пример: [C++].
  • В названии темы не нужно указывать происхождение задачи (например «школьная задача», «задача из учебника» и т.п.), не нужно указывать ее сложность («простая задача», «легкий вопрос» и т.п.). Все это можно писать в тексте самой задачи.
  • Если Вы ошиблись при вводе названия темы, отправьте письмо любому из модераторов раздела (через личные сообщения или report).
  • Для подсветки кода пользуйтесь тегами [code][/code] (выделяйте код и нажимаете на кнопку «Код»). Не забывайте выбирать при этом соответствующий язык.
  • Помните: один топик — один вопрос!
  • В данном разделе запрещено поднимать темы , т.е. при отсутствии ответов на Ваш вопрос добавлять новые ответы к теме, тем самым поднимая тему на верх списка.
  • Если вы хотите, чтобы вашу проблему решили при помощи определенного алгоритма, то не забудьте описать его!
  • Если вопрос решён, то воспользуйтесь ссылкой «Пометить как решённый», которая находится под кнопками создания темы или специальным флажком при ответе.

Более подробно с правилами данного раздела Вы можете ознакомится в этой теме.

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman

Источник

Нет ответа в окне вывода

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

Как сделать вывод ответа в окне?
вот код Private Sub Command1_Click() Cls Print Dim h0 As Single, hk As Single, h As Single, r0.

Скрипт вывода ответа
Люди тут у меня проблема у нас в школе теперь Выдали сайты с подготовкой к ГИА И ЕГЭ на сайте есть.

Метод для вывода ответа
Не могу сообразить как вывести значения метода Lol() c помощью метода Otv(). Подскажите как это.

Разница вывода ответа математической операции С++ и С
Доброго времени суток. Ребята, не могу доделать программку. взял ее готовую с С, немного.

Решение

Не говорите глупостей, так не бывает) В таких случаях получаем или бесконечность или NaN (не число). Но никаких глюков.

Maximizm, посмотрите отладкой (F8) где какие значения.

Выводит NaN и никаких глюков. Ну, если вы, конечно, находясь в ветке ABC.Net компилируете именно с помощью него же, а не на каком то старье, сдохшем 10-20 лет назад.

И, вместо того чтоб рассказывать что там придумали в справке, в которую вы конечно же сами не заглянули когда писали — почитайте лучше как работают числа с плавающей точкой. Разработчики паскаля это не выбирали, это так во всех .Net языках работает.

Решение

Программа для подсчёта и вывода ответа в уравнении
Здравствуйте, нужно сделать программу на Flat Assembler которая использует стек для подсчета.

VBA Excel: окно вывода с вариантами ответа
Нужно создать в экселе макросах окно вывода с вариантами ответа на вопрос (например как часто Вы.

Как убрать лишний пробел в конце вывода ответа
У меня есть прога: var f, k, j, n, d, t, p, z, sum: longint; sov, del: array of integer; .

Кракозяблы в окне вывода
Подскажите пожалуйста, как изменить кодировку символов в окне вывода Visual Studio 2017.

Источник

Читайте также:  Не работает приложение юду
Оцените статью