АКЦИЯ от www.R3.ru - хостинг сайтов 72р. в месяц. Домен в подарок!

Программирование на языке Pascal - начало





Вступление


Программирование — создание компьютерных программ с помощью языков программирования.
На этом сайте вы не увидите сложных программ, решения задач или других работ. Здесь описаны лишь азы программирования на языке программирования Pascal. Если "ты" знаешь все что описано в содержании сайта - то можешь выходить с сайта, так как ничего нового для себя ты здесь не найдешь.

Служебные слова


Каждая программа начинается со слов "Programm" так компилятор поймет что тут действительно программа, а не что то написаное тобой. После слова Programm пишеться название программы: к примеру "Programm MyFirstP". Но программа работать не будет, так как нету ее тела. Тело ее начинается со слова "Begin", а заканчивается словом "End." именно с точкой!!! Если все это написать в программе то получится нечто такое:

Programm MyFirstP;
Begin
End.

Точка с запятой (;) имеет также немалое значение в написании программы. Важно уметь ее ставить в правильном месте. Впринципе если поставить точку с запятой не там, то компилятор будет ругаться, типа не все в порядке в вашей программе и укажет на место, после которого должна она стоять, или на место где ее не должно быть. Но чтобы сократить время в процессе работы над программой лучше научиться ставить ее правильно. Точка с запятой ставится после каждого законченного выражения допустим A:=1+2; . И в других местах , о которых чуток позже (Буду проставлять (;) стразу в процессе пояснения операторов).
Переменные в паскале описываются с помощью слова "Var" после этого слова пишуться переменные и их тип. (Типы переменных могут быть разные, но основные это Integer (целочисленный тип данных, т.е в в написнии числа не используется запятая) - изменяется от -32 к до 32 к ; Boolean - имеет токо два значения True или False (да или нет); и Real (вещественный тип данных) используется если нужно записать дробные числа ).Оператор "Var" пишеться до "Begin" т.к нам надо сперва узнать какие числа используются в программе, а только потом их использовать. К примеру:

Programm MyFirstP;

Var A:integer;
B:Real;
C:boolean;
Begin
End.

В процессе работы программы необходимо вводить начальные значения переменных и выводить промежуточные результаты, это все делается о5 же с помощью операторов ввода и вывода: "Readln(А);" с помощью такой строчки мы зададим начальное значение переменной "A". Чтобы же вывести на экран это значение нужно написать строчку "Writeln(A);". в скобкаж также можно писать пояснение, допустим "Переменная "A" некое число", в коде программы это будет написано так:"Writeln(A,'Переменная "A" некое число');". Как видно из этой записи, пояснение пишется в апострофах (') и отделяется от значения переменной запятой. Код программы с этими операторами выглядит так:

Programm MyFirstP;

Var A:integer;
B:Real;
C:boolean;
Begin
Readln(А);
Readln(B);
Writeln(A,'Переменная "A" некое число');
End.

Циклы


Циклы используются, если нужно повторять какую либо операцию несколько раз. Циклы бывают: с пост условием, с пред условием, и с параметром.
Циклы с параметром - самые понятные циклы, в них операция выполняется столько раз , сколько укажешь в параметре. Описывается примерно так: служебным словом "For", показывающим что это цикл; после "For" идет параметр (к примеру будет "i") после параметра указываются промежутки между которым изменяется этот параметр к примеру: (1 to 100); заканчивается эта строчка словом "DO" (после do точка с запятой не ставится). После этого выражения нужно поставить выражение, которое необходимо выполнять несколько раз (если выражение занимает несколько операций, то его необходимо заключать в операторские скобки: "Begin <Выражение> End;" ) В коде это выглядит так:

Programm MyFirstP;

Var A:integer;
B:integer;
C:boolean;
Begin
Readln(А);
Readln(B);
For i:=1 to 100 do
begin
a:=a+1;
b:=b+a;
end;
Writeln(A,'Переменная "A" некое число');
End.

Циклы с пред условием - циклы в которых нужно указывать условие по которому программа будет входить в цикл. Цикл с пред условием описывает с помошью слова "While", после него идет условие, допустим A>B и заканчивается служебным словом "DO". В этом цикле выражение, которое необходимо несколько раз повторять пишется в операторских скобках. В отличие от цикла с параметром цикл с предусловием может зациклится, тоесть никогда не закончит выполнение операции, чтобы этого не случилось надо чтобы после какого то прохода по циклу, условие входа перестало выполняться, то есть надо, чтобы выражение A>B перестало быть равное True и стало равно False. В коде это выглядит так:

Programm MyFirstP;

Var A:integer;
B:integer;
C:boolean;
Begin
Readln(А);
Readln(B);
For i:=1 to 100 do
begin
a:=a+1;
b:=b+a;
end;
While a>b do
begin
a:=a-1;
b:=b+1;
end;
Writeln(A,'Переменная "A" некое число');
End.

Циклы с пост условием - циклы в которых нужно указывать условие выхода из цикла. Выражение, которое стоит в цикле с пост условием выполняется хотя бы один раз, так как условие выхода стоит уже после выражения. Начинается цикл со служебного слова "Repeat" после репита пишется само выражение, которое необходимо повторять; после выражения пишется служебное слово "Until" после которого указывается условие выхода из цикла. Условие выхода нужно писать так же аккуратно как и в циклах с пред условием, так как возможно так же зацикливание программы. В коде выглядит так:

Programm MyFirstP;

Var A:integer;
B:integer;
C:boolean;
Begin
Readln(А);
Readln(B);
For i:=1 to 100 do
begin
a:=a+1;
b:=b+a;
end;
While a>b do
begin
a:=a-1;
b:=b+1;
end;
repeat
a:=a+1;
b:=b-1;
until a>b;

Writeln(A,'Переменная "A" некое число');
End.

Процедуры и функции


Процедуры - работают как самостоятельные программы по заданным параметрам, Функции - работают также как самостоятельные программы, но возвращают значение выражения, которое было выполнено в этой функции.
Процедуры и функции имеют глобальные и локальные переменные: Переменные описанные в самой процедуре или функции являются локальными, и после выполнения процедуры или функции они удаляются из выделенной под их хранения памяти. Если же переменные глобальные, то они оставляют значение то, которое было получено в процедуре или функции. Функция - это что то на подобии переменной, т.е в процессе ее выполнения нужно обязательно что то присвоить ей. Хм.... Как то это все звучит сложно и непонятно, лучше показать на примере ;). Процедура описывается так: служебным словом "Procedure", потом название самой процедуры, чтобы можно было вызвать ее по названию в основной программе; затем пишутся скобки , в которых указываются параметры, от которых вызывается процедура (параметры указываются вместе с их типом, если нужно сохранить значение параметра, то нужно указать это служебным словом "Var"). Процедура(и функция тоже) пишутся до служебного слова "Begin" (Начала программы), т.к при вызове процедуры (или функции) из основной программы нам нужно знать, что в них находится. Вызывается процедура или функция из основной программы путем написания называния этой процедуры в основной программе и в скобках с указанием параметра. Пример элементарной процедуры (название Summ) нахождения суммы a+b:

Programm MyFirstP;

Var A:integer;
B:integer;
C:boolean;
Procedure Summ(var a:integer;b:integer);
var;
begin
a:=a+b;
end;
Begin
Readln(А);
Readln(B);
summ(a,b);
Writeln(A,'Переменная "A" некое число');
End.

Функция пишется почти так же , но так как это переменная нужно еще указывать ее тип. Начинается служебным словом "Function" потом идет название самой функции; затем в скобках пишется параметр, от которого вызывается функция; и после скобки пишется тип функции. Пример функции (Sum);

Programm MyFirstP;

Var A:integer;
B:integer;
C:boolean;
Function Summ( a:integer;b:integer):integer;
var;
begin
sum:=a+b;
end;
Begin
Readln(А);
Readln(B);
writeln(sum(a,b));
Writeln(A,'Переменная "A" некое число');
End.

Массивы


Массивы - это матрици n-го порядка записаных в виде таблици. Массивы используют в разных областях, но это нам не нужно, я тут опишу только их создание и вывод, а задачи, связанные с ними, если ты не дурак, то решишь :). Массивы описываются в типе данных в начале программы. Служебное слово "Array" показывает что это массив; после него пишется размерность массива, допустим размер строки таблици 10, то тогда размерность опишется так: "[1..10]" после размерности идет тип значений в массиве: к примеру это целые числа (integer), то все описание типа будет выглядеть так : "var: mas:Array[1..10] of integer". Заполняется массив обычным циклом с параметром: "For i:=1 to 10 do mas[i]:=<число>;". Как вы могли заметить в "mas[i]" "i" написано в квадратных скобках, буква "i" здесь обозначает порядковый номер элемента массива. Вывод массива пишется почти точно так же как и заполнение: "For i:=1 to 10 do writeln(mas[i]);". Если же хотите выписать массив в строчку, то нужно написать так: "For i:=1 to 10 do write(mas[i]:4);". Отличаются они только словом "writeln": LN на конце означает, что при выводе курсор сместится на строчку вниз, если же написать без LN:"write", то все значения будут выводится в строчку; :4 после "mas[i]" означает, что на одну ячейку массива будет выделяться 4 клетки. Общий код с вводом и выводом будет выглядеть так:

Programm MyFirstP;

Var i:integer;
mas:array[1..10] of integer;
Begin
for i:=1 to 100 do
mas[i]:=<число>;
For i:=1 to 100 do
write(mas[i]:4);
End.

Двумерные массивы - это те же матрици , токо у них в отличии от одномерных массивов, у которых токо одна сторока, есть еще и столбики. Описываются они так же в части описания переменных, но к размерности добавляется еще и размерность строк. К примеру: "var: mass:Array[1..10,1..10] of integer" теперь это уже таблица размером 10 строчек на 10 столбиков. Заполняется она немного сложнее ( Переменная "i" отвечает за строки; Переменная "y" отвечает за столбци. Сперва мы заполняем всю первую строку, потом переходим к следущей строке и так далее, пока не заполним всю таблицу). Теперь у "mass[i,y]" два параметра : один отвечает за строки , другой за столбци.Вот пример заполнения и вывода двумерного массива:

Programm MyFirstP;

Var i:integer;
mass:array[1..10,1..10] of integer;
Begin
for i:=1 to 100 do
begin
for Y:=1 to 100 do
mass[i,y]:=<число>;
end;
For i:=1 to 100 do
begin
for Y:=1 to 100 do
write(mass[i,y]:4);
writeln;
end;

End.

Конец


Этот сайт написан для тех, кто начинает только учиться языку программирования Pascal, для тех у кого есть смекалка, и немного мозгов, а не для тупых списывальшиков, потому что без смекалки этот сайт будет бесполезен, как и все остальные. Главное понять основы программирования, если их понять, то программирование пойдет легко и без трудностей!!! Ведь все остальное строиться вот на этих основах.
Рейтинг@Mail.ru