- Lektsia - бесплатные рефераты, доклады, курсовые работы, контрольные и дипломы для студентов - https://lektsia.info -

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



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

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

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

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

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

 

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

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

Наиболее распространенными архиваторами для операционной системы Windows являются WinRAR и WinZip. Их архивные файлы имеют расширения .rar или .zip соответственно и обозначаются значками (rar) и (zip).

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

Так, программа WinRAR может работать и с архивами .zip.

Интерфейсы программ-архиваторов достаточно просты, чтобы пользователь смог быстро освоить основные приемы работы.

Рассмотрим подробнее интерфейс архиватора W inRAR. После его запуска открывается окно. С помощью меню Файл или адресной строки выбирается требуемый диск и папка. Содержащиеся в ней файлы и вложенные папки отображаются в рабочей области. Подлежащие архивации файлы и папки выделяются с помощью левой кнопки мыши или клавиши Ins.

Основные операции выполняются с помощью меню или кнопок на панели инструментов.

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

• Запустим программу-архиватор WinRAR.

• Выделим подлежащий архивации файл (например, referat.doc).

• С помощью меню Команды или кнопки на панели инструментов выберем команду Добавить файл(ы) в архив.

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

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

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

Размер архивного файла, как правило, меньше суммарного размера файлов, входящих в архив.

Заметим, что обычно хорошо сжимаются текстовые файлы (формат TXT) и несжатые графические в формате BMP . Практически не сжимаются арxивы и графические файлы форматов GIF и JPG, поскольку они уже являются сжатыми.

Пример: извлечь все файлы и папки из архива primer.rar.

• Запустим архиватор.

• Выделим архивный файл primer.rar.

• С помощью меню Команды или кнопки на панели инструментов выберем команду Извлечь файл(ы) из архива.

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

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

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

При создании архивов может возникнуть ситуация, когда размер архива больше размера носителя информации, на который планируется сохранить архив. Так, например, на обычный CD-диск можно поместить информацию до 700 Мбайт . Если размер архива составляет 1,3 Гбайт, то для записи потребуется 2 CD-диска и архив необходимо разбить на 2 тома. Многотомные архивы нередко используют при передаче по сети больших файлов частями. Не обойтись без многотомных архивов и при переносе большого объема данных на дискетах. Том — это фрагмент архива, состоящего из нескольких частей.

Архиватор WinRAR позволяет создавать многотомные архивы с указанием размера тома. По умолчанию тома получают имена вида имя_архива.partNN.rar, где NN — номер тома.

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

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

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

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

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

 


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

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

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

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

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

Константами называют данные, значения которых установлены в описательной части программы и в процессе выполнения программы не изменяются. Они задаются пользовательскими идентификаторами. Константы "узнаются" компьютером по форме их записи. В языке 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 не определено.

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

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

Программа на языке 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 равно TRUE с самого начала, тело цикла выполнится хотя бы раз. Если условие p тождественно FALSE, цикл будет бесконечным.

Тело цикла REPEAT не требует заключения в операторные скобки begin .. end. Между ключевыми словами REPEAT и UNTIL можно ввести любое количество операторов, без необходимости заключать их в операторные скобки.

В операторе REPEAT перед ключевым словом UNTIL знак «;» необязателен.

 

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

For i=a to b do S;

При выполнении этого оператора сначала вычисляется некоторое начальное значение а, которое присваивается переменной i, называемой параметром цикла. Затем вычисляется конечное значение b и проверяется, имеет ли место равенство i=b. Если равенства нет, выполняется оператор s, который может быть составным, и переменная I увеличивается на единицу. После этого проверка, не равен ли конечному значению, а также выполнение оператора S и увеличение переменной I на единицу выполняется циклически до тех пор, пока не будет получен равенство i=b.

Параметр цикла I, а также начальное и конечное значение (a и b) могут принадлежать любому порядковому типу, но при этом все они должны быть одного типа. Если начальное значение превышает конечное или равно ему с самого начала, оператор s не выполнится ни разу.

Использованные здесь зарезервированные слова For, to, do имеют смысл от, до и выполнять.

Возможна и другая форма оператора цикла с параметром:

For i=a downto b do S;

Здесь, чтобы выполнялся оператор S, начальное значение а должно превышать конечное значение b. В этом случае параметр I с каждым циклом уменьшается на единицу, пока не станет равным конечному значению b.

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

4. Вложенные циклы. Это подразумевает, что существует внешний цикл и один или несколько внутренних. Каждое повторение внешнего цикла означает завершение всех внутренних циклов; при этом всем выражениям, которые управляют внутренними циклами, вновь присваиваются начальные значения. Вложение допустимо не только для операторов цикла с параметром (FOR), но и для других операторов цикла (WHILE и REPEAT).

Несколько правил при организации вложенных циклов:

· Все правила присущие простому циклу должны соблюдаться;

· Имена параметров для вложенных циклов должны быть различны;

· Внутренний цикл должен полностью входить во внешний

 


Функция СУММ

Функция СУММ, вне всяких сомнений, является наиболее используемой функцией Excel. Функция СУММ имеет следующий синтаксис:

СУММ(число1;число2; ...;число255)

где число1, число2 — количество аргументов (от 1 до 255), сумму которых необходимо вычислить.

Аргументами функции СУММ должны быть числа, заданные в виде конкретных значений, ссылок на ячейки или диапазоны ячеек, массивов констант. Вместо ссылок можно использовать имена ячеек или диапазонов ячеек. Массив констант представ ляет собой массив чисел, заключенных в фигурные скобки, например {1;2;3} или {1:2:3}. Числа в фигурных скобках должны разделяться точкой с запятой либо двоеточием. Предположим, что в ячейках A1, A2 и A3 содержатся значения 1, 2 и 3. Тогда формулы =СУММ(1;2;3), =СУММ(A1;A2;A3), =СУММ(A1:A3), =СУММ(Данные) и =СУММ({1;2;3}) возвращают один и тот же результат — 6. Здесь имя Данные присвоено диапазону A1:A3. В первой формуле в качестве аргументов функции СУММ используются ссылки на ячейки, во второй формуле аргументом функции СУММ является массив значений.

С помощью функции СУММ можно подсчитать следующее.

· Сумму чисел, содержащихся в одном диапазоне ячеек. В этом случае достаточно задать один аргумент (число1). Для указания ссылки на непрерывный диапазон ячеек используется двоеточие (:) в качестве разделителя между первой и последней ячейками диапазона. Например, формула =СУММ(C5:E5) в ячейке F5 возвращает сумму чисел, содержащихся в диапазоне ячеек C5:E5.

· Сумму чисел, содержащихся в нескольких диапазонах (как смежных, так и нее смежных). В этом случае можно задать до 255 аргументов. Для создания ссылки на два несмежных диапаз