Ну прежде всего написать программу.
Этот важный пункт мы сделали. Можно
загнуть палец на левой руке, правая
нужна, что бы шуровать мышой :)
Откомпилировать её. Что это такое
позже, пока достаточно знать, что это
происходит при нажатии Ctrl+F9....
загните второй палец ...
Запустить её. Это тоже входит в
нажатие Ctrl+F9.... Таким образом на руке
должно быть загнуто три пальца
Теперь снимите правую руку с мыши и
попробуйте нажать Alt+F5... я знаю это
тяжело, но от этого зависит результат....
Это был четвёртый палец...
Можно наслаждаться результатом :))) У
вас на экране картинка типа такой:
Borland Pascal Version 7.0
Copyright (c) 1983,92 Borland International
Hello World!
УРА!!! Можете разогнуть пальцы и
радостно подпрыгнуть!!!!! Hello World! -
эту строчку вывела наша программа!!!
Когда пройдет первая радость от
содеяного, давайте рассмотрим теперь
всё это дело более серьёзно (по строкам):
Итак слово Program - служебное слово
языка паскаль (вы заметитили я его
выделил ? :)). Служебные слова - это
такие слова, которые программист
использует в строго определённых
целях. После слова Program идёт имя
программы, однако это имя может и не
совпадать с именем файла. Это
служебные данные и на программе они не
отражаются. Как это можно проверить?
КОНЕЧНО же экспериментом: удалите эту
строчку, программа будет прекрастно
работать !! Как говорит описание: это чисто
информативный заголовок.
Замечательно! Всё начинает
проясняться! Обратите внимание на
завершающую току с запятой (;) Без
неё нельзя! Почему? Расскажу чуть
позже...
Дальше следует служебное слово begin -
отсюда начинается сама программа (begin -
англ. начало). Кстати не плохо было бы
обзавестись словарём или знаниями
английского... поможет....
writeLn ('Hello World!') - обратите внимание,
что здесь нет служебных слов! (Hello World! -
выделенна что бы понять, что это текст).
writeLn - это функция вывода текста на
экран, а текст в кавычках ('...') -
это, как мона догадаться, то, что надо
вывести на экран. Т.е. что бы вызвать
функцию нужно написать её имя и в
скобках указать параметр. СТОП! Вполне
может возникнуть вопрос а откуда
паскаль знает, что это за функция, в
смысле, что она должна выводить текст
на экран ??? Да всё дело в том, что с
турбо паскалем поставляется набор
стандартных функций, и это одна из них.
writeLine - вывести линию, т.е. если
вы до сих пор не заметили, то курсор
переводится на следующую строчку и
возвращается в начало этой строки.
Например можете написать такое: write ('Hello
World!') - курсор не будет переводится и
каждый раз запуская программу слова
Hello World! будут помещаться на одной
строке, а не на новых! Т.е. можно
сделать глубокомысленное заключение:
функция write выводит текст на экран :))))))
Ну вот мы уже близки к концу
программы... Последняя сткрока: end. -
если begin указывал на начало программы,
то end указывает на её конец. Обратите
ОЧЕНЬ МНОГО ВНИМАНИЯ на точку: end. -
этим мы указываем, что текст программы
закончился и дальше читать его не надо.
Читать это компилятору а не вам! Как в
этом убедится? - не бойтесь
экспериментировать! (хотя на
начальном уровне лучше поосторожнее)
Итак допишем после точки что-то типа
этого: Баклан - это звучит гордо!...
попытайтесь теперь нажать на Ctrl+F9 и
посмотрите результат .... Однако
добавление этой строки в любое другое
место программы (кроме как вместо Hello
World! или где-то рядом с ним :) вызовет
ошибку: Error 5: Syntax error. -
синтаксическая ошибка - слово Баклан
не входит ни в число служебных слов, ни
в число стандартных функций и поэтому
паскаль его не понимает!
Итак вы узнали 3 служебных слова, 2
стандартные функции и написали первую
программу!!
Однако много чего осталось за кадром,
попытаюсь объяснить всё это подробнее:
Что происходит при нажатии Ctrl+F9??:
Запускаются программы -
компилятор и линкер:
Компилятор - специальная
программа, которая проверяет
ошибки в вашей программе, и создаёт
специальный файл: *.obj
Линкер - специальная программа,
которая превращает obj-файл в exe-файл
... и, если компиляция и линковка
прошли успешно (т.е. без ошибок),
запускается ваша программа на
исполнение
Кстати опции линкера и компилятора
можно настроить здесь: Options -> Linker ...
и Options -> Compiler ... однако пока там
лучше ничего не менять!!
Что происходит при нажатии Alt+F5???
Появляется экран пользователя, т.е.
экран с тем, что программа выводит на
него. Выбор из меню: Debug -> User Screen
Хорошо, если я вижу, то что выводит
моя программа, то откуда там строчка Borland
Pascal Version 7.0 Copyright (c) 1983,92 Borland International -
уж не добавляет ли фирма Борланд её
ко всем программам написанных на
Турбо Паскале????
На самом деле нет :) Убедится, что эту
строчку выводит не ваша программа
можно 2-мя путями:
Способ 1. Очевидный: Выйдете из
Турбо Паскаля и запустите ваш файл
на исполнение... этой строки не
будет!
Способ 2. Не тривиальный (вот уж не
знаю пишется ли это слитно или
раздельно ?): Выйдите из Турбо
Паскаля и зайдите в него вновь :)
Зашли? Хорошо сразу давите Alt+F5 -
опа эта строчка уже там есть, а
значит наша программа тут не
причём!!!
Что такое синтаксис языка?
Помните со школьной скамьи:
синтаксис и пунктуация ??? Вот не надо
было косить уроки!
Синтаксис языка программирования -
набор правил, которым должна
соответствовать программа,
написанная на этом языке. Есть
правила обязательные и не очень
обязательные.
Давайте о правилах подробнее:
ЗАГЛАВНЫЕ и строчные буквы не
различаются. Т.е. мы могли
спокойно написать всё это так:
PROGRAM HELLOWORD;
BEGIN
WRITELN ('Hello World!')
END.
Однако если бы мы вместо Hello World!
написали HELLO WORLD!, то и на экране мы
бы увидели всё заглавными
буквами! Это правило не
распространяется на текст!
В написании программ можно
использовать только: все буквы
английского алфавита, символ
подчёркивание "_", цифры 0-9 и
спец. символы: @ # $ > < = - * [ ] { } + / ' ,
. : ; ^
Естественно это правило не
распространяется на текст, такое
вполне законно: writeLn (' Привет, мир!')
Каждая строка должна
заканчиваться точкой с запятой!
Однако есть исключения:
Если после данной строки (обозначим
1) стоит строка состоящая из
одного слова end, то после строки 1
точку с запятой ставить не
обязательно. Вот и мы не
поставили в нашей программе
точку с запятой, хотя если
написать writeLn ('Hello World!');, то
это не вызвало бы ошибок! Давайте
рассмотрим ещё один пример:
Program HelloWord1;
begin
write ('Баклан - это звучит гордо! ');
writeLn ('Hello World!')
end.
Тут мы уже выводим 2 строки на
экран. Однако, если написать write ('Баклан
- это звучит гордо! ') БЕЗ точки
с запятой, то это вызовет ошибку:
Error 85: ";" expected. (отсутствие
точки с запятой). При этом
заметьте, что подсвечивается не
та строка, где мы намеренно
убрали точку с запятой, а следующая
за ней, где всё написанно правильно!
Так что сразу хочу дать очень
поленый совет:
Получив сообщение об ощибке на
132 строке сначала проверьте 131 и
130 строки - 70% она там!
Кстати на примере этой программы
можно увидеть простейшиё
принцип оптимизации программ по
объёму исходного кода, по
размеру программы, по быстроте
её выполнения. Оптимизированный
вариант:) :
Program HelloWord1;
begin
writeLn (' Баклан - это звучит гордо! Hello World!')
end.
Итак код мы сократили на одну
строку, а размер ехе файла на 48
байт :))))
Так же в разряд исключений
попадают некоторые служебные
слова: например после слова begin нет
точки с запятой!
Между прочим забыв поставить точку
с запятой в конце строки вы
совершаете одну из самых
распространённых ошибок!
Программа заканчивается точкой (с
этим правилом вы уже знакомы).