код программы на паскале

Урок 3. Первая программа в Pascal

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

Виды величин

Обычно, изучение любого языка программирования начинается с программы Hello, world! Но мы с вами займемся этим чуть попозже, потому что сейчас я хочу рассказать вам о величинах и типах данных в Pascal. Что такое величина? Величина — это отдельный информационный объект, хранящийся в памяти компьютера. Существуют две классификации величин. Мы рассмотрим каждую в отдельности.

Более подробно мы поговорим о них в последующих уроках.

В свою очередь числовой делится на два типа.

Привожу сразу обозначение этого типа в Паскаль

Символьные тоже делятся на два типа.

Вторая классификация величин.Константа — значение неизменно. Переменная — значение может меняться в течение работы программы. Переменные обозначаются символическими именами, которые называются идентификаторами. Как присвоить значение какой либо переменной? С помощью команды присваивания! Команда присваивания в Паскаль: :=

Первая программа на Pascal

Структура программы в Паскаль

Заголовок

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

Раздел операторов

Ввод и вывод в Паскаль

У вас, наверняка, возникает вопрос: «Как вводить значения переменных с клавиатуры?», а также: «Как вывести на экран полученный результат?». Для этого используются четыре специальных оператора:

Для ввода:

И для вывода:

«В чем разница между read и readln, write и writeln?»: снова озадачитесь вы. Ответ прост. Если добавляете «ln» (что расшифровывается, как Line), то курсор переносится на следующую строку.

Hello, World на Pascal

Теперь вы готовы написать первую программу.

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

Задача 2. Требуется узнать сколько лет пользователю, а затем вывести «Вам лет». Очевидно, что для решения этой задачи нам потребуется целочисленный тип данных — Integer.

Ну, вот и все! Все, что я хотел рассказать вам в сегодняшнем уроке. Вы узнали, что такое величина в Pascal, и выучили основные типы. А также научились создавать простейшие линейные программы. Более подробно про типы в PascalABC.Net мы поговорим в следующих уроках. Кстати, про PascalABC.Net. Понятно, что писать программы на листочках бесполезно, и вы должны тренироваться на компьютере. По этой ссылке скачайте последнюю версию PascalABC.Net для Windows.
Вот, как выглядит интерфейс программы при запуске.


P.S. Давайте выделим две особенности Pascal:

Источник

Примеры программ на Pascal

Задание:

Ввести с клавиатуры n чисел. Определить количество четных.

Код программы:

Задание:

Дано четырехзначное число. Верно ли, что сумма первой и последней цифр равна сумме средних цифр?

Пример теста:

1234 — да: 1+4=2+3
7459 — нет: 7+9 ≠ 4+5

Код программы:

Задание:

Решение квадратного уравнения ax 2 +bx+c=0

Пример теста:

Код программы:

Задание:

При попадании в маленький круг (радиус = 1), игроку начисляется 2 балла, при попадании в большой круг (радиус 2) — 1 балл, мимо мишеней — 0 баллов.

Пример теста:

Код программы:

Задание:

Вычислить значение функции

Пример теста:

Код программы:

Задание:

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

Пример теста:

1 2 3 4
7 1 3 0
2 7 4 3
1 3 2 1

Источник

Первая программа

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

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

Консольное приложение

Для создания первой программы, необходимо выбрать в меню Файл –> Создать. В открывшемся окне выбираем папку Проект, а в ней Простая программа

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

Процедура writeln выводит в консоль сообщение, которое передается ей в качестве параметра, в данном случае Hello World!, окончание ln в ней говорит о том, что после вывода текста, курсор будет перемещен на новую строку.
Процедура write делает то же самое, только без перевода каретки.

Запустить выполнение программы можно тремя способами:

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

Программа будет ждать нажатия клавиши Enter

Программа ждет нажатия любой клавиши

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

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

Оконное приложение

Многих начинающих программистов пугают консольные приложения, а Windows формы кажутся слишком сложными. Но это не так.

Откроем пункт меню Файл –> Создать, выбираем Проект, а в нем Приложение

После этого откроется редактор Форм.

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

Запускаем проект. Мы увидим Windows форму с кнопкой, после нажатия на которую выводиться окно сообщения с текстом Hello World!

Exe файл программы можно найти в папке в которую вы сохранили проект.

Источник

Pascal: Занятие № 7. Подпрограммы: процедуры в Pascal

Процедуры в Паскале

Подпрограмма — это фрагмент кода, который имеет свое имя и создается в случае необходимости выполнять этот код несколько (много) раз. Подпрограмма описывается единожды перед началом основной программы (до begin ). Компилятор пропускает данный фрагмент кода, пока в основной программе не встретит «вызов» подпрограммы, который выглядит как обращение к ней по имени (возможно, имени с аргументами, указанными в скобках).

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

Итак, рассмотрим синтаксис объявления и описания процедуры в Паскале

procedure pr; var i:integer; begin for i:=1 to 60 do begin <тело подпрограммы>write(‘*’); writeln; end; end; <конец подпрограммы>begin pr; <вызов процедуры>end.

В данном примере работы с процедурой в Паскале очевидно, что компилятор пропустит блок описания процедуры и дойдет до основной программы (9 строка кода). И только после того, как встретится вызов процедуры (10 строка), компилятор перейдет к ее выполнению, вернувшись к строке 1.

Читайте также:  как залипнуть клавишу в майнкрафт

Процедуры с параметрами. Фактические и формальные параметры

Рассмотрим пример необходимости использования процедуры.

Особенность: Три похожие фигуры.

Алгоритм решения:

Решение на паскале:
Процедура:

uses GraphABC; procedure Tr( x, y: integer; color:system.Drawing.Color); begin MoveTo(x, y); LineTo(x, y-60); LineTo(x+100, y); LineTo(x, y); FloodFill(x+20, y-20,color); end; begin SetPenColor(clBlack); Tr(100, 100, clBlue); Tr(200, 100, clGreen); Tr(200, 160, clRed); end.

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

Параметры процедуры (в некоторых языках они называются аргументами) указываются в скобках после ее имени (в объявлении).

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

Фактический параметр — это то значение, которое указывается в скобках при вызове процедуры. Фактическим параметром может быть конкретное значение (литерал: число, символ, строка…) либо переменная, которые компилятор подставит вместо формального параметра. Поэтому тип данных у формального и фактического параметра процедуры должен быть одинаковым.

Процедуры с параметрами. Параметр-переменная
(передача параметра по ссылке)

В примере формальные параметры a и b служат для помещения в них сравниваемых чисел, а параметр-переменная max — для сохранения в ней максимального из двух чисел. Параметр-переменная или выходной параметр передает свое значение в основную программу (фактическому параметру m ), т.е. возвращает значение, тогда как формальные параметры-значения (входной параметр), наоборот, принимают значения из основной программы (из фактических параметров x и y ). Для параметра-переменной ( max ) используются те ячейки памяти, которые отведены под соответствующий параметр при вызове процедуры (ячейка m ).

Таким образом, сформулируем понятия:

Если в качестве формального параметра указана обычная переменная с указанием ее типа, то такой параметр есть параметр-значение или входной параметр ( a и b в примере). Тип данных формального параметра-значения должен соответствовать типу данных его фактического параметра ( a и b должны попарно соответствовать типу данных x и y ).

Если перед именем формального параметра в объявлении процедуры стоит служебное слово var, то такой параметр называется параметром-переменной или выходным параметром ( max в примере). Для него используются те ячейки памяти, которые отведены под соответствующий параметр при вызове процедуры ( m ). А передача такого параметра называется передачей по ссылке (ссылка на ту же ячейку в памяти). Фактический параметр, соответствующий параметру-переменной, может быть только переменной (не константой, не литералом и не выражением).


Словесный алгоритм:

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

const n = 10; var i:integer; a, b: array[1..n] of integer; procedure arr_out (k:integer; arr: array[1..n] of integer); var i: byte; begin write (‘вывод массива: ‘); for i := 1 to k do write (arr[i]:4); writeln; end; begin for i:=1 to n do a[i]:=random(10); arr_out (n, a); end.

Пояснение:
Тело основной программы:
— формирование элементов массива (с функцией random ).
— вызов процедуры с двумя параметрами: количество элементов, массив.
Тело процедуры:
— вывод элементов массива с использованием параметров

Продолжим нашу задачу:

const n = 10; var a, b: array[1..n] of integer; procedure arr_rand (k:integer; var arr: array[1..n] of integer); var i: byte; begin write (‘Заполнение массива случайными числами ‘); randomize; for i := 1 to k do arr[i]:=random(100); end; begin arr_rand (n, a); end.

Передача аргументов по значению и по ссылке

procedure p(a: integer); begin a := 666; // изменяется только формальный параметр! end; begin var x := 555; p(x); Print(x); // 555 end.

procedure p(var a: integer); begin a := 666; end; begin var x := 555; p(x); Print(x); // 666 – фактический параметр изменился тоже! end.

Источник

Знакомство с Pascal: написание первой программы

Основные теоретические понятия программирования и среды разработки. Кроме теоретических понятий рассмотрим конкретно язык программирования Паскаль. Выполним три практических задачи. В этих задачах рассмотрены темы объявления переменных и примеры работы с тремя основными типами данных, а также примеры вывода и ввода данных.

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

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

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

Кратко о языке программирования Pascal

Язык Pascal – это относительно доступный и несложный язык программирования. Его изучают часто в школе в старших классах и на первых курсах высших и средних учебных заведениях. Этот язык программирования был разработан Никлаусом Виртом еще в 70-х годах прошлого века, а назван в честь французского математика Блеза Паскаля. Если вам интересно узнать подробнее об истории создания и развития данного языка программирования, вы можете найти эту информацию в Интернете, на той же самой Википедии. А мы не будем сильно на этом останавливаться.

Наша задача сегодня – написать первую собственную программу на языке Pascal. Писать мы будем для первого раза консольные приложения. А что же это такое – консольное приложение?

Мы привыкли, что, когда мы заходим в любую программу, перед нами появляется окно, в котором есть области для ввода информации, ее вывода, какие-то красиво оформленные таблички, кнопочки и многое другое. Тот же самый привычный нам MS Office Word. Консольное же приложение, если говорить простыми словами, представляет собой окно, в котором просто написаны буквы или цифры на одноцветном фоне, чаще всего на черном. Если вы видели хоть раз в своей жизни командную строку в Windows или операционную систему DOS, то вы представляете себе, что такое консоль. Но, как говориться, лучше один раз увидеть, чем сто раз услышать. В дальнейшем вы увидите, как это все выглядит.

Итак, что нам понадобится, чтобы написать свою первую программу? Естественно, компьютер, клавиатура, мышь (но можно на самом деле и без нее), немного желания и времени, ну и среда разработки. Последнее словосочетание, наверное, для большинства покажется незнакомым. Давайте же выяснять, что это за зверь такой – среда разработки. Это программный комплекс, используемый разработчиком для написания программ на конкретном языке программирования. Простым языком – это программа для написания программ. Она, чаще всего, включает в себя следующие компоненты:

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

Знакомство со средой PASCALABC.NET и написание первой программы

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

Для начала необходимо установить на свой компьютер среду разработки. На просторах Интернета можно найти различные вариации сред разработки, но я буду работать со средой разработки PASCAL ABC.NET. Эту среду вы можете найти в Интернете. Я бы рекомендовал вам использовать именно ее, так как по сравнению, например, с Turbo Pascal – в данной среде есть возможность копирования и вставки текста, а также поддерживается русский язык.

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

Рис.1. Среда разработки

Для начала давайте придумаем название нашей программе. Я не буду долго думать и назову ее просто – «первая программа». Но называть программу можно только на английском языке, так как это не просто имя программы, а кусочек кода, а весь код пишется только на английском языке. Поэтому я ее буду называть «first_program». Обратите внимание, что вместо пробела я написал нижнее подчеркивание, так как Pascal понимает пробел как окончание команды. Теперь нам нужно объяснить языку что first_program – это именно название нашей программы, а не что-то другое (вы, кстати, можете придумать свое имя для вашей первой программы). Для этого нам нужно использовать команду (или по-научному оператор) Program. Эта команда говорит компьютеру, что через пробел будет указано название для программы. Итак, первая строчка кода у нас будет выглядеть так:

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

Теперь давайте выведем текст: «Я написал первую программу! Ура!».

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

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

Целые числа – это числа для счета, без запятой. Вещественные числа, хотя это не совсем так, но все-же – это числа с плавающей точкой, например – 3.1, 5.2 и так далее. Строковый тип данных – это как раз то, что нам нужно. В строковой переменной хранятся любые символы: буквы, цифры, знаки… За объявление переменных отвечает ключевое слово var. Конструкция выглядит следующим образом:

В нашем случае это будет выглядеть следующим образом:

После объявления переменной начнем писать основной код программы. Он записывается в так называемых операторных скобках (begin и end). Это означает, что начинается основной код программы с ключевого слово begin, а заканчивается ключевым словом end. В конце программы после последнего ключевого слова end ставится точка (после слова begin точка с запятой не ставится).

Итак, после объявления переменных на следующей строчке пишем слово begin и переходим на следующую строчку. Начнем писать текст программы. Сперва в объявленную переменную s (можно было назвать и по-другому) нужно занести наше предложение «Я написал первую программу! Ура!», которое мы хотим вывести. Пока в нашей переменной (баночке) ничего нет. Чтобы ее заполнить – ей нужно присвоить какое-либо значение. Процесс, при котором мы помещаем в нашу банку (переменную) какого-либо значения (в нашем случае это предложение), называется присвоение и обозначается таким символом (:=) – двоеточие и равно. Выглядит это следующим образом:

Текст, который мы вводим в строковую переменную записывается в одинарных кавычках. Теперь компьютер знает, что в баночке (переменной) под именем s хранится набор символов – наше предложение. Теперь нам необходимо вывести содержимое переменной на экран. Для этого в языке Паскаль предусмотрены операторы (команды) write и writeln. Первая команда выводит на экран содержимое переменной или текст, а вторая делает тоже самое, только с переходом на другую строку, то есть начинает выводить значение с новой строки. Запишем это:

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

Рис. 2. Результат работы программы

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

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

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

Сперва напишем программу для целых чисел – чисел, используемых при счете (число 2 – целое число в программировании, тип данных Integer, а 2.3 – число с плавающей точкой, тип данных real). При сложении двух целых чисел получается целое число, значит и входные числа, и результат будут типа данных Integer.

Для начала к нашей объявленной переменной добавим еще три, назовем их: celoe1 для первого числа, celoe2 для второго числа и celoe3 для хранения результата сложения двух чисел. Получим баночки (переменные), в которых будут хранится целые числа. Измененная часть программы будет выглядеть так:

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

Теперь при запуске программы на дисплей монитора будет выведена просьба ввести первое число. Далее необходимо организовать ввод с клавиатуры. Нужно, чтобы при нажатии на цифру на клавиатуре в переменную заносилось значение, равное числу, изображенному на клавиатуре. Для этого в языке Паскаль был придуман оператор read() и readln(). В первом случае оператор присваивает введенное с клавиатуры значение переменной (ввод значения заканчивается нажатием на клавишу Enter), записанной в скобочках и оставляет курсор сразу после введенного числа, а во втором случае переводит курсор на новую строку.

После первой подсказки на новой строке пишем:

Повторяем такую операцию для второго числа – пишем подсказку о вводе второго числа и организуем ввод второго числа. Теперь у нас есть две переменных или как мы их называем две баночки, в каждой из которых находится по целому числу. Чтобы получить их сумму мы должны их сложить и положить в третью баночку (переменную). Так и запишем:

Выведем результат. Для вывода текста или содержания переменной у нас используется оператор write() и writeln(). Для красоты выведем результат на новой строке. Для этого будем использовать writeln(). Получим:

Обратите внимание, что мы выводим и текст, и значение переменной. Это сделано для того, чтобы не писать лишний раз оператор вывода. Если нужно вывести несколько операндов (значение оператора, например, переменная celoe3) сразу, то можно записывать их все в скобки в нужном порядке, разделяя между собой запятой. В итоге должен получиться следующий код:

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

Рис. 3. Сложение двух чисел

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

На первый взгляд нужно поменять лишь формулу для расчета, но нужно вспомнить, что не все числа будут делиться нацело, может оставаться остаток и число будет уже не целое, а с десятичной дробью, а это значит, что тип данных Integer нам уже не подойдет. Нужно использовать тип данных Real. При этом представим, что нам неизвестно, какое число будет введено с клавиатуры – целое или же дробное, поэтому и для введенных с клавиатуры чисел мы будем использовать тип данных Real. Перепишем строку, где мы объявляли целые числа. Назовем наши вещественные переменные v1, v2 и rez. Тогда получим:

Переходим в тело программы. Подсказки о вводе первого и второго числа мы оставляем как есть, а вот в операторе ввода read изменяем название переменных на v1 и v2. Теперь вместо формулы сложения напишем другую формулу:

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

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

Ну что же, запускаем программу и получаем результат (я ввел первое число = 8.2, второе число = 2), изображенный на рисунке 4.

Рис. 4. Числа с дробью

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

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

Источник

Читайте также:  чем накрыть бетон после заливки
Компьютерный онлайн портал
Pascal PascalABC.NET