Ваша первая программа на Паскале
Вид материала | Программа |
- Тема урока: Программирование ветвлений на Паскале, 61.32kb.
- Программирование ветвлений на Паскале Оператор ветвления на Паскале, 166.05kb.
- А. В. Розина программирование на паскале методическое пособие, 480.71kb.
- Агенство ваша бухгалтерия, 168.25kb.
- Книга Первая, 7751.74kb.
- Где и кто должен встречать посетителя, 1789.68kb.
- Первая. Новое восприятие проблемы рождаемости глава первая, 1589.66kb.
- Первая. Новое восприятие проблемы рождаемости глава первая, 5106.96kb.
- Кормление среднеазиатских овчарок: слагаемые рациона Чтобы Ваша собака была здоровой, 257.42kb.
- С. В. Элективный курс «Программируем на Паскале» общие вопросы самылкина Н. Н. Программа, 503.53kb.
IF…THEN…ELSE - Важная конструкция языка
Итак, мы с вами подошли к изучению конструкций языка. Что же такое конструкция? До этого мы учили только синтаксис и некоторую теорию, например типы. Писали программы, состоящие только из переменных и нескольких процедур. Но разве этого программисту достаточно? Конечно, нет. Нужны некоторые стандартные вещи, которые позволяли бы как-то усложнять программу, реализовывать ее написание не только через чередование процедур и переменных, но и заставлять ее походить какие-нибудь проверки, как-то влиять на ход ее работы непосредственно при ее выполнении. Для этого в языках программирования существуют специальные конструкции - стандартные языковые средства, которые позволяют проверять что-либо прямо внутри программы, повторять ее несколько раз и т.д., в общем, влиять на ее выполнение.
Одна из самых заметных конструкций - это проверка каких-то условий. Что это значит? Для того, чтобы вам это лучше понять, я приведу пример задачи, которую нужно решить:
Нам нужно написать программу, которая:
- Запрашиват два числа;
- Далее проверяет, если 1-е число больше второго, выводит: "1-е больше, чем второе"; если 2- больше 1-го, то выводит: "2-е больше, чем первое";
В программе явно нет ничего сложного. Но есть одна деталь - как мы проверим эти числа на БОЛЬШЕ/МЕНЬШЕ? Вот здесь нам и понадобиться конструкция If...Then...Else, о которой я вам сейчас и расскажу.
IF..Then..Else - (англ. Если....То...Иначе). Очень важная и необходимая конструкция Паскаля. Используется для проверки каких-либо условий. В этой конструкции используются знаки сравнения, которые в Паскале обозначаются так:
| |
> | Больше |
< | Меньше |
>= | Больше или равно |
<= | Меньше или равно |
<> | Не равно |
Запомните эти знаки, они вам дальше очень понадобятся. И не пугайтесь, если что-то не понятно. Сейчас все разъясниться, как только я приведу пример и сделаю к нему комментарий.
Итак, как же оформить конструкцию if...then...else? Для начала давайте запишем словами сравнение двух чисел А и В:
1. Если А > B То Write(A,' больше чем ',B,'!')
2. Иначе Write(B,' больше чем ',A,'!');
Посмотрите внимательней на приведенный пример. Разобрались? Теперь посмотрим, как выглядит эта конструкция на Паскале:
If A > B Then Write(A,' больше чем ',B,'!')
else Write(B,' больше чем ',A,'!');
Вот вам и пример использoвания изучаемой конструкции. Посмотрите, разве сложно? На самом деле нет, хотя это и может так показаться с первого взгляда. Вот все комментарии, которые здесь требуются.
- Сначала идет служебное слово If
- После него стоит первая проверка, в которой как раз и используются знаки сравнения, приведенные мной в таблице.
- Если эта проверка выполняется верно, то есть A > B, то выполняется действие, указанное после слова Then. Обратите внимание, что после действия (процедуры Write) нет точки с запятой - ";". Она не ставиться перед словом Else.
- Если же проверка не верна, то есть A < B то выполняется действие, указанное после слова Else. После этого действия уже ставиться точка с запятой.
Замечание. Слова Else может и не быть. Это используется тогда, когда нужно выполнить всего одно условие и не делать ничего, если оно не верно. В таком случае после действия, указанного за словом Then ставиться ";". Вот такой пример:
If A > B Then Write(A,' больше чем ',B,'!');
Собственно, это и все про проверку. Теперь вспомним нашу программу, которую мы захотели написать. (Смотрите ее выше). Сейчас мы наконец-то напишем ее, текст будет выглядеть так:
|
Program Primer; |
var |
A,B: Integer; |
begin |
Write('Введите A: '); |
Readln(A); |
Write('Введите B: '); |
Readln(B); |
If A > B Then Write(A,' больше чем ',B,'!') |
else Write(B,' больше чем ',A,'!'); |
Readln; |
end. |
Комментировать программу я не буду, так как нам уже нужно как-то усложнять материал. Разберитесь в ней, введите в Паскале и запустите. Видите, она реагирует на величину чисел? А теперь вспомните, что мы проходили сегодня новый тип - String. Его тоже можно с успехом использовать, поэтому привожу еще пример:
|
Program Primer; |
var |
S1,S2: String; |
begin |
Write('Введите 1-ю строку: '); |
Readln(S1); |
Write('Введите 2-ю строку: '); |
Readln(S2); |
If S1 <> S2 Then Write('Строки не равны!') |
else Write('Строки равны!'); |
Readln; |
end. |
Ну как? Это уже немного другой пример, реагирующий на неравенство, в отличии от предыдущего, реагирующего на знак "больше". Введите его и запустите. Видите, эта программа сравнивает две введенные строки, реагируя на то, равны ли они. Теперь еще один пример, проверяющий, отрицательное ли число.
|
Program Primer; |
var |
A: Integer; |
begin |
Write('Введите число: '); |
Readln(А); |
If А < 0 Then Write('Число отрицательное!') |
else Write('Вы ввели число: ',A); |
Readln; |
end. |
Разберитесь самостоятельно в этих всех программах. Запускайте их, меняйте - смотрите, как измениться работа. Ну а пока к сожалению я исчерпываю лимит письма и на этом заканчиваю. Но на последок немного домашних заданий. Правда, эти мне присылать не нужно, я придумал их для того, чтобы Вы смогли попрактиковаться самостоятельно в написании программ и использовании конструкции if...then...else. Программы как всегда в порядке возрастания сложности. Итак, практика:
| |
1 | Напишите программу, умеющую проверять положительно ли введенное число и выводить ответ на экран. |
2 | Вводятся два числа, после чего проверяется, больше ли сумма 1-го с самим собой, чем второе. Ответ как обычно на экран. |
3 | Читаются два числа, после чего из 1-го вычитается 2-е и если результат отрицательный, пишется, что он отрицателен. Иначе ответ выводиться на экран. |
4 | Прочитайте три числа А, В, С и одну строку. После чего проверьте, больше ли сумма А и В числа С. Если да, то выводите прочитанную строку иначе сумму всех 3-х чисел. |
Ну вот и все на сегодня про Паскаль. Этот урок получился довольно большим, но вы узнали достаточно нового. Хочу вам напомнить, что нужно разобраться во всем, о чем я говорю - иначе вы не добьетесь больших результатов. Осваивайте, пишите свои программы - и обязательно решайте мое домашнее задание! Если оно вам покажется довольно нудным, не обращайте внимания и сделайте просто для закрепления пройденного. Далее придется очень часто и развернуто использовать if...then...else, поэтому добейтесь уверенности в своих знаниях этой конструкции.
В следующем уроке мы займемся тем же самым, но гораздо серьезней и напишем пару программ посложнее.