Главная Случайная страница


Категории:

ДомЗдоровьеЗоологияИнформатикаИскусствоИскусствоКомпьютерыКулинарияМаркетингМатематикаМедицинаМенеджментОбразованиеПедагогикаПитомцыПрограммированиеПроизводствоПромышленностьПсихологияРазноеРелигияСоциологияСпортСтатистикаТранспортФизикаФилософияФинансыХимияХоббиЭкологияЭкономикаЭлектроника






Создание архивных файлов. Извлечение файлов из архива

Тема 1. Хранение информации.

1. Хранение информации. Назначение программ архивации.

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

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

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

 

2. Хранение информации. Создание архивных файлов. Извлечение файлов из архива.

Тема 2. Цифровые устройства для обработки информации

3. Цифровые устройства для обработки информации. Цифровые устройства. Совместное использование цифровых устройств и компьютера.

Тема 3. Основы алгоритмизации и программирования

4. Основы алгоритмизации и программирования. Алфавит и словарь языка Pascal. Константы и переменные. Типы данных.

Алфавит и словарь языка Pascal

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

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

1) Прописные и строчные буквы латинского алфавита от А(а) до Z(z). Сюда относится и символ подчеркивания ( _ ).

2) Десятичные цифры от 0 до 9.

3) Специальные символы:

+ {} - . * , / ^ < ' > # [ ] $ ( ) @ : ;

К числу специальных символов относится также пробел.

Таблица 1 Допустимые знаки пунктуации и их назначение:

Знак Применение
{} Скобки комментариев
( ) Выделение выражений, списков параметров
‘ Апостроф Для выделения символов или строковой константы
; Разделение операторов и объявлений
: Отделение переменной или типизированной константы от типа и метки от оператора
= Отделение идентификатора типа от описания типа
, Для разделения элементов списка
.. Разделение границ диапазона
. Обозначение конца программы, отделение целой части от дробной в вещественном числе, отделение полей в записи.
@ Обозначение адреса переменной
# Обозначение символа по его коду
$ Обозначение директивы компилятора или знак шестнадцатеричного числа
^ Обозначение типа указателя, значения величины по ее указателю или управляющего символа (коды от 0 до 31).

Из специальных символов образуются также составные символы:

:= Присвоить
<> Не равно
.. Диапазон значений
(* *) Можно использовать вместо фигурных скобок {}
<= Меньше или равно
>= Больше или равно
(. .) Можно использовать вместо квадратных скобок [ ]

Неделимые последовательности знаков алфавита образуют слова, отделенные друг от друга разделителями и несущие определенный стиль в программе. Разделителями могут служить пробелы, символы конца строки и комментарии. Набор слов, используемый в Pascal, можно разделить на три группы: зарезервированные слова, стандартные идентификаторы, идентификаторы пользователя.

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

Таблица 2 Зарезервированные слова языка Pascal

absolute and array asm begin case const constructor div goto do downto destructor   else end exports external file for forward function if implementation in inline interrupt interface inherited Абсолютный Логическое И Массив Ассемблер Начало блока Вариант Константа Конструктор Деление нацело Переход на Выполнять Уменьшить до Деструктор (разрушитель) Иначе Конец блока Экспорт Внешний Файл Для Опережающий Функция Если Реализация В (входит в .,.) Основной Прерывание Интерфейс Наследование label library mod nil not or of object packed procedure program record repeat set shl shr string then to type unit until uses var while with xor Метка Библиотека Остаток от деления Отсутствие логическое НЕ Логическое ИЛИ Из Объект Упакованный Процедура Программа Запись Повторять Множество Сдвиг разрядов влево Сдвиг разрядов вправо Строка То Увеличивая Тип Модуль До Использовать Переменная Пока С Исключающее ИЛИ

Группа слов, имеющая определенный смысл, называется словосочетанием. В языке программирования словосочетание, состоящее из слов и символов и задающее правило вычисления некоторого значения, называется выражением. Минимальная конструкция языка, представляющая собой законченную мысль, есть предложение. Если предложение языка программирования зада­ет полное описание некоторого действия, которое необходимо выполнить, оно называется оператором. Предложение, описывающее структуру и орга­низацию данных — объектов языка, над которыми производятся различные действия, называется описанием.

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

Идентификатор – имя, обозначающее элементы программы (процедуры, функции, константы, переменные и типы данных).

Для обозначения заранее определенных разработчиками языка типов данных, констант, процедур и функций служат стандартные идентификаторы(sin, cos, ln, sqr,sqrt и др.).

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

При инициализации какого-либо элемента программы с помощью идентификатора необходимо руководствоваться следующими правилами:

· Идентификатор должен начинаться буквой или символом подчеркивание;

· Паскаль не различает прописные и строчные буквы;

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

· Пробел в Паскале является разделителем и не может стоять внутри идентификатора;

· Применение других символов (букв неанглийского алфавита, знаков препинания, псевдографических символов) в идентификаторах не допускается;

· Зарезервированные слова в качестве идентификаторов не используются;

· Максимальная длина идентификатора составляет 127 символов, но значимыми являются только первые 63 символа.

Константы и переменные

Константами называют данные, значения которых установлены в описательной части программы и в процессе выполнения программы не изменяются. Они задаются пользовательскими идентификаторами. Константы "узнаются" компьютером по форме их записи. В языке Pascal используются константы трех видов:

· числовые,

· булевские (логические),

· символьные или строковые.

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

Пример:

Const

Name=’Вася’;

DR=’29 февраля 1996г.’;

Max=1000;

Min=0;

Center=(max-min)/2;

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

В Паскале имеется ряд констант, к значениям которых можно обращаться без предварительного определения. Их называют зарезервированными константами (true, false, maxint, pi).

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

Var

A, b:integer;

Summa:real;

Кроме констант и переменных существуют типизированные константы. Данные этого типа описываются в разделе const, но для них должен указывается тип.

Const

Ocenka: byte=5:

Predmet: string=’Химия’;

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

Типы данных

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

Типы данных
Простые (скалярные)
Сложные (составные, структурированные)
Множества
Записи
Массивы
Файлы
Фиксированные
Вариантные
Текстовые
Типизированные
Нетипизированные
Вещественные
Строковые
Порядковые
Стандартные
Определенные пользователем
Целые
Логические
Символьный
Перечисляемые
Диапазонные
Рис.1. Классификация типов данных

К простым типам данных относятся:

· Типы, определенные в языке (стандартные типы): вещественные, целые, логические, символьные, строки;

· Типы, определенные пользователем: перечисляемые и диапазонные (интервальные).

Вещественные типы данных

К вещественным типам данных, используемых в языке Паскаль, относятся: real, single, double, extended, comp. Они отличаются друг от друга диапазонами допустимых значений (т.е. значениями, которые могут принимать переменные этих типов). Для хранения переменных того или иного вещественного типа требуются различные объёмы памяти.

Таблица3.Характеристика вещественных типов данных.

Вещественный тип Диапазон значений Число значащих цифр мантиссы Требуемая память (байт)
real 2.9Е-39..1.7Е38 11-12
single 1.5Е-45..3.4Е38 7-8
double 5.0Е-324..1.7Е308 15-16
extended 1.9Е-4951..1.1Е4932 19-20
comp -2Е+63+1..2Е+63-1 19-20

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

Числа в форме с плавающей точкой записываются в виде:

mE+p,

где m – мантисса,

E – экспонента,

p – показатель степени.

Применяемые операции: +, -, /, *, операции сравнения - =, <=, >=, <, >, <>.

К переменным и константам, принадлежащим вещественному типу, применимы все математические функции:

Abs Возвращает абсолютную величину параметра
Sin, Cos, ArcTan Возвращает соответственно синус, косинус и арктангенс параметра
Exp Возвращает экспоненту параметра
Int, Frac Возвращают соответственно целую и дробную части параметра
Ln Возвращает натуральный логарифм параметра
Pi Возвращает значение Пи=3,1415926535897932385
Sqr, Sqrt Возвращают соответственно квадрат и квадратный корень параметра

Помимо математических функций к переменным и константам, принадлежащим вещественному типу, применимы две функции преобразования типов:

Round Округляет (согласно правилам округления) значение вещественного типа до ближайшего значения целочисленного типа
Trunc Превращает значение вещественного типа в целочисленное значение путем отбрасывания дробной части

Символьный тип данных

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

Применяемые операции: операции сравнения - =, <=, >=, <, >, <>.

К переменным и константам символьного типа применимы процедуры и функции для работы с порядковыми типами Dec, Inc, Pred, Succ.

К символьным переменным и значениям также применимы некоторые функции преобразования типов High, Low, Ord, UpCase.

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

Логический тип данных

В Паскале принят логический тип данных – Boolean. Переменные и константы этого типа принимают одно из двух значений – TRUE и FALSE, которые также могут быть представлены в виде двоичных цифр 1 и 0.

Применяемые операции: операции сравнения - =, <=, >=, <, >, <>.

К логическим значениям также применимы логические операции:

Обозначение операции Выполняемое действие
AND (И) Логическое умножение
OR (ИЛИ) Логическое сложение
XOR (исключающее ИЛИ) Сложение по модулю 2
NOT (НЕ) Логическое отрицание

Таблица 5. Результаты применения логических операций

Значения Операции
A B A and B A or B A xor B Not A
False False False False False True
False True False True True True
True False False True True False
True True True True False False

К переменным и константам логического типа применимы все процедуры и функции для работы с порядковыми типами, а также некоторые функции преобразования типов High, Low, Ord.

Строковый тип данных

Этот тип занимает промежуточное положение между простыми и структурированными типами данных. Он используется для обработки текстов. Определяется строковый тип в виде string [n],где 1<n<255.

Значения типа string можно вводить с клавиатуры и отображать на экране с помощью единственного оператора:

Read (a); Write (a);

Можно всей строке (т.е. строковой переменной) сразу присвоить нужное значение:

A:=’Привет!’;

B:=’’;

Для строк допустима операция объединения (или сцепления, или конкатенации):

А:='Хорошая'+'погода'; в результате А='Хорошая погода'

Операцию объединения можно применить не только к явно заданным значениям, но и к переменным типа string:

А:=В+С;

К строкам также применимы операции сравнения: =, <=, >=, <, >, <>.

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

Concat (S1,S2,…Sn) Выполняет сцепление строк S1,S2,…Sn в одну строку в том порядке, в каком они указаны
Copy (St,Poz,N) Выделяет из строки St, начиная с позиции Poz подстроку длиной N символов.
Delete (St,Poz,N) Удаляет N символов строки St, начиная с позиции Poz.
Insert (S1,S2,Poz) Вставка строки S1 в строку S2, начиная с позиции Poz.
Length (S) Возвращает текущую длину строки S.
Pos (S1,S2) Определяет первое появление в строке S2 подстроки S1. Результат равен номеру той позиции, где находится первый символ подстроки S1.
Str (N,St) Преобразование числового значения N в строковый и помещает результат в строку St
Val (St,N,Code) Преобразует значение St в величину целочисленного или вещественного типа и помещает результат в N. Code – целочисленная переменная. Если во время операции преобразования ошибки не обнаружено, Значение Code равно 0, если же обнаружена ошибка, то Code будет содержать номер позиции первого ошибочного символа, а значение N не определено.

Структурированные типы данных

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

1. Вектор с элементами Ai для i=1¸N (одномерный массив).

2. Матрица с элементами Ai,j (двумерный массив). Матрица – это все же вектор, компонентамикоторого являются ее строки.

3. Пространство Ai,j,k…(N-мерный массив, где N – количество его измерений (индексов)).

Массивы можно определять в разделах TYPE или VAR.

Формат:

Type T = array [T1] of T2;

Var M : array [T1] of T2;

где Т – имя типа массива;

М – имя массива;

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

Т2 - базовый тип: тип элементов массива;

Array и of – зарезервированные слова, имеющие смысл массив и из.

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

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

Тип переменной-множества может быть определен в разделе Type или Var.

Формат:

Type имя типа множества = SET OF базовый тип;

Var имя множества: SET OF базовый тип;

 

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

Описание записи может быть в разделе TYPE или VAR и имеет такой вид:

A=record

x,y:m;

. . .

z:n;

end;

где а – имя объявляемой записи;

record, end – зарезервированные слова, имеющие смысл запись и конец;

x, y, z – имена полей;

m, n - типы, которым принадлежат поля.

 

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

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

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

Файлы как типы делятся на три категории:

· Типизированный

· Нетипизированный

· Текстовый

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

Определение файлового типа:

· F=file of a;

· F=text;

· F=file;

 

5. Основы алгоритмизации и программирования.Структура программы на языке Pascal: раздел описания меток, раздел описания констант, раздел описания типов данных, раздел описания переменных, раздел описания процедур и функций, раздел операторов, комментарии.

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

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

Программа на языке Pascal состоит из заголовка, раздела описаний и раздела операторов.

PROGRAM Imya; Заголовок программы

Uses - раздел подключения модулей

label - раздел меток

const - раздел констант

type - раздел типов Раздел описаний

var - раздел переменных

procedure - раздел процедур

function - раздел функций

BEGIN

Оператор 1;

Оператор 2; Раздел операторов

... (тело программы)

Оператор n

END.

Заголовок содержит служебное слово PROGRAM, имя программы, задаваемое программистом, и в круглых скобках имена стандартных процедур Input, Output для связи программы с внешними устройствами ввода-вывода. Заканчивается заголовок символом ";" (точка с запятой).

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

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

После каждого описания ставится символ ";".

Раздел операторов ("тело" программы) заключается в операторные скобки вида: BEGIN ("начать") и END ("окончить"), при этом после служебного слова END Обязательно ставится точка. В разделе операторов записывается последовательность исполняемых операторов и каждый выражает действие, которое необходимо выполнить. Исполняемые операторы отделяются друг от друга символом ";".

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

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

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

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

4) Имена для объектов программы надо выбирать так, чтобы они наилучшим образом соответствовали этим объектам, отражали их назначение.

5) Списки идентификаторов в блоках описания следует упорядочивать - это облегчает поиск в них нужных элементов.

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

Комментарии

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

В тексте комментария не должно быть знаков ограничителей, с которых начинается комментарий. Например: {Пример{1} задания{4}}. Однако ограничители {} могут быть вложены в (* *), и наоборот.

Например: (*Пример{1} задания{4}*)

{Пример(*1*) задания(*4*)}

Комментарии игнорируются компилятором и поэтому не оказывают никакого влияния на программу.

По месту расположения в программе комментарии можно разделить на 4 класса:

o объясняющие назначение программы,

o поясняющие смысл идентификаторов переменных и констант,

o описывающие логически обособленные части программы,

o объясняющие сложные для понимания элементы алгоритма.

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

6. Основы алгоритмизации и программирования. Операторы языка Pascal: простые, структурированные, операторы ввода-вывода.

Операторы языка Паскаль разделяются на две группы: простые и структурированные. Простые операторы не содержат в себе других операторов; структурированные включают в себя другие операторы – как простые так и структурированные.

К простым операторам относятся:

· Оператор присваивания;

· Оператор безусловного перехода (GOTO);

· Пустой оператор.

· Операторы ввода и вывода.

К структурированным операторам относятся:

· Составной операторы (begin..end);

· Условные операторы (IF и CASE);

· Операторы цикла (While, repeat, For).

Простые операторы

Оператор присваивания.

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

 

Оператор безусловного перехода (GOTO).

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

GOTO р,

Где р – метка, которой помечен некоторый иной оператор в программе. Меткой может служить идентификатор или целое число (без знака) от 1 до 9999. Все метки, используемые в программе должны быть объявлены. Раздел описания меток обозначается зарезервированным словом LABEL. Если метка должна использоваться внутри процедуры или функции, она должна быть описана в ней. Передача управления снаружи внутрь процедуры или функции с помощью оператора перехода невозможна.

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

Кроме оператора безусловного перехода в Паскале существуют безусловные функции: Exit и Halt.

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

Halt позволяет завершить работу программы.

 

Пустой оператор.

Пустой оператор не выполняет никаких действий, и в тексте программы он представлен символом «;».

 

Операторы ввода и вывода.

Ввод данных с клавиатуры

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

Общий вид: READ (<список переменных>);

Например: READ(a,b,c);

READ(d);

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

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

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

Вывод данных

Процедура вывода Write производит вывод данных.

Общий вид: WRITE(<список вывода>);

Write(V1[:W1[:D1]],…, Vn[:Wn[:Dn]]); W определяет ширину поля вывода, D – сколько знаков выводить после точки.

Writeln(V1[:W1[:D1]],…, Vn[:Wn[:Dn]]); – квадратные скобки используются для обозначения необязательных частей операторов.

WRITELN; осуществляет переход на новую строку без вывода данных

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

Например, Write(‘Привет’); Write(34.7); Write(45+55); Write(b, d);

Неформатированный выводWrite(R). Если длина поля W не указана, то под каждое число отводится стандартная длина поля и числа печатаются в экспоненциальной форме. На экране будет:3.04550000000000Е+02 . Е+02 – степень равна 2.

В процедурах вывода Write и Writeln имеется возможность записи выражения, определяющего ширину поля вывода.

Форматированный вывод – Write(r:5:2). На экране будет выведено число в привычной нам форме: 304.55.

Процедура Writeln аналогична процедуре Write. Отличие в том, что после вывода последнего в списке выражения курсор переходит на начало новой строки.

Синтаксис процедуры Write и WriteLn:

Write (X,Y); или WriteLn (X,Y); - "Слепой" вывод значений переменных.

Write (X+Y); или WriteLn (X+Y); - Вывод результата выражения.

Write (X); или WriteLn (X); - Неформатированный вывод значения переменной.

Write (X:6:2); или WriteLn (X:6:2); - Форматированный вывод значения переменной.

Write ('Фраза'); или WriteLn ('Фраза'); - Вывод некоторой фразы на дисплей.

Write ('Фраза',Y); или WriteLn ('Фраза',Y); - Вывод фразы и значения переменной на экран, "неслепой" вывод значения переменной,

где:

1) X, Y - переменные, значения которых нужно вывести на экран;

2) 'Фраза' - некоторый пояснительный текст, который обычно сопровождает значение переменной;

3) X:6:2 - указывается формат значения переменной. Это значит, что всего 6 символов, отводится под значение переменной X, причем после десятичной точки будет выведено на экран 2 символа. Это так называемый форматированный вывод числа с фиксированной точкой.

 

Структурированные операторы

Составной оператор.

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

Составной оператор имеет вид:

Begin S1; S2; .., Sn end;

Где 1 – Sn – операторы, образующие составной оператор;

begin и endоператорные скобки.

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

 

Условные операторы.

1. Оператор IF имеет вид:

If p then a1 else a2

При выполнении этого оператора сначала выполняется некоторое логическое выражение p (условие), в случае истинности которого выполняется оператор a1, а в случае ложности оператор a2.Ключевые слова If, then и else имеют смысл если, то и иначе.

Возможен сокращенный вариант оператора IF:

If p then a1

Если условие p истинно, выполняется оператор a1. Если условие p ложно, управление передается следующему (за оператором If) оператору в программе.

Условие представляет собой логическое значение TRUE или FALSE либо константу логического типа, имеющую одно из этих значений, либо переменную логического типа, либо один из операторов сравнения.

В Паскале допускается вложенность оператора IF.

2. Оператор CASE имеет вид:

Case p of

a: S1;

b: S2;

n: Sn

elseSn+1

end;

При выполнении этого оператора сначала вычисляется некоторое выражение p, называемое селектором выбора, а затем в зависимости от полученного значения (если оно равно одной из констант a, b, …, n, которые называются константами выбора), выполняется один из операторов: S1, S2,…, Sn, помеченные соответствующей константой. Если значение выражения p не совпадает ни с одной из констант выбора, выполняется оператор Sn+1, содержащийся после ключевого слова else, причем ветвь else в операторе Case необязательна. Использованные здесь зарезервированные слова Case, of, else, end имеют смысл вариант, из, иначе, конец.

Каждый из операторов в операторе Case, помеченный константой выбора может быть составным.

Выражение, играющее роль селектора, должно принадлежать порядковому типу данных (т.е. типу, имеющему конечное число значений). Например: Integer, Boolean, Char.

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

Пример:

Case x of

1..5: S1;

2, 3, 8: S2;

4, 6, 9..13: S3

elseS4

end;

 

Операторы цикла.

Для многократного повторения одних и тех же действий в Паскале предусмотрены три оператора цикла. Если число повторений (или итераций) заранее не известно, но известно условие завершения цикла, в таких случаях применяются операторы REPEAT и WHILE. Если же число повторений известно, то используется оператор FOR.

1. Оператор WHILE – оператор цикла с предусловием, имеет следующий вид:

While p do s;

При выполнении этого оператора сначала вычисляется некоторое логическое выражение p (условие), принадлежащее типу Boolean, в случае истинности которого выполняется оператор s (являющийся, как правило, составным). После этого вычисление условия, его проверка и выполнение оператора S повторяются до тех пор, пока выражение p не становится равным FALSE. Затем управление передается следующему (после WHILE) оператору программы. Ключевые слова WHILE и DO имеют смысл пока и выполнять.

Если условие p равно FALSE с самого начала, оператор S называемый телом цикла, не выполнится ни разу. Если условие p тождественно TRUE цикл бесконечен. Для того чтобы тело цикла выполнилось насколько раз, значение условия каждый раз преобразовываться в теле цикла.

2. Оператор REPEAT – оператор с постусловием, имеет следующий вид:

Repeat S until p;

При выполнении этого оператора сначала выполняется тело цикла S, затем вычисляется некоторое логическое выражение p (условие), принадлежащее типу Boolean, в случае ложности которого вновь выполняется тело цикла. Затем выполнение тела цикла, вычисление условия p и его проверка выполняются до тех пор, пока выражение p не станет равно TRUE. После этого управление передается следующему (за REPEAT) оператору в программе. Зарезервированные слова Repeat и Until имеют смысл повторять и пока не.

Оператор цикла REPEAT отличается от оператора WHILE, тем, что здесь условие проверяется после выполнения тела цикла, т.е. гарантируется хотя однократное его выполнение. Оператор REPEAT выполняется до тех пор, пока условие равно FALSE, и управление передается следующему (за REPEAT) оператору, когда условие становится равным TRUE. (Для оператора WHILE имеет место обратная зависимость). Условия повторения цикла для операторов REPEAT и WHILE противоположны.

Даже если условие p равно TR

Последнее изменение этой страницы: 2016-07-28

lectmania.ru. Все права принадлежат авторам данных материалов. В случае нарушения авторского права напишите нам сюда...