Wlancards.ru

ПК техника, WI FI Адаптеры
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Знакомство со средой PascalABC

Знакомство со средой PascalABC

обучение PascalABC

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

В бесплатной мини-версии задачника доступно 270 заданий по всем основным разделам. Этого вполне достаточно для самостоятельного освоения начального уровня программирования. Скачать паскаль бесплатно старую версию 3.0 можно здесь . В настоящее время версия 3.0 больше не поддерживается и разработчики работают над PascalABC.Net . Рекомендую скачать последнюю. Итак, начинаем pascal abc обучение.

“Я начал писать самые примитивные игры”

“Когда одноклассник сказал, что на Паскале можно делать игры, я заинтересовался”: история разработчика JavaRush Саши Мядельца - 2

В 2014 году один из коллег, с которым я работал в Codeminders, сказал, что есть классная позиция в Ciklum, и спросил, не хочу ли я туда перейти. Так я перешел в Ciklum и продолжил работать как С++ разработчик. Немного позже один из моих экс-коллег рассказал, что есть замечательный стартап JavaRush, и нужен кто-то, кто сможет написать задачи. Тогда было где-то 16 уровней с задачами, а на остальных уровнях — только лекции. Но была загвоздка — я не знал язык Java. У меня есть младший брат, он тоже программист, пишет на Java. Еще давно мы с ним беседовали по поводу перспективности языков, и он мне советовал переходить на Java. Я решил попробовать. Когда программист уже имеет большой опыт, ему достаточно изучить синтаксис нового языка, знания фреймворков на тот момент мне не нужны были. Так я перешел в JavaRush и стал разработчиком. Вместе со мной наняли еще пару программистов. Один парень писал задачи, второй занимался бэкендом. Через некоторое время мы дописали недостающие задачи, но парень, который занимался бэкендом, ушел, и его задачи постепенно перешли к нам. Постепенно я стал заниматься бэкендом. В JavaRush на то время было несколько сотрудников. Главным бэкенд-разработчиком тогда был Дима Вежнин (основатель JavaRush), но у него была масса обязанностей, поэтому плавно весь бэкенд перешел ко мне. Затем добавились новые ребята, и мы начали переделывать задачи для JavaRush 2.0 — это была новая версия системы, которая по окончанию решения задачи говорила не только о том, решил ты или нет, но и делала подсказки, что именно неправильно и что надо поправить. Когда я пришел на JavaRush, это был просто небольшой ресурс с лекциями и задачами, важная фича которого — проверка решений онлайн. Подобных ресурсов в то время не было, по крайней мере в русскоязычном интернете. Сейчас JavaRush — это большая платформа, где есть куча всего. Я уже руковожу целой командой, которая занимается и бэкендом, и фронтендом, и тестированием, и Android-разработкой. Руководство предполагает и ответственность. Я отвечаю не только за результаты своей работы, но и за результаты команды. Все люди разные: есть более и менее ответственные, более и менее компетентные. Но тем не менее я понимаю, что должен все контролировать. Когда я был просто разработчиком, то считал, что руководители отдыхают, просто раздают задачи. Когда мне пришлось заниматься данной ролью, я понял, что это гораздо сложнее, чем кажется со стороны разработчика.

§ 4.1. Общие сведения о языке программирования Паскаль

Языки программирования — это формальные языки, предназначенные для записи алгоритмов, исполнителем которых будет компьютер. Записи алгоритмов на языках программирования называются программами.

Существует несколько тысяч языков программирования. Мы с вами познакомимся с языком программирования Паскаль, который был разработан в 70-х годах прошлого века Никлаусом Виртом (Швейцария). Своё название этот язык получил в честь французского ученого Блеза Паскаля, известного не только своими достижениями в математике, физике и философии, но и созданием первой в мире механической машины, выполнявшей сложение двух чисел.

    1 С другими стилями программирования вы познакомитесь при изучении курса информатики в 10—11 классах.
Читайте так же:
Можно ли получить скидку

4.1.1. Алфавит и словарь языка

  • латинские прописные буквы (А, В, С, . X, Y, Z);
  • латинские строчные буквы (а, Ь, с, х, у, z);
  • арабские цифры (0, 1, 2, . 7, 8, 9);
  • специальные символы (знак подчёркивания; знаки препинания; круглые, квадратные и фигурные скобки; знаки арифметических операций и др.).
    := (знак операции присваивания);
    >= и <= (знаки < и >);
    (* и *) (начало и конец комментария).

В языке существует также некоторое количество различных цепочек символов, рассматриваемых как единые смысловые элементы с фиксированным значением. Такие цепочки символов называются служебными словами. В табл. 4.1 приведены основные служебные слова, которые мы будем использовать при записи программ на языке Паскаль.

Таблица 4.1
Служебные слова языка Паскаль

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

Прописные и строчные буквы в именах не различаются.

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

4.1.2. Типы данных, используемых в языке Паскаль

В языке Паскаль используются различные типы данных. Мы будем пользоваться некоторыми из так называемых простых типов данных:

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

В вещественном числе целая часть от дробной отделяется точкой, при этом перед точкой и после неё должно быть, по крайней мере, по одной цифре. Пробелы внутри числа недопустимы.

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

  1. заголовок программы;
  2. блок описания используемых данных;
  3. блок описания действий по преобразованию данных (программный блок).

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

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

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

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

Ниже приведён общий вид программы:

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

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

Перед оператором end точку с запятой ставить не нужно.

4.1.4. Оператор присваивания

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

Операция присваивания допустима для всех приведённых в табл. 4.1 типов данных. Выражения в языке Паскаль конструируются по рассмотренным ранее правилам для алгоритмического языка.

Рассмотрим процесс выполнения операторов присваивания на следующем примере:

При выполнении оператора а:=10 в ячейку оперативной памяти компьютера с именем а заносится значение 10; при выполнении oпeратора Ь:=5 в ячейку оперативной памяти компьютера с именем b заносится значение 5. При выполнении оператора s:=a+b значения ячеек оперативной памяти с именами а и b переносятся в процессор, где над ними выполняется операция сложения. Полученный результат заносится в ячейку оперативной памяти с именем s (рис. 4.1).

Рис. 4.1.
Процесс выполнения оператора присваивания

Самое главное

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

Читайте так же:
Можно ли отправить деньги письмом

В языке Паскаль используются различные типы данных: целочисленный (Integer), вещественный (Real), символьный (Char), строковый (String), логический (Boolean) и другие.

Примеры

Вы можете использовать редактор Lazarus, чтобы опробовать все примеры из стандартных учебников Паскаля, или можете написать свой собственный. Некоторые из наиболее полезных процедур — это процедуры для выполнения системных команд или для запуска других программ (написанных на Паскале, C или Perl, либо в сценариях оболочки или пакетных сценариях).

Выполнение команд оболочки

Пример: обновить FPC и Lazarus

Могут быть выполнены более сложные команды. Например, если вы уже проверили репозитории SVN для FPC и Lazarus (см. Buildfaq), вы можете поддерживать свои исходные файлы FPC и Lazarus в актуальном состоянии, извлекая их из репозитория SVN с помощью следующей последовательности вызовов :

Пример: корректировка fpc и lazarus

Могут выполняться более сложные команды. Например, после посещения хранилища SVN с новейшими версиями FPC и Lazarus (см. buildfaq) можно иметь исходные версии FPC и Lazarus новейшими, путем взятия из хранилища SVN следующей последовательностью вызовов:

Обратите внимание, что выдача команды

не работает, потому что после каждого вызова функции fpsystem() выполнение программы возвращается в каталог, в котором она была запущена; поэтому нам нужно включить несколько операторов в каждую строку в наши вызовы оболочки через fpsystem(). [Скорее так: он всегда начинается.]

Необязательно вводить каждую команду как отдельную строку Паскаля; можно создать файл сценария bash следующим образом (из buildfaq):

Назовите файл updatelaz.sh, а затем вызовите его из программы на Паскале для его непосредственного выполнения вместо использования bash следующим образом:

Язык программирования TurboPascal

Оператор присваивания является одним из основных операторов любого языка программирования.

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

Формат оператора присваивания:

В операторе присваивания слева от знака присваивания «:=» записывается переменная, а справа – выражение, численное значение которого присваивается этой переменной.

Выполнение оператора присваивания приведет к вычислению выражения и присваиванию значения выражения переменной.

Обязательным является требование, чтобы выражение и переменная были совместимы по присваиванию.

Например, оператор присваивания

означает, что переменной y присваивается число, полученное в результате вычисления выражения x+h/2 при известных числовых значениях переменных x и h .

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

Здесь переменной t присваивается значение, которое до этого момента имела переменная t, плюс 1. Если переменная t имела до выполнения этого оператора значение равное 7, то после исполнения оператора t:=t+1 значение переменной будет равно 8.

Арифметические выражения

Арифметические выражения строятся из арифметических констант, переменных, функций и операций над ними.

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

В арифметических выражениях используются следующие операции и соответствующие знаки:

ОперацияЗнак операции
Сложение+
Вычитание
Умножение*
Деление/
Деление целых чиселdiv
Остаток от деления целых чиселmod

Операции +, -, *, / имеют очевидный смысл. Результатом операции div будет целое значение, равное целой части результата деления первого числа на второе. Результатом операции mod будет целое значение, равное остатку от деления (но не дробной части).

Примеры арифметических операций:

Арифметические операции выполняются в порядке старшинства: сначала вычисление функции, затем умножение, деление, сложение, вычитание.

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

Рассмотрим арифметическое выражение

В таблице приведен порядок выполнения операций:

ОперацияОперация
1a*x7-a*x*x+b/x*c+y
2a*x*x8c*n
3-a*x*x9(a-b)
4b/x10c*n/(a-b)
5b/x*c11-a*x*x+b/x*c+y-c*n/(a-b)
6-a*x*x+b/x*c

ЗАМЕЧАНИЕ. Все данные, входящие в арифметическое выражение, должны быть одного типа.

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

Пример. Пусть переменные x и y описаны следующим образом:

Рассмотрим оператор y:= x+2 , в котором используются переменные целого, вещественного типов и константа. Результат операции будет вещественного типа, поэтому оператор y:=x+2; является допустимым, хотя справа от присваивания стоит целая переменная и константа;

Следующие операторы являются ошибочными:

Для обеспечения совместимости типов необходимо выполнять преобразования данных. Для преобразования Real в Integer имеются две функции:

Round() – округляет Real до ближайшего целого;

Trunc() – усекает Real путем отбрасывания дробной части.

Правильная запись рассматриваемых операторов: x:=y+2; и x:=y/x; имеет вид:

Программируя арифметические выражения, нужно иметь в виду следующие основные правила:

  • Два знака арифметических операций нельзя писать рядом. Например, следующие записи будут неправильными:
    +–a –b — следует писать +(–a) –b
    a*–b — следует писать a*(–b)
  • Знак умножения опускать нельзя, например, при записи произведения: a*b и 2*n , запись ab и 2n будет неправильной, так как ab воспринимается как идентификатор, а запись 2n не является идентификатором, потому что начинается с цифры.
  • В арифметических выражениях допускается использовать только круглые скобки. Количество открывающих круглых скобок должно соответствовать количеству закрывающих круглых скобок. Применение фигурных и квадратных скобок запрещается, так как они имеют особое значение.
  • Все данные, входящие в выражения должны быть одного типа. Если в выражении используются данные целого и вещественного типа, результат операции будет вещественного типа.

В арифметических выражениях могут использоваться различные элементарные функции. В языке Турбо Паскаль существуют стандартные функции. Пользователь может не знать, как вычисляется стандартная функция, ему достаточно правильно записать имя функции и ее аргумент. Наиболее часто используемые стандартные функции приведены в таблице:

ФункцияНазначение
Abs(x)Абсолютное значение аргумента x
Sqr(x)Вычисляет квадрат аргумента x
Sqrt(x)Вычисляет квадратный корень аргумента x
Exp(x)Возвращает экспоненту аргумента e x (степень числа e=2,72)
Ln(x)Вычисляет натуральный логарифм аргумента x
PiЗначение числа p=3.1415926
Frac(x)Дробная часть числа x
Int(x)Целая часть числа x
Sin(x)Синус аргумента x (угол в радианах)
Cos(x)Косинус аргумента x (угол в радианах)
Arctan(x)Арктангенс аргумента x (угол в радианах)
RandomizeИнициализация генератора случайных чисел
Random(x)Если x отсутствует, то значением функции является случайное число типа real из диапазона 0<=…&ltЕсли задается значение x, то значением функции будет случайное число из диапазона 0&lt &ltx.

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

Примеры записи простых арифметических выражений и операторов присваивания приведены в таблице:

Обычная математическая записьЗапись на Турбо Паскале
formula1x/(y*z) или x/y/z
formula2y*x/z
formula3(x+a)/(y+b)
formula41/(m*sqrt(a+b))
formula5x1:=(-b+sqrt(b*b-4*a*c))/(2*a)
formula6y:=sin(x)
formula7sqr((x+y-z)/2/a)

Типичные ошибки в записи выражений:

4x+1 Пропущен знак умножения между 4 и x

a+sinx Аргумент x функции sinx не заключен в скобки

((a+b)/sqr(c*7) не хватает закрывающей скобки

ЗАДАЧА2 . Вычислить корни квадратного уравнения

по известным формулам

Формула вычисления корней квадратного уравнения

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

Где используется Паскаль

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

Turbo Pascal был популярен для ПК в 80-90-е гг. В продолжение Turbo была выпущена система Delphi. Современная модификация Delphi Object Pascal используется в машинном обучении.

Петр Калинин, преподаватель информатики и тренер по спортивному программированию, считает, что начинающим не нужен классический Pascal. Но можно изучать среды под диалекты (например, PascalABC.Net).

Другая реализация — Free Pascal — имеет открытый исходный код, поддерживает различные диалекты языка и мультиплатформенность. На базе Free Pascal появилась среда Lazarus.

Oxygene, разработанный на основе Pascal, появился в 2013 г. С помощью языка можно реализовывать код под разные платформы, включая Java и .NET.

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

§ 14. Язык программирования Паскаль

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

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

Язык программирования Паскаль ( Pascal ) используется для обучения программированию и является базой для ряда профессиональных языков программирования.

Существует большое количество сред программирования, поддерживающих язык Паскаль: PascalABC , FreePascal, Delphi, GNU Pascal, Dev — Pascal , Rad Studio и др. В учебном курсе используется среда PascalABC (с ней вы работали, знакомясь с учебными компьютерными исполнителями).

14.1.Команда вывода

Демонстрировать работу любой программы имеет смысл только тогда, когда она выводит какую-либо информацию.

Программа на языке Pascal (тело программы) должна начинаться со слова begin , а заканчиваться словом end и точкой. Программа, состоящая из этих команд, разделенных пробелом или переводом строки, может быть запущена на выполнение, но она ничего не делает. Добавим в нее команду вывода приветствия:

Результат работы программы отражается в нижней части окна программы PascalABC в окне вывода (пример 14.1).

Команда write ( ) ; предназначена для вывода данных.

Текст, который нужно вывести на экран, заключают в апострофы (одинарные кавычки). Этот текст не анализируется и выводится на экран в том виде, в котором он записан. Текст можно записать как на русском, так и на любом другом языке. Текстом может быть произвольный набор символов.

В программе может быть несколько команд вывода. Если необходимо вывести текст, записанный в несколько строк, то используют команду writeln ( ). Буквосочетание « ln » (сокращение от англ. line — линия, строка), записанное в конце команды, означает, что после вывода нужно перевести курсор в новую строку.

Пример 14.2. Выведем на экран компьютера следующий текст: « Привет! Я компьютер. Я умею выполнять программы! Сегодня ты написал свою первую программу, а я ее выполнил. Сейчас на экране – результат этой программы ».

Используя сочетание команд write и writeln , текст можно расположить по-разному.

Как вы уже знаете, текст в команде write ( ), записанный в кавычках, не анализируется. Если кавычки опустить, то производится анализ тех данных, которые записаны в скобках. Например, если в скобках написать арифметическое выражение, то сначала вычисляется его значение, а затем выводится результат.

Пример 14.3. Посчитаем значение выражения 2 + 2 ∙ 2.

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

14.2. Понятие типа данных

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

С такими задачами вы уже сталкивались в курсе математики. Например, решение задачи «Найдите площадь прямоугольника» можно записать так: S = ab , где переменные a и b обозначают соответственно длину и ширину прямоугольника, а S — площадь. Зная эту формулу, можно найти площадь любого прямоугольника.

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

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

Переменная в программировании — это именованная ячейка памяти, хранящая значение переменной.

Компьютер может обрабатывать данные разных типов: целые и действительные числа, символы, тексты и др.

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

Для того чтобы использовать какую-либо переменную, ее необходимо описать. Описание переменных выполняется до начала программы (команды begin ) (пример 14.4). При описании переменной выделяется память для хранения значения этой переменной. В процессе выполнения программы значение переменной может изменяться.

Для описания переменных используется команда var (сокращение от англ. variable — переменная).

Формат записи команды следующий:

var <имя переменной> : <тип> ;

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

Тип данных real в языке программирования Pascal позволяет работать с числами и выполнять над ними арифметические действия: сложение, вычитание, умножение и деление.

14.3. Оператор присваивания

Одной из основных команд для обработки данных в программе является оператор присваивания.

Оператор присваивания предназначен для того, чтобы:

  • задавать значения переменным;
  • вычислять значения арифметического выражения (результат вычисления будет записан как значение переменной).

Формат записи оператора присваивания:

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

В записи арифметического выражения используются знаки математических действий — сложения, вычитания, умножения, деления:

Запись в Pascal

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

Для записи обыкновенной дроби используется знак деления. Знак умножения опускать нельзя. Целая часть дробного числа отделяется от дробной части точкой.

14.4. Ввод данных

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

Команда read ( ) предназначена для ввода данных. В скобках через запятую перечисляются имена переменных, значения которых необходимо ввести.

Ввод данных происходит в нижней части окна программы PascalABC . Для этого используется окно «Ввод данных». После нажатия кнопки «Ввести» или клавиши « Enter » введенные значения переносятся в окно вывода. После завершения работы программы в этом же окне будет выведен результат (пример 14.8).

14.5. Структура программы

Все программы на языке программирования Pascal имеют общую структуру.

В программе можно выделить следующие разделы:

  • заголовок программы (является необязательным);
  • подключаемые библиотеки (модули) (если подключать дополнительные библиотеки не нужно, раздел отсутствует; известные библиотеки: Drawman, Robot, RobTasks );
  • описание переменных с указанием их типа;
  • описание вспомогательных алгоритмов (если использовать вспомогательные алгоритмы не нужно, раздел отсутствует);
  • beginend. — служебные слова, обрамляющие тело основной программы, в которой находятся исполняемые команды. Слово begin начинает исполняемую часть программы, а end . (точка в конце обязательна) ее завершает.

Таким образом, в минимально возможном наборе программа состоит только из пустого тела программы: begin end . Программа, содержащая все разделы, представлена в примере 14.9.

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

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

Никлаус Вирт (род. в 1934 г.) — швейцарский ученый, специалист по информатике, один из известнейших теоретиков в области разработки языков программирования, профессор компьютерных наук. Создатель и ведущий проектировщик языков программирования Паскаль, Модула-2, Оберон.

По традиции, начавшейся в 1978 г. с примера из книги Брайана Кернигана и Денниса Ритчи «Язык программирования Си», первая программа на любом языке программирования должна выводить на экран приветствие миру:

голоса
Рейтинг статьи
Ссылка на основную публикацию
Adblock
detector