Ваша первая программа на Паскале
Вид материала | Программа |
- Тема урока: Программирование ветвлений на Паскале, 61.32kb.
- Программирование ветвлений на Паскале Оператор ветвления на Паскале, 166.05kb.
- А. В. Розина программирование на паскале методическое пособие, 480.71kb.
- Агенство ваша бухгалтерия, 168.25kb.
- Книга Первая, 7751.74kb.
- Где и кто должен встречать посетителя, 1789.68kb.
- Первая. Новое восприятие проблемы рождаемости глава первая, 1589.66kb.
- Первая. Новое восприятие проблемы рождаемости глава первая, 5106.96kb.
- Кормление среднеазиатских овчарок: слагаемые рациона Чтобы Ваша собака была здоровой, 257.42kb.
- С. В. Элективный курс «Программируем на Паскале» общие вопросы самылкина Н. Н. Программа, 503.53kb.
Паскаль - это один из самых простых языков, но далеко не один из самых слабых. Изучать мы с вами будем Turbo Pascal 7.0 - так вот на нем можно написать любую программу, которая придет в голову. По возможностям он не уступает ни СИ, ни какому другому. На Паскале можно написать программную оболочку (типа Norton Commander), игрушку (типа Quake) или операционную систему (типа MS-DOS). Программы на Turbo Pascal пишутся только для платформы MS-DOS, но никак не зависят от конфигурации компьютера. Главным требованием к компьютеру является только лишь то, чтобы он был IBM PC-совместимый, что естественно, если на нем установлен MS-DOS.
Особой теории по этому языку нет, чтобы хорошо им овладеть (тем более если это ваш первый язык программирования) необходимо больше практики. Этим мы и начнем заниматься уже в этом выпуске. При этом вам понадобиться интерпритатор Turbo Pascal 7.0 фирмы Borland - я говорил где его можно достать в предыдущем выпуске. Те, кто скачал его с моего сайта (а скачало на данный момент 73 человека) или достал где-нибудь еще, уже смогут попрактиковаться.
При этом я обойду стандартный подход к изучению языков программирования, при котором сначала начинают изучать типы данных, используемые в языке, структуру пограммы и все такое, а начну непосредственно с написания программы, максимально при этом пытаясь объяснять понятно каждый свой ход.
Итак, поехали...
Ваша первая программа на Паскале.
Что ж, начнем с минимума. Предположим, что вам понадобилось написать программу, реализующую сложение двух чисел. Короче, надо сделать C = A + B;
Теперь по шагам определим, что необходимо для создания этой программы.
1. Нам необходимо в некоторое число C занести значение, которое будет равно сумме чисел А и В. Для таких целей в Паскале существует понятие переменной. (Это вроде икса в математике). Переменная служит для хранения какого-либо значения и имеет собственное имя. Это имя ей необходимо назначить - оно может состоять только из:
- латинских букв (A..Z);
- цифр (0..9) (!!! но не может начинаться с цифры !!!);
- символов подчеркивая "_";
И не может содержать:
- Русских букв;
- Любых знаков препинания, таких как точка, запятая, восклиц. знак;
- Специальных символов, которые находятся над цифрами на клавиатуре. Это "~", "#", "$", "%" и другие.
Вот вам примеры имен переменных:
primer1; _primer; Primer; _pr_; my_name_is_Edik;
Еще уточнение - имя переменной может быть любой длины, не превышающей 250 символов. Также не учитывается регистр букв, то есть переменные с именами Primer и pRiMeR будут рассматриваться как одна.
Что у нас выходит? Что нам необходимо завести переменные С, А, В. (Не забывайте, все буквы латинские). Ясно, переменные мы заведем и назначим им имя (как мы это сделаем, смотрите ниже). Что теперь? А теперь мы подходим к понятию типа переменной.
Тип переменной определяет, что с этой переменной можно сделать, и из чего она состоит (что в ней содержится). Для каждой переменной определяется ее тип.
Зачем нам нужно определять тип переменной? Например, нам нужно, чтобы переменная содержала строку символов, к примеру "Здравствуйте!", которую мы хотим вывести на экран в качестве приветсвия. И кроме нее мы имеем переменную, содержащую число, которое мы собираемся увеличивать. Понятно, что мы не сможем сложить число со строкой, так как цифры с символами складывать невозможно. Поэтому мы определяем тип этой переменной как числовой, после чего определяем тип переменной, содержащей строку как строковой. Тогда Паскаль будет знать, что с какой переменной можно сделать, и при произведении каких-либо действий с переменными определять их тип, после чего либо производить действия, либо нет, если их произвести невозможно.
В общем, я сказал, что у каждой переменной есть свой тип. Но как его назначить? Для этого существуют разные обозначения. Например, тип "число" обозначается как Integer, что по-английски означает "число". Зная это, мы в программе указываем, что переменная у нас типа Integer и можем ее складывать с другими, вычитать или умножать. (О других типах я расскажу позже).
2. Итак, с типами переменных мы определились и теперь возвращаемся к нашей с вами программе. Что у нас там? Мы собираемся прибавить к переменной A переменную B и поместить результат в переменную С.
Так как я сказал, что складывать можно только переменные типа Integer, то нам необходимо определить тип всех трех переменных как Integer. Сделав это, мы получим возможность манипулировать ими как числами.
Исходя из всего этого напишем программу, в которой реализуем следующие шаги:
- Напишем название программы;
- Заведем переменные, т.е. A, B, C; и зададим им тип;
- Выполним сложение и пометим результат в С;
Программа будет выглядеть следующим образом:
Program First;
var
A, B, C: Integer;
begin
C := A + B;
end.
Теперь разберем эту программу по строкам:
- Program First; - это заголовок программы. Совсем необязательный, программисты просто пишут его для того, чтобы как-то озаглавить программу. Его хорошо использовать для маркировки, т.е. чтобы по нему определять, что это за программа. Всегда находится в первой строчке программы, если его разместить где-нибудь в другом месте, то это вызовет ошибку.
- var
A, B, C: Integer;
var - Это и есть раздел описания переменных. Выше я говорил, что надо заводить необходимые переменные и придавать им определенный тип. Вот здесь это и реализуется. После служебного слова var, сообщающего Паскалю, что начался раздел объявления переменных, надо расставить все переменные, и через двоеточие указать их тип. Я говорил, что числа указываются словом Integer. Вот мы и написали: A,B,C: Integer;
- begin - это служебное слово означает, что начался раздел действий. Именно после него программа начинает свое выполнение. По-английски "begin" - значит "начало". Когда Паскаль встречает это слово, он начинает выполнение программы. У слова begin есть завершающая пара - end. Его вы можете увидеть в самом конце программы. Это слово совершенно противоположное по значению - то есть оно означает, что выполнение программы закончилось. Именно пара begin - end. и есть главной в программе, между ней находятся все действия.
- C := A + B; Это и есть то, что нам необходимо было сделать. Здесь все ясно, но думаю синтаксис этого выражения требует пояснений. Но это все далее, смотрите...
Синтаксис выражений.
Самое главное правило - после каждой команды или выражения ставится точка с запятой - ";" Посмотрите на программу - каждая строка имеет свое завершение этим знаком. Исключение составляют только слова var и begin - это служебные слова, которые не являются процедурами или функциями. Они определяют начало какого-либо раздела программы, в частности var - начало раздела объявления переменных, а begin - раздела выполнения. Кроме этих служебных слов есть и другие, которые оглавляют разделы, например начало раздела констант, но об этом позже. Завершение имеет только раздел begin словом end, после которого ставиться точка. Точка означает конец программы, ее завершение и полную остановку выполнения.
Кроме того, присваивание в Паскале обозначается знаком ":="; Именно двоеточие и равно, а не просто равно. То есть, если мы хотим присвоить какой-либо переменной значение, то мы пишет эту переменную, ставим ":=" и пишем новое ее значение. Вот вам еще примеры присваиваний, как дополнение к программе:
C := 15;
A := 15 + 3;
A := A + C + 3 - 12;
Отсюда имеет несколько правил синтаксиса, которые сведем в список:
- После выражений ставиться ";"
- Служебные слова, означающие начало раздела программы, не оканчиваются знаком ";"
- Присваивание значения переменной обозначается знаком ":="
Тестирование программы.
Теперь вернемся к программе. Запустите Turbo Pascal и напечатайте ее, соблюдая все знаки и порядок строк. После того, как вы ее напечатали, надо попробовать ее запустить. Это реализуется нажатием клавиш Ctrl+F9. Если вы все правильно набрали, то окно редактора чуть-чуть мигнет (или нет, если у вас быстрый компьютер и вы просто не успеваете этого заметить).
Если вы в чем-то ошиблись, то Паскаль не выполнит программу, а остановится, переместив курсор в строку, где совершена ошибка, и написав, что конкретно за ошибка произошла. К примеру, таким сообщением может быть:
Error 85: ";" expected.
Эта ошибка означает, что вы где-то забыли поставить ";". Но пока я не советую вам самостоятельно разбираться в ошибках, просто перепечатайте программу в том виде, в каком она есть и все. Далее мы будем этим заниматься (разбором ошибок) - но это уже потом.
Что теперь?
А теперь, вроде все. Мы написали с вами минимальную программу, которая тем не менее уже хоть как-то демонстрирует внешний вид программы. Она еще не живая, я хочу сказать, что она не просит ни каких данных у пользователя, и не выводит ему ответ на них. Можно было бы сделать, например, чтобы запрашивалось A и В, а С (сумма) выводилась в ответ на экран. Вы уже смогли попробовать среду Турбо Паскаля, запустить программу и понять, что это такое. Теперь я хочу заострить внимание на том, что вам необходимо усвоить из этого выпуска:
- Вам необходимо полностью разобраться в каждой строчке написанной программы;
- Усвоить основные правила синтаксиса (";", :=, begin-end, var и т.д.);
- Понять, что необхоимо заводить переменные и как это делать;
- Понять, что такое тип переменной, как ее сделать числом и зачем это нужно;
- Обратить внимание на то, как мы запустили программу (Ctrl+F9); (Далее я буду подробнее рассказывать о таких клавишах)
В прошлом выпуске мы с вами написали программку, выполняющую небольшие арифметические операции. Мы рассмотрели, что такое переменная, ее тип, как они описываются и зачем. Хочу сказать, что далее идет информация для людей, испытывающих трудности при вводе и запуске программ. Если вам это неинтересно или не нужно, то пропускайте этот раздел и переходите ниже, к практике.