После того, как вы открыли «свежее», сделайти следующие действия: F10-Options-Save. Теперь каждый раз при запуске у вас бедет открываться новое окно.
Вопрос 8. В рассылке n11 Вы рассказывали про форматный вывод .Чтобы реализовать это, мы приписывали к переменной, стоящей в процедуре два числа, разделив их двоеточием: Write(‘Real: ‘, a:5:2);
После запятой цифры реагируют на команду, а вот до запятой совершенно не реагирует.
А теперь попробуйте:
for i:=1 to 10 do write(a[i]);
for i:=1 to 10 do write(a[i]:10:4);
for i:=1 to 10 do write(a[i]:5:4);
И почуствуйте разницу.
Вы давно знакомы с понятием процедуры и функции языка Паскаль, а также разницей между ними. Однако до сегодняшнего дня я не рассказывал о том, как можно создавать собственные процедуры и фукнции. Зачем они нужны? Давайте зададимся этим вопросом и на примерах постараемся в нем разобраться.
Для начала попробуем поставить себе задачу. Пусть необходимо написать программу, в которой будет определенная, часто повторяющаяся, последовательность действий. К примеру, сложение двух чисел.
Вирус закрывает программы
Давайте теперь сформулируем задачу следующим образом: написать программу, которая будет складывать два числа. Далее спрашивает, стоит ли повторить. Если ответ утвердительный, то повторяет сначала. Обратите внимание, складывать числа мы будем не один раз, возможно два-три раза или больше.
Здесь было бы очень удобно оформить тот кусок программы, который отвечает за сложение и вызывать его каждый раз при необходимости — то есть не писать его все время заново. Здесь мы и подходим к определению процедуры (подпрограммы) языка Паскаль.
Что же такое подпрограмма? Подпрограмма (процедура, функция) — это оформленная обособленно часть программы, к которой потом можно обратиться из любого места основной программы (вызвать ее). Написать и использовать подпрограмму очень просто. При этом она будет обладать следующими свойствами:
Подпрограмма — это фактически отдельная программа. Она может иметь свои переменные, метки, константы, равно как и вложенные подпрограммы.
Она может использовать переменные, общие для всей программы (глобальные переменные), с учетом того, что они были описаны в основной программе до самой подпрограммы.
Если подпрограмма — функция, она может использоваться внутри стандартных конструкций, в качестве параметра для процедур, присваиваться переменным и т.д., то есть обладает всеми возможностями функций.
Это основное, что касается использования данных в подпрограммах. Теперь давайте посмотрим, как они описываются в программе. Начнем с процедур.
Создание своих процедур
Создаваемая процедура в Паскале имеет следующие элементы:
Служебное слово Procedure;
Собственное имя, по которому она будет использоваться в программе. Оно идет после служебного слова Procedure
Параметры, передаваемые программе (необязательно).
Свои разделы var, const, label (необязательно).
Windows 7 8 10 вылетает программа или сама прекращает работать
Собственный раздел begin — end, причем end — это конец подпрограммы. После него всегда ставиться точка с запятой: «;»
Внутри этой конструкции — любые элементы языка: циклы, сравнения, дополнительные блоки begin — end.
Примера ради давайте напишем указанную выше программу (сложение двух чисел). Действовать будет по следующему принципу:
До основной программы составим процедуру, в качестве параметров которой будет передаваться два числа. В этой процедуре будет:
Числа, переданные как параметры складываются друг с другом;
Получившееся значение выводиться на экран;
Сделаем цикл repeat — until. Внутри след. действия:
Запрашиваем 1-е число;
Запрашиваем 2-е число;
Вызываем нашу процедуру, передав ей в качестве параметров эти два числа;
Цикл повторяется, пока ответ «ДА».
Вот такая вот простая программка. Исходный код:
Procedure Add(a, b: Integer);
Источник: studfile.net
Программа сразу закрывается паскаль
Возникли такие вопросы:
1. На Висте турбо паскаль не раскрывается на весь экран, такое маленькое окошечко, так и набираю в нём код. Есть ли для Висты турбо паскаль? Если есть версия сносно работающая на Висте, подскажите где скачать?
2. Существует ли русский турбо паскаль (т.е. русифицированный)?
3. Как правильно сохранять программы на турбо паскале?
Вот, я открываю турбо паскаль, набираю код, откомпилировав, делаю Run, вбиваю значения, всё работает, вычисления правильные. Я сохраняю как обычно, пишу имя, сохранить, сохраняется файл .PAS , его можно открыть в турбо паскале и запустить программу, делать вычисления.
Ещё пытаюсь сохранить в формате .ехе, пишу имя файла добавляю .EXE, жму ОК, сохраняется файл ехе (приложение), запускаю его как обычную программу в виндовсе, открывается окошко и сразу закрывается почему так происходит? Ведь на Паскале пишут программы, и их вроде можно запускать в виндовсе. Объясните новичку в чём подвох. Сохранял так решение задачи:
Задача: Услуги телефонной сети оплачиваются по следующему правилу: за разговоры до А минут в месяц — В руб., а разговоры сверх установленной нормы оплачиваются из расчета С руб. за минуту. Написать программу, вычисляющую плату за пользование телефоном для введенного времени разговоров за месяц. |
Program Telefon; Var A,B,C,M,Rez:Longint; Y:Char; Begin While Y<>’Y’ Do Begin WriteLn (‘Vvedite A:’); ReadLn (A); WriteLn (‘Vvedite B:’); ReadLn (B); WriteLn (‘Vvedite C:’); ReadLn (C); WriteLn (‘Vvedite M:’); ReadLn (M); Rez:=(M-A)*C+B; WriteLn (‘Itogo v etom mesyace za ‘ ,M, ‘ minut razgovorov vi dolgni: ‘ ,Rez, ‘ rub.’); WriteLn (‘Vihod? (Y/N)’); ReadLn (Y); End; End.
называл файл TELEFON.EXE, он открывается и закрывается. Пробовал этот файл запускать на другом компе с XP, эффект тот же самый открывается и закрывается.
Я так понимаю такая программа, должна запускаться без турбо паскаля в виндовсе и делать вычисления? Но эта моя программа открывается, и сразу самопроизвольно закрывается. Что я делаю не так?
4. Можно ли в турбо паскале писать русскими буквами? Пробовал разные версии турбо паскалей, но к сожалению в них нельзя написать по-русски например
WriteLn (‘Введите количество минут тарифа:’);
Если возможно писать русскими буквами посоветуйте какую-нибудь версию, где это возможно сделать или если есть у вас такой турбо паскаль дайте пожалуйста ссылку на скачивание.
Источник: www.programmersforum.ru
Паскаль компилируется и сразу закрывается, несмотря на readln;
У меня есть этот простой фрагмент кода, который позволит мне назначать вещи в координаты XY двухмерного массива. код компилируется и сразу закрывается, несмотря на чтение; внизу. Всего наилучшего, Арран.
Arran 10 Дек 2012 в 20:22
Что происходит, когда вы проходите через это в отладчике? (Кроме того, вы отметили свой вопрос «синтаксической ошибкой». Синтаксической ошибки нет, если он компилируется и запускается.)
10 Дек 2012 в 21:56
1 ответ
Лучший ответ
Всегда включайте проверку диапазона во время разработки. У вас есть массив на основе 1, но ваши значения x и y равны нулю при первом чтении из него.
Источник: question-it.com