Элементы программирования на алгоритмическом языке Паскаль

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

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

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

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

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

Курсовой проект по дисциплине

«Основы алгоритмизации и программирования»

Тема курсовой работы

«Элементы програмирования на алгоритмическом языке Паскаль»

Введение

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

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

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

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

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

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

1. Элементы программирования на алгоритмическом языке Паскаль

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

1.2 Знакомство с Паскалем

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

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

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

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

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

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

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

r: Real; { переменная вещественного типа }

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)).

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

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

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 <оператор>

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

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

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

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

1.3 О системе Турбо Паскаль

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

паскаль программирование язык алгоритм

1.4 Составной оператор (оператор варианта)

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

Вход в структуру содержит вычисление или ранее полученное значение переменной (индекса варианта). Это значение может совпасть с меткой, стоящей перед оператором на одной из ветвей переключаются. В таком случае выполняется оператор, помеченный этой меткой, и происходит выход из структуры. Оператор бывает простым или составным, ограниченым операторными скобками begin … end; Если значение индекса варианта не совпало ни с одной из меток, то выполняется оператор с номером n + 1 из строки else. Если оператор варианта содержит строку else , то это - полная форма оператора, если такой строки нет, то используется сокращённая форма оператора варианта.

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

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

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

Рассмотрим простой пример задачи из курса алгебры. Требуется построить алгоритм вычисления значений функции у = |х|. Она задаётся соотношением:

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

Case индекс варианта of

Метка 1: оператор 1;

Метка 2: оператор 2;

Метка n: оператор n;

Else оператор n + 1

End;

Пример:

Составить программу-решатель.

Дано: молярная масса вещества М, плотность данного вещества Р, масса R или объём V. Требуется найти число молекул К: 1) в единице массы вещества; 2) в теле заданной массой: 3) в единице объёма вещества; 4) в теле заданным объёмом. Для решения задачм воспользуемся формулой:

K = (NА/M)R

Где NA = 6,022 * 10Ііг/моль - число Авогадро.

На основании этой формулы получаем расчётные формулы для программы:

1)K=NA/M; 2)K=NAR; 3)K=NAPV/M 4)K=NAP/M.

Программа имеет вид:

Program E20;

Const NA = 6.022 E20;

Var N: integer; M, R, P, V, K: real;

Begin

Writeln (`зная постоянную Авогадро, Плотность P данного вещества');

Writeln (`и его молярную массу М, можно найти число молекул в');

Writeln (`1. в единице массы вещества');

Writeln (`2. в теле массой R');

Writeln (`3. в единице объёма');

Writeln (`4. в теле объёмом V');

Write (`введите номер решающей задачи');

Readln (N);

Write (`введите исходные данные: М =');

Readln (M);

Case N of

1: K: = NA / M;

2: begin

Write (`R = `);

Readln (R);

K: = NA *R/M;

End;

3: begin

write (`плотность вещества Р = ');

Readln (P);

Write (`V = `);

Readln (V);

K: = NA *P*V/M;

End;

4: begin write (`плотность вещества P = ');

Readln (P);

K: = NA *P/V

End;

End;

Write (`число молекул K = ', K');

End.

2. Вложенные условия

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

Рассмотрим задачу: сравнить 3 целых числа и вывести на печать максимальное.

Program chisla;

Var a, b, c: integer;

Begin

Writeln (`Введите три числа');

Read (a, b, c);

If a<b then

If a>c then writeln (` максимально число ', a)

Else if b>c then writeln (b максимально число', b)

Else writeln (`c максимальное число', c);

End.

Вот блок - схема данной задачи

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

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

Алгоритм решения квадратного уравнения содержит проверку условия D<0. Два значения, D и 0, связаны отношением < - меньше. Если условие выполняется то говорят что соответствующее выражение истинно, если не выполняется то ложь.

Речь идёт о логическом выражении. Примером логических выражений могут служить математические отношения связанные знаками >, <, =, логические выражения имеют два значения True( истина) и False (ложно). Логические выражения такие могут иметь логические операции: отрицания (NOT), конъюнкций (OR) и дизъюнкции (AND).

Логические операции имеют следующую таблицу истинности.

A

B

Not (A)

(A) AND (B)

(A) OR (B)

True

True

False

True

True

True

False

False

False

True

False

True

True

False

True

False

False

True

False

False

Пусть требуется определить, принадлежит ли точка с координатой x отрезку [a; b]. Если записать это условие двойным неравенством, то читать его надо так: x меньше либо равен b и больше либо равен a (a<x<b). Отношение “меньше или равно” в Паскале записывается двумя знаками. Аналогично записывается и “больше либо равно”. Однако в Паскле нельзя записывать двойное неравенство. Используя логическую операцию and (и), запишем:

(x>=a) and (x<= b).

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

Имеется прямоугольное отверстие со сторонами a и b и кирпичь с рёбрами x, y z. Требуется составить условие прохождения кирпича в отверстие.

Кирпич пройдёт в прямоугольное отверстие, если выполняется сложное условие:

(a>=x) and (b>=y) or

(a>=y) and (b>=x) or

(a>=x) and (b>=z) or

(a>=z) and (b>=x) or

(a>=y) and (b>=z) or

(a>=z) and (b>=y)

Для трёх граней шесть условий получается потому, что можно каждую грань повернуть на 90 и проверить для каждой грани два случая.

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

Для каждой прямой определим полу плоскость, в которой находится фигура- треугольник АВС. Полуплоскость задаётся неравенством.

Полуплоскость, находящаяся выше от оси х определяется неравенством y>0.

Полуплоскость, находящаяся справа от прямой, соединяющей точки (-1,0) и (0,2), задаётся неравенством y-2x-2<0.

Полуплоскость, находящаяся слева от прямой, соединяющей точки (1,0) и (0,2), задаётся неравенством y+2x-2<0.

Условие принадлежности точки (x,y) фигуре

(y>0) and (y-2*x-2<0) and (y+2*x-2<0).

Приведём пример программы определяющая существования треугольника со сторонами a, b и c. Условие существования треугольника известно из геометрии: сумма двух любых сторон должна быть больше третьей. Следовательно, для всех сторон условие “сумма двух больше третьей” должно выполняться.

Program e4;

Var a, b, c: real;

Begin

Writeln (`дите длины трёх сторон треугольника');

Readln (a, b, С);

Write (`треугольник со сторонами ', a, b, c);

If (a+b>c) and (b+c>a) and (a+c>b)

Then writeln (`существуют')

Else writeln (`не существуюет');

Readln

End.

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

1). В компьютер вводится слово. Компьютер должен просто распечатать его. Однако, если введенным словом будет "летчик", то компьютер должен напечатать вместо него слово "пилот".

Вот как будет выглядеть наша программа-"цензор":

VAR Slovo : String;

EGIN

ReadLn (Slovo); { переменная Slovo будет иметь значением строку символов, введенных с клавиатуры }

if Slovo = 'летчик' then Slovo := 'пилот';

WriteLn (Slovo)

END.

END.

2). Написать программу, которая выводит на экран строку, состоящую из 20 звездочек.

Uses crt;

Var n: integer;

Procedure sterline

Var i:integer;

Begin

For i:=1 to len do

Write (`*');

End;

Begin

Write(`20');

Readln(n);

Sterline (n);

Readln;

End.

3). Дан текст, содержащий числа. Найти сумму всех чисел, встречающихся внутри текста.

Var

d: array [1..1000] of real;

s,k: string;

p: set of char;

i,h,j:integer;

z:real;

begin

cls;

writeln ('4:');

read(s);

p:=['0','1','2','3','4','5','6','7','8','9','.'];

for i:=1 to length(s) do begin

if s[i] in p then k:=k+s[i]

else begin val(k,d[i],h);

k:='0';

end;

end;

for i:=1 to length(s) do

z:=z+d[i];

writeln ('Сумма чисел внутри текста: ',z);

end.

4). При помощи цикла напечатать на экране:

Начало счета 3 5 7 9 Конец счета.

LABEL m;

VAR f : Integer;

BEGIN

Write('Начало счета ');

f:=3;

m: Write(f,' ');

f:=f+2;

if f<=9 then goto m;

Write(' Конец счета')

END.

Приложение

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Простые типы данных Паскаля: числа с плавающей запятой (real), целые (integer), символьный (char), логический (boolean) и перечисления (конструктор нового типа, введённый в Паскале).

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

r: Real; { переменная вещественного типа }

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

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

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

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

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

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

y:=1; k:=0;

epeat

y:=y*3;

k:=k+1;

Until y> M;

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

: = + -- * / div mod not and or with xor shl shr ^ = <> >= <= < > @ in is as

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

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

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.

Заключение

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

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

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

Список литературы

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

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

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

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

12. Бондарев В.М., Гублинский В.И., Качко Е.Г..

13. Основа програмирования/ худож. - оформитель С.А. Пяткова. - Харьков: Фолио; Ростов Н/Д: Феникс, 1997. -368с.

14. Турбо Паскаль 7.0 - К.: торгово - издательское бюро BHV, 1996 - 448с.: ил. Т. Рюттяна.

15. Игошев А.Д. Матинин Е.Г. Express Pascal. Учебное пособие для средних уч. Заведений.

16. Кузницов А.А. Патапова Н.В. Основы информатики. 8-9 кл.: Учеб. Для общеобразовательных учеб. Заведений 2001 176с.

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


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

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

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

  • Особенности программирования на языке Паскаль в среде Турбо Паскаль. Линейные алгоритмы, процедуры и функции. Структура данных: массивы, строки, записи. Модульное программирование, прямая и косвенная рекурсия. Бинарный поиск, организация списков.

    отчет по практике [913,8 K], добавлен 21.07.2012

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

    курсовая работа [233,5 K], добавлен 14.12.2012

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

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

  • Изучение символьных и строковых типов данных, алгоритма задачи на языке программирования Паскаль. Описания получения и установки отдельного символа строки, изменения регистра символов. Анализ создания и просмотра файла, поиска и сортировки информации.

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

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

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

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

    курсовая работа [1,0 M], добавлен 03.07.2011

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

    презентация [989,7 K], добавлен 06.12.2011

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

    учебное пособие [211,1 K], добавлен 30.03.2008

  • Создание программы для перевода кодов с языка Pascal на язык Си. Обработка программ операторами case, assign, rewrite и write. Способы объявления файла, комментария, переменных, логических и арифметических выражений. Виды синтаксических анализаторов.

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

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