Общие сведения о языке Паскаль

 

XXIвек называют эрой информационных технологий. Какие бы задачи ни решал сейчас ученый или специалист, для него очень  важно уметь грамотно обрабатывать информацию: искать, отбирать, анализировать и использовать ее. Именно поэтому ему не обойтись без знания информатики. Применение ЭВМ позволяет теперь переложить часть этой обработки на автоматические устройства, способные  достаточно долго работать без участия человека,  со скоростью в несколько миллионов раз превышающей скорость обработки информации человеком.

ЭВМ внедряются буквально во все области человеческой деятельности, поэтому непрерывно растет круг людей, вовлеченных в работу с ними. В условиях массового применения вычислительных машин большое значение имеет использование различных языков программирования. И это понятно - без них ЭВМ не более чем "черный ящик". Эффективность взаимодействия человека с ЭВМ тем больше, чем проще и понятнее язык общения с ЭВМ. Особый интерес представляют языки, доступные миллионам пользователей, способные привить им навыки культурного программирования буквально с детского возраста.

Предлагаемый учебник поможет Вам, ребята, развить навыки логического и алгоритмического мышления и изучить основы программирования на языке Pascal.

Первую версию языка Pascal разработал и предложил 1968 году известный швейцарский ученый Никлаус Вирт. Этот язык являлся развитием языка Алгол (Алгол 60) и был задуман для обучения студентов основам программирования.

Pascal - один из языков программирования, который помогает писать «структурированные» программы в таком виде, в котором структура программы должна непосредственно отражать структуру задачи. Эта особенность языка Pascal, а также его достаточная простота из-за интуитивной понятийности его конструкций, позволила языку завоевать прочное место среди языков программирования. Современным достижением программирования является признание преимущества структурированных программ. Вот почему Pascal широко используется инженерами и научными работниками, является официальным языком международных олимпиад по информатике. В настоящее время существует достаточно много версий данного языка. Наибольшее распространение, при программировании в среде MS(PC)-DOS и Windows, получила версия языка, разработанная фирмой Borland (Borland Pascal 7.0). Дальнейшее развитие языка привело к появлению Delphi - языка визуального программирования (фирма Borland). Освоение основ языка Pascal является необходимым условием для изучения Delphi – одного из наиболее мощных в настоящее время языков программирования.

Надеюсь, ребята, что этот учебник будет Вам полезен и обогатит Вас новыми знаниями и навыками программирования.

Успехов Вам!

Скачать:

ВложениеРазмер
Microsoft Office document icon lekciya_1.doc55.5 КБ

Предварительный просмотр:

Лекция №1

План:

  1. История развития языка Паскаль. Общие сведения о языке Паскаль.
  2. Структура программы на языке Паскаль.
  3. Понятие алгоритма.
  4. Выражения, оператор присваивания.
  5. Операторы ввода-вывода.

1. История развития языка Паскаль. Общие сведения о языке Паскаль

Язык программирования Паскаль был создан в 1970 году профессором Н. Виртом (Швейцария). Долгое время авторская версия языка служила и своеобразным стандартом для него. Не удивительно, что на разных ЭВМ стали появляться различные версии языка, несущие “отпечаток” взглядов реализаторов на язык программирования Паскаль. Только в 1979 году был подготовлен проект описания этого языка. Большую роль в стандартизации языка программирования Паскаль сыграл Британский институт стандартизации и рабочая группа, возглавляемая А. Эжжиманом. В результате их усилий появился Британский стандарт языка  программирования Паскаль BS 6192: 1982, который стал так же и международным стандартом.

В настоящее время одним из самых популярных систем программирования для операционной системы MS-DOS, ориентированных на язык Паскаль, является Турбо-Паскаль, разработанный известной фирмой Borland International и реализующий расширенную версию языка для персональных ЭВМ класса IBM PC. Турбо-Паскаль – это язык профессионального программирования, одна из особенностей которого состоит в наличии интегрированной среды, включающей ряд мощных программных средств подготовки, редактирования, компиляции и отладки программного обеспечения. К достоинствам Турбо-Паскаля можно отнести:

  1. простоту и естественность основных конструкций языка, что позволяет быстро его освоить и создавать алгоритмически сложные программы;
  2. возможность использования развитых средств представления структур данных, что обеспечивает удобство  работы как с числовой, так и с символьной информацией;
  3. соответствие языка структурному программированию, что делает программы наглядными и упрощает их разработку и отладку;
  4. наличие обширной библиотеки процедур и функций для работы как с текстовой, так и с графической информацией, что позволяет создавать достаточно сложные коммерческие программы с развитым удобным интерфейсом пользователя.

2. Структура программы на языке Паскаль

Текст программы, написанной на языке программирования Паскаль имеет жесткую структуру, нарушать которую нельзя. В простейшем случае программа на языке Паскаль имеет следующий вид.

Program <имя программы>;  (заголовок программы, имя программы выбирается составителем программы самостоятельно)

Const <имя константы>=<значение константы> ;

        (раздел описания констант)

Var

<имя переменной1, имя переменной2, … >: <Тип1 переменных>;

<имя переменной1, имя переменной2, … >: <Тип2 переменных>;

 (раздел описания переменных, этот раздел необязателен в случае, если программа не использует никаких переменных)

Begin                                (начало программы)

<тело программы>        (последовательность команд (операторов), разделенных знаком “;”)

End.        (конец программы)

Обычно программы на языке Паскаль имеют более сложную структуру, мы убедимся в этом позже.

Любая программа на языке Паскаль начинается со слова Program и заканчивается точкой.

В разделе описания переменных перечисляются все переменные, используемые в программе, и их тип (целочисленные, дробные, символьные…). Имена переменных ни в коем случае не должны совпадать с  названиями операторов, типов переменных, именем программы.

Служебные слова BEGIN и END называют операторными скобками, между ними записывается последовательность команд, которые программа должна выполнить. Эти команды называют операторами. Все операторы в языке Паскаль отделяются друг от друга точкой с запятой. изменять алгоритм, но количество действий от этого не измениться. Однако существуют задачи, в которых выбор правильного алгоритма играет огромную роль.

Алгоритм должен быть как можно более правильным, наглядным, коротким.

Для решения каждого задания может существовать несколько алгоритмов. Например, требуется составить алгоритм для следующего задания.

Вводим с клавиатуры целое число х , если х=2, то делаем его равным 4, если х=4, то делаем его = 2, во всех остальных случаях оставляем х без изменения.

Алгогритм 1.

1)   Если х=2, то х=4.

  1. Если х=4, то х=2.

Пример:

Программа нахождения периметра прямоугольника.

Периметр прямоугольника находится по формуле S=2(a+b), где а и в – стороны прямоугольника.

Program perimetr;

Var

 P,a,b:Integer;(Периметр и стороны – переменные целочисленного типа)

Begin

    a:=25; (сторона а=25)

    b:=38; (сторона в=38)

    P:=2*(a+b); (вычисление периметра Р=2*(25+38)=126)

    Write(Р); (Вывод на экран значения Р)

End.

Первая строка – заголовок программы.  В третьей строке, в разделе описания переменных перечисляются все переменные, для них дана характеристика Integer, которая показывает, что эти переменные могут принимать только целочисленные значения. Затем между словами Begin и End располагаются операторы. Они указывают, какие действия необходимо выполнить. Первые два оператора присваивают переменным а и b их числовые значения. Третий оператор вычисляет значение 2*(а+b) и присваивает его переменной Р. Результат находится в памяти ЭВМ для вывода его на экран используется оператор Write.

3. Понятие алгоритма

При записи программы важно, чтобы операторы следовали в строго определенной последовательности. Так, в приведенном выше примере, мы не можем сначала вычислить периметр, а затем присвоить переменным a и b их значения, или вывести на экран значение периметра до его вычисления. Четко определенная последовательность действий называется Алгоритмом. Так, например, для нашей задачи алгоритм будет выглядеть следующим образом:

  1. Присваиваем значения переменным а и b.
  2. Вычисляем значение выражения 2*(а+b) и присваиваем его переменной Р.
  3. Выводим значение переменной Р на экран.
  4. Конец.

Другая задача.

На сковороде умещаются только две котлеты. Каждая сторона котлеты жарится 10 минут. Как за 30 минут сжарить 3 котлеты?

Запишем алгоритм решения данной задачи.

Пусть имеются три котлеты А, В, С со сторонами 1 и 2.

  1. Жарим сторону 1 котлеты А и сторону 1 котлеты В.
  2. Жарим сторону 2 котлеты А и сторону 1 котлеты С.
  3. Жарим сторону 2 котлеты В и сторону 2 котлеты С.
  4. Конец.
  1. В данном случае мы можем Конец.

Это самое простое решение на деле оказывается неправильным. Положим х=2. После первого шага алгоритма х станет равным 4, а значит после второго – 2.

Алгоритм 2.

  1. Если х=2, то х=4, переход на шаг 3.
  2. Если х=4, то х=2.
  3. Конец.

Этот алгоритм правильный, но его можно упростить еще, сделав на одну проверку меньше.

Алгоритм 3.

  1. Если 1<х<5, то х=6-х.
  2. Конец.

Этот алгоритм, возможно, и является самым оптимальным, относительно количества действий, но имеет существенный недостаток – он ненагляден, непонятен, и с первого взгляда даже очень трудно представить себе, что же он делает.

Можно записать ещё один алгоритм.

Алгоритм 4.

  1. Если x=2 или x=4, то x=4-остаток от деления 10 на х.
  2. Конец.

Такой алгоритм правльно решит задачу, но его не стоит применять, так как он абсолютно непонятен и не оптимален в вычислительном смысле.

Ответственность за выбор алгоритма всегда лежит на программисте, и то, какой из алгоритмов лучше, решать приходится ему.

Задание: Составить алгоритм вычисления корней квадратного двучлена.

4. Выражения. Оператор присваивания

Программа записывается в виде последовательности символов, к числу которых относятся латинские и русские буквы, арабские цифры, знаки препинания, знаки математических операций.

Для обозначения исходных данных и результатов вычислений используются переменные, которыми могут быть не только любые буквы, но и последовательность символов из букв и цифр, которая начинается с буквы. Соответствующие исходные данные и результат вычисления называются значением переменной. Итак, переменная – это что-то, что имеет имя, тип и значение. Пока мы будем иметь дело с переменными, значениями которых являются числа. Числа в программе записываются в десятичной системе, вместо запятой пишется точка: 0, 56, -123, 3.14159263 и т.д. эти числа называют константами. Таким образом числовая переменная может принимать значение числовых констант.

Переменные и константы – простейшие частные случаи выражения. Более сложные выражения строятся из констант и переменных с помощью знаков операций. Для числовых выражений используют, например, операции сложения, вычитания, умножения и деления (+,-,*,/). Кроме того в выражениях могут быть использованы круглые скобки и некоторые функции.

При составлении выражений необходимо выполнять следующие правила:

  1. Записывать все выражения в строку. Двухэтажные выражения, а так же верхние и нижние индексы не допускаются.

Пример: ((а1*х1)-(а2*х2))/(х1-х2)

  1. Использовать скобки только одного вида – круглые. Применение квадратных и фигурных скобок запрещается, так как они имеют другой смысл. Так математическое выражение

a{b+c[d+e(f+g)]}

записывается в виде

                a*(b+c*(d+e*(f+g))).

  1. Нельзя записывать подряд два знака. Так, например, выражение а+в/-с следует записывать в виде а+в/(-с).
  2. Большие и сложные выражения лучше разбивать на несколько простых, а повторяющиеся действия лучше вычислять отдельно. Так, выражение (a+bx)-2(a+bx)+c(a+bx) лучше записать следующим образом:

Y=a+bx;

Z=y-2*y+c*y;

В языке Паскаль имеется много готовых встроенных функций. Такие встроенные функции называются стандартными. Программисту достаточно знать, как записывается функция и аргумент. Аргумент функции заключается в круглые скобки. Аргументом может быть любое выражение (как вы помните переменные и числа – это простейшие случаи выражений). Следует помнить, что в тригонометрических функциях аргумент может быть задан только в радианах. Если аргумент задан в градусах, то для его перевода в радианы необходимо воспользоваться формулой хπ/180.

Примеры некоторых стандартных функций.

Sin(x)-синус

Cos(x)-косинус

Sqrt(x)-корень квадратный

Sqr(x)-квадрат

Trunc(x)-отбрасывает дробную часть

Round(x)-округление до ближайшего целого числа.

Встроенные функции можно использовать в выражениях, например

Sqrt(x)+Sin(x-pi/2).

Таким образом, выражения строятся из переменных, констант, функций и операций над ними!

Для того, чтобы переменной присвоить значение выражения, используется оператор присваивания. Оператор присваивания имеет следующий вид:

<переменная>:=<выражение>;

Оператор присваивания присваивает переменной, стоящей в левой части, значение выражения, стоящего в правой части оператора присваивания.

Примеры:

a:=120;

b:=a+Sqrt(a);

i:=i+1;

5. Операторы ввода – вывода

Работа с компьютером всегда ведется в диалоговом режиме. Это означает, что пользователь вводит в компьютер данные и команды и видит на экране результат выполнения команды. Для того, чтобы ваша программа могла обеспечивать диалоговый режим и существуют команды ввода – вывода. Команды ввода позволяют пользователю вводить данные в компьютер. Существуют две команды ввода: Read и Readln.

1. Read(x1,x2,x3…);

При использовании этой команды пользователь вводит значения переменных x1,x2,x3… с клавиатуры и они отображаются на экране монитора.

2. Readln(x1,x2,x3…);

Данный оператор выполняет функцию аналогичную функции оператора Read с той лишь разницей, что при выполнении оператора Readln курсор на экране монитора после выполнения оператора переходит на новую строку.

Примеры:

Read(a);

Read(a,b,c);

Readln(x,y);

Операторы ввода Write и Writeln служат для вывода информации на экран монитора.

  1. Write(x1,x2,x3…);

В результате выполнения данного оператора значения переменных x1,x2,x3… будут выведены на экран монитора. Если нам необходимо вывести на экран какой-либо текст, то внутри оператора Write мы помещаем этот текст в апострофы:

X:=5;

Write(‘x=’,x);

В результате выполнения этих операторов мы получим на экране сообщение

x=5

  1. Writeln(x1,x2,x3…);

Аналогичен оператору Write за исключением того, что после выполнения оператораWriteln курсор переводится на одну строку вниз. Оператор Writeln может использоваться без каких-либо параметров – в этом случае после выполнения такого оператора, курсор просто перемещается на одну позицию вниз, так например выполнение последовательности команд

Writeln;

Writeln;

Writeln;

Writeln;

Writeln;

приведёт к тому, что курсор опустится на пять строк вниз.

Примеры:

Writeln(‘Hellow World!’);

Write(‘a=’,a,’ b=’,b,’ c=’,c);

Операторы вывода обеспечивают вывод на экран не только значений переменных, но также и значения выражений, так напрмер, в результате следующих действий

X:=4;

Y:=3;

Writeln(‘Значение выражения=’,X+Sqr(Y));

мы получим на экране монитора следующее сообщение:

Значение выражения=13

Пример программы вычисления объемов цилиндра и конуса.

Объем цилиндра вычисляется по формуле V=pi*R2H, а объем конуса V=pi*R2*H/3, то есть объем конуса равен 1/3 от объема цилиндра. Так как значение pi=3.14159263 в программе неизменно, внесем его в раздел описания констант. Получим:

Program VOL;

Const pi=3.14159263;

Var

V1,V2:Real;             (Объем цилиндра и конуса. Real означает, что это вещественные числа)

R,h:Integer;                  (Радиус и высота – переменные целочисленные)

Begin

Write(‘Введите значения радиуса и высоты:’);

Readln(R,h);

V1:=pi*Sqr(R)*h;

V2:=V1/3;

Writeln(‘Объем цилиндра равен ’,V1);

Writeln(‘Объем конуса равен’, V2);

End.