Шпаргалка по дисциплине "Информатика"

Автор работы: Пользователь скрыл имя, 03 Июня 2015 в 01:15, шпаргалка

Краткое описание

Работа содержит ответы на вопросы для экзамена по дисциплине "Информатика".

Вложенные файлы: 1 файл

билеты к информатике.docx

— 101.47 Кб (Скачать файл)

 

 

 

 

 

Билет 12

Отладка и тестирование программ. Функциональные и структурные тесты. Виды ошибок в программах.

 

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

Тестирование - испытание программы на множестве тестов.

Подготовка тестирования: 
              подготовка тестов; 
              подготовка программы к тестированию (вставка дополнительных операторов вывода, …)

 

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

Этапы отладки:

1. Устранение синтаксических  ошибок

2. Устранение ошибок  при редактировании связей и  загрузке

3. Ликвидация ошибок  при выполнении программы, обнаруживаемых  инструментальной средой программирования  или операционной системой

4. Тестирование программы - Сколько тестов?

5. Верификация  - доказательство  корректности программы посредством  логического анализа - необязательный  этап

 

При построении функциональных тестов:

  • Программа рассматривается как «черный ящик», ее внутренняя  структура не учитываются. 
  • Используются методы решения задачи, отличные от положенных в основу алгоритма.

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

 

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

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

 

 

Билет 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);

VAR   a, 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писокФормальныхПараметров)]

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

 

 

Билет 22

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

 

ФУНКЦИИ

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

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

Описания (Const… Type… Var… процедуры и функции) 
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 программы в процедурах недоступно.

Информация о работе Шпаргалка по дисциплине "Информатика"