Ваша первая программа на Паскале
Вид материала | Программа |
СодержаниеВопросы - ответы |
- Тема урока: Программирование ветвлений на Паскале, 61.32kb.
- Программирование ветвлений на Паскале Оператор ветвления на Паскале, 166.05kb.
- А. В. Розина программирование на паскале методическое пособие, 480.71kb.
- Агенство ваша бухгалтерия, 168.25kb.
- Книга Первая, 7751.74kb.
- Где и кто должен встречать посетителя, 1789.68kb.
- Первая. Новое восприятие проблемы рождаемости глава первая, 1589.66kb.
- Первая. Новое восприятие проблемы рождаемости глава первая, 5106.96kb.
- Кормление среднеазиатских овчарок: слагаемые рациона Чтобы Ваша собака была здоровой, 257.42kb.
- С. В. Элективный курс «Программируем на Паскале» общие вопросы самылкина Н. Н. Программа, 503.53kb.
Вопросы - ответы
Можно ли программу, напечатанную в текстовом файле скопировать в Turbo Pascal? Если можно то как?
|
Можно только сохранить текстовый файл с расшрирением PAS и открыть в Паскале. Скопировать же через буфер (как в WINDOWS) нельзя, программы DOS не держат буфер друг между другом. |
Итак, как всегда возвращаемся к Паскалю. В прошлом уроке мы начали изучение конструкций языка, освоили одну из них - if...then...else, которая дала нам возможность выбирать условия прямо в программе и влиять на ее выполнение.
Вроде бы по этой конструкции все, но нет - так быстро во всех тонкостях не разобраться. В ней существуют некоторые сложности, или просто нюансы - на которые нужно обратить внимание. Также надо двигаться дальше - пора заняться новыми типами и процедурами.
Хочу сказать, что нам осталось не так уж много теории, после чего начнется одна практика - мы будем стараться писать много программ, чтобы закреплять все пройденное и развивать алгоритмическое мышление, так необходимое программисту.
IF…THEN…ELSE
Сейчас нам нужно освоить один прием, который является очень важным и, возмножно, вы уже сами сталкивались с необходимостью его применения.
Это вложенность, или, если забыть про стандартные определения, просто ситуация, когда нужно после проверки условия выполнять не одно, а несколько действий если условие верно, после чего также выпонять несколько действий, если условие не верно.
Здесь нам не обойтись без примера, который я сейчас приведу.
Давайте напишем программу, которая будет:
- Читать два числа A, B с клавиатуры;
- Складывать их и если сумма больше 50, то:
- Читать A еще раз;
- Опять складывать A и B;
- Выводить ответ на экран (уже ничего не проверяя).
- Читать A еще раз;
- Если сумма меньше 50, то:
- Читать B еще раз;
- Вычесть A и B;
- Выводить ответ на экран (уже ничего не проверяя).
- Читать B еще раз;
- Конец программы.
Как мы здесь будет поступать? Заметили, нам нужно выполнять несколько действий, в ходе проверки.
Все это, в принципе могло бы выглядеть так (только алгоритм):
|
If A+B > 50 Then |
Readln(A); |
A := A + B; |
Write(A); |
else |
Readln(B); |
A := A - B; |
Write(A); |
Выглядит, вроде, без ошибок. Но попробуйте, напишите так программу. Ничего не выйдет, в конструкции if...then...else должно быть только по одному действию. Как же поступить?
Здесь нам на помощь приходит возможность вложенности. Как же это реализовать? На самом деле очень просто. Необходимо заключить все действия в отдельные служебные слова begin и end; - то есть сделать как бы маленькую программку в основной программе или сделать ее вложенной - отсюда и название "вложенность". Только запомните, после слова end, если вы его используете для обособленности оператора в конструкциях, ставиться точка с запятой - ";", а не точка! Точка ставиться только в конце программы. Без исключений.
Итак, модифицированный вариант нашей программы, уже полностью:
|
Program Primer; |
var |
A,B: Integer; |
begin |
Write('Введите A: '); |
Readln(A); |
Write('Введите B: '); |
Readln(B); |
If A+B > 50 Then |
begin |
Readln(A); |
A := A + B; |
Write(A); |
end; |
else |
begin |
Readln(B); |
A := A - B; |
Write(A); |
end; |
Readln; |
end. |
Вот, собственно и все. Этот метод применяется везде и повсеместно. Уверяю вас, скоро вы забудете про него и это уже будет получаться автоматически. А пока запомните это и вспоминайте при необходимости.
Теперь новая процедура, часто используемая в совокупности с конструкций if...then...else. Это процедура goto, о которой рассказываю подробно.