Пример №19. Ветвления в Паскаль. Использование If..Then.



Билет №1

1. Основные средства языка Паскаль.

Язык Паскаль является традиционным процедурно - ориентированным языком программирования.

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

Набор операторов языка Паскаль отражает принципы структурного программирования и позволяет записывать сложные алгоритмы в компактной форме.

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

Синтаксис языка несложен. Программы записываются в свободном формате.

Язык Турбо - Паскаль - мощное расширение стандарта, учитывающие особенности операционной среды (MS-DOS) и имеющий внушительную библиотеку стандартных процедур.

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

2. Назначение и описание констант и типизированных констант в Паскале.

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

Объявление констант начинается зарезервированным словом CONST. Затем следует имя константы, символ = и значение этой константы.

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

В качестве констант в ТР могут использоваться целые, вещественные и шестнадцатеричные числа, логические константы, символы, строки символов, конструкторы множеств и признак неопределенного указателя NIL.

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

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

Вещественные числа записываются со знаком или без него с использованием десятичной точки и / или экспоненциальной части.

Экспоненциальная часть начинается с символа е (или Е), за которым могут следовать знаки «+» или «-» и десятичный порядок.

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

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

Шестнадцатеричное число состоит из шестнадцатеричных цифр, которым предшествует знак доллара $. Диапазон шестнадцатеричных чисел: от $00000000 до $FFFFFFFF.

Логическая константа - это значения (истина/ложь), обозначаемые стандартными идентификаторами: FALSE и TRUE.

Символьная константа - это любой символ, заключенный в апострофы.

Если необходимо записать сам символ апострофа, он удваивается.

Допускается использование записи символа путем указания его внутреннего кода, которому предшествует символ #:

# 97 - символ а,

# 13 - символ CR.

Строковая константа - любая последовательность символов (кроме CR - возврат каретки), заключенная в апострофы. Если в строке нужно указать сам символ апострофа, то он удваивается.

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

В строке можно чередовать части, записанные в апострофах, с частями, записанными кодами.

Конструктор множества - список элементов множества, обрамленный квадратными скобками.

Типизированные константы

Дополнительно к обычным константам ТР допускает использование качественно новых объектов - типизированных констант.

Такие константы занимают промежуточное положение между обычными константами и переменными.

1. Типизированные константы описываются в разделе констант вместе с обычными константами.

2. Типизированные константы при описании получают значение, называемое «начальным».

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

Типизированные константы инициализируются (т.е. задание начального значения) только один раз в начале выполнения всей программы.

Надо всегда помнить, что типизированными константами фактически являются переменными с заданными начальными значениями, а их использование при описании типов и переменных являются некорректными.

Типизированные константы могут быть как простых, так и составных, ссылочных и процедурных типов.

 

Билет №2

1. Алфавит и структура языка Паскаль.

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

−  26 букв латинского алфавита;

− Арабские цифры;

− 32 буквы русского алфавита;

− Специальные символы + - * / : , ‘; ( ) [ ] { }

Русскими буквами поясняется текст в какой-либо конструкции языка Паскаль.

Структура программы:

1) Заголовок Program <имя программы>

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

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

2) Раздел описаний – все идентификаторы (константы, переменные, типы, процедуры, функции, метки)

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

3) Раздел операторов Begin(начало) и End (конец) задаются действия над объектами программы, введенными в разделе описаний. Операторы в этом разделе отделяются друг от друга точкой с запятой. После последнего слова ставится End.

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

2. История языка Паскаль.

Язык Паскаль, названный в честь французского математика и философа Блеза Паскаля (1623-1662), был создан как учебный язык программирования в 1968-71 годах швейцарским ученым Никлаусом Виртом. В настоящее время это язык имеет более широкую сферу применения, чем предусматривалось при его создании. Свое признание Паскаль получил с появлением пакета Турбо Паскаль (Turbo Pascal). Этот язык отличается простотой понимания, стройностью и структурностью алгоритмов, быстротой компилятора и удобными средствами создания и отладки программ.

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

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

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

Билет №3

1. Раздел описания типов в Паскале.

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

Типы определяются посредством описаний в разделе type.

Каждое определение состоит из имени и собственно типа, который описывается согласно определенным для него правилом. Разделителем является символ «=», завершается «;».

Далее в программе можно использовать определенные типы при описании констант, при явном изменении типов.

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

Тип данных определяет:

формат представления данных в памяти ЭВМ;
множество допустимых значений;
множество допустимых операций.

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

Все простые типы языка Паскаль можно разделить на стандартные и пользовательские. К стандартным типам относятся типы: Integer, Real, Char, Boolean, а также некоторые другие, описание которых приведено в таблицах 2 и 3.

2.  Одномерные массивы.

Массив – это набор определенного числа компонентов или элементов, все компоненты должны иметь один тип. Ко всему массиву можно обращаться по имени. Чтобы обратиться к элементу массива, нужно знать его позицию в массиве. На позицию элемента указывает индекс. Описание типа массива создается в разделе описания типов TYPE.

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

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

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

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

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

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

Представьте такую ситуацию, когда вам необходимо оперировать с несколькими однородными операторами. Например есть список учеников в классе и нужно заполнить информацию о возрасте каждого. Или же требуется составить список имен поступивших студентов. В этом и подобных случаях неудобно объявлять каждую переменную отдельно,гораздо проще и удобнее объявить их вместе. Как раз для этого и используется одномерный массив. Что же это такое ? Одномерным массивом называется упорядоченная совокупность однотипных элементов, обозначенных каждая одним и тем же именем с различными целочисленными индексами, изменяющимися по порядку. Непонятно? Поясняю : представим что у нас есть переменные a,b,c,d,e,f и все они одного типа integer. Довольно нерационально прописывать каждую переменную в отдельности,тем более ,если их например больше 100. Гораздо удобнее взять один массив,который и будет содержать в себе все эти элементы. Одномерный массивпо сути является такой же переменной,только содержащей в себе вложения в виде других переменных. Объявляется он также в разделе var и выглядит так.

1 var имя массива : Array [диапазон значений] Of базовый тип;

имя массива - здесь любое имя ,как и у переменной ,не считая зарезервированных ( таких как read,write,for,do,if,then и других)
диапазон значений - тут количество значений ,которое задается например от 1 до 100
базовый тип - любой тип данных,который будет применен для каждого элемента массива,например integer
Ну вернемся к нашей задаче про одноклассников. Пусть их будет 30,тогда одномерный массив будет выглядеть так

1 var a:array [1..30] of integer;

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

1 a[номер в диапазоне массива]

Естественно номер в диапазоне значений не может быть больше самого диапазона. Например для нашей задачи переменная a[31] невозможна,так как ее индекс не входит в заданный диапазон (от 1 до 30). На этом различия заканчиваются. Посмотрим объявление стандартных действий для одномерного массива

1 2 3 4 write(a[31]); read(a[31]); a[31]:=b; a[31]:=(s[20]+f[60]- s)/2

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

Билет №4

1. Условный оператор в Паскале.

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

Вид (структура) оператора:

If <выражение> then оператор 1 else оператор 2;

выражение - произвольное выражение логического типа;

оператор 1,2 - любые операторы языка.

Данный оператор выполняется следующим образом:

1. вычисляется значение выражения;

2. если значение true, то выполняется оператор, стоящий за словом then - если значение = false, то выполняется оператор за словом else.

− Условный оператор определяется ключевым словом IF.

− После этого ключевого слова указывается условие – выражение, при вычислении которого получается логическое значение.

− За условием идет ключевое слово THEN.

− Условие, используемое в условном операторе, определяет, должны ли выполняться операторы, которые следуют за ключевым словом THEN. Если значение условия – истина, то эти операторы выполняются, в противном случае они пропускаются.

− Конец группы «условно выполняемых» операторов определяет специальный оператор, состоящий только из двух ключевых слов – END IF.

2. Порядковые типы данных в Паскале.

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

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

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

· все возможные значения порядкового типа представляют собой ограниченное упорядоченное множество;

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

· к любому порядковому типу могут быть применены стандартные функции Pred и Succ, которые возвращают предыдущее и последующее значения соответственно;

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

Билет №5

1. Оператор цикла с постусловием.

Вторая разновидность цикла проверяет условие после выполнения тела цикла. Поэтому правильно будет назвать это условие «условием окончания цикла». Цикл такого вида называется циклом с постусловием. Цикл будет повторяться до тех пор, пока проверка этого условия будет давать результат «ложь» (false), то есть пока условие не выполнено. Даже если условие сразу окажется истинным, цикл выполнится хотя бы один раз.

Блок-схема в общем виде выглядит так:

 

Этот оператор задает повторяющиеся выполнение оператора, содержащегося в нем, пока «истинно» условие.

Repeat <список операторов> until <условие>

<список операторов> - произвольная последовательность операторов;

<условие> - выражение булевского типа.

Этот оператор отличается от оператора цикла с предусловием тем, что:

1. Значение условия проверяется после выполнения операторов;

2. Критерий прекращения цикла является значение условие - true, если же значение условия false, то цикл повторяется.

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

2. Разработка программы с ветвлением.

Ветвления в Pascal позволяют выполнять действия не поочередно, как мы делали в предыдущих программах, а в зависимости от каких - либо условий. Для этого в языке программирования Pascal предусмотрены различные условные операторы. В данном уроке мы рассмотрим как задаются циклы в Pascal с помощью конструкции IF...THEN.

Оператор IF.
«IF» в переводе с английского языка означает «ЕСЛИ». В программе оператор IF создает условие для выполнения программой тех или иных действий.
Предположим, нам нужно вывести на экран компьютера сообщение в зависимости от определенных условий. Например, вывести на экран компьютера предложение “X больше 0”, при условии, что X больше 0, а если X меньше 0, то вывести на экран сообщение “X меньше 0” Строка записи программы будет выглядеть так:
IF X>0 THEN
writeln (‘X больше 0’)
ELSE
writeln (‘X меньше 0’)
Фактически данная программа на человеческом языке звучит так: Если (if) X>0, тогда (then) вывести на экран сообщение (writeln) «X больше 0», в других случаях (else) вывести на экран сообщение (writeln) «X меньше 0».
Формат записи оператора If имеет 2 формы: неполную (If..Then) и полную (If..Then..Else).

Пример №19. Ветвления в Паскаль. Использование If..Then.

1. program number19;

2. uses crt;

3. var A:real;

4. begin

5. clrscr;

6. write ('Введите число A: ');

7. readln (A);

8. if A>=0 then

9. writeln ('Вы ввели положительное число');

10. readln

11. end.

В строке №7 мы вводим с клавиатуры какое-нибудь число.

В строке №8 записываем оператор If, который проверяет условие о том, что «A» (т.е. введенное нами число) больше либо равно 0. Если это условие выполняется (т.е. если введенное нами число больше либо равно 0), тогда должно выполняться действие, которое следует за словом Then. У нас за словом Then начинается строка №10, которая выводит на экран сообщение. Запомните, что после слова Then точка с запятой не ставится.

Запишем программу в Паскале и запустим ее.

Билет №6

1. Циклы в Паскале.

Для повторения одних и тех же операторов заданное число раз предназначен простейший оператор цикла.

1) Оператор цикла начинается с ключевого слова FOR, за которым идет имя числовой переменной, которая называется переменной цикла. После имени переменной идут знак «=», который может здесь рассматриваться как оператор присваивания, и начальное и конечное значения для этой переменной, разделенные ключевым словом ТО. Шаг приращения переменной цикла равен 1 или -1, в зависимости от того, какое из значений больше, конечное или начальное. Шаг можно задать иным, указав его через пробел после дополнительного ключевого слова STEP.

2) Когда программа доходит до оператора FOR, переменной цикла присваивается заданное начальное значение. После этого начинают выполняться операторы, следующие за оператором FOR. Они составляют тело цикла.

3) Цикл заканчивается оператором NEXT с переменной цикла. Когда программа доходит до оператора NEXT, значение переменной цикла увеличивается на единицу (или заданное приращение после ключевого слова STEP).

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

S=0                        начальное значение суммы

FOR A=1 TO 10    текущее число является переменной цикла

S=S+A

NEXT A

2. Работа со строками в Паскале.

Строка представляет собой особую форму одномерного массива символов, которая имеет существенное отличие. Массив символов имеет фиксированную длину (количество элементов), которая определяется при описании. Строка имеет две разновидности длины:

· Общая длина строки, которая характеризует размер памяти, выделяемый строке при описании;

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

Строка в Паскале – упорядоченная последовательность символов. Количество символов в строке называется ее длиной. Длина строки в Паскале может лежать в диапазоне от 0 до 255. Каждый символ строковой величины занимает 1 байт памяти и имеет числовой код в соответствии с таблицей кодов ASCII.


Дата добавления: 2020-12-12; просмотров: 82; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!