Полное обучение паскаль. Основные типы переменных. Структура программы выглядит так

Pascal (Паскаль)- язык программирования общего назначения. Создан в 1970 году специалистами Технического Университета в Цюрихе (ETH, Zurich) под руководством профессора Никлауса Вирта (Niklaus Wirth). После появления языка Pascal были созданы новые промышленные версии языка, а также языки-потомки, которые сохраняют основные синтаксические и семантические свойства языка Вирта: Modula, Turbo Pascal, Object Pascal (Delphi), Component Pascal (Oberon-2), TMT Pascal, Free Pascal, Zonnon, Ada. Идеи языка Pascal оказали большое влияние на современные языки программирования, которые активно используются в современной промышленности: Java, Javascript, C#. При этом Pascal значительно проще и хорошо приспособлен для начального изучения программирования. Описание языка дано в соответствии с диалектом языка фирмы Borland Software (США): Turbo Pascal 7.1. (1992).

Часть I.

1. Основные правила грамматики

1.Текст программы состоит из трех составных частей. Этозаголовок,описания,операторы. Заголовок программы содержит имя программы. Для версии ETH необходимо дополнительно указать источник и приемник данных для работы программы - файлы для ввода и вывода информации. По умолчанию файлinputсвязан с клавиатурой компьютера, а файлoutput- с экраном монитора. В Turbo Pascal заголовок имеет декоративное значение и использовать его не обязательно.

2.Описания- это символьные конструкции для описания свойств объектов программы. Все объекты программы надо обязательно указать в этой части программы.Операторы- это символьные конструкции для описания действий над объектами программы. Операторы должны находиться между словамиbeginиend. Эти слова считаются скобками.

3.В одной строке текста можно размещать несколько операторов или описаний. Поэтому между операторами надо обязательно ставить символ-разделитель. Для разделения операторов используется символточка с запятой(;). После последнего оператора разделитель ставить не обязательно.

4.Малые и большие буквы считаютсяэквивалентными(равнозначными). Имя любого объекта в записи программы может содержать толькобуквылатинского алфавита,цифрыисимвол подчеркивания(_). Имя не может начинаться с цифры. Никакие другие типы символов в записи имен не разрешаются.

2. Общее строение программы

program имя(ввод,вывод);

program echo(input ,output );

описания;

var n: integer;

оператор;

write("число?");

оператор;

оператор

Turbo Pascal-Delphi

program имя;

program echo;

uses crt;

описания;

var n: integer;

оператор;

clrscr; read(n);

оператор;

оператор

3. Основные типы переменных

Описатель типа (имя)

Значение типа (пример)

Символьный (литерный)

Строковый

Логический (булевский)

Интервальный

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

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

Уроки Pascal ABC

Представленные в видеокурсе уроки Паскаль АБС основаны на разработке прикладных программ и дают практические знания. Все программы, которые вы напишите в процессе прохождения видеокурса, полностью рабочие и их можно использовать в повседневной жизни – «воды» и пустой теории в курсе нет.

Осваиваем интерфейс редактора и пишем свои первые строчки кода.


Изучаем логику работы с числами и конструируем таймер.


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



Используем Паскаль для нахождения решения задачи про школьницу Анну.


Программируем настоящий виртуальный музыкальный синтезатор.


Осваиваем сложные математические функции и создаём полноценный инженерный калькулятор.



Создаём «правильную» телефонную книгу на основе базы данных.


Урок 1 - Первая программа
Урок 2 - Простые числа
Урок 3 - Компиляторы (Часть 1)
Урок 3 - Компиляторы (Часть 2)
Урок 4 - Решение школьной задачи
Урок 5 - Создание пианино
Урок 6 - Продвинутый калькулятор (Часть 1)
Урок 6 - Продвинутый калькулятор (Часть 2)
Урок 7 - Удобная телефонная книга (Часть 1)
Урок 7 - Удобная телефонная книга (Часть 2)
Урок 7 - Удобная телефонная книга (Часть 3)
Урок 7 - Удобная телефонная книга (Часть 4)
Урок 8 - Работа с графикой. Система частиц (Часть 1)
Урок 8 - Работа с графикой. Система частиц (Часть 2)
Урок 8 - Работа с графикой. Система частиц (Часть 3)
Урок 8 - Работа с графикой. Система частиц (Часть 4)

Министерство образования и науки Российской Федерации

Государственное образовательное учреждение

высшего профессионального образования

«Омский государственный технический университет»

Ю. П. Чернов, О. П. Шафеева

Программирование в системе Pascal abc

Учебное пособие

Издательство ОмГТУ

УДК 004.4 (075)

ББК 32.973-018я73

Рецензенты :

В. И. Стариков, канд. техн. наук, доцент ОГИС;

С. С. Ефимов, канд. техн. наук, доцент ОмГУ им. Ф.М. Достоевского

Чернов, Ю. П.

Ч 49 Программирование в системе Pascal ABC : учеб. пособие / Ю. П. Чернов, О. П. Шафеева. – Омск: Изд-во ОмГТУ, 2010. – 100 с.

ISBN 978-5-8149-0897-1

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

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

Печатается по решению редакционно-издательского совета Омского государственного технического университета

УДК 004.4 (075)

ББК 32.973-018я73

ISBN 978-5-8149-0897-1 © ГОУ ВПО «Омский государственный

технический университет», 2010

Введение

Наиболее распространенным в настоящее время языком программирования для компьютеров серии IBM PC является Паскаль. Это язык высокого уровня, отличающийся простотой синтаксиса, структурированный и удобный для начального обучения программированию.

Учебная система программирования Pascal ABC (автор  С.С. Михалкович ) представляет собой диалект стандартного языка Паскаль.

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

К достоинствам системы Pascal ABC следует отнести то, что она позволяет:

    программировать на языке Паскаль, подобном Delphi Pascal, включая объектно-ориентированные расширения;

    работать с графикой;

    создавать событийные приложения.

Система Pascal ABCоснована на языке Delphi Pascal и призвана осуществить постепенный переход от простейших программ к модульному, объектно-ориентированному, событийному и компонентному программированию. Некоторые языковые конструкции допускают, наряду с основным, упрощенное использование, что позволяет использовать их на ранних этапах обучения.

К важнейшим достоинствам пакета Pascal ABC относится соответствие стандартному Паскалю, быстрая компиляция программ, объединение компилятора с текстовым редактором, предупреждение об ошибках на уровне исходной программы, обширная библиотека подпрограмм и полезные расширения, упрощающие программирование. Начинающему программисту целесообразно начинать изучение языка и среды именно с этого пакета.

Компилятор Pascal ABCявляется компилятором переднего плана (front- end). Это означает, что он не генерирует исполняемый код в виде.exe -файла, а создает в результате компиляции дерево программы в памяти, которое затем выполняется с помощью встроенного интерпретатора. В итоге скорость работы программы оказывается медленнее скорости работы этой же программы, откомпилированной в среде Borland Pascal или в среде Borland Delphi. Однако на современных компьютерах это практически не ощущается.

Название "Pascal ABC" относится к интерактивной системе программирования, состоящей из компилятора языка и объединенного с ним экранного редактора. Интерактивность системы проявляется в основном в удобстве редактирования и обработки ошибок, обнаруженных в исходных текстах программ. Запуск программ в этой системе происходит на уровне исходных текстов. Высокая скорость компиляции приводит к тому, что переход от исходного текста к исполняемой программе происходит очень быстро. Это значительно сокращает цикл трансформации программ от редактирования к компиляции и исполнению программ.

Система Pascal ABC включает в себя как язык программирования, так и инструментальную среду, предназначенную для написания, отладки и исполнения программ. Язык характеризуется расширенными возможностями по сравнению со стандартом языка Паскаль и хорошо развитой библиотекой модулей, позволяющих использовать возможности операционной системы, формировать графическое изображение и т.д. Инструментальная среда программирования позволяет создавать тексты программ, компилировать их, находить ошибки и оперативно их исправлять, тестировать и выполнять отлаженную программу. Среда включает также большой объем справочной информации.

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

Пособие подготовлено с учетом опыта чтения лекций и проведения авторами лабораторных занятий в компьютерном учебном центре ОмГТУ. В первую очередь пособие предназначено для студентов университета и представляет теоретическое руководство по программированию как в среде Pascal ABC, так и в средах Free Pascal и Turbo Pascal.

Допустим, что вы скачали и установили паскаль. Затем откройте его. Для программирования вам надо небольшое знание английского языка. Суть нашей программы в том, чтобы она складывала любые числа. Для этого нам нужны переменные. Чисел у нас будет 2. Но в каждой задаче, даже в самой простой, есть ответ. Значит добавляем 3 переменную.

2 шаг

И так. Чтобы оформить наши переменные перейдите на английский язык и напишите в начале программы слово “var”. А после через запятую наши 3 переменные, а, в, с, и через двоеточие поставьте тип “integer” Далее напишите begin – начать.
На данном этапе программа будет выглядеть так:

var a,b,c:integer;
begin

3 шаг

Ну а далее сама программа! Мы сделаем так, чтобы при начале работы, наша программа запрашивала ввести значение наших переменных. Для этого пишем английское слово прочти "read " и в скобках укажите какие именно надо прочесть переменные.
read(a,b);
Потом как в математике пишите формулу. Только обязательно перед равно должно быть двоеточие! c:=a+b;
Потом нам надо, чтобы программа выводила ответ: write©;
ну вот и все! заканчиваем програмку и пишем end.
Наша программа выглядит так:
var a,b,c:integer;
begin
read(a,b);
c:=a+b;
write©;
end.
Можете кстати скопировать эту программку в паскаль, и проверить или напишите ее сами.
После запуска программа запросит ввод, числа вводите через пробел!

Язык программирования Turbo Pascal является развитием языка Pascal, разработанного Никлаусом Виртом в 1969-71 годах, для обучения структурному программированию. Фирма Borland International, существенно расширила алгоритмические средства языка, создала удобную среду программирования и высокоскоростной компилятор.
Turbo Pascal разрабатывался под операционную систему ДОС (Дисковая Операционная Система), поэтому он работает только в текстовом режиме. Среда разработки Turbo Pascal (версия 7) представляет из себя текстовый редактор и средства отладки и компиляции программы. Для переключения редактора из оконного в полноэкранный режим и обратно следует нажать одновременно клавиши Alt + Enter.

Программа на Pascal пишется в текстовом редакторе по определённым правилам. Текст программы проверяется редактором кода. Зарезервированные слова языка и определённые синтаксические конструкции выделяются цветом, что создаёт определённые удобства.

Линейный алгоритм. Типы числовых данных. Функции ввода - вывода.

Простые программы пишутся последовательно, шаг за шагом до тех пор, пока не будет получено решение задачи. Такая линейная последовательность в программировании называется линейным алгоритмом . Рассмотрим программу простого калькулятора. Пусть нам нужно сложить, вычесть, умножить и разделить два числа X и Y. В большинстве языков программирования принято объявлять участвующие в программе переменные. Это нужно для того, что бы зарезервировать фрагмент оперативной памяти компьютера для хранения объявленных данных. На рисунке показана программа калькулятора:


Рассмотрим построчно, что означают введённые в редакторе команды:
  • uses crt; - Выражение: Использовать модуль CRT. В начале программы, обычно, пишется директива uses и затем, через запятую, перечисляются модули содержащие набор необходимых функций для работы программы. CRT - модуль поддержки монитора и клавиатуры. (Важное замечание. Регистр букв текста программы не имеет значения. Так, например, можно написать uses crt; или Uses CRT; - программа будет работать и не воспримет это как ошибку). Любое выражение на Pascal должно заканчиваться знаком "точка с запятой".
  • var - (сокращённое от variable - переменная) объявления блока переменных. После команды var точка с запятой не ставится.
  • x, y, z1, z2, z3, z4: real; - перечисляем через запятую переменные необходимые для решения задачи; x и y - вводимые данные для вычислений; z1 ... z4 - переменные для хранения результатов вычислений. Двоеточие и real означает, что все перечисленные переменные объявлены как тип данных - число с плавающей запятой.
    При программировании используются различные типы данных. Ниже представлены числовые типы данных:
  • Begin - собственно начало программы. Оператор begin называется операторной открывающейся скобкой. После оператора begin точка с запятой не ставится.
  • Clrscr; - процедура очистки экрана. Эта процедура встроена в модуль CRT. В фигурных скобках {clear screen} написан комментарий к программе.
  • Write("Wwedite X: "); - функция write выводит на экран сообщение. Выводимое сообщение является аргументом функции write. Если сообщение текстовое, то оно заключается в одинарные кавычки (апострофы). К сожалению Turbo Pascal не поддерживает символы кириллицы, поэтому сообщение пришлось написать латинским шрифтом.
  • Readln(x); - функция readln получает данные с клавиатуры вводимые пользователем. При появлении этой функции в исполняемой программе, действие программы приостанавливается и она ожидает ввода данных до нажатия клавиши Enter. Сама функция readln состоит из двух частей: read - собственно чтение с клавиатуры (может использоваться самостоятельно); окончание ln - означает (line new) новая строка, после выполнения чтения с клавиатуры переводит курсор на новую строку.
    Следующие две строки в точности повторяют две предыдущие, только выводится сообщение для ввода переменной Y и чтение этой переменной с клавиатуры.
  • z1:= x + y; - вычисляем сумму аргументов х и у. Знак:= означает переменной z1 присвоить значение суммы х и у.
  • z2:= x - y; - вычисляем разность аргументов х и у.
  • z3:= x + y; - вычисляем произведение аргументов х и у.
  • z4:= x + y; - вычисляем частное от деления аргументов х и у.
  • Writeln(z1) - так же, как и оператор write выводит сообщение на экран, ln - означает, что следующее сообщение будет выводиться с новой строки. Так как переменная z числового типа, то апострофы ставить не нужно. Итак, функции Writeln(z1); Writeln(z2); Writeln(z3); и Writeln(z4); выводят на экран все значения z в столбик.
  • End. - оператор конца программы. После end (операторная закрывающаяся скобка, парная оператору begin) ставится точка. Точка является признаком конца файла.
        Что бы убедиться в правильности написания программы следует нажать клавишу F9. Произойдёт компиляция программы и проверка синтаксиса. Если код написан верно, то увидим следующее сообщение:


    Если компилятор обнаружит ошибку, то появится соответствующее сообщение, а курсор будет установлен в строку с ошибкой.


    В нашем случае строка z4 = x / y; - должно быть z4:= x / y;
    Для запуска программы на исполнение, следует нажать комбинацию клавиш Ctrl и F9. В программе следует ввести значение х и нажать Enter, затем ввести значение у и опять нажать Enter. Компьютер произведёт необходимые вычисления и выведет значения на экран, но мы, скорее всего, ничего не увидим, потому что выполнение программы закончится и произойдёт возврат в редактор. Для просмотра полученных результатов следует нажать одновременно Alt и F5.


    То, что мы видим на экране не совсем удобно для понимания. Лучше будет, если результаты отображать не экспоненциальном виде, а в нормальном, десятичном.
    Так же, пользователь программы вынужден догадываться в какой строке результатов сложение, в какой умножение и так далее. Для исправления ситуации изменим строки вывода результатов на экран:
    writeln("X + Y = ", z1:0:4);
    writeln("X - Y = ", z2:0:4);
    writeln("X * Y = ", z3:0:4);
    writeln("X / Y = ", z4:0:4);
    Рассмотрим любую из изменённых строк, например writeln("X / Y = ", z4:0:4); Функция вывода writeln в качестве аргумента (в нашем случае) принимает два значения. Аргументы друг от друга отделяются запятой.
    Первое значение: "X / Y = " - надпись которая будет выводиться на экран, она должна быть заключена в апострофы. Второе значение - число z4. Для придания числу десятичной формы отображения, оно отформатировано по следующей схеме: двоеточие - число знаков до запятой, двоеточие - число знаков после запятой. Если число знаков до запятой неизвестно, то лучше поставить ноль.
    Усовершенствованная программа принимает удобочитаемый вид:


    До оператора end можно ввести строку readln;, тогда программа не будет завершаться сразу после выполнения, а будет ожидать нажатия клавиши Enter. Для сохранения готовой программы следует нажать F2 и сохранить файл с именем, например, calc.pas.

    Логические операторы. Символьные переменные.

    При выполнении написанной программы могут возникнуть непредвиденные обстоятельства, а именно, если пользователь программы вторым числом введёт значение 0 (нуль). Как известно, деление на 0 запрещено и при выполнении программы компьютер выдаст такое сообщение:


    Что бы избежать таких ситуаций, программист должен предусмотреть в программе некоторую защиту.
    Самое простое решение, в нашем случае, при значении Y равном нулю, перейти к началу программы, что бы пользователь ввёл другие значения. Перечислим те действия, которые должна выполнить программа:
    - если Y равно 0 то перейти к метке в начале программы, иначе (Y не равен 0) выполнить математические действия.
    На языке Pascal это будет выглядеть так: if y = 0 then goto label1 else ...
    Эта запись означает: (if) если y = 0 (y = 0 - логическое выражение) then (то) goto (перейти к) label1 (имя метки) else (иначе) ... Оператор else можно не использовать если дальнейшее выполнение программы подразумевается при невыполнении условия логического выражения. Метка label1 придуманное имя метки, поэтому мы должны его объявить до начала программы, сразу за разделом объявления переменных. Сама метка устанавливается в том месте программы, куда должен осуществиться переход. После имени метки ставится знак двоеточие. Изменённая таким образом программа показана на рисунке:


    Такая программа имеет более "товарный" вид и свойства.
    Рассмотрим подробно какие конструкции можно создавать на языке Pascal с использованием логических операторов. В общем виде логическая запись выглядит так:
    if (условие) then (действие1) else (действие2);
    или
    if (условие) then (действие);
    Сначала рассмотрим запись условий:

    Логические связки записываются между логическими условиями, сами условия берутся в скобки, например: if (a = b) and (z Следует иметь в виду что при выполнении условия, после оператора then может быть только одно действие. Если действий по условию программы должно быть больше, то все действия должны быть взяты в операторные скобки begin ... end.
    Например:
    if a = b then
      begin
      writeln("Error!");
      y:= 22;
      goto label1;
    end else ...
    Аналогичным образом несколько действий записывается после оператора else.
        Написанная нами программа "калькулятор" имеет один существенный недостаток, если нужно произвести несколько вычислений, приходится перезапускать программу на выполнение. Изменим нашу программу так, что бы она завершалась с согласия пользователя. Пользователю следует предложить нажать клавишу Y для продолжения работы с программой, или любую другую клавишу для завершения работы.
    Заменим последний в программе оператор readln; на такие строки:
      write("Repeat - Y / End - other key"); {Выводим сообщение для пользователя}
      readln(sym); {Считываем символ с клавиатуры}
      if (sym = "Y") or (sym = "y") then goto label1; {Если введён символ Y или y , то переходим к началу программы}
    В нашей программе появилась новая переменная - sym (вымышленное имя, которое придумываем мы сами. Имя должно начинаться с буквы, а затем могут следовать цифры или буквы). Эта переменная имеет тип одиночного символа и мы должны её объявить в разделе переменных. Символьные переменные имеют тип char. Символьные переменные при использовании в программе следует заключать в апострофы.
    Добавим эту переменную в разделе var:
    var
    sym: char;
    .............
    Запустим программу на исполнение, и убедимся, что программа написана правильно:


    В паскале есть ещё один тип символьных переменных, это тип string - строка состоящая максимум из 255 символов, но об этом в следующих разделах.

    Разрабатывая нашу программу, мы нарушили один из основных принципов структурного программирования - в программе не должно быть переходов из одной части программы в другую. Поэтому при структурном программировании нужно стараться не использовать оператор перехода goto.



  • Есть вопросы?

    Сообщить об опечатке

    Текст, который будет отправлен нашим редакторам: