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

Язык программирования как способ записи программ решения различных задач на ЭВМ в понятной для компьютера форме. Высокоуровневые языки программирования: понятие и основные характеристики. Логические выражения и особенности системы Турбо Паскаль.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 22.03.2014
Размер файла 37,9 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

Содержание

Введение

Основная часть

1. Языки программирования высокого уровня

2. Логические выражения

Заключение

Глоссарий

Список использованных источников

Введение

Языков программирования, как и человеческих языков, придумано много. Причина - в разнообразии потребностей программистов, в разных уровнях их квалификации и во многом другом. Так, начинающим вряд ли стоит предлагать Ассемблер, а профессионалу не нужен Лого. Часто разные языки ориентированы на разные предметные области. Например, язык Пролог позволяет удобно описывать логические взаимосвязи в окружающем нас мире, Лого позволяет удобно рисовать фигуры и снабжен для этого соответствующим набором процедур, а вот решать сложные математические задачи с его помощью лучше и не пытаться.

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

Язык программирования -- это способ записи программ решения различных задач на ЭВМ в понятной для компьютера форме. В 1950-х гг. появляются первые средства автоматизации программирования -- языки Автокоды. Появление языков типа Автокод-Ассемблер облегчило участь программистов. Числовые коды операций заменились на мнемонические (словесные) обозначения, которые легче запомнить. Язык программирования стал понятнее для человека, но при этом удалился от языка машинных команд. Чтобы компьютер мог исполнять программы на Автокоде, потребовался специальный переводчик -- транслятор. Транслятор -- это системная программа, переводящая текст программы на Автокоде в текст эквивалентной программы на ЯМК. Языки программирования высокого уровня (ЯПВУ) являются машинно-независимыми языками. Одна и та же программа на таком языке может быть выполнена на ЭВМ разных типов, оснащенных соответствующим транслятором. Форма записи программ на ЯПВУ по сравнению с Автокодом еще ближе к традиционной математической форме, к естественному языку. Очень скоро вы увидите, что, например, на языке Паскаль она почти такая же, как на школьном Алгоритмическом языке. ЯПВУ легко изучаются, хорошо поддерживают структурную методику программирования.

Первыми популярными языками высокого уровня, появившимися в 1950-х гг., были Фортран, Кобол (в США) и Алгол (в Европе). Языки Фортран и Алгол были ориентированы на научно-технические расчеты математического характера. Кобол -- язык для программирования экономических задач.

Большое количество языков программирования появилось в 1960--1970-х гг. А за всю историю ЭВМ их было создано более тысячи. Но распространились, выдержали испытание временем немногие. В 1965 г. в Дартмутском университете был разработан язык Бейсик. По замыслу авторов это простой язык, легко изучаемый, предназначенный для программирования несложных расчетных задач.

В эпоху ЭВМ третьего поколения получил большое распространение язык PL/I (Program Language One), разработанный фирмой IBM. Это был первый язык, претендовавший на универсальность, т. е. на возможность решать любые задачи: вычислительные, обработки текстов, накопления и поиска информации. Однако PL/I оказался слишком сложным языком.

Значительным событием в истории языков программирования стало создание в 1971 г. языка Паскаль. Его автор -- швейцарский профессор Н.Вирт -- разрабатывал Паскаль как учебный язык структурного программирования.

Наибольший успех в распространении этого языка обеспечили персональные компьютеры. Фирма Borland International, Inc (США) разработала систему программирования Турбо Паскаль для ПК

Турбо Паскаль -- это не только язык и транслятор с него, но еще и операционная оболочка, обеспечивающая пользователю удобство работы. Турбо Паскаль вышел за рамки учебного предназначения и стал языком профессионального программирования с универсальными возможностями. Транслятор с Турбо Паскаля по оптимальности создаваемых им программ близок наиболее удачному в этом отношении транслятору -- транслятору с Фортрана. Паскаль стал основой многих современных языков программирования, например, таких как Ада, Модула-2 и др.

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

Си++ Международная система единиц, СИ (фр. Le Syst?me International d'Unit?s, SI) -- система единиц физических величин, современный вариант метрической системы. СИ является наиболее широко используемой системой единиц в мире, как в повседневной жизни, так и в науке и технике. В настоящее время СИ принята в качестве основной системы единиц большинством стран мира и почти всегда используется в области техники, даже в тех странах, в которых в повседневной жизни используются традиционные единицы. В этих немногих странах (например, в США) определения традиционных единиц были изменены таким образом, чтобы связать их фиксированными коэффициентами с соответствующими единицами СИ.

Полное официальное описание СИ вместе с её толкованием содержится в действующей редакции Брошюры СИ (фр. Brochure SI, англ. The SI Brochure), опубликованной Международным бюро мер и весов (МБМВ) и представленной на сайте МБМВ[1]. Брошюра СИ издаётся с 1970 года, с 1985 года выходит на французском и английском языках, переведена также на ряд других языков.

ЭВМ будущего, пятого поколения называют машинами «искусственного интеллекта». Но прототипы языков для этих машин были созданы существенно раньше их физического появления. Это языки ЛИСП и Пролог.

Лисп (LISP, от англ. LISt Processing language -- «язык обработки списков»; современное написание: Lisp) -- семейство языков программирования, программы и данные в которых представляются системами линейных списков символов. Создатель Лиспа Джон Маккарти занимался исследованиями в области искусственного интеллекта (в дальнейшем ИИ) и созданный им язык по сию пору является одним из основных средств моделирования различных аспектов ИИ.

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

Традиционный Лисп имеет динамическую систему типов. Язык является функциональным, но начиная уже с ранних версий обладает также чертами императивности, к тому же, имея полноценные средства символьной обработки, позволяет реализовать объектно-ориентированность; примером такой реализации является платформа CLOS.

Язык Лисп является языком системного программирования для так называемых Лисп-машин, производившихся в 80-е годы, например, фирмой Symbolics.

Язык Лисп, наряду с языком Ada, прошел процесс фундаментальной стандартизации для использования в военном деле и промышленности, в результате чего появился стандарт Common Lisp. Его реализации существуют для большинства платформ.

Пролог (фр. Programmation en Logique) -- язык и система логического программирования, основанные на языке предикатов математической логики дизъюнктов Хорна, представляющей собой подмножество логики предикатов первого порядка.

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

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

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

Факты в базах знаний на языке Пролог представляют конкретные сведения (знания). Обобщённые сведения и знания в языке Пролог задаются правилами логического вывода (определениями) и наборами таких правил вывода (определений) над конкретными фактами и обобщёнными сведениями.

Начало истории языка относится к 1970-м годам.[1] Будучи декларативным языком программирования, Пролог воспринимает в качестве программы некоторое описание задачи или баз знаний и сам производит логический вывод, а также поиск решения задач, пользуясь механизмом поиска с возвратом и унификацией.

Вот некоторые наиболее популярные языки программирования:

Ассе?мблер (от англ. assembler -- сборщик) -- компилятор исходного текста программы, написанной на языке ассемблера, в программу на машинном языке.

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

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

Ло?го (англ. Logo) -- язык программирования высокого уровня, разработанный в 1967 году Сеймуром Пейпертом и Идит Харель в образовательных целях для обучения детей дошкольного и младшего школьного возраста основным концепциям программирования (рекурсии, расширяемости и пр.) Logo также обеспечивает среду, в которой дети могут развивать свои навыки рассуждений и решений задач.

Бе?йсик (от BASIC, сокращение от англ. Beginner's All-purpose Symbolic Instruction Code -- универсальный код символических инструкций для начинающих[1]) -- семейство высокоуровневых языков программирования.

Был разработан в 1964 году профессорами Дартмутского колледжа Томасом Курцем и Джоном Кемени.[2]

Язык создавался как инструмент, с помощью которого студенты-непрограммисты могли самостоятельно создавать компьютерные программы для решения собственных задач. Получил широкое распространение в виде различных диалектов, прежде всего как язык для домашних компьютеров. К настоящему моменту претерпел существенные изменения, значительно отойдя от характерной для первых версий простоты, граничащей с примитивизмом и превратившись в достаточно ординарный язык высокого уровня с типичным набором возможностей. Используется как самостоятельный язык для разработки прикладных программ, главным образом, работающих под управлением ОС Windows различных версий. Также широко распространён в качестве встроенного языка прикладных программных систем различного назначения и в качестве языка для программируемых калькуляторов.

Основная часть

1. Языки программирования высокого уровня

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

Высокоуровневые языки программирования были разработаны для платформенной независимости сути алгоритмов. Зависимость от платформы перекладывается на инструментальные программы -- трансляторы, компилирующие текст, написанный на языке высокого уровня, в элементарные машинные команды (инструкции). Поэтому, для каждой платформы разрабатывается платформенно-уникальный транслятор для каждого высокоуровневого языка, например, переводящий текст, написанный на Delphi в элементарные команды микропроцессоров семейства x86.

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

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

Всякий язык программирования имеет три основные составляющие: алфавит, синтаксис и семантику.

Алфавит -- это фиксированный для данного языка набор основных символов, т.е. "букв алфавита", из которых должен состоять любой текст на этом языке -- никакие другие символы в тексте не допускаются.

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

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

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

1. Имена (идентификаторы) -- употребляются для обозначения объектов пpогpаммы (переменных, массивов, функций и др.).

2. Операции. Типы операций:

*арифметические операции + , -- , * , / и дp. ;

*логические операции и , или , не ;

*операции отношения < , > , <= , >= , = , <> ;

*операция сцепки (иначе, "присоединения", "конкатенации" ) символьных значений друг с другом с образованием одной длинной строки; изображается знаком "+".

3. Данные -- величины, обрабатываемые пpогpаммой. Имеется три основных вида данных: константы, переменные и массивы.

*Константы -- это данные, которые зафиксированы в тексте программы и не изменяются в процессе ее выполнения.

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

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

4. Выражения -- предназначаются для выполнения необходимых вычислений, состоят из констант, переменных, указателей функций (напpимеp, exp(x)), объединенных знаками операций.

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

Различают выражения арифметические, логические и строковые.

*Арифметические выражения служат для определения одного числового значения.

*Логические выражения описывают некоторые условия, которые могут удовлетворяться или не удовлетворяться. Таким образом, логическое выражение может принимать только два значения -- "истина" или "ложь" (да или нет).

*Строковые (литерные) выражения, значениями которых являются тексты. В строковые выражения могут входить литерные и строковые константы, литерные и строковые переменные, литерные функции, разделенные знаками операции сцепки.

5. Операторы (команды). Оператор -- это наиболее крупное и содержательное понятие языка: каждый оператор представляет собой законченную фразу языка и определяет некоторый вполне законченный этап обработки данных.

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

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

Символы языка -- это основные неделимые знаки, в терминах которых пишутся все тексты на языке.

Элементарные конструкции -- это минимальные единицы языка, имеющие самостоятельный смысл. Они образуются из основных символов языка.

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

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

Программирование на паскале

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

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

Во-вторых, Паскаль хорошо приспособлен для применения технологии разработки программ сверху-вниз (пошаговой детализации).

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

Основные отличия алгоритмических языков от машинных языков:

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

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

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

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

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

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

Из вышеперечисленного следует, что алгоритмический язык в значительной мере является машинно-независимым.

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

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

Для каждого понятия языка должна существовать единственная метаформула, в левой части которой указывается определяемое понятие (метапеременная языка БНФ), а правая часть формулы тем или иным способом задает все множество значений этой метапеременной (все допустимые конструкции, которые объединяются в это понятие). Все метапеременные заключаются в специальные угловые скобки < и >, которые не принадлежат алфавиту определяемого языка, т.е. являются метасимволами, например, <выражение>, <число> и т.д. Основные же символы языка указываются непосредственно. Левая и правая части метаформулы разделяются специальным знаком : : =, смысл которого можно интерпретировать как «по определению есть». Обычно в качестве значений метапеременной может приниматься любая из нескольких допустимых конструкций. Все допустимые конструкции указываются в правой части формулы и разделяются метасимволом «|», смысл которого можно передать словом «или» («либо»). Кроме перечисления всех возможных значений метапеременной в правой части метаформулы может быть указано правило построения значений. Турбо Паскаль -- это не только язык и транслятор с него, но еще и операционная оболочка, обеспечивающая пользователю удобство работы. Турбо Паскаль вышел за рамки учебного предназначения и стал языком профессионального программирования с универсальными возможностями. С помощью встроенного в систему текстового редактора можно формировать в памяти любые тексты, не только программы на Паскале. В частности, это могут быть исходные данные решаемой задачи в текстовой форме. Текст программы, созданный редактором, можно сохранить на диске в виде файла с именем следующего формата. В Паскале заложены возможности непосредственного обращения к некоторым машинным командам, к определенным участкам памяти компьютера. Программы на Паскале, всегда компилируются. Компиляция является аналогом полного предварительного перевода; интерпретация -- аналогом синхронного перевода. Паскаль как учебный язык структурного программирования. Идентификатор -- это любая последовательность букв и цифр, начинающаяся с буквы. В Турбо Паскале к буквам приравнивается также знак подчеркивания. Строчные и прописные буквы в идентификаторах и служебных словах не различаются. Например: max, MAX, MaX и mAx -- одно и то же имя.

Длина идентификатора может быть произвольной, но значащими являются только первые 63 символа.

Комментарии. Следующие конструкции представляют собой комментарии и поэтому игнорируются компилятором:

(любой текст, не содержащий символ «}» }

(* любой текст, не содержащий символы «*)»*)

Буквы русского алфавита употребляются только в комментариях, в литерных и текстовых константах.

Строка, начинающаяся с символов {$ или (*$, является директивой компилятора. За этими символами следует мнемоника команды компилятора.

Математические задачи

Задача на графику. Постройте оси Х,Y и начертите цветом LightGreen графики функции Y=sinx,Y=cosx,Y=tgx по выбору пользавателя.

uses

Graph,CRT;

const

k = 100;

var

D,R,i,state : integer;

y : Real;

begin

WriteLn('Vvedite');

WriteLn('"1" dlya grafika Y = SIN X');

WriteLn('"2" dlya grafika Y = COS X');

WriteLn('"3" dlya grafika Y = TG X');

D := Detect;

ReadLn(state);

InitGraph(D,R,'..\bgi');

SetBkColor(Black);

ClearDevice;

SetColor(White);

Line(3,3,3,477);

Line(3,240,637,240);

OutTextXY(5,470,'Y');

OutTextXY(630,245,'X');

SetColor(58);

for i:=1 to 637 do

begin

case state of

1: y:=sin(i/k);

2: y:=cos(i/k);

3: y:=sin(i/k)/cos(i/k);

else

begin

Write('Input INCORRECT');

ReadLn;

ReadLn;

halt;

end;

end;

y:= - y * k;

y := y + 240;

putpixel(i+3,round(y),58);

end;

ReadLn;

ReadLn;

end.

Первое знакомство с Паскалем

Паскаль, в его первоначальном виде представляет собою чисто процедурный язык и включает в себя множество алголоподобных структур и конструкций с зарезервированными словами наподобие: if, then, else, while, for, и т. д. Тем не менее Паскаль также содержит большое количество возможностей для структурирования информации и абстракций, которые отсутствуют в изначальном Алголе-60, такие как определение типов, записи, указатели, перечисления, и множества.

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

Программирование заключается в записи алгоритма на языке программирования и отладке программы. Текст программы записывается в текстовом редакторе, затем программа компилируется - переводится транслятором (переводчиком) в машинные коды и запускается на выполнение. Процесс отладки программы начинается с выявления:

- синтаксических ошибок в тексте (неверно записанных операторов),

- ошибок при выполнении программы (недопустимые математические действия, операции с числами, превосходящими предельные значения),

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

Программы на Паскале начинаются с ключевого слова program и следующего за ним имени программы с точкой с запятой (в некоторых диалектах является необязательным), за именем может в скобках следовать список внешних файловых дескрипторов в качестве параметров; за ним следует тело программы, состоящее из секций описания переменных, типов и констант, объявлений процедур и функций и следующего за ними блока операторов, являющегося точкой входа в программу. В языке Паскаль блок ограничивается ключевыми словами begin и end. Операторы разделяются точками с запятой, после тела помещается точка, служащая признаком конца программы. Регистр символов в Паскале не имеет значения. Простые типы данных Паскаля: числа с плавающей запятой (real), целые (integer), символьный (char), логический (boolean) и перечисления (конструктор нового типа, введённый в Паскале).

var { секция объявления переменных }

i: Integer; { переменная целого типа }

c: Char; { переменная-символ }

b: Boolean; { логическая переменная }

s: String; { переменная строки }

t: Text; { переменная для обьявления текстового файла }

e: (apple, pear, banana, orange, lemon); { переменная типа-перечисл. }

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

program p;

begin

end.

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

Пример программы, выводящей строку «Hello, World!»:

program HelloWorld(output);

begin

writeln('Hello, World!') { оператор вывода строки }

end.

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

*Нельзя опускать знак умножения между сомножителями и ставить рядом два знака операций.

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

*Для обозначения переменных используются буквы латинского алфавита.

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

*Операции одного старшинства выполняются слева направо. В языке Pascal вообще не предусмотрена операция возведения в степень, в Pascal x^y записывается как exp(y*ln(x)), а x^y^z как exp(exp(z*ln(y))*ln(x)).

Некоторые сведения о системе Турбо Паскаль

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

* как диалект языка Паскаль, представляющий собой расширение стандартного Паскаля;

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

В дальнейшем мы будем рассматривать именно Турбо Паскаль, так как он реализован на основных типах персональных компьютеров (IBM PC и совместимых с ними).

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

Систему программирования Турбо Паскаль назовем кратко Турбо-системой. Турбо-система обеспечивает удобную операционную обстановку для работы программиста. Но ее назначение не общее, как, например, у оболочки операционной системы MS DOS Norton Commander, а специализированное -- предоставлять пользователю необходимые средства работы с Паскаль-программой.

Турбо-система опирается в своей работе на возможности операционной системы. Поэтому каждая конкретная Турбо-система может работать с определенной операционной системой, ее конкретными версиями. Например, Турбо-система на IBM PC работает в среде MS DOS, причем более развитые версии Турбо-системы требуют и более высокоразвитых версий DOS.

Турбо Паскаль (как язык программирования и как операционная оболочка) значительно изменился за историю своего существования. Первый вариант Турбо Паскаля фирма Borland выпустила в середине 1980-х гг. К сегодняшнему дню этой фирмой созданы шесть модификаций системы, известных как версии 3.0, 4.0, 5.0, 5.5, 6.0, 7.0. Каждая из них представляет собой усовершенствование предыдущей версии. Все они создавались для семейства машин IBM PC и совершенствовались вместе с компьютерами.

2. Логические выражения

Логические выражения

В записи логических выражений помимо арифметических операций сложения, вычитания, умножения, деления и возведения в степень используются операции отношения < (меньше), <= (меньше или равно), > (больше), >= (больше или равно), = (равно), <> (не равно), а также логические операции и, или, не.

Program Factorial;

Var N,I,F: integer;

Begin ReadLn(N);

F:=1;

I:=1;

While I<=N Do

Beqin F:=F*I;

I:=I+1;

End;

WriteLn(F)

End.

Из этого примера, во-первых, видно, как записывается на Паскале оператор цикла с предусловием (цикл-пока):

While <условие выполнения> Do <тело цикла>

(While -- пока, Do -- делать). Если тело цикла содержит последовательность операторов, то говорят, что оно образует составной оператор, в начале и в конце которого надо писать Begin и End

Служебные слова Begin и End часто называют операторными скобками, которые объединяют несколько операторов в один составной. Если же тело цикла -- один оператор (не составной), то операторных скобок не требуется. Тогда транслятор считает, что тело цикла заканчивается на ближайшем знаке «;».

Во-вторых, из примера видно, что в Паскале нет специальных слов для обозначения начала цикла (нц) и конца цикла (кц). На все случаи есть универсальные слова Begin и End.

Цикл с постусловием (цикл-до) программируется оператором

Repeat <тело цикла> Until <условие окончания>

(здесь Repeat -- повторять, Until -- до). Тело цикла может быть как одиночным, так и составным оператором, однако употребления Begin и End не требуется, поскольку сами слова Repeat и Until выполняют роль операторных скобок.

Знак не равно в Паскале пишется так: <>, знак больше или равно: >=.

В формулах вычисления корней используется стандартная функция квадратного корня ( ), которая в Паскале записывается так: sqrt (x). Порядок выполнения операций в выражении определяется скобками и старшинством операций. Старшинство операций такое же, как и в алгебре. Операции одинакового старшинства выполняются в порядке их записи (слева направо).

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

If <условие> Then <оператор 1> Else «oператор 2>

(здесь If -- если, Then -- то, Else -- иначе). Операторы 1 и 2 могут быть как простыми, так и составными. Составной оператор следует заключать в операторные скобки Begin и End.

Так же, как и в Алгоритмическом языке, возможно использование неполной формы условного оператора:

if <условие> then <оператор>

Характерной чертой данной программы является использование в тексте комментариев. Комментарий -- это любая последовательность символов, заключенных в фигурные скобки {...}. Можно употреблять также следующие ограничители комментариев (*...*). Комментарий не определяет никаких действий программы и является лишь пояснительным текстом. Он может присутствовать в любом месте программы, где можно поставить пробел.

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

Удачное использование комментариев -- признак хорошего стиля программирования.

Чтобы выполнить программу на ЭВМ, ее нужно ввести в память, оттранслировать и исполнить. Для того чтобы проделать всю эту работу, на компьютере должны быть специальные средства программного обеспечения. На ПК они составляют систему Турбо Паскаль.

Некоторые сведения о системе Турбо Паскаль

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

* как диалект языка Паскаль, представляющий собой расширение стандартного Паскаля;

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

В дальнейшем мы будем рассматривать именно Турбо Паскаль, так как он реализован на основных типах персональных компьютеров (IBM PC и совместимых с ними). компьютер программирование паскаль язык

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

Систему программирования Турбо Паскаль назовем кратко Турбо-системой. Турбо-система обеспечивает удобную операционную обстановку для работы программиста. Но ее назначение не общее, как, например, у оболочки операционной системы MS DOS Norton Commander, а специализированное -- предоставлять пользователю необходимые средства работы с Паскаль-программой.

Программа на Турбо Паскале проходит три этапа обработки:

* создание текста программы;

* компиляция;

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

В соответствии с этими функциями Турбо-система включает в себя три главные компоненты:

* редактор текстов;

* компилятор;

* исполнительную систему.

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

<имя файла>.раs

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

<имя файла>.ехе

Работа компилятора инициируется системной командой Compile. Исполнение откомпилированной программы производится по команде Run. При этом исполнение программы остается под контролем Турбо-системы. В частности, Турбо-система помогает обнаружить ошибку в программе, если при исполнении произошел сбой

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

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

Подробные сведения о работе с конкретными версиями Турбо Паскаля можно найти в специальной литературе (см. список литературы),

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

Элементы языка Турбо Паскаль

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

Латинские буквы: от A до Z (прописные) и от а до z. (строчные).

Цифры: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9.

Шестнадцатеричные цифры: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, А, В, С, D, E, F.

Специальные символы: + -- * / = < > [ ] . , ( ) : ; { } ^ @ $ #.

Следующие комбинации специальных символов являются едиными символами (их нельзя разделять пробелами):

: = знак присваивания; < = меньше или равно;

> = больше или равно; (* *) ограничители комментариев

< > не равно; (используются наряду с {});

(..) эквивалент [ ].

Пробелы -- символ пробела (ASCI1-32) и все управляющие символы кода ASCII (от 0 до 31).

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

and | asm | array | begin | case | const| constructor | destructor | div | do | downto | else | end | exports | file | for | function | goto | if | implementation | in | inherited | inline | interface | label | library | mod | nil | not | object | of | or | packed | procedure | program | record | repeat | set |Последние версии языка содержат еще ряд служебных слов, относящихся к работе с объектами и встроенным ассемблером.

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

Особенности целочисленной и вещественной арифметики

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

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

* целые числа всегда представимы своими точными значениями;

* операции целочисленной арифметики дают точные результаты;

* операции целочисленной арифметики выполняются быстрее, чем операции вещественной («плавающей») арифметики.

Недостатком целого типа данных является сравнительно узкий диапазон допустимых значений (для типа Integer -- от -32768 до 32767). При исполнении программы автоматически не контролируется выход значения целой величины за эти границы. В этом случае получается ошибочный результат. Если такая опасность существует, то программист должен сам предусматривать в своей программе предупреждение целочисленного переполнения. Чаще всего целый тип используется для представления счетчиков, номеров, индексов и других целочисленных величин.

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

* величины этого типа принимают конечное множество значений, которые могут быть пронумерованы;

* на множестве значений данного типа работают понятия: «предыдущий элемент», «последующий элемент».

Почему же вещественный тип данных не является упорядоченным? Вещественные числа в памяти ЭВМ представляются в формате с плавающей точкой, т.е. в виде совокупности пары чисел -- целого порядка и нормализованной мантиссы. Поскольку размер ячейки памяти ограничен, в большинстве случаев мантисса оказывается «обрезанной», иными словами, приближенной. Точное представление в памяти имеет лишь дискретное конечное множество вещественных значений.

Заключение

Программист пишет комментарии не для компьютера, а для себя.

Удачное использование комментариев -- признак хорошего стиля программирования. Чтобы выполнить программу на ЭВМ, ее нужно ввести в память, оттранслировать и исполнить. Для того чтобы проделать всю эту работу, на компьютере должны быть специальные средства программного обеспечения. На ПК они составляют систему Турбо Паскаль.

Программа Паскальь состоит из заголовка программы и тела программы (блока), за которым следует точка -- признак конца программы. В свою очередь, блок содержит разделы описаний и раздел операторов. Турбо-система опирается в своей работе на возможности операционной системы. Поэтому каждая конкретная Турбо-система может работать с определенной операционной системой, ее конкретными версиями. Например, Турбо-система на IBM PC работает в среде MS DOS, причем более развитые версии Турбо-системы требуют и более высокоразвитых версий DOS. В изучении естественных языков и языков программирования есть сходные моменты. Во-первых, для того чтобы читать и писать на иностранном языке, нужно знать алфавит этого языка. Во-вторых, следует знать правописание слов и правила записи предложений, т. е. то, что называется синтаксисом языка. В-третьих, важно понимать смысл слов и фраз, чтобы адекватно реагировать на них: ведь из грамотно написанных слов можно составить абсолютно бессмысленную фразу.

Турбо Паскаль -- это не только язык и транслятор, но еще и операционная оболочка, обеспечивающая пользователю удобство работы. Турбо Паскаль вышел за рамки учебного предназначения и стал языком профессионального программирования с универсальными возможностями. Транслятор с Турбо Паскаля по оптимальности создаваемых им программ близок наиболее удачному в этом отношении транслятору -- транслятору с Фортрана. В силу названных достоинств Паскаль стал основой многих современных языков программирования, например, таких как Ада, Модула-2 и др. При компиляции исполнение программы разбивается на два этапа: трансляцию и выполнение. При интерпретации, поскольку трансляция и выполнение совмещены, программа на ЭВМ проходит в один этап. Однако откомпилированная программа выполняется быстрее, чем интерпретируемая. Поэтому использование компиляторов удобнее для больших программ, требующих быстрого счета. Программы на Паскале, Си, Фортране всегда компилируются. Бейсик чаще всего реализован через интерпретатор.

Глоссарий

№ п/п

Понятие

Определение

1

ЯПВУ

Языки программирования высокого уровня-являются машинно-независимыми языками

2

Турбо Паскаль

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

3

Символы языка

Символы языка -- это основные неделимые знаки, в терминах которых пишутся все тексты на языке.

4

Си язык

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

5

Транслятор

Транслятор -- это системная программа, переводящая текст программы на Автокоде в текст эквивалентной программы на ЯМК.

6

Константы

Константы -- это данные, которые зафиксированы в тексте программы и не изменяются в процессе ее выполнения.

7

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

Язык программирования -- это способ записи программ решения различных задач на ЭВМ в понятной для компьютера форме. В 1950-х гг.

8

Массивы

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

9

Оператор

Оператор -- это наиболее крупное и содержательное понятие языка: каждый оператор представляет собой законченную фразу языка и определяет некоторый вполне законченный этап обработки данных.

10

Элементарные конструкции

Элементарные конструкции -- это минимальные единицы языка, имеющие самостоятельный смысл

Список использованных источников

1.Перминов О. Н., Программирование на языке Паскаль. М., 1988.

2.Сергиевский М. В., ШалашовА. В., Турбо Паскаль 7.0. М., 1994.

3.Белецкий Я. Турбо Паскаль с графикой для персональных компьютеров. М.,

4.Абрамов В.Г. Введение в язык Паскаль, М, Наука, 1988

5.Аубакиров Г.Д., Хмыров А.Г. Языки программирования Pascal, Delphi, Астана: Фолиант, 2007-208 с.

6.Дузелбаев С.Т., Омарбекова А.С., Шарипбаева А.А., Юсубекова С.О. Основы алгоритмизации и программирования, Астана, Фолиант, 2008-256 с.

7.Карпиленко Е.В., Основы программирования, Ростов н/Д, Феникс, 2007.-317

8.О.В.Максимова, В.И. Невзорова, «ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ ДЛЯ ЭКОНОМИСТОВ», Феникс 2004

9.Балапанов Е.К. Информатикадан 30 саба?. Алматы, 2000

10.Фигурнов В.Э. «IBM PC для пользователя»

11.Ефимова О, Морозов В, Шафрин Ю. «Курс компьютерной технологии» 1-2 том

12.www.pascal-video.ru/pascal/programmirovanie-na-turbopascal.ru

13.И.Г.Семакин, А.П.Шестаков «Основы программирования»

Размещено на Allbest.ru

...

Подобные документы

  • Основные сведения о языках программирования и их состав. Программа для компьютера. Использование компилятора и операторы. Языки программирования высокого уровня. Концепции объектно-ориентированного программирования. Языки искусственного интеллекта.

    презентация [6,3 M], добавлен 14.08.2013

  • Особенности способов описания языков программирования. Язык программирования как способ записи программ на ЭВМ в понятной для компьютера форме. Характеристика языка Паскаль, анализ стандартных его функций. Анализ примеров записи арифметических выражений.

    курсовая работа [292,0 K], добавлен 18.03.2013

  • Основные этапы разработки программного обеспечения (пакета программ), анализ требований к системе. Метод пошаговой детализации. Языки программирования низкого уровня и высокого уровня (императивные, объектно-ориентированные, функциональные, логические).

    презентация [41,4 K], добавлен 13.10.2013

  • Что такое язык программирования. Для чего нужны языки программирования. Какие существуют языки программирования. Фортран. Алгол. Кобол. Лисп. Бейсик. Форт. Паскаль. Ада. Си. Пролог. Что такое компилятор и интерпретатор.

    реферат [20,2 K], добавлен 27.05.2007

  • Эволюция языков программирования от низкого уровня до современности. Языки программирования второго поколения - ассемблер. Императивные, функциональные, логические и объектно-ориентированные языки. Машинная независимость. Парадигмы программирования.

    презентация [353,5 K], добавлен 14.10.2013

  • Языки программирования низкого и высокого уровней и среды реализации. Особенности процедурных, логических, объектно-ориентированных языков. Состав системы программирования: трансляторы, библиотеки и отладчик программ, компоновщик, средства редактирования.

    презентация [11,9 K], добавлен 23.10.2013

  • Основные сведения о системе программирования Турбо Паскаль. Структура программы на Паскале и ее компоненты. Особенности и элементы языка Турбо Паскаль. Порядок выполнения операций в арифметическом выражении, стандартные функции и оператор присваивания.

    лекция [55,7 K], добавлен 21.05.2009

  • Цель информационного программирования; алгоритмический язык как система обозначений и правил для единообразной и точной записи алгоритмов и их исполнения. Языки программирования низкого и высокого уровня; классификация и использование структуры данных.

    реферат [383,1 K], добавлен 07.01.2012

  • Машинные коды и ассемблер. Первые языки программирования высокого уровня. Язык программирования FORTRAN. Достоинства и недостатки ALGOL. Научные и бухгалтерские программы. Основные принципы, которые соблюдались при создании языка программирования Basic.

    курсовая работа [407,4 K], добавлен 21.06.2014

  • Язык программирования Турбо Паскаль. Запись алгоритма на языке программирования и отладка программы. Правила записи арифметических выражений. Стандартное расширение имени файла, созданного системным редактором. Составной оператор и вложенные условия.

    курсовая работа [75,0 K], добавлен 21.03.2013

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

    презентация [1,2 M], добавлен 19.02.2014

  • Освоение технологии структурного программирования и применения стандартных методов работы с одномерными массивами при разработке и создании программы на языке Турбо Паскаль. Разработка программы методом пошаговой детализации с помощью псевдокода.

    реферат [276,9 K], добавлен 27.02.2008

  • История развития и классификация высокоуровневых языков логического программирования. Определение понятий графического интерфейса, сетевых протоколов и моделей баз данных. Современные системы программирования компании Borland/Inprise и фирмы Microsoft.

    курсовая работа [72,3 K], добавлен 11.07.2011

  • Логические конструкции в системе программирования Паскаль. Команды языка программирования, использование функций, процедур. Постановка и решение задач механики в среде системы Паскаль. Задачи статики, кинематики, динамики решаемые с помощью языка Паскаль.

    курсовая работа [290,9 K], добавлен 05.12.2008

  • Методы численного интегрирования. Характеристика основных составляющих структурного программирования. Решение задания на языке высокого уровня Паскаль. Построение графического решения задачи в пакете Matlab. Решение задания на языке высокого уровня C.

    курсовая работа [381,7 K], добавлен 10.05.2018

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

    презентация [873,4 K], добавлен 23.01.2013

  • Семантика языков программирования. Процедурные и объектно-ориентированные языки программирования. Стандартная библиотека шаблонов. Независимость байт-кода от операционной системы и оборудования и возможность выполнения Java-приложения на любом устройстве.

    реферат [50,5 K], добавлен 24.11.2009

  • Описание современных языков программирования (Паскаль, Ассемблер, С++, Бейсик, Лого, Форт, Пролог, Рефал и Лекс). Понятие, назначение и составные элементы систем программирования (машинно-ориентированных и машинно-независимых систем программирования).

    курсовая работа [96,3 K], добавлен 18.08.2010

  • Язык программирования как формальная знаковая система, предназначенная для записи программ. Рефал как алгоритмический язык рекурсивных функций. Лисп как ассемблер, ориентированный на работу со списковыми структурами. Пролог: понятие, основные средства.

    презентация [90,2 K], добавлен 22.02.2014

  • Изучение основных стилей программирования: процедурного, функционального, логического, объектно-ориентированного. Язык Ассемблера, предназначенный для представления в символической форме программ, записанных на машинном языке. Многоцелевой язык Basic.

    презентация [905,2 K], добавлен 23.03.2011

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.