Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


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



 

Для этой цели используются две стандартные процедуры: Writeln и Write.

 

Writeln (Список вывода); — стандартная процедура, которая используется для вывода данных на экран. Значения выводятся в порядке их записи в списке вывода. Затем курсор переходит в начало следующей строки.

Write (Список вывода); — стандартная процедура для вывода данных на экран без перевода курсора на новую строку.

Оператор Результат выполнения
Writeln('Ответ: ' sqrt(5)); Ответ: 2.2360679775Е+00 □ < = положение курсора после вывода
Writeln('Введите число'); Введите число □ < = положение курсора после вывода
Write ('Х='); Х=□ < = положение курсора после вывода
Write (X, 1, 1, Y); При Y=-3, Х=5 (X, Y описаны как Integer) 511-З□ < = положение курсора после вывода
Writeln (2 + 3); 5 □ < = положение курсора после вывода
Writeln('Дано: а= ', а); Writeln('b=', b); Writeln('а + b = ', a+b); При а=-34.6, b=126.93 (a, b описаны как Real) Дано: а=-3.4600000000Е+01 b=1.2693000000Е+02 а + b= 9.2330000000Е+01 □ < = положение курсора после вывода
Writeln (0.2-0.01); 1.9000000000Е-01 □ < = положение курсора после вывода
Writeln; Переход на новую строку

 

Рассмотрим, теперь, Ввод данных в Паскале.

 

Для ввода значений переменных с клавиатуры используют две стандартные процедуры ввода: Read и Readln.

РАЗЛИЧИЯ READ B READLN ВАЖНЫ ПРИ ЧТЕНИИ ИСХОДНЫХ ДАННЫХ ИЗ ФАЙЛА

 

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

 

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

Билет№22

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

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

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

1. Арифметические функции

2. Функции преобразования типов

3. Функции для величин порядкового типа

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

 

Билет№23

Процедуры.

В большинстве языков структурного программирования подпрограммы существуют только в виде функций. В Паскале же их два типа: процедуры и функции. Их заголовки выглядят соответственно так:

procedure имя (параметры);

function имя (параметры): тип результата;

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

Параметр-значения.

Если в качестве формального параметра указана переменная, то такой параметр и есть параметр-значение. Примерами таких параметров служат параметры a, b и с в процедуре sq:

procedure sq((a, b, c: real; var x1, x2: real);

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

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

Параметры-переменные.

Если перед именем формального параметра стоит ключевое слово var, то такой параметр есть параметр-переменная. Примерами таких параметров служат x1 и x2 в заголовке

procedure sq(a, b, c: real; var x1, x2: real);

Фактический параметр, соответствующий параметру-переменной, может быть только переменной (не константой и не выражением).

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

Пример. При вызове процедуры sq оператором sq(p, q, r, y, z) для переменных x1 и x2 используются непосредственно те ячейки, которые отведены для y и z. Поэтому оператор присваивания x1: = (-b + sqrt(d)) / (2 * a) засылает полученное значение в y.

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

Билет№24

Модуль (программирование) — функционально законченный фрагмент программы, оформленный в виде отдельного файла с исходным кодом или поименованной непрерывной её части.

Структура модулей

Структура модуля аналогична структуре программы, однако есть несколько существенных различий.
Заголовок модуля начинается зарезервированным словом unit, за которым следует имя модуля (идентификатор) точно так же, как и в случае имени программы. Следующим элементом в модуле является ключевое слово interface. Оно обозначает начало интерфейсной секции модуля - части, доступной всем другим модулям или программам, в которых он используется.


Программный модуль может использовать другие модули, для этого они определяются в операторе uses. Оператор uses (если он имеет место) может содержаться в двух местах. Во-первых он может следовать сразу после ключевого слова interface. В этом случае любые константы и типы данных, описанные в интерфейсной секции этих модулей, могут использоваться в любом описании в интерфейсной части данного модуля.


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

Билет№25

Метод половинного деления

Его ещё называют методом дихотомии. Этот метод решения уравнений отличается от выше рассмотренных методов тем, что для него не требуется выполнения условия, что первая и вторая производная сохраняют знак на интервале [a, b]. Метод половинного деления сходится для любых непрерывных функций f(x) в том числе недифференцируемых.

Разделим отрезок [a, b] пополам точкой . Если (что практически наиболее вероятно), то возможны два случая: либо f(x) меняет знак на отрезке [a, c] (Рис. 3.8), либо на отрезке [c, b] (Рис. 3.9)

Рис. 3.8 Рис. 3.9

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

Билет№26


Поделиться:



Последнее изменение этой страницы: 2017-03-14; Просмотров: 518; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.012 с.)
Главная | Случайная страница | Обратная связь