МЕНЮ


Фестивали и конкурсы
Семинары
Издания
О МОДНТ
Приглашения
Поздравляем

НАУЧНЫЕ РАБОТЫ


  • Инновационный менеджмент
  • Инвестиции
  • ИГП
  • Земельное право
  • Журналистика
  • Жилищное право
  • Радиоэлектроника
  • Психология
  • Программирование и комп-ры
  • Предпринимательство
  • Право
  • Политология
  • Полиграфия
  • Педагогика
  • Оккультизм и уфология
  • Начертательная геометрия
  • Бухучет управленчучет
  • Биология
  • Бизнес-план
  • Безопасность жизнедеятельности
  • Банковское дело
  • АХД экпред финансы предприятий
  • Аудит
  • Ветеринария
  • Валютные отношения
  • Бухгалтерский учет и аудит
  • Ботаника и сельское хозяйство
  • Биржевое дело
  • Банковское дело
  • Астрономия
  • Архитектура
  • Арбитражный процесс
  • Безопасность жизнедеятельности
  • Административное право
  • Авиация и космонавтика
  • Кулинария
  • Наука и техника
  • Криминология
  • Криминалистика
  • Косметология
  • Коммуникации и связь
  • Кибернетика
  • Исторические личности
  • Информатика
  • Инвестиции
  • по Зоология
  • Журналистика
  • Карта сайта
  • Основные понятия алгоритмического языка

    Для всех операторов цикла выход из цикла осуществляется как

    вследствие естественного окончания оператора цикла, так и с

    помощью операторов перехода и выхода.

    В версии ТУРБО ПАСКАЛЬ 7.0 определены стандартные процедуры Break и

    Continue. Процедура Break выполняет безусловный выход из цикла. Проце-

    дура Continue обеспечивает переход к началу новой итерации цикла.

    20. О П Е Р А Т О Р В А Р И А Н Т А{}

    21. П Е Р Е Ч И С Л Я Е М Ы Й Т И П Д А Н Н Ы Х

    Перечисляемый тип представляет собой ограниченную упорядоченную

    последовательность скалярных констант, составляющих данный тип. Зна-

    чение каждой константы задается ее именем. Имена отдельных констант

    отделяются друг от друга запятыми, а вся совокупность констант, сос-

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

    Программист объединяет в одну группу в соответствии с каким - либо

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

    Например, перечисляемый тип Rainbow(РАДУГА) объединяет скалярные

    значения

    RED, ORANGE, YELLOW, GREEN, LIGHT_BLUE, BLUE, VIOLET (КРАСНЫЙ,

    ОРАНЖЕВЫЙ, ЖЕЛТЫЙ, ЗЕЛЕНЫЙ, ГОЛУБОЙ, СИНИЙ, ФИОЛЕТОВЫЙ). Пе-

    речисляемый тип Traffic_Light (СВЕТОФОР) объединяет скалярные

    значения RED, YELLOW, GREEN (КРАСНЫЙ, ЖЕЛТЫЙ, ЗЕЛЕНЫЙ).

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

    начинается со служебного слова type, например:

    type

    Rainbow = (RED, ORANGE, YELLOW, GREEN, LIGHT_BLUE, BLUE, VIOLET);

    Каждое значение является константой своего типа и может принадле-

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

    ример, перечисляемый тип Traffic_Light не может быть определен в

    одной

    программе с типом Rainbow, так как оба типа содержат одинаковые конс-

    танты.

    Описание переменных, принадлежащих к скалярным типам, которые объ-

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

    Например:

    type Traffic_Light= (RED, YELLOW, GREEN);

    var Section: Traffic_Light;

    Это означает, что переменная Section может принимать значения RED,

    YELLOW или GREEN.

    Переменные перечисляемого типа могут быть описаны в разделе описа-

    ния переменных, например:

    var Section: (RED, YELLOW, GREEN);

    При этом имена типов отсутствуют, а переменные определяются сово-

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

    К переменным перечисляемого типа может быть применим оператор

    присваивания:

    Section:= YELLOW;

    Упорядоченная последовательность значений, составляющих перечисля-

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

    ницу. Отсюда следует, что к перечисляемым переменным и константам мо-

    гут быть применены операции отношения и стандартные функции Pred,

    Succ, Ord.

    Переменные и константы перечисляемого типа не могут быть элемента-

    ми списка ввода или вывода.

    22. И Н Т Е Р В А Л Ь Н Ы Й Т И П Д А Н Н Ы Х

    Отрезок любого порядкового типа

    может быть определен как интервальный или ограниченный

    тип. Отрезок задается диапазоном от минимального до максимального

    значения констант, разделенных двумя точками. В качестве констант мо-

    гут быть использованы константы, принадлежащие к целому, символьному,

    логическому или перечисляемому типам. Скалярный тип, на котором стро-

    ится отрезок, называется базовым типом.

    Минимальное и максимальное значения констант называются нижней и

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

    граница должна быть меньше верхней.

    {}

    Над переменными, относящимися к интервальному типу, могут выпол-

    няться все операции и применяться все стандартные функции, которые

    допустимы для соответствующего базового типа.

    При использовании в программах интервальных типов данных может

    осущест-

    вляться контроль за тем, чтобы значения переменных не выходили за

    границы, введенные для этих переменных в описании интервального типа.

    23. М А С С И В Ы

    Массивы представляют собой ограниченную упорядоченную совокупность

    однотипных величин. Каждая отдельная величина называется компонентой

    массива. Тип компонент может быть любым, принятым в языке ПАСКАЛЬ,

    кроме файлового типа. Тип компонент называется базовым типом.

    Вся совокупность компонент определяется одним именем. Для обозна-

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

    менной с индексом или с индексами:

    A[5] S[k+1] B[3,5].

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

    может быть только интервальным или перечисляемым. Действительный и

    целый типы недопустимы. Индексы интервального типа, для которого ба-

    зовым является целый тип, могут принимать отрицательные, нулевое и

    положительные значения.{}

    В операторной части

    программы один массив может быть присвоен другому, если их типы иден-

    тичны, например:

    R1:=Z.

    Для ввода или вывода массива в список ввода или вывода помещается

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

    цикле.

    {}

    Первый индекс определяет номер строки, второй - номер столбца.

    Двумерные массивы хранятся в памяти ЭВМ по строкам.

    Инициализация массивов (присвоение начальных значений всем компо-

    нентам массивов) осуществляется двумя способами.

    Первый способ - с использованием типизированных констант, напри-

    мер:

    type Dim10= Array[1..10] of Real;

    const

    raM10: Dim10 = ( 0, 2.1, 4, 5.65, 6.1, 6.7, 7.2, 8, 8.7, 9.3 );

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

    входящих в него одномерных массивов записывается в скобках:

    type Dim3x2= Array[1..3,1..2] of Integer;

    const

    iaM3x2: Dim3x2= ( (1, 2)

    (3, 4)

    (5, 6) );

    Второй способ инициализации - использование разновидности процеду-

    ры FillChar:

    FillChar( var V; NBytes: Word; B: Byte );

    Эта процедура заполняет участок памяти однобайтовым значением. Напри-

    мер, для обнуления массива A[1..10] of Real можно записать:

    FillChar(A, 40, 0);

    или

    FillChar(A, SizeOf(A), 0);

    {}

    24. С Т Р О К И

    Особое место в языке ПАСКАЛЬ занимают массивы символов. Стандарт-

    ный ПАСКАЛЬ допускает два способа хранения символьных массивов в па-

    мяти ЭВМ: распакованный и упакованный. Распакованные массивы символов

    хранятся в памяти ЭВМ по одному символу в машинном слове, упакованные

    - по одному символу в байте. При описании упакованного массива симво-

    лов используют служебное слово PACKED, например:

    var MAS: Packed Array[1..20] of Char;

    Описание распакованного массива символов имеет вид:

    var M: Array[1..20] of char;

    Для преобразования символьного массива из распакованной формы в

    упакованную и наоборот, из упакованной в распакованную, в язык ПАС-

    КАЛЬ введены две стандартные функции Pack, UnPack.

    Упакованный массив символов образует символьную строку. Символьная

    строка может быть либо строковой константой, либо строковой перемен-

    ной. Строковая константа, или строка, представляет собой совокупность

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

    трукция языка ПАСКАЛЬ. Строковые константы могут входить в состав вы-

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

    описания констант.

    Строковые переменные - это одномерные упакованные массивы симво-

    лов, для описания которых в TURBO PASCAL введен тип String.

    Например, если строка содержит до 30 символов, ее тип будет опре-

    делен как

    type s= String[30];

    Длина строки не может содержать более, чем 255 символов.

    В TURBO PASCAL определено понятие строки переменной длины, в этом

    случае ее описание задается как

    type s= String;

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

    Особенностью строковых переменных является то, что к ним можно об-

    ращаться как к скалярным переменным, так и к массивам. Во втором слу-

    чае применяется конструкция "переменная с индексом", что обеспечивает

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

    равна 1. Отдельный символ строки совместим с типом Char.

    В памяти ЭВМ строка занимает количество байтов, на единицу большее

    ее длины. Нулевой байт строки содержит ее длину.

    Для строк определены операции присваивания, слияния (конкатенации)

    и сравнения.

    Для сравнения строк применяются все операции отношения. Сравнение

    строк происходит посимвольно, начиная с первого символа. Строки рав-

    ны, если имеют одинаковую длину и посимвольно эквивалентны.

    Строки могут быть элементами списка ввода - вывода, при этом запи-

    сывается имя строки без индекса.

    При вводе строковых переменных количество вводимых символов может

    быть меньше, чем длина строки. В этом случае вводимые символы разме-

    щаются с начала строки, а оставшиеся байты заполняются пробелами. Ес-

    ли количество вводимых символов превышает длину строки, лишние

    символы отбрасываются.

    Инициализация строк может производиться как с помощью типизирован-

    ных констант:

    const sName: String[9]= 'IBM PC/AT';

    так и с использованием второй разновидности функции FillChar:

    FillChar( var V; NBytes: Word; C: Char );

    например:

    FillChar(A, SizeOf(A), '0');

    Для работы со строками в TURBO PASCAL включены процедуры и функ-

    ции, которые обеспечивают редактирование и преобразование строк.

    {}

    25. П Р О Ц Е Д У Р Ы И Ф У Н К Ц И И

    Алгоритм решения задачи проектируется путем декомпозиции всей за-

    дачи в отдельные подзадачи. Обычно подзадачи реализуются в виде подп-

    рограмм.

    Подпрограмма - это последовательность операторов, которые опреде-

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

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

    дая подпрограмма определяется уникальным именем. В языке ПАСКАЛЬ су-

    ществуют два типа подпрограмм - процедуры и функции.

    Процедура и функция - это именованная последовательность описаний

    и операторов. При использовании процедур или функций ПАСКАЛЬ - прог-

    рамма должна содержать текст процедуры или функции и обращение к про-

    цедуре или функции. Тексты процедур и функций помещаются в раздел

    описаний процедур и функций.

    {}

    Процедура может содержать такие - же разделы описаний, что и ПАС-

    КАЛЬ - программа, а именно: разделы описания модулей, меток, конс-

    тант, типов, переменных, процедур и функций.

    {}

    ПЕРЕДАЧА ИМЕН ПРОЦЕДУР И ФУНКЦИЙ В КАЧЕСТВЕ ПАРАМЕТРОВ. Во многих

    задачах, особенно в задачах вычислительной математики, необходимо пе-

    редавать имена процедур и функций в качестве параметров. Для этого в

    TURBO PASCAL введен новый тип данных - процедурный или функциональ-

    ный, в зависимости от того, что описывается.

    Описание процедурных и функциональных типов производится в разделе

    описания типов:

    type

    FuncType = Function(z: Real): Real;

    ProcType = Procedure (a,b: Real; var x,y: Real);

    Функциональный и процедурный тип определяется как заголовок проце-

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

    определить функциональный или процедурный тип без параметров, напри-

    мер:

    type

    Proc = Procedure;

    После объявления процедурного или функционального типа его можно

    использовать для описания формальных параметров - имен процедур и

    функций.

    Кроме того, необходимо написать те реальные процедуры или функции,

    имена которых будут передаваться как фактические параметры. Эти про-

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

    ключом {$F+}.

    Пример. Составить программу для вычисления определенного интеграла

    tk

    2t

    I= S--------------- dt

    sqrt(1-sin2t)

    tn

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

    помощью функции, имя которой передается как параметр. Значение опре-

    деленного интеграла по формуле Симпсона вычисляется по формуле:

    ISimps=2*h/3*(0.5*F(A)+2*F(A+h)+F(A+2*h)+2*F(A+3*h)+...

    +2*F(B-h)+0.5*F(B))

    где A и B - нижняя и верхняя границы интервала интегрирования,

    N - число разбиений интервала интегрирования,

    h=(B-A)/N, причем N должно быть четным.

    Program INTEGRAL;

    type

    Func= function(x: Real): Real;

    var

    I,TN,TK:Real;

    N:Integer;

    {$F+}

    Function Q(t: Real): Real;

    begin

    Q:=2*t/Sqrt(1-Sin(2*t));

    end;

    {$F-}

    Procedure Simps(F:Func; a,b:Real; N:Integer; var INT:Real);

    var

    sum, h: Real;

    j:Integer;

    begin

    if Odd(N) then N:=N+1;

    h:=(b-a)/N;

    sum:=0.5*(F(a)+F(b));

    for j:=1 to N-1 do

    sum:=sum+(j mod 2+1)*F(a+j*h);

    INT:=2*h*sum/3

    end;

    begin

    WriteLn(' ВВЕДИ TN,TK,N');

    Read(TN,TK,N);

    Simps(Q,TN,TK,N,I);

    WriteLn('I=',I:8:3)

    end.

    {}

    26. О П Е Р А Т О Р Ы В Ы Х О Д А

    Для завершения работы программ, процедур и функций без предвари-

    тельного перехода по меткам к закрывающему end в TURBO PASCAL введены

    процедуры Exit и Halt.

    Вызов Exit завершает работу своего программного блока и передает

    управление вызывающей программе. Если Exit выполняется в подпрограм-

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

    няться следующий за вызовом этой подпрограммы оператор. Если Exit вы-

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

    нормальному завершению.

    Вызов процедуры Halt, где бы она не находилась, завершает работу

    программы и передает управление операционной системе.

    Процедура Halt имеет структуру Halt(n), где n - код возврата, ко-

    торый может быть проанализирован операционной системой с помощью ко-

    манды IF ERRORLEVEL. Значение n=0 соответствует нормальному заверше-

    нию работы программы. Вызов процедуры Halt без параметра эквивалентен

    вызову Halt(0).

    27. М О Д У Л И

    Модуль (UNIT) в TURBO PASCAL - это особым образом оформленная биб-

    лиотека подпрограмм. Модуль в отличие от программы не может быть за-

    пущен на выполнение самостоятельно, он может только участвовать в

    построении программ и других модулей.

    Модули позволяют создавать личные библиотеки процедур и функций и

    строить программы практически любого размера.

    Модуль в TURBO PASCAL представляет собой отдельно хранимую и неза-

    висимо компилируемую программную единицу.

    В общем случае модуль - это совокупность программных ресурсов,

    предназначенных для использования другими программами. Под программ-

    ными ресурсами понимаются любые элементы языка TURBO PASCAL: констан-

    ты, типы, переменные, подпрограммы. Модуль сам по себе не является

    выполняемой программой, его элементы используются другими программны-

    ми единицами.

    Все программные элементы модуля можно разбить на две части:

    - программные элементы, предназначенные для использования другими

    программами или модулями, такие элементы называют видимыми вне моду-

    ля;

    - программные элементы, необходимые только для работы самого моду-

    ля, их называют невидимыми или скрытыми.

    В соответствии с этим модуль, кроме заголовка, содержит две основ-

    ные части, называемые интерфейсом и реализацией.

    В общем случае модуль имеет следующую структуру:

    unit ; {заголовок модуля}

    interface

    { описание видимых программных элементов модуля }

    { описание скрытых программных элементов модуля }

    begin

    { операторы инициализации элементов модуля }

    end.

    В частном случае модуль может не содержать части реализации и час-

    ти инициализации, тогда структура модуля будет такой:

    unit ; {заголовок модуля}

    interface

    { описание видимых программных элементов модуля }

    implementation

    end.

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

    Заголовок подпрограммы содержит все сведения, необходимые для ее вы-

    зова: имя, перечень и тип параметров, тип результата для функций, эта

    информация должна быть доступна для других программ и модулей. С дру-

    гой стороны, текст подпрограммы, реализующий ее алгоритм, другими

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

    процедур и функций помещают в интерфейсную часть модуля, а текст - в

    часть реализации.

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

    Страницы: 1, 2, 3, 4, 5


    Приглашения

    09.12.2013 - 16.12.2013

    Международный конкурс хореографического искусства в рамках Международного фестиваля искусств «РОЖДЕСТВЕНСКАЯ АНДОРРА»

    09.12.2013 - 16.12.2013

    Международный конкурс хорового искусства в АНДОРРЕ «РОЖДЕСТВЕНСКАЯ АНДОРРА»




    Copyright © 2012 г.
    При использовании материалов - ссылка на сайт обязательна.