ТОП 10:

Цель функционального тестирования - найти расхождение между программой и ее внешней спецификацией.



 

Структурное тестирование:

· Учитывает логику (структуру) программы

· Предусматривает контроль правильности вычислений с помощью ручного просчета (или просчета с помощью других программ)

· Предполагает пошаговое выполнение программы (трассировку) с контролем промежуточных результатов

 

 

Билет 16

Логические выражения. Логические константы, переменные. Соотношения. Логические операции. Формулы двойственности. Примеры составления и использования логических выражений.

 

Билет 17

Принципы написания простейших программ.

 

Сведения, необходимые для написания простейшей программы:

· Структура простейшей программы.

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

· Операторы преобразования данных:присваивания (преобразования внутренних данных), операторы ввода и вывода.

· Правила записи алгоритма - программирование основных алгоритмических структур.

 

Структура простейшей программы на любом алгоритмическом языке:

Заголовок
ограничитель

Описания - неисполняемые инструкции языка

Операторы - исполняемые инструкции языка

ограничитель

 

 

Билет 18

Паскаль.

 

Простейшая программа:

program Имя_программы;

Varописания переменных

Begin

операторы

End.

Структура паскаль-программы:

program Имя_программы;

LABEL …{не используем}

CONSTимя_константы=значение_константы;

N=20; a=-98.345; eps=2.5e-6; {2.5*10-6}

TYPEимя_типа=описание_типа;
MAS1=ARRAY[1..N,1..7] OF REAL;
DAY=(SUNDAY, MONDAY, TUESDAY,WEDNESDAY, THURDAY, FRIDAY, SATURDAY); {тип перечисление}

COLOR=(BLACK,BROWN,GREEN,YELLOW,WHITE);

VARa, a1:MAS1;DATE:DAY; PAINTER:COLOR;

Раздел процедур (PROCEDURE) и функций (FUNCTION)

Begin

End.

Оператор присваивания :

Накапливание: вычисление переменной через саму себя (предыдущее значение)
Пример: i:=i+1;S:=S+a; P:=P*b[i];

Накапливание, как правило, происходит в цикле. До цикла накапливаемым переменным необходимо присвоить начальные значения (обычно суммам -0, произведениям – 1)

 

Оператор вывода (в консольном приложении, на стандартное устройство CON):

• write(список_вывода)

• writeln(список_вывода)

список_вывода:

– обязательно скалярные значения;

– переменные, простые или с индексами;

– константы;

– выражения;

– элементы списка разделяются запятыми.

Билет 19

Кодирование на паскале основных алгоритмических структур.

 

 

Билет 20

 

Процедуры. Их назначение. Понятие о формальных и фактических параметрах. Замена формальных параметров на фактические «по ссылке» и «по значению»

 

ФОРМАЛЬНЫЕ ПАРАМЕТРЫ ПОДПРОГРАММЫ:

• Формальные параметры действуют только в подпрограмме (являются локальными).

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

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

Формальные параметры - это «вход» и «выход» подпрограммы.

 

ФАКТИЧЕСКИЕ ПАРАМЕТРЫ ПОДПРОГРАММЫ :

Фактические параметры подпрограммы - это параметры программы, которые подставляются вместо формальных параметров при обращении к подпрограмме.

Фактические параметры должны соответствовать формальным по числу, порядку перечисления и типу.

 

 

Замена формальных параметров на фактические (вызов):

1) по значению
СALL-BY-VALUE

Пересылка значений фактических параметров в ячейки формальных параметров

2)по адресу (ссылке, имени)

CALL-BY-REFERENCE

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

 

Назначение:

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

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

• Средства для использования параметров-подпрограмм имеются во всех алгоритмических языках, предназначенных для решения вычислительных задач (СИ, Фортран, MatLab).

 

Средства паскаля для работы с подпрограммами-параметрами:

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

TYPE PROC1=PROCEDURE(a,b,c:real; var d:integer);

FUNC1=FUNCTION : REAL;

G=FUNCTION (x,y,z:real);

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

 

Некоторые особенности использования подпрограмм-фактических параметров:

• Имена стандартных подпрограмм нельзя использовать в качестве фактических параметров.

Function sn(x:real):real;

begin sn:=sin(x)

end;

• В языках Borland Pascal и Turbo Pascal подпрограммы, используемые как фактические параметры, должны компилироваться с использованием "дальней модели памяти" , поэтому в программу надо включить директивы компилятора {$F+} и {$F-} или поставить стандартную директиву far (для версий начиная с Turbo Pascal 6.0) cразу за заголовком подпрограммы.

 

 

Билет 21

Описание вызова процедур в паскале.

 

Вызов процедуры:

procedure ИмяПроцедуры [(CписокФормальныхПараметров)]

Описания (ConstTypeVar… процедуры и функции)
begin
Операторы
end;

 

 

Билет 22

Понятие о функциях в паскале. Их описание и вызов.

 

ФУНКЦИИ

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


function ИмяФункции [(CписокФормалПарам)] :ТипФункции

Описания (ConstTypeVar… процедуры и функции)
begin
Операторы
ИмяФункции
:=результат

end;

 

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

ИмяФункции[(Список фактических параметров)];

Указатель функции может стоять только в правой части оператора присваивания.

 

Билет 23

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

 

Глобальные и локальные имена:

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

Локальные имена - это имена, которые действуют в пределах блока подпрограммы, это внутренние имена подпрограммы.

• К локальным именам относятся формальные параметры и все имена, описанные в блоке подпрограммы. Вне блока подпрограммы локальные имена не определены.

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

 

Область памяти для локальных и глобальных имен:

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

• Локальные данные подпрограммы хранятся в специальной области оперативной памяти – стеке; память под эти данные распределяется каждый раз при вызове подпрограммы и освобождается при завершении работы подпрограммы.

 

Область действия имени:

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

• Область действия локального имени - блок подпрограммы, в которой оно объявлено; глобального – весь текст программы от места объявления до последнего слова End (с точкой).

• Глобальное имя доступно в подпрограмме только в том случае, если в подпрограмме оно не объявлено еще раз.

 

Время жизни (существования) данных:

• Время жизни – это время, в течение которого по данные распределена память.

• По времени жизни данные делятся на статические, автоматические, динамические.

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

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

Динамические данные получают место в памяти с помощью операторов динамического распределения памяти.

• В Паскале статические данные - это глобальные данные, автоматические – локальные.

 

 

Билет 24

Процедуры-параметры в Турбо-Паскале.

 

Средства паскаля для работы с подпрограммами-параметрами:

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

TYPE PROC1=PROCEDURE(a,b,c:real; var d:integer);

FUNC1=FUNCTION : REAL;

G=FUNCTION (x,y,z:real);

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

 

Некоторые особенности использования подпрограмм-фактических параметров:

• Имена стандартных подпрограмм нельзя использовать в качестве фактических параметров.

Function sn(x:real):real;

begin sn:=sin(x)

end;

• В языках Borland Pascal и Turbo Pascal подпрограммы, используемые как фактические параметры, должны компилироваться с использованием "дальней модели памяти" , поэтому в программу надо включить директивы компилятора {$F+} и {$F-} или поставить стандартную директиву far (для версий начиная с Turbo Pascal 6.0) cразу за заголовком подпрограммы.

 

Назначение:

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

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

• Средства для использования параметров-подпрограмм имеются во всех алгоритмических языках, предназначенных для решения вычислительных задач (СИ, Фортран, MatLab).

Билет 25

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

 

Program Primer;

Var a,i:real;

Procedure p1;

Var i:real;

Begin . . . a:=...; i:=...;

End{p1};

Procedure p2;

Var i:real;

Begin . . . a:=...; i:=...;

End{p2};

Begin {раздел действий программы}

i:=...; a:=...;

р1; р2; р2

End.

 

a-глобальная переменная, под нее отведена одна ячейка в статическом сегменте памяти, которая доступна программе и процедурам р1 и р2. Под переменную с именем i программы отводится ячейка памяти статического сегмента; под переменные i процедур память в стеке распределяется столько раз, сколько раз осуществляется вход в блок процедур (в нашем примере три раза: при вызове р1 и при каждом вызове р2); при выходе из блока (т. е. при завершении работы процедуры) ячейка с именем i каждый раз освобождается. Так как в каждой процедуре имеется локальное имя i, глобальное i программы в процедурах недоступно.

 

Билет 26

Модули Турбо паскаля. Их назначение. Структура модуля. Использование готовых модулей.

 

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

Модуль - это автономно компилируемая программная единица.

• Модуль может быть подключен к любой паскаль-программе или к другому модулю (программной единице).

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

Модуль делится на две основные части: интерфейсную (interface) и исполняемую (implementation). В интерфейсной части даются описания, которые могут использоваться в программной единице, к которой подключен модуль. В исполняемой части приводятся описания, доступные только внутри модуля.

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

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

 

Структура модуля (ТП, ОП):

UNIT имя_модуля;

INTERFACE

интерфейсная_часть

IMPLEMENTATION

исполняемая_часть

[BEGIN

инициирующая_часть]

END.

 

Структура модуля (ОП):

UNIT имя_модуля;

INTERFACE

интерфейсная_часть

IMPLEMENTATION

исполняемая_часть

[INITIALIZATION

инициирующая_часть]

[FINALIZATION

завершающая_часть]

END.

 

Имя файла, содержащего модуль:

Имя_модуля.pas

• При компиляции
ТП: Имя_модуля.pas => Имя_модуля.tpu
ОП: Имя_модуля.pas => Имя_модуля.dcu

 

Использование модулей:

• Если модуль использует другие модули, то предложение USES может стоять либо после слова INTERFACE, либо после слова IMPLEMENTATION. Модули, подключенные в интерфейсной части, доступны в любой точке рассматриваемого модуля; модули, подключенные в исполняемой части, доступны в любом месте модуля, за исключением интерфейсной части. Примеры использования модулем других модулей будут рассмотрены позже.

 

 

Билет 27

Символьная информация в Паскале.

 







Последнее изменение этой страницы: 2016-09-05; Нарушение авторского права страницы

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.236.59.63 (0.017 с.)