HELLO WORLD!
Hello World! самая популярная программа. Да, да не смотрите так на экран. Это программа, которая пишется 90% программистов. По сути это программа, которая выводит на экран лишь одну строчку текста.
Сразу начнем с текста программы
Code
Program HelloWorld;
begin
writeLn ('Hello World!');
end.
Быстренько запускаем Turbo Pascal, набираем эти четыре строчки, нажимаем Ctrl+F9(либо заходим в меню "Run" и нажимаем Run). Ничего не вывелось? Досадно наверное?? Все проще чем вы думаете, после строчки writeLn ('Hello World!'); наберите строчку Readln;
Если вы используете Delphi, то для создания нового проекта зайдите File-New-Other-Console Application. Для запуска программы нажимаем F9
УРА!!! теперь можно радостно подпрыгнуть!!!!! Что же мы видим на экране - это же Hello World!
Я вас поздравляю, с данной секунды вы вступили в ряды начинающих программистов.
Когда вы отойдете от состояния эйфории, давайте рассмотрим всю программу более серьезно (по строкам)
Слово Program - служебное слово языка Pascal. Служебные слова - это такие слова, которые программист использует в строго определённых целях. После слова Program идёт имя программы. Это служебные данные и на программе они не отражаются. Можете со спокойной душой удалить строчку Program HelloWorld; и запустить программу, как видите ничего не изменилось. Эта строчка нужна лишь для вас, для понимая в какой программе вы сейчас находитесь.
Слово begin - отсюда начинается сама программа (begin - англ. начало).
Если у вас сильно хромает английский язык, нужно будет обзавестись переводчиком.
writeLn ('Hello World!'); - обратите внимание, что здесь нет служебных слов! (Hello World! - выделена что бы понять, что это текст).
writeLn - это функция вывода текста на экран, а текст в кавычках ('...') - это, как можно догадаться, то, что надо вывести на экран. Т.е. что бы вызвать функцию нужно написать её имя и в скобках указать параметр. Если вы заметили то при запуске программы курсор помещается на одну строчку вниз (под словом HelloWord маленький прямоугольничек).например можете написать такое:
Write ('Hello World!')
- курсор не будет переводится и каждый раз запуская программу слова Hello World! будут помещаться на одной строке, а не на новых! Т.е. можно сделать глубокомысленное заключение: функция write выводит текст на экран.
ReadLn - это функция ввода данных в программу, в данном случае она лишь нужна нам для того чтобы программа сразу не закрылась, а приостановилась для ввода (чего нибудь) после нажатия Enter программа закроется. ReadLn мы полностью рассмотрим немного позже.
Последняя строка: end. - если begin указывал на начало программы, то end указывает на её конец. Обратите внимание на точку: end. - этим мы указываем, что текст программы закончился и дальше читать его не надо.
Давайте немного разберемся с правилами:
1. ЗАГЛАВНЫЕ и строчные буквы не различаются. Т.е. мы могли спокойно написать всё это так:
Code
PROGRAM HELLOWORD;
BEGIN
WRITELN ('Hello World!')
READLN;
END.
2. В написании программ можно использовать только: все буквы английского алфавита, символ подчёркивание "_", цифры 0-9 и спец. символы: @ # $ > < = - * [ ] { } + / ' , . : ; ^
3. Каждая строка должна заканчиваться точкой с запятой! Однако есть исключения: Если после данной строки (обозначим 1) стоит строка состоящая из одного слова end, то после строки 1 точку с запятой ставить не обязательно.
Code
Program HelloWord1;
begin
write ('Microsoft OUT! '); // Есть точка с запятой
writeLn ('Hello World!') // Можно не ставить, так как следующая строка end
end.
Типы данных
Все программы работают с данными. Например, целые числа, вещественные числа, строки - это данные. Данные могут быть постоянными, например дата рождения, а могут быть и переменными, например возраст.
Теперь у нас есть задание посчитать три числа
(a+b+c)/2=e
Нам нужно ввести три числа a,b,c и узнать чему равно e.
Тут нам понадобятся переменные. В программе написанной на языке паскаль для переменных отводится специальная "секция" VAR (англ. VARiable - переменная) и каркас программы выглядит так:
Code
ИмяПрограммы;
var
Здесь идёт объявление переменных.
begin
Здесь идёт текст программы.
Переменные - это и есть наши данные. Так как Паскаль является строго типизированным языком, то каждой переменной ставится в соответствие свой тип. И для этой переменной разрещены операции допустимые типом. Но мы не всегда можем делать операции между типами: например нельзя сложить число 5 и строку 'Hello world!'!
Объявляются переменные таким образом:
Code
ИмяПеременной : ИмяТипа;
В языке Паскаль существует очень разветвлённая система типов и сегодня мы поговорим только 2 из них: Целые и Вещественные.
Теперь если у нас числа a,b,c целого типа(тоесть это могут быть числа 1,2,3,4).То а,b,c мы должны объявить следующим образом:
Code
Program Schet;
var
a : integer;
b : integer;
c : integer;
begin
Здесь идёт текст программы.
end.
Так же переменные одного типа можно записывать в строчку: a, b, c : integer;
Итак, теперь мы умеем выбирать нужный нам тип переменной, объявлять её.... теперь нам нужно научится что-то с ней делать.
Так как данные целого типа являются по существу математическими переменными, то для них определены операции:
:=
присваивание ( двоеточие и равно всегда пишутся слитно!)
Например присвоить переменной a значение 123:
a := 123;
Присвоить а значение b:
a := b;
Очень частая ошибка: забывают ставить двоеточие перед знаком равно! А что такое просто знак равно, мы поговорим позже и подробнее! Главное привыкнуть к такой записи :=
Сложение +
Идём от простого к сложному: присвоить переменной а значение 120 + 3:
а := 120 + 3;
Присвоить b значение а + 123:
b := a + 123;
Присвоить с значение a + b + 123:
c := a + b + 123;
Аналогично сложению делаем вычитание (самостоятельно).
Умножение
Оно тоже идёт по анологии со сложением но надо помнить приоритет операций!
Помните загадку: сколько будет два плюс два умножить на два?
Правильный ответ: 6 (т.к. сначала нужно умножать, а потом складывать 2 + 2 * 2)
Вот и в паскале нужно строго соблюдать приоритет операций! В этом вам поможет оператор ( )! Тут как в математике: операции в скобках имеют высший приоритет: т.е. (2 + 2) * 2 = 8 Т.к. сначала мы складываем 2 и 2.
Деление
Здесь все немного сложнее как мы уже с вами знаем Integer это только целые числа, а результат деления всегда вещественный! Т.е. не целый!
Возьмём тип Real
Напишите программу:
Code
Program Test;
begin
writeLn (1.54321);
Readln
end.
и вы увидите вот что: 1.54321000000E+00! Нам с вами, как программистам всё понятно, но вот как быть с пользователями?
Что нужно сделать, для того чтобы привести все в надлежащий вид?
После числа 1.54321 напишем :2:2
Code
writeLn (1.54321:2:2)
первая :2 - общее поле выводимой части
вторая :2 - дробная часть (точность) Ну а теперь наверное самое интересное! Посчитаем наше уравнение (a+b+c)\2=e
Code
Program Schet;
var
a, b, c : integer;
e : real;
begin
writeLn ('Poschitaem (a+b+c)\2=e');
//Устанавливаем каждой переменной значение
a := 3;
b := 8;
c := 5;
e:=(a+b+c)/2; // Вычисляем уравнение
writeLn (e); //Вывод результата
readln;
end.
А что же делать, если мы хотим ввести наши числа с клавиатуры? Тут нам на помощь приходит функция ReadLn Наша программа
Code
Program Schet;
var
a, b, c : integer;
e : real;
begin
writeLn ('Poschitaem (a+b+c)\2=e');
ReadLn(a,b,c); //Вводим значение с клавиатуры
e:=(a+b+c)/2; // Вычисляем уравнение
writeLn (e); //Вывод результата
readln;
end.
На этом наш первый урок закончен. Если у вас что-то не получатся, либо вы не понимаете пишите, будем разбираться