на каком языке программа начинается ключевым словом program
На каком языке программа начинается ключевым словом program
1. Служебные (зарезервированные) слова. Их смысл зафиксирован в языке, и поэтому служебные слова нельзя использовать в качестве имен, вводимых программистом. Полный список служебных слов приведен в Приложении 1.
2. Имена (идентификаторы). Они вводятся для обозначения в программе переменных, констант, типов, процедур и функций. Имена формируются из букв и цифр. Первым символом имени должна быть буква. Длина имени не должна превышать 63 символа. Заглавные и строчные буквы в именах не различаются. Таким образом, следующие три идентификатора обозначают одну и ту же переменную:
index
INDEX
Index
3. Числа и символьные строки.
4. Знаки операций и разделители. Они формируются из одного или нескольких специальных символов.
5. Комментарии. Они представляют собой произвольную последовательность символов (не обязательно из алфавита языка, то есть допускаются и русские буквы), заключенную в фигурные скобки < >. Комментарии не изменяют смысл программы, не влияют на ее выполнение и предназначены для пояснений.
Для отделения лексем друг от друга используются символы пробелов или же лексемы должны быть размещены на различных строках программы.
Cтруктура программ в языке программирования Pascal.
Программа на языке Pascal всегда состоит из двух основных частей: описания последовательности действий, которые необходимо выполнить, и описания данных, с которыми оперируют действия. Действия представляются операторами языка, данные вводятся посредством описаний и определений. Описание данных, которые будут использоваться в программе предшествуют описанию действий, которые будут выполнены с данными. Кроме того, программа может быть снабжена заголовком, который задаст имя программы и ее параметры.
Рассмотрим полную структуру программы на языке Паскаль. В общем случае программа состоит из:
Пример. Программа, вычисляющая сумму двух чисел.
Урок 1. Первая программа на языке Паскаль
Урок из серии: «Язык программирования Паскаль»
Для начала написания непосредственно кода программы надо знать ее структуру: как правильно записываются команды, в каком порядке.
На первом занятии вы узнаете:
Для создания программ можно использовать среду программирования Pascal ABC.
Структура программы
Программа на языке Паскаль начинается с заголовка, имеющего следующий вид:
За ним идет раздел описаний, в котором должны быть описаны все идентификаторы (константы, переменные, типы, процедуры, функции, метки), которые будут использованы в программе.
После раздела описаний идет раздел операторов, который начинается со служебного слова begin (начало) и заканчивается служебным словом end (конец).
В этом разделе задаются действия над объектами программы, описанными в предыдущем разделе. Операторы в этом разделе отделяются друг от друга точкой с запятой. После последнего слова 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.
Следующий оператор — это снова оператор writeln(‘текст’,rez) — он выведет на экран текст, заключенный между апострофами, а за ним значение переменной rez.
Затем следующий оператор writeln выведет на экран сообщение: »Нажмите », а оператор readln будет ожидать этого нажатия в окне выполнения.
Завершает раздел операторов end с точкой.
Выполнение программы
После запуска программы на экране появляется сообщение:
Введите два целых числа через пробел
Коротко о главном
Программа на языке Pascal состоит из заголовка, раздела описаний и раздела операторов.
Если программа содержит несколько операторов, то они разделяются знаком точки с запятой.
Начало и конец раздела операторов обозначаются ключевыми словами begin и end. После слова end в конце текста программы всегда ставиться точка. Она означает, что программа закончена.
Команда вывода на экран — write(‘текст’) и writeln(‘текст’) отличаются положением курсора после выполнения команды. Команда write(‘текст’) оставляет курсор на той же строке, что и текст, а writeln переводит курсор на новую строку.
Компиляция выполняется клавишей F9. Для выполнения программы надо нажать Ctrl+9.
Структура программы в Pascal
Любая программа, написанная на языке Pascal состоит из заголовка программы и некоторого блока. Блок содержит раздел описаний, в котором определяются все локальные по отношению к данной программе объекты, и раздел операторов. Он задает действия, которые необходимо выполнять, над этими объектами.
Заголовок программы
В имени программы нельзя использовать какие-либо предописанные имена (зарезервированные слова). Они используются в программе только в том значении, которое зафиксировано для них разработчиками языка Pascal. Ниже приведен список таких слов.
and | end | nil | set |
array | file | not | then |
begin | for | of | to |
case | function | or | type |
const | goto | packed | until |
div | if | procedure | var |
do | in | program | while |
downto | label | record | with |
else | mod | repeat |
Заголовок носит чисто информативный характер и никак не влияет на программу. Программу можно написать и не используя его. После имени программы в ранних редакциях языка указывались круглые скобки и в них давались имена входных и выходных файлов задачи. В последних версиях языка Pascal имена входных и выходных файлов в заголовке программы отсутствуют.
Пример правильного написания заголовка:
Пример неправильного написания заголовка:
Имя метки может включать в себя буквы английского алфавита, цифры и знак подчеркивания. При этом, в отличии от имени программы метка может начинаться с цифры, да и вообще состоять только из цифр, но это число должно представлять собой целое число без знака, лежащее в диапазоне от 0 до 9999.
Пример правильного написания меток:
Раз уж разговор зашел про метки, то нужно сказать, что использование меток и оператора перехода goto не желательно при написании программы на Pascal. Применять его стоит только в необычных, исключительных ситуациях, когда приходится нарушать естественную структуру алгоритма. Частое появление в программе на Pascal оператора перехода свидетельствует о том, что программист еще не научился думать на Pascal.
Этот раздел необязателен, если у вас в программе не используются метки.
Использование имен констант делает программу более «читаемой» и способствует улучшению ее документируемости. Кроме того, это позволяет программисту сгруппировать в начале программы величины, зависящие от машины или характерные для данного примера: здесь они более заметны и их легче изменить. Тем самым улучшается переносимость программ и их модульность.
Константа может иметь только предопределенный (стандартный) тип данных. Тип присваивается константе по внешнему виду значения и в соответствии с этим типом отводится память для хранения значения константы.
Помимо стандартных типов данных в Pascal (Real, Integer, Boolean, Char) пользователь может задать новые типы. Структура раздела описания типов имеет вид:
Имя типа представляет собой идентификатор, который может употребляться в других типах, описанных вслед за данным типом. Вообще, новые типы можно определять и в разделе переменных Var, поэтому можно обойтись без этого раздела. Приведу несколько примеров описания типов:
Этот раздел является обязательным. Переменные отличаются от констант тем, что им можно присваивать новые значения при исполнении программы. Любая переменная, которая будет использована в программе должна быть описана. Что включает в себя описание переменной? Это значит, что переменной должен быть присвоен какой-либо тип данных, который характеризует множество значений, которые может принимать объект; множество операций, которые могут применяться к объекту; размер памяти, занимаемый объектом.
Структура раздела имеет вид:
Тип переменных представляет собой имя (идентификатор), описанный в разделе TYPE при явном описании типа, или собственно описание типа в случае его неявного задания. Примеры описания переменных:
В разделе Function и Procedure описываются пользовательские процедуры и функции, если таковые имеются. Если их нет, то этот раздел не обязателен в программе.
Структура раздела имеет вид:
Структура процедур и функций та же самая, что и у основной программы. Отличие описаний состоит в том, что идентификаторы констант, переменных, процедур и функций, описанных в соответствующих разделах описаний пользовательских процедур и функций, распространяются только на блоки, где они описаны и на блоки внутренние по отношению к ним. На внешние блоки, в том числе на тело основной программы, они не распространяются.
Pascal: Занятие №1. Часть 1: Структура программы на языке Паскаль, компиляторы
Структура программы на языке Паскаль
Паскаль — язык структурного программирования. Это означает, что для написания программы, необходимо предварительно составить алгоритм ее решения для компьютера. Синтаксисом предусмотрена определенная структура программы на языке Паскаль:
раздел меток ( label ) раздел констант ( const ) раздел типов ( type ) раздел переменных ( var )
(раздел может быть пропущен, если в программе не предусмотрено использование процедур или функций)
begin операторы; end.
Заголовок со служебным словом program в программе можно опускать.
Структура программы на языке Паскаль
Переменная – это величина, имеющая имя, тип и значение. Значение переменной может быть изменено во время работы программы.
В разделе описаний наиболее важная часть начинается после служебного слова var (сокращ. от англ. variable — переменная), именно здесь указываются типы переменных в Паскале, которые будут описаны дальше.
Раздел меток, типов и описание констант происходит, естественно, только при их наличии в программе.
Раздел операторов — основная часть программы, которая всегда начинается со служебного слова begin в Паскале (begin — в переводе с англ. начало). Соответственно заканчивается этот раздел служебным словом end (с англ. конец).
Рассмотрим примеры из раздела описаний:
Раздел меток ( label ):
Раздел констант ( const ):
const a1 = 55; a2 = 3.14; …
Раздел типов ( type ):
type t1 = вид_типа; t2 = вид_типа;
Раздел переменных ( var ):
var v11, v12,…: type1; v21, v22,…: type2; …
Таким образом, порядок составления программ на Pascal должен соответствовать указанной структуре программы.
Рекомендуемые компиляторы Паскаля
Известно, что программы не могут быть сразу обработаны процессором. Сначала они переводятся на машинный язык при помощи специальных программ-трансляторов. Для языка Pascal (и ряда других) такая программа называется компилятором (другой вид трансляторов — интерпретаторы), которых существует достаточно много. Но все они действуют примерно по одному принципу: необходимо сначала написать целую программу от начала до конца, затем, если имеются ошибки — исправить их, и только потом запустить работу компилятора, и программа выдаст результат.
Первые компиляторы были разработаны в 1992 г. фирмой Borland International: выпущены два пакета программирования — Borland Pascal 7.0 и Turbo Pascal 7.0.
Наиболее популярным транслятором до недавнего времени, используемым во всех школах и вузах, являлся компилятор Turbo Pascal или по-русски Турбо Паскаль, который имел англоязычный интерфейс и стандартное окно которого выглядело примерно так:
На современных компьютерах некоторые модули Turbo Pascal 7.0 (например, модуль CRT) работают некорректно. Служебное слово uses подключает к программе тот или иной модуль. Uses crt в Паскале — модуль, позволяющий выводить цветные символы на цветном экране при использовании текстового режима.
Сегодня всё большую популярность набирает русскоязычный компилятор PascalABC и его новая версия PascalABC net, скачать которую можно на официальном сайте. Среда разработки Паскаль abc или, как часто ее называют, Паскаль абс (и даже так: авс и абц), выгодно отличается замечательным справочным материалом, синтаксической подсветкой и, как уже было сказано, русским языком. Кроме того, это целая платформа (framework), позволяющая работать в визуальном редакторе с элементами управления.
Модуль crt в pascal abc не подключается, и в целом работа с модулями значительно упрощена по сравнению с Turbo pascal.
Таким образом, среда программирования Pascal abc выгодно отличается от всех своих предшественников.
«Национальные» языки программирования
Когда мне в очередной раз пришлось столкнуться с 1С, я заинтересовался, существуют ли ещё какие-либо языки программирования с ключевыми словами не на английском. Что не удивительно, таких языков оказалось не так уж и мало, и как я и предполагал, большинство из них предназначено либо для обучения программированию, либо созданы энтузиастами и поэтому не предназначены для серьёзных разработок. Ниже я предлагаю вам обзор нескольких таких языков (которые мне показались наиболее интересными). Естественно, статья написана исключительно в ознакомительных целях и в ней нет выводов о том, нужны ли такие языки или нет.
1) GOTO++
Сайт: http://www.gotopp.org/
Языки: французский, английский
Начнем, пожалуй, с самого необычного языка. GOTO++ является эзотерическим языком программирования, в котором ключевые слова представляют собой смесь английского и французского языков.
Язык примечателен необычным набором функций, ключевых слов и синтаксических конструкций, которые по задумке автора должны мешать написанию кода. Например:
• Для записи аргументов функции необходимо, чтобы они стояли правее левой скобки (при этом местонахождение правой скобки не имеет значение).
• Комментарии пишутся после ключевого слова GOTO.
• Для группировки математических операций вместо круглых скобок используются фигурные, причём расположенные в обратном порядке (> <).
• Целочисленные, вещественные и символьные литералы записываются с использованием спецсимволов.
I=*(3)
J=?-90,5
K=*`a’
• Функция GOTOGOTO даёт возможность перехода на одну из меток с указанной после знака вопроса вероятностью (при этом, если суммарное значение вероятности меньше 100%, то появляется шанс на переход на следующую строчку программы):
Более подробно ознакомиться с языком вы можете в официальной документации (на французском): http://www.gotopp.org//doc/html/index.html
Пример программы «99 bottles of beer»:
GOTO Vars
msgBtle = « bottle»
msgWall = « of beer on the wall»
msgBeer = « of beer.;n»
msgTake = «Take one down, pass it around, »
newLine = «;n;n»
msgEnd = «Go to the store and buy some more, »
msgNoN = «No more»
msgNon = «no more»
plural = * `s’
beers = *( 99 )
GOTO Last verses of the song
GOTOPRINTDUTEXTE () &msgWall &plural &msgBtle &msgNoN
GOTOPRINTDUTEXTE () &msgBeer &plural &msgBtle &msgNon * ` ‘ * `,’
GOTOPRINTDUTEXTE () &msgEnd
GOTOPRINTDUTEXTE () &newLine * `.’ &msgWall &plural &msgBtle «99»
В комплекте с компилятором идёт простенькая IDE.
Синтаксически язык похож на C#, но является более многословным. Из особенностей можно выделить необходимость использования ключевого слова copie вместо оператора присваивания, а также то, что объект автоматически инстанцируется при объявлении переменной, если не указать ключевое слово no_crear.
Оператор ветвления в языке имеет следующий вид:
Пример ввода и вывода данных:
tarea
<
los objetos valor1, valor2, resultado son cantidades //объявляем переменные типа integer
entre valor1, valor2 //ожидание ввода данных в консоли
copie valor1*valor2 en resultado
Пример с созданием графического окна:
clase FormTest derivada_de system.windows.forms.form
<
privados :
el objeto valor es un caracter //private поле типа string
mensajeS :
FormTest
<
copie «FormTest» en valor
copie valor en FormTest.text
>
>
Обучающий язык программирования и среда разработки, предназначенная для создания 3D анимаций и игр. Сама среда платная, но в комплекте идёт бесплатная версия редактора, которая не позволяет работать с 3D, но с помощью которой можно писать простые программы (в том числе и графические).
В платной версии редактора вы можете писать сценарии двумя способами:
• Средствами графического программирования (наподобие как в LabVIEW), путём перетаскивания «плиток» с инструкциями в область редактора.
• При включении параметра enableFreeScripting, становится возможным писать код программы в текстовой форме.
Пример программы с созданием графического окна и рисованием на нём:
מחלקה תכנית_ציור יורש חלון
תגובות ללחיצה על העכבר #
מתודה תקנית: תגובה לאירוע לחיצה על מקש העכבר # (x, y) מתודה עכבר_נלחץ
צב.מקום(x, y)
מתודה תקנית: תגובה לאירוע גרירת העכבר # (x, y) מתודה עכבר_נגרר
צב.אל(x, y)
הגדר ת=תכנית_ציור() # יצירת עצם מהמחלקה של התכנית — גורם ליצירת חלון ולתחילת תגובה לאירועי העכבר
Попробуйте найти ошибку в данной программе
קלאס צייכענונג_אפ ינכעראץ פענצטער
שעפן מויז געשעענישן#
מעטאד מויז_געדריקט(אקס, ווי) #נארמאל מויז געדריקט אופן
טשערעפאכע.שטעלע(אקס, ווי) #טשערעפאכע רעפריזענץ דעם איצטיקן פעדער ארט
מעטאד מויז_דראגד(אקס, ווי) #נארמאל מויז דראגד אופן
טשערעפאכע.צו(אקס, ווי) #ציען שורה פון א פאזיציע צו די געגעבן איין
דעפינירן אפ=צייכענונג_אפ() #אנהייבן די אפלאקיישאן — שאפן ניו אפלאקיישאן כייפעץ
class DrawingApp inherits Window
# handle mouse events
define app=DrawingApp() # start the application — create new Application object
Сайт: www.robomind.net/
Языки: арабский, болгарский, каталанский, чешский, немецкий, греческий, английский, испанский, французский, венгерский, индонезийский, итальянский, древнееврейский, корейский, нидерландский, польский, португальский, русский, словацкий, словенский, шведский, тайский, турецкий, украинский, китайский
Среда для обучения программированию, в которой нужно управлять исполнителем в лице робота. Робот умеет совершать следующие базовые действия: двигаться, рисовать, смотреть, перетаскивать маяки, а также подбрасывать монетку. В языке доступны основные базовые конструкции, такие как циклы, ветвления и процедуры.
Пример программы, в которой робот двигается вдоль белой дорожки:
ismétel
<
ha (előlFehér) <
előre(1)
>
máskép ha (jobbraFehér) <
jobbra
>
máskép ha (balraFehér) <
balra
>
máskép ha (vanElőlAkadály) <
vége
>
>
uprepa
<
om (framåtÄrVit) <
framåt(1)
>
annars om (högerÄrVit) <
höger
>
annars om (vänsterÄrVit) <
vänster
>
annars om (framåtÄrHinder) <
slut
>
>
повтор
<
если (впередиБелый) <
вперед(1)
>
иначе если (справаБелый) <
направо
>
иначе если (слеваБелый) <
налево
>
иначе если (впередиПрепятствие) <
закончить
>
>
Язык программирования, разработанный профессором информатики Исландского университета Снорри Агнарссоном, и пик популярности которого пришёлся на 1980-е годы.
;; Hello world in Fjölnir
«hello»
stef (;)
stofn
skrifastreng (; «Hello, world!» ),
stofnlok
>
*
«GRUNNUR»
;
Подробнее по данной теме вы можете почитать здесь: http://morpho.cs.hi.is/papers/p117-agnarsson.pdf
Ещё один пример программы, производящей расчёт числа Эйлера через разложение Тэйлора, с кратким описанием:
skrifastreng (; “e=2.» ),
;; вывод числа на экран
skrifafjöl (;(summa/ 1000 / 100 + 5 )/ 10 ),
छोड़ें अंक – переменная типа number
अंक अ
अंक प
छोड़ें पढें – ожидание ввода данных в консоли
पढें अ
पढें प
छोड़ें अगर – if; वरना – else; खत्म अगर – end if
अगर <अ*प >20 >
लिखें «> 20»
वरना
लिखें »
खत्म अगर
छोड़ें पंक्ति – переменная типа string
पंक्ति ब
पढें ब
Обучающий язык программирования, созданный в MIT Media Lab и предназначенный для создания простых мультфильмов и игр. Является рекордсменом по числу локализаций. Программы на Scratch строятся, как и в Mama, из графических блоков. Вторая версия редактора (сейчас в стадии beta) написана на Adobe Flash.