Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Chast_2.docx
Скачиваний:
2
Добавлен:
17.04.2019
Размер:
229.99 Кб
Скачать

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

Условный оператор реализует выполнение определённых команд при условии, что некоторое логическое выражение (условие) принимает значение «истина» true. В большинстве языков программирования условный оператор начинается с ключевого слова if.

13)

Циклические конструкции.  1. Цикл с предусловием.  Для реализации циклов с предусловием используется составной оператор, включающий оператор while, do, операторные скобки.  В общем виде цикл реализуется записью:      while <условие> do <действие>;  Если тело цикла содержит более одного действия, то необходимо использовать операторные скобки:      while <условие> do      begin        <оператор 1>;        <оператор 2>;        ...        <оператор n>;      end;  2. Цикл с постусловием.  Для реализации цикла используется составной оператор, состоящий из операторов repeat и until.  В общем виде цикл записывается так:      repeat        <действие>;      until <условие>;  Пример: задано целое число. Вывести на печать все цифры введенного числа.  1 способ:

    var a,b:longint;      Begin        read(a);        repeat          b:=a mod 10;          writeln(b);          a:=a div 10;        until a=0;      End.

2 способ:

    var a,b:longint;      Begin        read(a);        while a<>0 do          begin            b:=a mod 10;            write(b:3);            a:=a div 10;          end;      End.

3. Цикл с параметром.    Для реализации в языке Pascal используется составной оператор, состоящий из операторов for, to, downto, do и при необходимости из операторных скобок. Переменная параметр обязательно объявляется в декларационной части программы и может принадлежать одному из порядковых типов.  Если при изменении переменной параметра необходимо использовать переход к следующему значению, то используется оператор to; если переход необходимо осуществить к предыдущему значению, то используется оператор downto. Тогда в общем виде цикл записывается так:      for I:=I0 to In do        begin          <оператор 1>;          <оператор 2>;          ...          <оператор n>;        end; 

14)

В Турбо Паскале пять структуированных типов:

массивы;

строки;

множества;

записи;

файлы;

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

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

Например: A[25],   B[5, 8],     X[i],   Y[i, j],  R[n+1]. Размер  массива (длина) – число элементов массива.

Размерность  массива  – число индексов в  массиве.

Индекс определяет положение элемента в массиве. В качестве индекса м.б. использовано выражение (индексное), переменная или константа (частный случай выражения). В качестве индексов м.б. любой порядковый тип кроме Longint. Тип индексов д.б. скалярным,  упорядоченным и конечным. Чаще всего используются индексы интервального типа, при этом они м.б. отрицательными.

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

С использованием раздела описания типов:

       Type T = array[T1] of T2;        Var  A, B, C         :T; где:         T    - имя типа;             {регулярный тип}         T1   - тип индекса;         T2   - тип компонент.    {базовый тип} Тип, определенный с помощью конструкции array . . of называется регулярным.  Например:      Type                vec_r = array[1. .n] of real;               vec1_i = array[1. .n] of integer;               vec1_l = array[False. .True] of Boolean;               vec1_S = array[‘A’1. . ‘Z’] of char;        Var                    A, B          :vec_r;                   N, K         :vec_i;                  V, W        :vec_l;                   R, S         :vec_s;

 Без  использования раздела описания типов:

           Var  A, B, C  : = array[T1] of T2;     Например:      Var                     A, B          : array[1. .n] of real;                   N, K         : array[1. .n] of integer;                  V, W         :  array[False. .True] of Boolean;                   R, S          : array[‘A’1. . ‘Z’] of char;

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

     Например:  X:=Y.

?15)

Двумерный массив в Паскале трактуется как одномерный массив, тип элементов которого также является массивом (массив массивов). Положение элементов в двумерных массивах Паскаля описывается двумя индексами. Их можно представить в виде прямоугольной таблицы или матрицы

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

type  matrix= array [1..5, 1..10] of integer;  var     a , b : matrix ;

16)

Табулирование функции — это вычисление значений функции при изменении аргумента от некоторого начального значения до некоторого конечного значения с определённым шагом. Именно так составляются таблицы значений функций, отсюда и название — табулирование. Необходимость в табулировании возникает при решении достаточно широкого круга задач. Например, при численном решении нелинейных уравнений f(x) = 0, путём табулирования можно отделить (локализовать) корни уравнения, т.е. найти такие отрезки, на концах которых, функция имеет разные знаки. С помощью табулирования можно (хотя и очень грубо) найти минимум или максимум функции. Иногда случается так, что функция не имеет аналитического представления, а её значения получаются в результате вычислений, что часто бывает при компьютерном моделировании различных процессов. Если такая функция будет использоваться в последующих расчётах (например, она должна быть проинтегрирована или продифференцирована и т.п.), то часто поступают следующим образом: вычисляют значения функции в нужном интервале изменения аргумента, т.е. составляют таблицу (табулируют), а затем по этой таблице строят каким-либо образом другую функцию, заданную аналитическим выражением (формулой). Необходимость в табулировании возникает также при построении графиков функции на экране компьютера.

17)

В Turbo Pascal в настоящее время имеется большое количество стандартных подпрограмм и данных, объединенных в несколько стандартных модулей. Они позволяют упростить процедуру написания программ, более полно использовать возможности компьютеров типа IBM PC, возможности операционной системы MS DOS. В библиотеке имеются следующие стандартные модули:

System - основная библиотека;

Strings - работа с ASCIIZ-строками;

Crt - работа с консолью;

Graph - графическая библиотека;

Dos - использование возможностей ДОС;

WinDos - использование возможностей ДОС с использованием ASCIIZ-строк;

Overlay - организация оверлейных структур;

Printer - работа с принтером;

Тurbo3 - связь с программами Turbo Pascal 3.0;

Graph3 - связь с графикой Turbo Pascal 3.0.

Модули Strings, Graph, WinDos, ТurboЗ и Graph3 находятся соответственно в файлах STRINGS.TPU, GRAPH.TPU, WINDOS.TPU TURB03.TPU и GRAPH3.TPU, остальные - в файле TURBO.TPL.

Так как необходимость обеспечить совместимость с программами, написанными в терминах среды Turbo Pascal 3.0, возникает все реже и реже, модули ТurboЗ и Graph3 здесь рассматриваться не будут.

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

Стандартная подпрограмма (процедура или функция) - подпрограмма, включенная в библиотеку программ ЭВМ, доступ к которой обеспечивается средствами языка программирования. Вызывается она по имени с заданием фактических параметров с типом описанным при описании данной процедуры в библиотечке процедур и функций.

Из набора стандартных процедур и функций по обработке одного типа информации составляются модули. Каждый модуль имеет своё имя (мы уже хорошо знакомы с модулями Crt, Graph). Доступ к процедурам и функциям модуля осуществляется при подключении этого модуля (Uses Crt, Graph).

Help содержит подробные описания предусмотренных средой программирования процедур и функций. Для вызова помощи при работе со стандартными процедурами и функциями нужно поставить на имя подпрограммы курсор и нажать клавиши . Описание процедур и функций в Help строится по стандартному принципу.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]