Реферат по предмету "Разное"


1. 1 Что такое "программирование"

СОДЕРЖАНИЕ 1 Введение 5 1.1 Что такое "программирование"? 5 1.2 Понятие алгоритма 5 1.3 Алгоритмический язык 72 Введение в язык Turbo Pascal 8 2.1 История создания языка 8 2.2 Алфавит языка 8 2.3 Структура программы 93 Типы данных. Описание переменных 11 3.1 Понятие типа данных. Система типов языка 11 3.2 Описание данных 13 Раздел описания переменных начинается со служебного слова var, само описание переменной содержит два элемента: имя переменной (идентификатор) и ее тип. Эти элементы разделяются двоеточием, после указания типа ставится разделитель – символ ";". 13 Var :; 13 Так как Pascal статический язык, то это описание остается неизменным во всей области определения переменной. Если несколько переменных имеют один тип, их описания объединяются в одно, при этом имена указываются через запятую. 13 3.3 Целые типы 13 3.4 Вещественные типы 14 3.5 Арифметические выражения 16 3.6 Символьный тип 16 3.7 Булевский тип 17 3.8 Ограниченные типы 19 3.9 Перечислимые типы 204 Операторы 21 4.1 Основные операторы 21 4.2 Составной оператор 23 4.3 Условный оператор 23 4.4 Оператор варианта 25 4.5 Операторы циклов 25 4.6 Пустой оператор 285 Некоторые составные типы 29 5.1 Регулярные типы (массивы) 29 5.2 Строковый тип 30 5.3 Множественный тип 32 5.4 Комбинированный тип (запись) 356 Подпрограммы 38 6.1 Назначение подпрограмм 38 6.2 Структура подпрограмм 38 6.3 Область действия имен 39 6.4 Механизм параметров 407 Файловые типы 46 7.1 Файлы. Файловые переменные 46 7.2 Основные операции с файлами 47 7.3 Примеры работы с файлами 48 7.4 Текстовые файлы 528 Модули. Графика 54 8.1 Организация модулей 54 8.2 Модуль Graph 55 8.3 Инициализация и выход из графического режима 59 8.4 Вывод некоторых графических примитивов 60 8.5 Управление графическими элементами 60 8.6 Управление графическим курсором 63 8.7 Вывод текстовой информации 639 Ссылочные типы. Динамические переменные 64 9.1 Динамическая память. Статические и динамические переменные 64 9.2 Понятие ссылочных типов и указателей 65 9.3 Списки 6610 Программа Turbo Pascal 69 10.1 Основы работы с программой 69 10.2 Отладчик 74Методические указания по выполнению контрольной работы №2 76Литература 80 ^ 1 Введение 1.1 Что такое "программирование"? Сейчас, наверное, практически невозможно найти человека, который бы не слышал таких слов, как "информатика", "программирование", а профессия программиста стала одной из самых многочисленных. Чем же занимаются программисты? Наверное, самый простой ответ – создают программы для решения задач с помощью компьютера. Попробуем разобраться, из чего состоит процесс написания программы. Прежде всего, перед программистом ставится определенная задача. Очевидно, что для решения задачи недостаточно только знать язык, на котором требуется написать программу, самое главное – найти способ ее решения, алгоритм. А сама программа – это запись этого алгоритма на каком-либо языке, понятном машине. Процесс перевода на этот язык и называется программированием, а язык, на который осуществляется перевод, называется алгоритмическим языком. Именно поэтому самым важным в профессии программиста является умение создавать хорошие алгоритмы, а следовательно, и хорошие программы.^ 1.2 Понятие алгоритма Понятие алгоритма является одним из фундаментальных понятий информатики и широко используется в программировании – написание любой программы начинается с составления алгоритма. Алгоритмы возникли вместе с появлением математики и встречаются практически во всех областях человеческой деятельности. Например, в школьном курсе математики изучаются алгоритмы деления "столбиком", умножения дробей и т.д.; в курсе высшей математики – алгоритмы решения дифференциальных уравнений, нахождения интегралов и т.д. Кроме этого, можно описать алгоритмы выращивания цветов, сборки шкафа, проведения физического эксперимента и многие другие. Определить это понятие можно следующим образом: алгоритм – это конечный набор правил, однозначно задающих последовательность выполнения некоторых действий, направленных на достижение определенного результата. Однако, не любой набор правил можно назвать алгоритмом. Рассмотрим требования, которым должен удовлетворять алгоритм:универсальность – алгоритм, как правило, решает не одну, а целый класс задач, которые различаются между собой параметрами, являющимися входными данными алгоритма; любой алгоритм применяется к входным данным (их число может быть равным нулю) и имеет хотя бы один результат (выходную величину);однозначность – применение алгоритма к одним и тем же входным данным должно давать один и то же результат;конечность – количество шагов алгоритма не может быть бесконечным. Описать алгоритм можно разными способами. Например, алгоритм вычисления выражения 52(62+32), описанный словесным способом, будет выглядеть следующим образом: вычислить значения выражений 62 и 32, сложить их и умножить полученную сумму на значение выражения 52. Как правило, такие описания алгоритмов получаются громоздкими и неоднозначными, найти ошибки в них очень сложно. Гораздо чаще для этих целей используются блок-схемы алгоритмов. Они позволяют представить алгоритмы в более наглядном виде, это дает возможность анализировать их работу, искать ошибки в их реализации и т.д. В блок-схемах всегда есть начало и конец, между ними – последовательность шагов алгоритма, соединенных дугами. Шаги бывают безусловными (изображаются прямоугольниками) и условными (изображаются ромбами). Из ромба всегда выходят две стрелки – одна означает выполнение условия (обозначается обычно словом "да"), другая – невыполнение ("нет"). Вывод на экран значения выражения изображается параллелограммом. Например, опишем блок-схему алгоритма для нахождения максимального из трех заданных чисел a,b,c.Рисунок 1.1 – Пример блок-схемы алгоритмаЕсли решение задачи сложное и достаточно длинное, то алгоритм может получиться громоздким и плохо обозримым. Избежать этого можно, заменив некоторые шаги алгоритма блоками, которые будут являться подалгоритмами. Блок обычно не элементарен, его размеры выбираются в зависимости от необходимости, однако, если он правильно составлен, то обладает всеми необходимыми признаками алгоритмического шага: имеет точку входа (четко выделенное начало) и может быть условным или безусловным. Разные блоки алгоритма связаны друг с другом только через точки входа и выхода, поэтому если блок верно решает свою задачу, то его внутренняя структура несущественна для остальной части алгоритма. Такое блочное представление особенно удобно на первых этапах решения сложных задач, когда детализация блоков производится позднее, и возможно, другими разработчиками. ^ 1.3 Алгоритмический язык Алгоритмы, описанные неформальными способами, как правило, сложны для понимания и неоднозначны. Для того чтобы исключить эти недостатки, используются алгоритмические языки. Язык, используемый для формальной записи алгоритмов, называется алгоритмическим языком. При описании любого языка (в том числе естественного, например, русского, английского и т.д.) используются следующие понятия: алфавит, синтаксис и семантика.Алфавит языка – это множество символов, которые могут быть использованы в текстах этого языка.Синтаксис – это набор правил, определяющих возможные сочетания (конструкции) из букв алфавита. Для описания синтаксиса языка, как правило, используют другой язык (метаязык) или синтаксические диаграммы.Семантика – это набор правил, определяющих значение (смысл) отдельных конструкций языка. Одним из самых распространенных алгоритмических языков является язык Pascal, который полезен как для начинающих, так и для опытных программистов. Обучение программированию чаще всего основывается на этом языке.^ 2 Введение в язык Turbo Pascal 2.1 История создания языка В 1968-1971 гг. в Цюрихском Институте информатики в Швейцарии Никлаусом Виртом был разработан язык программирования Pascal. Необходимость создания подобного языка возникла за отсутствием инструмента обучения студентов "программированию как систематической дисциплине". Но достаточно скоро стало ясно, что этот язык очень эффективен как для решения разных задач, так и для разработки сложных систем. И при этом он прост и легок в изучении. Pascal – процедурный язык, имеющий блочную структуру. Набор операторов языка отражает принципы структурного программирования. Язык Turbo Pascal, созданный фирмой Borland International, является реализацией языка Pascal для персональных компьютеров. Turbo Pascal – это язык профессионального программирования, одна из особенностей которого состоит в наличии интегрированной среды, включающей ряд мощных программных средств подготовки, редактирования, компиляции и отладки программного обеспечения. К достоинствам Турбо-Паскаля можно отнести:простоту и естественность основных конструкций языка, что позволяет быстро его освоить и создавать алгоритмически сложные программы;возможность использования развитых средств представления структур данных, что обеспечивает удобство работы как с числовой, так и с символьной информацией;соответствие языка структурному программированию, что делает программы наглядными и упрощает их разработку и отладку;наличие обширной библиотеки процедур и функций для работы как с текстовой, так и с графической информацией, что позволяет создавать достаточно сложные коммерческие программы с развитым удобным интерфейсом пользователя.^ 2.2 Алфавит языка Алфавит языка включает следующие символы: Заглавные и строчные латинские буквы и символ "_" (который тоже считается буквой). Используются при создании идентификаторов и служебных слов. Цифры от 0 до 9. Используются при записи чисел и идентификаторов.Специальные символы: + - * / = > { } $ # используются как знаки операций, синтаксические разделители, при записи выражений, комментариев. Символы алфавита языка используются для построения лексем – элементарных единиц языка, имеющих самостоятельный смысл. К лексемам относятся служебные слова, идентификаторы, знаки операций, разделители, изображения.^ Служебные слова – это конечный набор зарезервированных слов, смысл которых определен в языке. Служебные слова нельзя использовать в качестве идентификаторов. Примеры служебных слов: begin, end, const, var, if, then и т.д.Идентификаторы – это имена переменных, констант, процедур, функций, типов, меток. Составляются из букв, цифр и знаков подчеркивания в соответствии со следующими правилами:длина идентификатора может быть произвольной, однако компилятор воспринимает только первые 63 символа;первым символом обязательно должна быть буква или знак подчеркивания. В Pascal строчные и заглавные буквы в идентификаторах и служебных словах не различаются, поэтому следующие идентификаторы считаются одинаковыми: My_Function;my_function;MY_FUNCTION.Знаки операций формируются из одного или нескольких специальных символов, например: , >.Разделители также формируются из одного или нескольких спецсимволов и предназначены для наглядности программ. В текстах программ возможно наличие пояснений, которые называются комментариями и не меняют смысл программы. Комментарий может находиться между любыми двумя лексемами программы, представляет из себя любую последовательность символов (т.е. может включать буквы русского алфавита), заключенную в фигурные скобки: {Данная строка является комментарием}.^ 2.3 Структура программы Так как Pascal – алгоритмический язык, программа, написанная на этом языке, является записью некоторого алгоритма, т.е. последовательности действий. В целом программа на языке Pascal состоит из двух основных частей: описание всех данных, с которыми производятся действия, и описание самих действий. Кроме этого, в самом начале программы может присутствовать ее название – заголовок, который рассматривается как комментарий. В самом конце программы ставится точка ".". В разделе описания могут быть следующие объекты:переменные;константы;типы;метки;подпрограммы. Общая структура программы примерно выглядит следующим образом:Program ; {заголовок программы}Label {раздел описания меток}Const {раздел описания констант}^ Type {раздел описания типов}Var {раздел описания переменных}Begin{тело программы, представляет из себя последовательность операторов, разделенных символом ";"}End.Обратите внимание, что имя программы заключено в треугольные скобки, такие скобки используются только для того, чтобы показать, что их содержимое может изменяться. При написании программы треугольные скобки не ставятся. Например, можно использовать различные заголовки программы: Program Hello или Program My_prog.^ 3 Типы данных. Описание переменных 3.1 Понятие типа данных. Система типов языка Теоретически научиться программировать невозможно. Поэтому все, что вы будете изучать с помощью данного пособия, желательно реализовывать практически. Вы должны писать программы, начиная с простых и все более усложняя их. Если у вас возникают проблемы с компиляцией, отладкой, то в этом случае сначала обратитесь к главе 10, в которой изложены основы работы с программой-компилятором Turbo Pascal. В любой задаче используются, обрабатываются какие-либо данные – числа, целые или вещественные, массивы, символы, слова и т.д. Все они характеризуются своим типом. Классификация различных данных по типам возникла по следующим причинам. Во-первых, тип фактически характеризует множество значений к которым относится константа, которые может принимать некоторая переменная или выражение и которые может формировать функция. Во-вторых, благодаря указанию типа определяется множество операций, которые можно применять к данным этого типа. Например, числа можно перемножать и делить, но операции умножения и деления недопустимы для строк. В-третьих, указание типа данных необходимо для правильного представления данных в памяти машины. Рисунок 3.1 – Система типов языка Pascal Pascal является типизированным языком. Это означает, что тип переменной задается при ее описании и не может быть изменен. Это, на первый взгляд, неудобство заставляет программиста быть аккуратным и внимательным, обеспечивает большую легкость при поиске ошибок и высокую надежность программ. Система типов языка Pascal состоит из набора стандартных типов, т.е. таких, для которых множества допустимых значений и операций над ними уже определены. На основе этих типов программист может создавать собственные типы произвольной структуры и сложности. В языке Pascal базовыми являются простые типы. Составные типы строятся из простых в соответствии с определенными правилами. Ограниченные типы создаются из простых путем сужения их области допустимых значений. Ссылочные типы образуются из любых других. Процедурные типы расширяют традиционное понятие подпрограмм, позволяя обращаться с ними как с переменными. Первичными в иерархии типов являются стандартные скалярные, представляющие традиционные типы в языках программирования множества значений (целые, вещественные, символьный и булевский). Это предопределенные типы, зафиксированные в языке.Рисунок 3.2 – Стандартные скалярные типы языка PascalСуществует два способа создания новых типов на основе стандартных скалярных – ограниченные и перечислимые типы. Любой скалярный тип характеризуется множеством его различных значений, среди которых установлен линейный порядок. Все скалярные типы, кроме вещественных, называются дискретными.^ 3.2 Описание данных Основная единица данных во всех языках – это переменная. Она определяется именем (идентификатором) и значением. Каждая переменная, используемая в программе, должна иметь свой тип, который указывается в разделе описания переменных. Причем описание переменной, за исключением системной (предописанной), обязательно должно быть произведено до первого ее использования. Раздел описания переменных начинается со служебного слова var, само описание переменной содержит два элемента: имя переменной (идентификатор) и ее тип. Эти элементы разделяются двоеточием, после указания типа ставится разделитель – символ ";". Var :; Так как Pascal статический язык, то это описание остается неизменным во всей области определения переменной. Если несколько переменных имеют один тип, их описания объединяются в одно, при этом имена указываются через запятую. Var ,:;^ 3.3 Целые типы Для работы с данными представленными целыми числами используются целые типы. Это 5 типов (Integer, Byte, Shortint, Word, Longint), обозначающих множества целых чисел в различных диапазонах. Типы различаются допустимым диапазоном значений и размером занимаемой оперативной памяти. Характеристики типов приведены в следующей таблице:Таблица 3.1 – Целые типы Название типа Диапазон допустимых значений ^ Размер памяти Shortint -128..127 1 байт Integer -32768..32767 2 байта Longint -2147483648..2147483647 4 байта Byte 0..255 1 байт Word 0..65535 2 байта Таким образом, если переменные принимают только положительные значения по смыслу задачи, их следует описать с помощью типов Byte или Word. Если предполагается работа с большими числами, то переменные следует описать с помощью типа Longint. Приведем пример описания переменных.Var a1:integer;b,c:byte;x,y,z:longint;При таком описании в памяти выделится два байта под переменную а1, по одному байту для переменных b и c, и по четыре байта для переменных x, y и z. ^ 3.4 Вещественные типы Для работы с дробными (вещественными числами) используются вещественные типы. Это 5 типов (Real, Single, Double, Extended, Comp), обозначающих множества вещественных чисел в разли­чных диапазонах. Вещественные значения в программе могут изображаться двумя способами:в форме с фиксированной точкой, когда целая часть от дробной отделяется с помощью точки (4.786, 1.0, -65.23 и т.д.);в форме с плавающей точкой (запись числа состоит из двух элементов – мантиссы и порядка, между ними ставится символ "Е". Например, запись числа 2,8*109 выглядит, как 2.8Е9, число 0,000001 равно 0,1*10-5 и записывается как 0.1Е-5). Примеры неправильных форм записи: .987 -12. в записи должны обязательно присутствовать и целая, и 4,067 дробная части, отделяемые друг от друга с помощью точки. Вещественные типы отличаются друг от друга допустимым диапазоном значений и размером занимаемой оперативной памяти. Характеристики типов приведены в следующей таблице: Таблица 3.2 – Вещественные типы Название типа Диапазон допустимых значений ^ Размер памяти Real 2.9е-39 .. 1.7е38 6 байт Single 1.5е-45 .. 3.4е38 4 байта Double 5.0е-324 .. 1.7е308 8 байт Extended 3.4е-4932 .. 1.1е4932 10 байт Comp -2е+63 .. +2е+63-1 8 байт ^ Операции, допустимые над целыми и вещественными значениями Арифметические операции (+ , - , * , /) применимы, как к целым так и к вещественным значениям. Из таблицы можно увидеть, какого типа результат будет получен при выполнении этих операций над данными целого или вещественного типа.Таблица 3.3 – арифметические операции a b a+b a-b a*b a/b целое целое целое целое целое вещественное целое вещественное вещественное вещественное вещественное вещественное вещественное целое вещественное вещественное вещественное вещественное вещественное вещественное вещественное вещественное вещественное вещественное ^ Операции отношения (=, , >=, , Для целых типов определены еще две операции: операция "деление нацело" с отбрасыванием дробной части, обозначается служебным словом div (14 div 3 =4, 5 div 8=0);операция "взятие остатка от целочисленного деления", обозначается служебным словом mod (14 mod 3 =2, 5 mod 8=5).Кроме описанных выше операций в языке Паскаль существует ряд стандартных функций применимых к числовым данным. Опишем некоторые из них.trunc(x) – отбрасывание вещественной части x, x – вещественное значение (trunc(5.67)=5.round(x) – операция округления вещественного числа х до ближайшего целого (round(5.67)=6; round(5.47)=5).sqr(x) – функция возведения в квадрат, где x переменная целого или вещественного типа, значение функции совпадает с типом аргумента.sqrt(x) – функция извлечения квадратного корня, где x переменная целого или вещественного типа, значение функции всегда вещественного типа.Sin(x), cos(x), arctan(x) – тригонометрические функции, аргументы и значения которых всегда вещественного типа, причем для sin(x), cos(x) значение переменной х задается в радианах.Abs(x) – функция определения модуля числа х, где x переменная целого или вещественного типа, значение функции совпадает с типом аргумента.Exp(x) – экспонента в степени х, где аргумент целого или вещественного типа, значение функции всегда вещественного типа.Ln(x) – натуральный логарифм х, где аргумент целого или вещественного типа, значение функции всегда вещественного типа.Функции Ln(x) и Exp(x) могут быть использованы для возведения в степень по правилу: хn=enln(x). Например, значение х9 вычисляется по формуле exp(9*ln(x)).^ 3.5 Арифметические выражения Константы по внешнему виду похожи на переменные, однако, в отличие от них, не могут изменить своего значения. Описание констант начинается со служебного слова const. Описание каждой константы включает всегда только два элемента: идентификатор и константное выражение, разделенные символом "=", заканчивается символом ";". Пример:const max = 1000; Pi = 3.1415; С = Pi*2; min = -max;.Тип константы в описании не указывается, он определяется автоматически по ее значению. Значение константы в теле программы изменить нельзя. Переменные и константы – это частные случаи выражений. В общем случае можно сказать, что выражения строятся из операндов, знаков операций и круглых скобок. Выражения используются для вычисления новых значений, т.е. имеют тип, который определяется синтаксически в зависимости от типов операций и операндов. Операнды – это некоторые "элементарные" значения: переменные, константы, вызовы функций. При составлении выражений необходимо знать следующие правила.1. Все выражение должно быть записано в строку. Двухэтажные выражения, а так же верхние и нижние индексы не допускаются. Например: ((а1*х1)-(а2*х2))/(х1-х2).2. В выражении в качестве разделителей можно использовать только круглые скобки. 3. Нельзя записывать подряд два знака. Например, форма записи а+в/-с неправильна, правильной является форма а+в/(-с). Примеры выражений: a+b*x;y-(2*y+c)*y; sin(x)*2+56.^ 3.6 Символьный тип Переменные этого типа описываются служебным словом char. Язык Pascal позволяет работать не только с численными данными, но и с символьными. Значениями символьного типа являются символы из множества ASCII (American Standart Code For Information Interchange - американский стандартный код для обмена ин­формацией). Это множество включает 256 различных символов, расположенных в определенном порядке и пронумерованных. Номера символов – целые числа в диапазоне 0..255. Допускаются некоторые отклонения от стандарта ASCII, в частности при наличии соответствующей системной поддержки это множество может содержать буквы русского алфавита. Размер памяти, занимаемый символом, 1 байт. Если символьное значение имеет графическое представление, то оно изображается соответствующим знаком, заключенным в одинарные кавычки (апострофы), например: 'R' '+' '-' 's'. Для представления самого апострофа его изображение удваивается: ''''. Если символ, который нужно изобразить, не имеет графического представления, то можно воспользоваться следующей эквивалентной формой записи, состоящей из символа ‘#’ (решетка, диез) и целочисленного кода символа (от 0 до 255): #10, #13.Операции, возможные над символьными данными:операции сравнения – результат операции определяется сопоставлением кодов сравниваемых символов, тот символ больше, чей код больше;функция ord(c) (с – переменная символьного типа) вычисляет порядковый номер символа с (например, ord('R')=82);функция chr(i) (i – переменная целого типа) выдает символ с порядковым номером i (например, chr(68)='D');функция pred(c) выдает предыдущий по отношению к с символ (например, pred('9')='8');функция succ(c) выдает следующий после символа с символ (например, succ('b')='a').^ 3.7 Булевский тип Логический тип данных часто называют Булевским типом, по имени английского математика Джорджа Буля, создателя особой области математики – логики. Основу математической логики составляют две константы: True (Истина, 1) и False (Ложь, 0). Логические данные широко используются при сравнении величин. Результат сравнения может быть истинным или ложным. Примеры.a2=b2+c2 – истинно при a=5, b=4, c=3 ложно при a=2, b=3,c=4.x2В языке Паскаль переменные логического типа могут принимать значения True и False. Значения этого типа занимают 1 байт памяти. Описание переменных логического типа выполняется с помощью служебного слова Boolean. Var A, B: Boolean;В теле программы такой переменной можно присваивать значения логических констант True и False. Пример. A:=True; B:=False;^ Логические выражения Как уже отмечалось выше, логические данные широко используются при сравнении величин. В результате сравнении величин, получается либо ложное, либо истинное значение. В языке Pascal для сравнения данных предусмотрены следующие операции отношения (сравнения): > - больше; = - равно; >= - больше или равно; - не равно. Отношения можно использовать в правой части оператора присваивания. Например: A:=3 A:=x1x2; B:=(x1+x2)В математической логике имеются специальные логические операции: Or – логическое сложение (ИЛИ), And –логическое умножение (И), Not – логическое отрицание (НЕ). Логическое сложение дает ложный результат только в том случае, когда оба операнда ложные. Логическое умножение дает истинный результат только в том случае, когда оба операнда истинны. Операция отрицания дает ложный результат, если операнд истинный, и, наоборот, истинный результат, если операнд ложный. Данные о результатах логических операций представлены в таблице 3.4.Таблица 3.4 – логические операции A B A or B A and B Not A False False False False True False True True False True True False True False False True True True True False Примеры. (A2) – при A=4, B=0 – ложно, при A=4, B=3 – истина. (A2) – при A=1, B=10 –истина, при A=3, B=3 – ложь. Not (A Таким образом, логические выражения строятся из логических переменных, логических констант, логических операций, операций отношений. Кроме того, в языке существует система приоритетов, т.е. очередности выполнения операций в выражении. Для изменения очередности предназначены круглые скобки – часть выражения, заключенная в скобки рассматривается как отдельный операнд. Приоритет операций (от высшего к низшему): 1) not; 2) *, / , and,div, mod; 3) +, -, or; 4) =, , , = .0>^ 3.8 Ограниченные типы Это самый простой способ образования нового типа из уже существующего путем ограничения его области допустимых значений. Для этого надо задать максимальное и минимальное значения:Varх: -1000..1000;с: ‘a’..’z’;y: 0..9.В качестве базового типа допускается использовать любой дискретный тип, причем новый тип наследует все свойства базового.Описанному таким образом типу можно задать идентификатор, который можно использовать при описании переменных и создании новых типов. Использование ограниченных типов существенно улучшает наглядность программы и, кроме того, позволяет эффективно контролировать выходы значений за пределы заданного диапазона.^ 3.9 Перечислимые типы Другой способ создания нового типа – перечисление всех возможных его значений, причем каждое такое значение будет определяться именем. Описание этого типа представляет собой набор значений, заключенный в скобки, сами названия значений разделяются запятой. При создании любых новых типов их необходимо описать в разделе описания типов, который начинается со служебного слова type и располагается в соответствии с общей структурой программы. Например:type color = ( red, yellow, green ); direction = ( left, right, up, down );Var c: color; d: direction;Перечислимые типы считаются дискретными. Названия значений в пределах одного блока должны быть уникальны. 4 Операторы Поскольку язык Pascal алгоритмический, то для записи шагов алгоритмов, для наглядного однозначного представления алгоритмов в стиле структурного программирования существует набор операторов. Основные операторы считаются простыми, остальные – структурными, т.е. в их состав могут входить другие операторы, причем глубина "вложенности" операторов не ограничена.^ 4.1 Основные операторы Оператор присваивания Предназначен для присваивания переменной значения выражения. Оператор обозначается символом ":=", в левой части указывается имя переменной, в правой – вычисляемое выражение. Оператор считается синтаксически правильным, если тип выражения в правой части совпадает с типом переменной. Допускается использование этого оператора с переменными любого типа, кроме файлового. Примеры использования оператора присваивания: с переменными целого типа: x:=200; вещественного: y:=Sin(Pi/3); символьного: c:=‘6’; булевского: test:=false;Операторы ввода и вывода Для того чтобы программа могла работать в диалоговом режиме (позволяла бы вводить данные и видеть результаты работы на экране) существуют операторы ввода и вывода. Существует две формы оператора ввода: read и readln.read(x1,x2,x3…); Оператор read обеспечивает ввод данных разных типов с клавиатуры. В скобках указываются имена переменных, которым присвоятся введенные значения. При вводе нескольких значений с помощью одного оператора они разделяются символом "пробел". Для окончания ввода (завершения работы одного оператора read) нажимается клавиша "Enter". Если же в программе есть несколько подряд идущих операторов read, то данные вводятся потоком, т.е. без нажатия "Enter".readln(x1,x2,x3…); Оператор readln аналогичен предыдущему, отличие заключается в том, что при выполнении одного оператора readln курсор на экране монитора переходит на новую строку.Примеры: read(a);read(a,b,c);readln(x,y). Аналогично существует две формы оператора вывода:write(x1,x2,x3…); В результате выполнения данного оператора значения переменных x1,x2,x3… будут выведены на экран монитора. Если необходимо вывести на экран какой-либо текст, то внутри оператора write этот текст записывается в апострофах:x:=5;write(‘x=‘,x); Результат выполнения этих операторов: x=5.writeln(x1,x2,x3…); Аналогичен оператору write, отличие заключается в том, что после выполнения оператора writeln курсор переходит на одну строку вниз. Оператор writeln может использоваться без каких-либо параметров – в этом случае после выполнения такого оператора курсор просто перемещается на одну позицию вниз, так, например, выполнение последовательности команд writeln; writeln; writeln; writeln; writeln; приведет к тому, что курсор опустится на пять строк вниз. Примеры:writeln(‘Hellow World!’);write(‘a=‘,a,’ b=‘,b,’ c=‘,c);Операторы вывода обеспечивают вывод на экран не только значений переменных, но также и значения выражений. Например, в результате выполнения следующих операторов: x:=4; y:=3; writeln(‘Значение выражения = ‘, x + sqr( y )); получим на экране монитора следующее сообщение:^ Значение выражения = 13. В операторах вывода write и writeln имеется возможность установить ширину поля вывода. Если x и i - целочисленные выражения, а y - вещественное выражение, то вызовwrite(x : i, y : i)печатает значения x и y каждое в крайние правые позиции полей шириной i;write(y : i : x)вызовом в крайние правые позиции поля шириной i символов выводится десятичное представление значения y в формате с фиксированной точкой, причем после десятичной точки выводится x цифр, представляющих дробную часть числа.^ 4.2 Составной оператор Для того чтобы задать последовательное выполнение (по порядку, один за другим) нескольких операторов, в языке Pascal существует составной оператор. Операторы, входящие в составной, разделяются символом ";", в начале ставится служебное слово begin, в конце – end. Составной оператор применяется в тех случаях, когда синтаксис языка допускает использование только одного оператора, а смысл требует выполнения нескольких действий. Пример составного оператора: begin x:=10; writeln(‘y=‘,x*sqr(x))end Обратите внимание: перед служебным словом end разделитель (символ ";") не ставится.^ 4.3 Условный оператор Очень часто так же, как и в жизни, при решении задач некоторые действия выполняются в зависимости от истинности каких-либо условий. Например, мы берем с собой зонт, если идет дождь или на небе тучи. Или часто встречающиеся в математике определения функций: если x если x>=0, то f(x)=2x. Здесь значение функции f вычисляется в зависимости от величины x по разным формулам. Для задания выбора того или иного действия в зависимости от условия в языке Pascal предназначен условный оператор, который имеет две формы: полную и сокращенную.^ Полная форма: if then else ;В качестве условия используется значение логического выражения, в качестве операторов – любой простой или составной оператор, в том числе и сам условный оператор. Если значение логического выражения – true, то выполняется оператор1, если false, то выполняется оператор2. Часть условного оператора, начинающаяся со слова else, может отсутствовать, такая форма оператора называется сокращенной и выглядит следующим образом:if then ;Оператор в этом случае выполняется, если условие истинно, иначе программа переходит к следующему оператору. Для примера полной формы рассмотрим определение функции f(x):if x else f:=2*x;Если в нашем примере описать логическую переменную В, значение которой будет равно true, если xB:=xIf B then f:=x+1 else f:=2*x;Пример краткой формы: if not((x1)) then y:=sqr(x);При использовании вложенных условных операторов может возникнуть неоднозначность, например:if then if then else . В данном случае необходимо помнить, что служ


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

Поделись с друзьями, за репост + 100 мильонов к студенческой карме :

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

Читайте также:
Виды рефератов Какими бывают рефераты по своему назначению и структуре.