Уроки программирования с нуля паскаль. Как написать простую программу в Паскаль abc

04.09.2019

Паскаль для начинающих

Основы грамматики в таблицах и примерах

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).

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

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

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

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

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

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

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

описания; var n: integer;

оператор; write("число?");

оператор; read(n);

оператор write(n)

Turbo Pascal-Delphi Пример

program имя; program echo;

модули; uses crt;

описания; var n: integer;

оператор; clrscr; read(n);

оператор; write(n);

оператор readkey

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

Действительный real 16.32

1.6320000000E+01

Тип Описатель типа (имя) Значение типа (пример)

Целый integer 30000

Длинный целый longint 2000000000

Тип Описатель типа (имя) Значение типа (пример)

Строковый string "задача"

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

Интервальный M1..M2 100

4. Конструкции для описания величинОписание переменных величин Пример

имя-переменной: имя-типа; a: real;

имя1, имя2, имя3: имя-типа; x, y, z: integer;

p, q, r: 0..100;

s, t, u: "a".."z";

Описание постоянных величин Пример

имя1 = значение1; X = 40000;

имя2 = значение2; Y = 16.32;

имя3 = значение3; Z = -1.632E+10;

имяN = значениеN; A = "a";

T = "тема"#13#10"урока:";

5. Оператор присваиванияФорма оператора Пример

имя:= выражение a:= 0;

6. Ввод и выводПроцедура Пример 1 Пример 2

read(список ввода) program echo1(input,output); program echo2(input,output);

readln(список ввода) var m, n: integer; var m, n: integer;

write(список вывода) BEGIN BEGIN

writeln(список вывода) read(m,n); readln(m,n);

write("m=",m); writeln("m=",m);

write("n=",n) writeln("n=",n)

Число (n) Тип Формат вывода Результат вывода

16 integer write(n) 16

16 integer write(n:2) 16

16 integer write(n:5) 16

16.32 real write(n); 1.6320000000E+01

16.32 real write(n:12) 1.63200E+01

16.32 real write(n:5:2) 16.32

16.32 real write(n:10:4) 16.3200

7. Модуль crt (cathode ray tube)Процедуры и функции Операция Пример

clrscr Очистить экран clrscr

textcolor(цвет) Установить цвет текста textcolor(1)

textbackground(цвет) Установить цвет фона textbackground(1)

textbackground(blue)

delay(время в миллисекундах) Остановить выполнение на заданное время delay(1000)

gotoxy(колонка,строка) Установить курсор на заданную позицию gotoxy(40,20)

keypressed Если была нажата клавиша, то true (функция) repeat write("o") until keypressed

readkey Остановить выполнение до нажатия клавиши, прочитать код нажатой клавиши (функция) readkey

Номер и имя цвета Номер и имя цвета

0 black 8 darkgray

1 blue 9 lightblue

2 green 10 lightgreen

3 cyan 11 lightcyan

4 red 12 lightred

5 magenta 13 lightmagenta

6 brown 14 yellow

7 lightgray 15 white

8. Арифметические средства языкаАрифметическая операция Описание операции Пример

Сложение

Вычитание

* Умножение

/ Деление 5.0/2.0 = 2.5

div Целочисленное деление (деление без остатка) 5 div 2 = 2

mod Остаток от деления 5 mod 2 = 1

shl Двоичный сдвиг влево 5 shl 1 = 10

shr Двоичный сдвиг вправо 5 shr 1 = 2

abs(x) Модуль числа (абсолютное значение) abs(-2) = 2

sqr(x) Квадрат числа sqr(2) = 4

sqrt(x) Квадратный корень числа sqrt(4) = 2.0

pi Число пи ~ 3.14...

Функция Результат функции Пример

sin(x) Синус числа sin(pi) = 0

cos(x) Косинус числа cos(0) ~ 1.0

ln(x) Логарифм натуральный ln(1) = 0

exp(x) Экспонента (число e в степени x) exp(1) ~ 2.72

Функция Результат функции Пример

int(x) Целая часть числа int(3.6) = 3.0

trunc(x) Целое число без округления trunc(3.6) = 3

round(x) Целое число с округлением round(3.6) = 4

9. Логические средства языкаОператор условия - полная форма Пример

if условие then if (x>0) and (y>0) then

оператор 1 begin x:=x+y; y:=0 end

оператор 2 begin x:=x-y; y:=-y end

Оператор условия - неполная форма Пример

if условие then if x>y then

оператор x:=x mod y

Логическая операция Описание операции Приоритет (порядок выполнения операции)

not Отрицание (НЕ) 1

and Конъюнкция (И) 2

or Дизъюнкция (ИЛИ) 3

xor Сильная дизъюнкция (ИЛИ-ИЛИ) 3

Логическое отношение (предикат) Описание отношения Приоритет (порядок выполнения операции)

> Больше 4

< Меньше 4

<> Не равно 4

<= Не больше (меньше или равно) 4

>= Не меньше (больше или равно) 4

Оператор варианта Пример

case выражение of case c of

вариант-1: оператор; 0: x:=x+1;

вариант-2: оператор; 1,2: x:=x-1;

вариант-N: оператор 3..100: x:=-x

оператор x:=0

10. Операторы циклаОператор цикла с управляющей переменной - форма "to" Пример

for имя:=значение1 to значение2 do for i:=1 to n do

оператор begin read(a); s:=s+a end

Оператор цикла с управляющей переменной - форма "downto" Пример

for имя:=значение1 downto значение2 do for i:=n downto 0 do

оператор write(i)

Оператор цикла с логическим пред-условием Пример

while условие-повторения do while i<=n do

оператор begin read(a); s:=s+a; i:=i+1 end

Оператор цикла с логическим пост-условием Пример

операторы write(i); i:=i-1

until условие-выхода until i=0

11. МассивыТип массива Описание массива Пример

Одномерный массив (вектор) array [ тип-индекса ] of тип-элемента var a: array [ 1..100 ] of integer;

Тип массива Описание массива Пример

2-мерный массив (матрица) array [ тип-индекса-1, тип-индекса-2 ] of тип-элемента; var a: array [ 1..M, 1..M ] of real;

3-мерный массив array [ тип-индекса-1, тип-индекса-2, тип-индекса-3 ] of тип-элемента; var a: array [ 0..1, 0..M, 0..N ] of char;

4-мерный массив array [ тип-индекса-1, тип-индекса-2, тип-индекса-3, тип-индекса-4 ] of тип-элемента; var a: array [ 0..1, 0..1, 0..1, "a".."z" ] of boolean;

12. Процедуры и функции пользователяПроцедура Пример процедуры для обмена значений между целыми переменными m и n

procedure имя(параметры); procedure swap(var m,n:integer);

описания локальных величин var s: integer;

операторы процедуры s:=m; m:=n; n:=s

операторы программы read(x,y); swap(x,y); writeln(x:10,y:10)

Функция Пример функции для вычисления натуральной степени (n) целого числа (m)

program имя-программы; program primer; var x,y: integer;

function имя(параметры): тип-результата; function power(m,n:integer):integer;

описания локальных величин var s,i: integer;

операторы функции s:=1; for i:=1 to n do s:=s*m; power:=s

операторы программы read(x,y); writeln(power(x,y))

13. Символьные типы данныхТип Описатель типа (имя) Значение типа (пример)

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

Строковый string "задача"

"тема"#13#10"урока:"

Функция Результат функции Пример

length(s) Длина строки n:=length(s)

pos(s1,s2) Начало первого вхождения строки s1 внутри строки s2 (номер позиции) n:=pos("+",s)

copy(s,p,n) Часть строки s длиной n, начиная с позиции p c:=copy(s,4,2)

concat(s1,s2,s3,...sn) Соединить строки (функция конкатенации) c:=concat(s,";",t,".")

Функция Результат функции Пример

upcase(c) Преобразовать малую букву латинского алфавита в большую (символ верхнего регистра) c:=upcase(c)

chr(n) Символ с номером n c:=chr(n)

ord(c) Номер символа со значением c n:=ord(c)

succ(c) Следующий символ таблицы ASCII c:=succ(c)

pred(c) Предыдущий символ таблицы ASCII c:=pred(c)

Процедура Операция Пример

delete(s,p,n) Удалить часть строки s длиной n, начиная с позиции p delete(s,n,1)

insert(s1,s2,p) Вставить строку s1 в строку s2, начиная с позиции p insert("+",s,1)

val(s,x,r) Преобразовать строку s в число x с признаком результата r val(s,x,nan)

str(x:f,s) Преобразовать число x в строку s с форматом числа f str(x:10,s)

s1 + s2 Соединить строки (операция конкатенации) s:=s+";"+t+"."

14. МножестваТип множества Описание множества Пример

Постоянное множество (константа) [ тип-элемента ] const a = [ 0..100 ];

Переменное множество (переменная) set of [ тип-элемента ] var a: set of [ "0".."9", "+", "-" ];

Пример описания постоянного множества Элементы множества

const A = [ "A".."Z", "a".."z" ]; Буквы латинского алфавита

const B = [ "a".."z" ]; Малые буквы латинского алфавита

const C = [ "А".."Я", "а".."п", "р".."я", "Ё", "ё" ]; Буквы алфавита-кириллицы

const D = [ "А".."Я" ]; Большие буквы алфавита-кириллицы

const M = [ "0".."9" ]; Цифровые символы от 0 до 9

const N = [ 0..100 ]; Целые числа от 0 до 100

Паскаль - это язык программирования высокого уровня. Но он очень устарел морально. Потому что мир не стоит на месте. И другие языки, такие как: C# и Java имеют большую востребовательность и эффективность написания кода в отличии от Паскаля. Его изучают не столько для применения, как для обучения в учебных заведениях. Потому что он прост для понимания и нанести вред системе от некорректного кода пользователя не может. Я предоставил вам список уроков, по которым вы можете изучить его досконально.

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

Если же она у вас есть, то приступим к процессу обучения.

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

Разработал: профессор НТУ "ХПИ" Домнин Феликс Аркадьевич

«Паскаль ABC» - система обучения, которая позволяет школьникам и студентам ознакомиться с одноименным языком программирования. Она разработана в 2002 году российскими учеными. Задачей разработчиков было создать среду программирования, которая отвечала бы меркам современности и могла бы с легкостью обучать учеников.

Интерпретатор рассчитан на 32-битные системы и вмещает в себя способы реализации некоторых возможностей. Притом что исходные были признаны ненужными для обучения.

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

Программа «Паскаль ABC» с версии 3.0 стала свободным программным обеспечением.

Особенности

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

Компилятор способен выполнять код настолько быстро, как это делает C#, и немного медленнее, чем C++, «Делфи».

Благодаря платформе.NET, программное обеспечение поддерживает все возможности Microsoft.NET и ее же библиотеки. Можно смело использовать последние в своих программах, опираясь даже на те, которые созданы на другом языке программирования.

«Паскаль ABC» имеет и онлайн-версию, которая получила широкую распространенность. Она работает без сбоев, процесс ввода-вывода происходит по сети; программы сохраняются на сервере.

Среди многих программистов есть мнение о том, что "Паскаль" - язык мертвый, и прекращение его использования - дело времени. Это утверждение основано на том, что в школах используют старую среду программирования с урезанными возможностями. Это и мешает ученикам по достоинству оценить все функции языка.

Модули для обучения

Благодаря Microsoft.NET «Паскаль ABC» получил стандартную библиотеку, которая имеет множество классов, позволяющих решать задачи различной сложности. Именно поэтому необходимость в разработке собственных модулей просто отсутствует, но возможность этим заниматься, безусловно, есть. Как правило, те, которые уже существуют благодаря программистам, направлены на лучшее освоение языка.

Для того чтобы обучить школьников, используются модули «Робот» и «Чертежник». Они имеют больше 200 примеров, которые подлежат автопроверке. Благодаря решению данных задач, человек с легкостью освоит базовые конструкции языка «Паскаль».

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

Для того чтобы создать графические элементы в программе «Паскаль ABC», используются модули векторной и растровой графики.

Отличия

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

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

Задачи

Задачи пишутся посредством языка программирования «Паскаль». Он прост для освоения, поэтому первая программа вполне может оказаться очень простой в использовании. Во всем мире в качестве дебютных считаются следующие строки:

  • Begin.
  • Writeln(‘Привет, Мир!’).

Первая и последняя строки - операторные скобки, в которых должна находиться сама суть задачи. Вторая - объявляет вывод текста, находящегося в кавычках. Вот такие легкие примеры. «Паскаль ABC» имеет в своем задачнике много подобных программ, на которых просто и интересно учиться.

Допустим, что вы скачали и установили паскаль. Затем откройте его. Для программирования вам надо небольшое знание английского языка. Суть нашей программы в том, чтобы она складывала любые числа. Для этого нам нужны переменные. Чисел у нас будет 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.
Можете кстати скопировать эту программку в паскаль, и проверить или напишите ее сами.
После запуска программа запросит ввод, числа вводите через пробел!

Профессиональная среда разработки для создания программ и приложений любого уровня сложности. Сочетает в себе классическую простоту Паскаля и все возможности современной среды разработки.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)