Пожалуй, нет ни одного современного человека, кто бы не знал язык Паскаль (основы программирования). И это не удивительно! Еще в учебнике по информатике для школьников расписаны самые основные понятия этой уникальной программы.
Сейчас, в век информационных технологий, каждый может провести для себя обучение по самоучителю онлайн (пройдя курсы «Изучение языков программирования с нуля»; «Паскаль для чайников» и другие).
История изучаемого языка не так проста: Паскаль претерпел множество изменений, прежде чем школьники увидели его в том виде, в каком его преподают на уроках. Это был самый первый простой язык (ord pascal) для программирования, помогающий решить множество практических задач прошлого столетия (1970 год). Он был разработан группой ученых.
С расширением платформ были созданы новые версии этой программы, а Паскаль стал классическим языком программирования.
Ниже разберемся: что такое Паскаль, каковы его основные инструменты. Рассмотрим операции и функции программы, ее специфические особенности. На примерах поймем, как она работает. Научимся писать и работать на языке Паскаль.
Что такое язык программирования Паскаль
Это базовая высокоуровневая программа. Она занимает первое место в учебных планах многих школ и вузов Российской Федерации.
Особенности системы PascalABC.NET
Всё познается в сравнении, поэтому преимущества этой программы рассмотрим в соотношении с другим языком BASIC.
Итак, что характерно для языка Паскаль и что не подходит для Бейсика:
- Во-первых, наличие компилятора, позволяющего скачивать Паскаль на любые платформы.
- Во-вторых, все версии этой программы совместимы между собой.
- В-третьих, структурированные типы данных помогают программисту точно составить необходимый алгоритм решения практической задачи, при этом защищая его.
- В-четвертых, наглядность и логичность интерфейса программы: все команды просты и понятны.
- В-пятых, переход на другой, более высокий по уровню язык программирования, достаточно прост.
Примеры программ на PascalABC.NET
Сумма вводимых целых чисел
Произведение целых чисел
Сколько нечетных среди n введенных
Защита от неверного ввода
Вывод 10 первых степеней двойки
Найти сумму цифр целого положительного числа m
Разложение числа на простые множители
Паскаль для начинающих – основные понятия
Разберем базовые понятия, помогающие правильно написать программу на данном языке.
Рабочая область
Как выглядит рабочее пространство?
Теперь рассмотрим основу: алфавит и структуру.
Алфавит Паскаль
Что нужно знать? Алфавит — это набор символов, необходимый при составлении программы.
Что к ним относится:
- Латинские прописные, строчные буквы (А, В, С….а,b,с).
- Арифметические символы (0, 1, 2…).
- Специальные знаки (препинания, скобки, кавычки, арифметические знаки и т. д.).
- Неделимые символы (:=, ˃=…).
- Служебные слова:
- and – и;
- array – массив;
- begin – начало;
- do – выполнить;
- else – иначе;
- for – для;
- if – если;
- of – из;
- or – или;
- procedure – процедура;
- program – программа;
- repeat – повторять;
- then – то;
- to – до;
- until – до (= пока);
- var – переменная;
- while – пока.
Cледует учесть: константы, операции не должны носить те же названия, что и служебные слова (длина – любая).
Структура программы
Итак, что же входит в «иерархию» данной программы?
По своей структуре этот язык делится на 3 раздела:
- название;
- данные;
- действия.
Обратите внимание: переменные нужно перечислять через запятую, а после через «:» указать их тип. Завершить написанное «;».
Действия начинаются с «begin» и заканчиваются «end» с точкой.
Структуру можно представить так:
Кстати, операторы между собой разделяются точкой с запятой.
Операторы write, writeln, read, readln
Выясним, как происходит вывод и ввод информации.
Вывод
Как таковых операторов вывода в этом языке нет, но есть специальные слова, которые помогают запустить необходимые функции. Это write, writeln .
В чем их главное отличие? При вводе или выводе последующей информации после них: в первом случае последующая информация будет выводиться на ту же строку, где и написан оператор. А вот во втором – на следующую.
Ввод
Для ввода существуют тоже свои слова: read, readln (= readkey).
Они отличаются друг от друга точно так же, как и предыдущие операторы (при выводе).
Целый тип данных
Выделяют 3 основных вида:
- Integer.
- Byte.
- Longint.
С ними также проводят простые действия:
- сложение – «+»;
- вычитание – «-»;
- умножение – «*»;
- деление – «div».
Кроме того, разрешено проводить отношения и сравнения (больше или равно — ˃ =).
Вещественные типы данных
К таким переменным относятся дробные числа (например, число пи). Здесь они называются real.
Что нужно помнить? Чтобы ввести формулу дробного числа, надо вместо запятой использовать точку. Для записи степеней (х * 10 у) 10 заменяется Е и число имеет запись:
С ними можно выполнять как самые простые арифметические действия, так и более сложные:
- квадратный корень – sqrt;
- абсолютная величина – abs;
- квадратичная функция – sqr;
- синус – sin;
- косинус – cos;
- арктангенс – arctan;
- натуральный логарифм – ln;
- экспонента – exp.
Обработка данных
Помимо перечисленных выше функций (в предыдущих 2 пунктах), есть и другие:
- целая часть числа – int;
- дробная часть числа – frac;
- получение целой части числа – trunc;
- округление до целого – round;
- преобразование порядкового типа – ord;
- преобразование кода в символьный тип – chr;
- определение предыдущего значения величины – pred;
- определение последующего значения величины – succ.
Математические операции
Математические функции и операции были рассмотрены при разборе целых и вещественных данных.
Остановимся на типах констант и переменных. Какие они бывают?
Простые включают в себя подтипы:
- целые – integer;
- логические – boolean;
- символьные – char;
- перечисляемые;
- интервальные;
- вещественные.
Строковые записываются командой string. Ссылочные представлены соответствующей формой.
Структурированные делят на:
- массивы – array;
- записи – record;
- множества – set;
- файл – file.
Для каждого типа характерны свои наборы операций.
Условия
Если есть альтернативные команды и функции, то с помощью операторов if, then, else можно записать необходимые команды для решения практической задачи.
Схема представлена на рисунке ниже.
Логические операции
Операции основаны на истине факта или его лжи.
Выделяют 3 вида таких функций:
- Odd – если нечетное число, то истина (наоборот – ложь).
- Eoln – истина на конце строки (в другом месте – ложь).
- Eof – истина в конце файла (в другом месте – ложь).
Функции управления программой
Какие еще существуют процедуры:
- Inc – увеличение числа;
- Clrscr – очистка предыдущих результатов работы программы;
- Uses crt – запуск clscr;
- Length – возвращение длины строки;
- Val – преобразование строки в число;
- Pos – отыскать в строке первое преобразование;
- Assign – связывание переменной с файлом;
- Upcase — перевод строчных букв в заглавные.
Заключение
Таким образом, чтобы стать хорошим программистом, для начала нужно изучить основу. Паскаль для этого станет наилучшим выбором.
Урок из серии: «Язык программирования Паскаль»
Для начала написания непосредственно кода программы надо знать ее структуру: как правильно записываются команды, в каком порядке.
На первом занятии вы узнаете:
- Какова структура программы на языке Паскаль.
- Как написать простейшую программу.
Для создания программ можно использовать среду программирования Pascal ABC.
Если Паскаль на компьютере не установлен: .
Структура программы
Программа на языке Паскаль начинается с заголовка, имеющего следующий вид:
program < имя программы>;
За ним идет раздел описаний, в котором должны быть описаны все идентификаторы (константы, переменные, типы, процедуры, функции, метки), которые будут использованы в программе.
После раздела описаний идет раздел операторов, который начинается со служебного слова begin (начало) и заканчивается служебным словом end (конец).
В этом разделе задаются действия над объектами программы, описанными в предыдущем разделе. Операторы в этом разделе отделяются друг от друга точкой с запятой. После последнего слова end ставится точка.
Общий вид программы:
program <имя>; {заголовок программы} uses ...; {раздел описания модулей} var ...; {раздел объявления переменных} label ...; {раздел объявления меток} const ...; {раздел объявления констант} type ...; {раздел объявления типов} function ...; {раздел объявления функций} procedure ...; {раздел объявления процедур} begin {последовательность операторов} end. {конец программы}
В разделе описаний не обязательно должны быть все разделы.
В наших первых программах будет только один раздел — раздел Var (variable — переменная), в котором мы будем объявлять те переменные, которые будем использовать в разделе операторов.
Как написать простейшую программу
Рассмотрим простейшую задачу с линейным алгоритмом.
Для записи программы с линейным алгоритмом нам нужно описать входные и выходные данные, нужны процедуры для вводы и вывода данных и оператор присваивания.
Задача.
Ввести с клавиатуры два числа. Вывести на экран их произведение.
Пояснения к программе
Имя этой программы example_1.
Из разделов описаний имеется лишь один — раздел переменных. Он начинается со служебного слова var , после которого идет последовательность объявления переменных, разделенных точкой с запятой.
В каждом объявлении перечисляются через запятую имена переменных одного типа, после чего ставится двоеточие и указывается тип переменных.
В нашем примере описаны три переменные: все они (a, b и rez) имеют целый тип (integer).
После описательной части идет раздел операторов, начинающийся со служебного слова begin.
Первый встречающийся оператор — это writeln (‘текст’); — записать (вывести) на экран текст, заключенный между апострофами, ln добавляется в конце этого оператора для того, чтобы курсор автоматически переходил на следующую строку при выводе на экран текстов или результатов выполнения программы.
Следующий оператор — это readln (a,b); — читать данные с клавиатуры.
В данном случае во время выполнения программы необходимо ввести два целых числа через пробел, тогда переменной a присваивается значение, равное первому введенному числу, а переменной b присваивается значение, равное второму введенному числу.
Например, вы ввели числа 12 и 45, тогда a = 12, а b = 45. В конце этого оператора также можно ставить ln .
После этих двух операторов стоит оператор присваивания: rez:= a * b; (:= — это знак присваивания в языке Паскаль). Переменная rez получит значение, равное произведению числа a на число b .
Следующий оператор — это снова оператор writeln (‘текст’,rez) — он выведет на экран текст, заключенный между апострофами, а за ним значение переменной rez .
Затем следующий оператор writeln
выведет на экран сообщение: »Нажмите
Завершает раздел операторов end с точкой.
Выполнение программы
После запуска программы на экране появляется сообщение:
Введите два целых числа через пробел
Курсор мигает в следующей строке, вводим два целых числа через пробел и нажимаем
произведение равно...
Нажмите
Коротко о главном
Программа на языке Pascal состоит из заголовка, раздела описаний и раздела операторов.
Если программа содержит несколько операторов, то они разделяются знаком точки с запятой.
Начало и конец раздела операторов обозначаются ключевыми словами begin и end. После слова end в конце текста программы всегда ставиться точка. Она означает, что программа закончена.
Команда вывода на экран — write(‘текст’) и writeln(‘текст’) отличаются положением курсора после выполнения команды. Команда write(‘текст’) оставляет курсор на той же строке, что и текст, а writeln переводит курсор на новую строку.
Итак, на предыдущей странице мы определились со следующими понятиями: program, integer, real, const, var, begin, end, write, writeln, read, readln. Давайте напишем простые программы на Паскале с их использованием. Но сначала выясним, из каких частей состоит программа на Паскале.
Любая программа на языке программирования Pascal имеет три составляющие: 1) заголовок; 2) раздел описаний; 3) тело программы.
✎ 1) Заголовок – это слово Program , после которого идет название программы латиницей и точка с запятой в конце. Название не может начинаться с цифры, не должно совпадать с зарезервированными словами (begin, end, integer и т.п.) или с названиями переменных из раздела описаний (см. ниже), а также недопустимо использование каких бы то ни было символов (‘@’, ‘%’, ‘&’ и т.п.), кроме подчеркивания. Название желательно давать со смыслом, которое отображало бы суть самой программы. Но заголовок писать не обязательно.
✎ 2) Раздел описаний – Поскольку сначала мы будем рассматривать простейшие задачи, то у нас во втором разделе будет находиться или описание констант, или переменных (см. пп. 4 и 5 статьи Введение в Pascal).
✎ 3) Тело программы – блок операторов, в котором записываются команды для выполнения. Начинается этот блок словом begin («начало»), а заканчивается словом end. («конец») с точкой в конце(пп. 6, 7 той же статьи).
Таким образом, в общем случае программа на Паскале выглядит следующим образом:
При решении простейших задач ограничимся сначала целыми числами. Перед тем как начать программировать, укажем простейшие 4 действия над числами в Паскале: «+» − сложение, «-» − вычитание, «*» − умножение, «/» − деление. Как видим, в программировании и математике элементарные действия над числами обозначаются одинаково. Решим следующую задачу:
Задача. Пусть даны целые числа A и B. Найти их сумму.
Назовем программу нахождения суммы как Summa. Тогда часть кода, отвечающая за название программы, будет иметь вид:
|
Обозначим сумму чисел A и B через S. Поскольку числа целые, то и сумма будет целым числом. Таким образом, в описании чисел A, B, S будем использовать переменную целого типа integer . Но как описать эти числа в разделе описаний – как константы (const ) или как переменные (var )? Все зависит от условия задачи. Мы можем числа A и B записать и как константы, и как переменные. Но в любом случае сумма S будет переменного типа, поскольку нам неизвестно её значение.
Итак, пусть дано значение чисел A и B, равное, например, 23 и 76 соответственно. Поскольку мы знаем значения наперед, то A и B будут типа const , а S опишем как var . Учитывая, что описание констант идет перед описанием переменных, раздел описаний в этом случае будет следующим:
Таким образом, тело программы будет состоять из вычисления суммы S и вывода её на экран. В паскале, чтобы вычислить сумму А и В, нельзя просто записать S = A + B; такая запись возможна, если надо проверить, не равно ли число S сумме A + B. А чтобы в переменную S записать значение суммы А + В, надо значение этой суммы «присвоить» переменной S , т.е. сумму А + В записать в то место памяти компьютера, которое выделено для переменной S. Это как бы «впихивание» значения одного числа в значение другого. Записывается присваивание так:
Для вывода результата используется оператор вывода write с комментарием на экране:
write("Сумма чисел 23 и 76 равна: S = ", S);
Объединяя наши 1)заголовок программы, 2)раздел описаний и 3)тело программы, получим небольшой код, который можно скопировать в PascalABC.Net или в другую версию Pascal:
После выполнения этой программы на экране мы увидим:
Сумма чисел 23 и 76 равна: S = 99
Все хорошо и программа работает. Но здесь мы написали кое-что лишнее. Посмотрите внимательно на оператор вывода write в конце – там выводится сумма S. Изменится ли что-нибудь, если вместо S написать само значение суммы, то есть А + В? Правильно, ничего. Только тогда надо убрать переменную S из нашего кода, а вместо неё при выводе на экран использовать сумму А + В. Вот упрощенный код:
В этом случае результат на экране будет такой:
Сумма чисел 23 и 76 равна 99
Это и есть наша простейшая первая программа. Другие задачи такого типа можете посмотреть на странице Прямоугольник, круг и параллелепипед. Вычисление площадей, периметров и объемов . Там, правда, используются переменные действительного типа real, но суть та же: решать задачу без оператора присваивания. Вообще этот оператор используется там, где надо вычислить промежуточную переменную, которая задействуется при вычислении основного результата. Поэтому там, где при вычислении результата (ответа к задаче) можно обойтись без присваивания, записывать выражение надо прямо в оператор вывода write. Только, если выражение слишком большое и не помещается в оператор вывода, надо вычислять его отдельно, вводя дополнительные переменные (var). Но в простейших случаях, как правило, можно обойтись и без оператора присваивания.
На следующей странице поговорим о процентах. А пока, если вы любитель World of Warcraft, тогда в этом вам поможет
Обычно, изучение любого языка программирования начинается с программы Hello, world! Но мы с вами займемся этим чуть попозже, потому что сейчас я хочу рассказать вам о величинах и типах данных в Pascal.
Виды величин
Обычно, изучение любого языка программирования начинается с программы Hello, world! Но мы с вами займемся этим чуть попозже, потому что сейчас я хочу рассказать вам о величинах и типах данных в Pascal. Что такое величина? Величина — это отдельный информационный объект, хранящийся в памяти компьютера. Существуют две классификации величин. Мы рассмотрим каждую в отдельности.
![](https://i0.wp.com/learnpascal.ru/wp-content/uploads/2013/12/%D0%B2%D0%B5%D0%BB%D0%B8%D1%87%D0%B8%D0%BD%D1%8B1-1024x768.png)
В свою очередь числовой делится на два типа.
![](https://i1.wp.com/learnpascal.ru/wp-content/uploads/2013/12/Untitled-artwork-1024x768.png)
Символьные тоже делятся на два типа.
Вторая классификация величин.Константа — значение неизменно. Переменная — значение может меняться в течение работы программы. Переменные обозначаются символическими именами, которые называются идентификаторами. Как присвоить значение какой либо переменной? С помощью команды присваивания! Команда присваивания в Паскаль:
< переменная >:= < выражение >
Первая программа на Pascal
Структура программы в Паскаль
Заголовок
Program < имя переменной >;
Объявление переменных и констант
const <Символическое имя> = <выражение>;
var <Однотипные переменные> : <тип>;
Раздел операторов
Begin
<оператор 1>;
<оператор 2>;
…
end.
Ввод и вывод в Паскаль
У вас, наверняка, возникает вопрос: «Как вводить значения переменных с клавиатуры?», а также: «Как вывести на экран полученный результат?». Для этого используются четыре специальных оператора:
Для ввода:
- read(Переменную)
- readln(Переменную)
И для вывода:
- write(Текст в »)
- writeln(Текст в »)
«В чем разница между read и readln, write и writeln?»: снова озадачитесь вы. Ответ прост. Если добавляете «ln» (что расшифровывается, как Line), то курсор переносится на следующую строку.
Hello, World на Pascal
Теперь вы готовы написать первую программу.
Program Hello_World; {фигурные кавычки позволяют вставить комментарий к коду} Begin Write("Hello, World!"); End.
Ну, тут все понятно. Чтобы разнообразить решение предлагаю решить несколько задачек этого типа.
Задача 1 . Требуется запросить имя пользователя, а затем вывести «Привет, <имя>!» Для решения этой задачи нам потребуется строковой тип данных — string.
Program Hello_boy_girl; {фигурные кавычки позволяют вставить комментарий к коду} var name: string; {объявляем name -- это новая переменная} Begin Write("Введите свое имя: "); {так как мы используем write, курсор будет мигать после двоеточия} Read(name); {Считываем все, что ввел пользователь} Write("Привет,", name,"!"); {Обратите внимание! Переменная отделяется от кавычек ЗАПЯТЫМИ!} End.
Задача 2. Требуется узнать сколько лет пользователю, а затем вывести «Вам <возраст> лет». Очевидно, что для решения этой задачи нам потребуется целочисленный тип данных — Integer.
Program How_old_are_you; var years: integer; {объявляем years -- это новая переменная} Begin Writeln("Сколько вам лет?"); {так как мы используем writeln, каретка будет мигать под надписью} Read(years); {Считываем все, что ввел пользователь} Write("Вам ", years," лет."); End.
Ну, вот и все! Все, что я хотел рассказать вам в сегодняшнем уроке. Вы узнали, что такое величина в Pascal, и выучили основные типы. А также научились создавать простейшие линейные программы. Более подробно про типы в PascalABC.Net мы поговорим в следующих уроках. Кстати, про PascalABC.Net. Понятно, что писать программы на листочках бесполезно, и вы должны тренироваться на компьютере. По этой ссылке скачайте последнюю версию для Windows.
Вот, как выглядит интерфейс программы при запуске.
P.S. Давайте выделим две особенности Pascal:
- Паскаль НЕ чувствителен к регистру, то есть и program, и Program, и PrOgRaM для него ничем не отличаются. А потому с самого начала привыкайте писать в нижнем регистре, чтобы при переходе на другой язык программирования не испытывать никаких проблем с этим;
- Имя программы в Pascal не играет никакого значения, оно не несет в себе никаких полезных функций. Если хотите вы можете просто не писать ЕГО!
P.P.S. В мире наиболее популярны три операционные системы: Linux, Mac OS и Windows. А если у вас не Windows? Какой компилятор выбрать тогда? Об этом мы с вами поговорим в уроке номер N.
Профессиональная среда разработки для создания программ и приложений любого уровня сложности. Сочетает в себе классическую простоту Паскаля и все возможности современной среды разработки.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)