Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Семантика




Отличительные особенности

1. Сначала действия, а затем проверка условия продолжения.

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

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

 

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

 

 


Как видно из диаграммы данный оператор может быть представлен в двух формах:

For <параметр цикла>:= <s1> to <s2> do <оператор>;

For <параметр цикла>:= <s1> downto <s2> do <оператор>;

Где S1 и s2 – выражения, определяющие соответственно начальное и конечное значениея параметра цикла;

For... do – заголовок цикла. Он определяет диапазон изменения параметра цикла и число повторений его операторов, а так же направления изменения значения параметра цикла(возрастание-to, убывание – downto).

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

1. При первом обращении к оператору for вначале вычисляется выражение s1,s2 и осуществляется присваивание <параметр цикла>:=s1. После этого повторяьтся след. действия.

2. Проверяется условие <параметр цикла> = s2

3. Если условие выполняется, то оператор for продолжает работу(выполняется оператор тела цикла), если условие не выполняется, то оператор for завершает свою работу, и управление в программе передается на оператор, следующий за циклом.

4. Значение управляющей переменной изменяется на 1 или на –1 и далее с п.1

 

Рассмотрим ограничения, которые накладываются на параметр цикла.

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

2. Управляющая переменная должна иметь дискретный тип(целый, логический, символьный и т.д.)

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

4. В теле цикла запрещается явное изменение значения управляющей переменной (оператором присваивания).

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

Пример: ус см. выше.

Const l=10; s- сумма, i- вводимое число, c – счетчик чисел

Var s, i, c: integer;

Begin s:=0;

For c: =1 to l do

begin

Writeln(‘ введите’,c,’-ецелое число’);

Readln (i);

S:=s+i;

End;

Writeln(‘s=’, s);

Readln; end.

 

Вопрос 6 Регулярный тип – массивы в языке Паскаль, примеры описания и использования.

 

 

Вопрос 7 Комбинированный тип – запись в языке Паскаль, примеры описания и использования

 

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

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

Наименование – строка;

Количество - целая величина;

Цена – вещественная величина;

Сертификат качества – логическая величина.

Для записи комбинации объектов, различных типов, а Паскале применяется комбинированный тип данных – запись.

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

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

Формат задания данного типа выглядит так:

Type < имя типа >=record

< имя поля >: < тип >;

...........

< имя поля >: <тип >;

end;

var < имя переменной >: < имя типа >;

Доступ к полям записи осуществляется через переменную типа “запись” и идентификатора поля разделенных точкой. Такая комбинация называется составным именем.

Пример: чтобы получить доступ к полям записи tovar, надо записать

T. name; t. fio; t. marka;

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

Var t: array [ 1.. n ] of tovar;

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

With < переменная типа записи > do < оператор >;

 

Вопрос 8 Строковый тип данных в языке Паскаль, основные операции.

 

Строка – это последовательность символов кодовой таблицы персонального компьютера.

При использовании в выражениях строка заключается в апострофы. Количество символов в строке (длина строки) может динамически изменяться от 0 до 255 байтов (символов).

Для определения данных строкового типа используется идентификатор string, за которым следует заключенные в квадратные скобки значения максимально допустимой длины строки данного типа. Если это значение не указывается, то по умолчанию длина строки равна 255 байт (символов). Переменную данного типа можно определять двумя способами.

Через определение типа. Через определения переменных.

 

Type var

< имя типа> = string [ m ]; < имя переменной>: string [ m ];

var

<имя переменной>: < имя типа>;

где m – максимальная длина строки.

Выражения, в которых операндами служат строковые данные, называются строковыми. Они состоят из строковых констант, переменных, указателей функций и знаков операций. Над строковыми данными допустимы операция сцепления и операции отношения.

Операция сцепления (+) применяется для сцепления нескольких строк в одну результирующую строку.

‘ Турбо ‘ + ‘ Паскаль ‘ + ‘ 7.0 ‘

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

Замечание: в данной операции длина результирующей строки не должна привышать 255 байт.

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

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

‘ принтер ‘ > ‘ принтер‘ ‘Паскаль’=’Паскаль‘

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

A: string [ 6 ]; a:= ‘группа1’ ‘группа’

A: string [ 2 ]; a:= ‘группа1’ ‘гр’

 

Вопрос 9 Стандартные процедуры и функции обработки строк, примеры использования.

 

Строка – это последовательность символов кодовой таблицы персонального компьютера.

 

Стандартные процедуры и функции для работы со строками

 

1. LENGTH (ST) позволяет определить фактическую длину текстовой строки хранящейся в переменной, а не величину предельного размера строки, установленную при ее определении.

 

Var w: string;

Begin

Write (‘ введите слова ‘);

Readln (w);

Writeln (‘ это слово состоит из ‘, length (w),’букв’);

End.

2. Upcase (ch) – преобразует строчную букву в прописную. Параметр и результат имеют литерный тип. Обрабатываются только букву латинского алфавита.

 

Var w: string; i: integer;

Begin

W: = ‘фирма microsoft ‘;

For i: = 1 to length (w) do

W [ i ]: = upcase (w [ i ]);

Writeln (w);

End.

 

3. Copy (st, poz, n) – позволяет копировать фрагмент некоторой строки из одной переменой в другую.

St – имя строки из которой должен извлекаться копируемый фрагмент.

Poz – позиция в строке с которой будет копироваться фрагмент.

N – число копируемых символов.

 

Var w, w1: string;

Begin

W: = ‘картография’;

Write (w);

W1: = copy (w, 6, 4);

Writeln (w1); граф

End.

 

4. Pos(st,st1) – осуществляет поиск в строке, определенного фрагмента. Если заданный фрагмент в строке присутствует, то функция возвращает номер позиции в строке, с которой этот фрагмент начинается. Если фрагмент не найден, то функция возвращает ноль. Данная функция требует полного совпадения искомого фрагмента и фрагмента строки, в которой производится поиск. Причем большие и маленькие буквы считаются различными символами.

Var w, w1: string;

P: integer;

Begin

W:= ‘ программа’;

P: =pos(w, w1);

If p<> then writeln (‘ фрагмент найден ‘) else writeln (‘ фрагмент не найден ‘);

End.

 

5. Insert(st1, st2, poz) – вставка строки st1 в строку st2 начиная с позиции poz.

 

S1: = ‘ес’;

S2: = ‘ эвм 1841’;

Insert (s1, s2, 4); эвм ес 1841

 

6. Delete (st, poz, n)- удаляет n в строке st с позиции poz.

 

W: = ‘ компьюторизация ‘;

Delete (w, 9, 6); компьютор

 

7. Сoncat(s1,s2,...,sn)- выполняет сцепление строк s1,s2,...,sn в том порядке, в каком они указаны в списке параметров. Сумма всех сцепляемых строк не должна привышать 255.

S1: = aaa

S2: = dd

C3: = 2

Concat(s1,s2,s3) aaadd2

 

Вопрос 10 Стандартные модули Turbo Pascal. Модуль CRT и модуль GRAPH в языке программирования Паскаль.

 

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

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

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

Uses CRT;

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

В текстовом режиме весь экран разбивается на строки и столбцы. Координата Х имеет 80 единиц, координата по У имеет 25 единиц. При этом начало координат (точка 1,1) находится в левом верхнем углу экрана. Рассмотрим все процедуры и функции, входящие в состав этого модуля.

CLRSCR -очищает экран, помещает курсор в точку начала координат;

CLREOL - стирает все символы в строке, начиная с текучей позиции курсора до конца строки;

DELLINE - полностью стирает содержимое строки, в которой расположен курсор; все нижестоящие строки перемещаются на одну позицию вверх;

INSLINE - вставляет пустую строку в позицию экрана, где расположен курсор; все нижестоящие строки перемещаются на одну позицию вниз.




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


Дата добавления: 2015-06-26; Просмотров: 381; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.051 сек.