на тему рефераты
 
Главная | Карта сайта
на тему рефераты
РАЗДЕЛЫ

на тему рефераты
ПАРТНЕРЫ

на тему рефераты
АЛФАВИТ
... А Б В Г Д Е Ж З И К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Э Ю Я

на тему рефераты
ПОИСК
Введите фамилию автора:


Шпаргалка: Вопросы и ответы к экзаменам В-1


Шпаргалка: Вопросы и ответы к экзаменам В-1

  (1999)

1. Алгоритм. Свойства алгоритма. Способы записи алгоритма

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

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

Свойства:

А) Дискретность - алгоритм состоит из отдельных пунктов или шагов

Б) Определённость - каждый шаг алгоритма должен быть строго сформулирован.

   (иметь точный смысл)

В) Связанность - на каждом следующем шаге используются результаты предыдущего.

Г) Конечность – алгоритм должен завершаться после конечного числа шагов

Д) Результативность – алгоритм должен приводить к получению конечных результатов

Е) Массовость – пригодность для решения широкого класса задач.

Ж) Эффективность – применение а. должно  давать какой бы-то положительный временной результат (временной)

Способ записи:

А) Словесно-формульный

Б) Структурная схема и алгоритм (ССА)

В)   Спец. языки (алгоритмические и псевдокоды)

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

Г) Графический способ

2. Линейные и разветвляющиеся алгоритмы.   Cтруктурные схема алгоритмов. Правила выполнения.

CCA- при записи в виде структурной схемы алгоритм представляется графически в виде последовательности блоков выполняющих определённые функции и блоки соединяются линиями возможно со стрелками. Внутри блоков операции. Блоки нумеруются по порядку. По способу организации алгоритмов ССА блоки делятся на линейные, разветвляющиеся и циклические.

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

Начало—ряд операторов—конец.

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

3. Циклические алгоритмы. Классификация.  Вычисление сумм, произведений.

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

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

                                                                        ЦИКЛЫ

                        ЗАДАННОЕ ЧИСЛО                                   ИТЕРАЦИОННЫЕ

СО СЧЁТЧИКОМ                  УПР. УСЛОВИЕМ

                                    ПОСТ. УСЛОВИЕ    ПРЕДУСЛОВИЕ

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

4. Циклические алгоритмы. Итерационные циклы. Вложенные циклы.

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

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

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

  Вложенные циклы – это, когда определённый цикл повторяется многократно в другом цикле охватывающем данный.

5. Массивы. Алгоритмы обработки массивов. Процедура BREAK

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

Пример: В[2] означает второй элемент массива В.

Пусть имеется некоторая последовательность величин 1, 2, 4, 8, 3. Все элементы этой последовательности имеют одно имя А. Отличаются они друг от друга индексами, например, A[1]=1, A[2]=2, A[3]=4, A[5]=8, A[6]=3.

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

Количество индексов в обозначении элемента массива определяет размерность массива. Массив может быть одномерным (один индекс S[4]), двумерным (два индекса N[2,4]), трех мерным (три индекса Y[2,4,1]) и т.д.

Массив описывается в разделе описания переменных, при этом описание массива включает описание типа массива (тип его элементов, т.е. какие значения они могут принимать) и типа индексов. Например, массив вещественного типа с именем vector может быть описан следующим образом:var vector: array [1..50] of real

Это описание означает, что одномерный массив vector имеет 50 элементов типа real со значениями индекса 1,2, ...,50. Элементы этого массива будут иметь обозначения: vector[1], vector[2], ..., vector[50]

Двумерный массив matrix, с целочисленными компонентами можно определить следующим образом:

var matrix [1..10,1..15] of integer

Двумерный массив часто называют матрицей. Первый индекс этого массива (номер строки матрицы) принимает значения из отрезка 1..10, а второй (номер столбца) - из отрезка 1..15. Компоненты массива могут иметь обозначения: matrix[1,5], matrix[8,8], matrix[i,j] и т.п.

Примеры:

program p2;

var matrix: array [1..3, 1..4] of integer;{ определяется двумерный массив в 3 строки и 4 столбца с именем matrix}

        i, j: integer;

   begin

        for i:=1 to 3 do

for j:=1 to 4 do

read(matrix[ i, j]); {заполнение двумерного массива на 3 строки и 4 столбца}

        for i:=1 to 3 do

begin

               writeln;

                  for j:=1 to 4 do write(matrix[ i, j]);{вывод элементов двумерного массива в виде таблицы}

            end;

6. Структуризация. Восходящее программирование.  Проектирование алгоритма   перевода чисел из одной системы счисления в другую (2,8,10,16).

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

7. Нисходящее программирование.   Проектирование алгоритма выполнения   арифметических операций (+,-,*,/) над числами с пл. точкой.

При нисходящем программировании сверху вниз сначала разрабатывается общая структурная схема алгоритма, а затем разрабатываются этапы её детализации (структурирование).

8. Язык TURBO PASCAL. Алфавит языка. Идентификаторы TURBO PASCAL.

ТП – единство двух самостоятельных начал компилятора и инструментов програмной оболочки. Это  мощная современная процедурная система программирования

Алфавит: буквы латинского от a до z, знак _.(если не char A = a)

Цифры – арабские 0-9, спец. символы +-*/=.,:;<>[]{}()^&$@#%!

Пробелы (ASCII от 0 до 32) ограничители идентификаторов

Зарезервированные слова и параметры (не используются в качестве идентификаторов). Стандартные директивы absolute, assembler, external, far, forward, near и т.д. .

Идентификаторы: имена констант, var’ных, меток , типов, obg-ов, процедур, функций(могут иметь произвольную длину, но значат только первые 63 символа, начинаются только с буквы или цифры).

9. Оператор условного перехода IF. Составной и пустой операторы.

IF<условие >THEN<операторы> ELSE <операторы>;

10. Оператор цикла со счетчиком.

FOR <идентификатор>:=<начальное состояние >TO<конечное состояние > DO<оператор>

FOR <идентификатор>:=<начальное состояние >DOWNTO<конечное состояние > DO<оператор>

11. Оператор цикла с предусловием.

Цикл ДО

WHILE<условие>DO<оператор>

12. Оператор цикла с постусловием.

Цикл ПОКА

REPEAT

            Оператор;

UNTIL<условие>;

13. Подготовка и отладка программ в среде TurboPascal.

Меню run

Run- запуск на исполнение

Step over-пошаговое исполнение программы

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

Go to cursor – выполнение до курсора

Program reset- завершение процесса отладки

Parameters- окно для ввода параметров для отладки

Меню compile

Compile- компиляция файла, находящегося в активном окне редактирования.

Make – условная компиляция изменённых модулей в ЕХЕ файл

Build- безусловная компиляция многомодульной программы с созданием ЕХЕ файла

Target…-выбор в окне таргет целевой платформы для приложения

Primary file…-открывает окно для указания главного файла, компилируемой программы.

Меню Debug:

Breakpoints- установка точек условного и безусловного перехода

Call stack – показывает процедуры выполнявшиеся ранее.

Register – информация о регистрах процессора

Watch – окно значений переменных

Output – окно результатов работы программы

User screen – просмотр результатов включая графику

Evaluate/ modify.. – окно изменения значений выражений

Add watch – окно значений и переменных вовремя отладки

Add breakpoint.. – окно установки точек прерывания программы 

14. Константы в TURBO PASCAL (целые, вещественные, 16-ричные, логические,    символьные, строковые константы, конструктор множества)

Константы - могут использоваться целые, вещественные, шестнадцатеричные числа, логические константы, символы, строки, множества и признак неопределённого указателя NIL.

Целые числа: от –2147483648 до 2147483647

Вещественные числа:  (экспоненциальная часть) 3.14E5

16-ричное число: $(код 36 в ASCII) $00000000- $F…$F(8)

Логическая константа: True, False.

Символьная константа: любой символ в ‘ ‘, либо указатель внутри кода #83=’S’

Конструктор множества - список элементов множества в [].

[1,2,3,4],[red, blue],[true, false]. В ТП разрешается объявление констант

const a=12/343;

15. Типизированные константы.

Типизированные константы  фактически являются переменными со статическим классом памяти. В отличие от простых констант, в описании типизированных указывается как значение константы, так и её тип.

Существуют типы:

Константа, константа-адрес, константа-массив, константа-запись, константа-объект, константа-множество.

Указательный тип:

Type ptr = ^integer;

Conct intptr:ptr=nil;

Структурированный тип:

1 массив (array)

2 множество (set of 1..4)

3 запись (record)

4Объектного типа (object)

16. Оператор присваивания. Приоритет операций. Стандартные функции.

<имя переменной>:=<выражение>;

   арифметические     логические     отношения     прочие

1                                  NOT                                        @-адресное преобразование

2 *,/,DIV,MOD          AND,SHL,SHR

3 +,-                             OR, XOR

4                                                          <;>;=;             IN

Для  повышения приоритета используются (  ).

Стандартные функции ТП.

ABS(X            )           SQR(X)           SQRT(X)        TRUNG(X)     ROUND(X)

COS(X)           SIN(X)            TG(X)          ARCTANG(X)  EXP(X)

LN(X)             PRED(X)        SUCE(X)        ORD(X)          CHR(X)

ODD(X)          INT(X)            FRAG(X)        +,-,*,/               (X)DIV(Y)     

MOD(X)         NOT                AND               OR                  XOR

= < >               I_SHL_J         I_SHR_J

17. Операторы и функции безусловного перехода (goto, continue, exit, halt).

EXIT; - выход из программы или подпрограммы

HALT(COD);- (COD) – необязательный параметр, определяет код

HALT; - безусловная остановка программы

ERRORLEVEL; -  вниз

BREAK; - досрочный выход из цикла

CONTINUE; - прерывает выполнение текущей операции в цикле, передаёт управление следующему оператору

18. Структуры простой и сложной программ в Турбо-Паскале.

PROGRAM<имя программы >;

USES<имя модуля>;

TYPE<раздел типов>;

LABEL<метки>;

CONST<константы>;

VAR<переменные и их типы>;

FUNCTION<имя функции>(имя переменной: тип)

BEGIN

операторы

END;

PROCEDURE<имя процедуры>( параметры)

BEGIN

операторы

END;

BEGIN

Текст основной программы

END.

19. Подпрограммы. Применение. Структура описания. Отличие процедуры от функции.

Самостоятельные, законченные фрагменты программы, оформленные особым образом, снабжённые именем – называются подпрограммами

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

Подпрограммы используются:

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

2. В сложных программах при модульном проектировании.

Подпрограммы делятся на процедуры и функции 

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

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

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

Структура:     PROCEDURE<имя процедуры >;

                        FUNCTION<имя функции>(параметр: тип);

                                    USES<модули>;

LABEL<метки>;

                                    CONST<константы>;

                                    TYPE<типы>;

                                    VAR<переменные>;

                        BEGIN

Тело подпрограммы

                        END;

20. Вложенные подпрограммы. Принципы  локализации  имен (локальные и  глобальные переменные).

Вложенными являются подпрограммы, вызываемые из других подпрограмм.

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

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

21. Вызов подпрограмм (формальные и фактические параметры).

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

Пример:

PROCEDURE<имя>[(<формальные параметры>)];

FUNCTION<имя>[(<формальные параметры>)]:<тип>

Сразу за заголовками может следовать одна стандартных директив: ASSEMBLER <тело подпрограммы на ассемблере>, EXTERNAL<объявление внешней подпрограммы>, FAR, FORWARD, INLINE<встроенные машинные инструменты>, INTERRUPT,NEAR.

PROCEDURE SB(a: real<формальный параметр>);

Фактические параметры – это глобальные переменные подставленные в формальные

ТИП ФАКТ=ТИП ФОРМ.

22. Процедуры без параметров и с параметрами.

PROCEDURE<имя>

Begin

<текст процедуры>

end;

23. Передача в подпрограмму параметров регулярного типа (массивов, строк).

Типом любого формального параметра может быть только стандартный или ранее объявленный тип.

Пример:

TYPE                                                              TYPE

    ATYPE=ARRAY[1..10]OF REAL;                          INTYPE=STRING[15];    

PROCEDURE S(A:ATYPE);                                        OUTTYPE=STRING[30];

                                                                        FUNCTION ST(S:INTYPE):OUTTYPE

Иной способ для передачи параметров переменных отключением контроля компиляции.

Открытый массив  PROCEDURE I (A: ARRAY OF REAL);

24. Функции. Описание. Вызов функции.

FUNCTION<имя>[(<формальные параметры>)]:<тип>

Сразу за заголовками может следовать одна стандартных директив: ASSEMBLER <тело подпрограммы на ассемблере>, EXTERNAL<объявление внешней подпрограммы>, FAR, FORWARD, INLINE<встроенные машинные инструменты>, INTERRUPT,NEAR.

FUNCTION<имя функции>(параметр: тип);

Begin

<тело подпрограммы>

end;

25. Рекурсии. Прямая и косвенная рекурсия. Директива FORWARD.

Рекурсия – это такой способ организации вычислительного процесса при котором программа в ходе выполнения составляющих её операторов обращается сама к себе.

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

Begin

…………………………

F:=fac(n-1); - вспомогательная переменная

……………………….

End;

Рекурсивный вызов может быть косвенным, который разрешается опережающим описанием:

Procedure b(j: byte);

 Forward;

Procedure a (i: byte);

Begin

B(i);

End;

26. Тип-диапазон. Структурированные типы. Массивы.

Любой из структурированных типов (а в ТП их 4 : массивы, записи, множества, файлы) характеризуется  множественностью образующих этот тип элементов. В ТП

Допускается бесконечная глубина вложенности типов, однако Суммой=<65520 байт (т.к. каждый компонент может представлять структурированный тип).

PACKED- осуществляется везде где это возможно.

Тип диапазон:

TYPE

D = array [0..9] of char;

Var m: d;

Begin <операторы>end.

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

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

<мин. значение >..<макс. значение>

TYPE digit = ‘0’..’9’;  можно  Var date:1..31;

            dig2=48..57;                        month:1..12;

                                                        1CHR:’a’..’z’;

High(x) – максимальное значение типа диапазон

Low(x) – минимальное значение типа диапазон.

Массивы - формальное объединение нескольких однотипных объектов (чисел, символов, строк и т.д.), рассматриваемое как единое целое.

Var a: array [1..10] of  real;

Компоненты массива  состоят из данных одного типа (возможно структурированного).

В качестве идентификаторов порядковые типы кроме LongInt и типа диапазон с базисным типом LongInt/ 

27. Символьный тип.

Значением символьного типа является множество всех символов ПК. Каждому символу присваивается целое число в диапазоне 0..255.Это служит кодом внутреннего представления символа, его возвращает функция ORD. Для кодировки используется код ASCII – 7 битный код, т.е. с его помощью кодируется 128 символов (0..127). В то же время в 8-битном байте, отведённом для хранения символа в ТП, можно закодировать в 2 раза больше символов (0..255). (0-127ASCII, 128-255-может меняться  на ПК разных типов).

0-31 – служебные коды (пробелы)

28. Строковый тип. Операции, процедуры и функции

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

Строковый тип соответствует идентификаторам string и PChar.

A: array[0..n] of char = a: string

Ord(0)=length(a)- длинна строки(не больше 255 символов)

Concat (S1 [s2 ..,SN])- сцепление строк

Copy (St, index, count) – копирует из строки ST символ, начиная с index

Delete(ST, a, b) – удаление b символов начиная с a

Insert (sut, st, b)–вставляет SUT в ST начиная с b

Pos (Sut, St) -  в строке ST отыскивает Sut если нет 0

Str (X [WIDTH [:DECIMALS]], ST)- из вещественного или целого в строку

Val (st ,x, code) – обратно str (пробелы не допускаются)

Var s: string;

Begin

…….

S:= ’dsfsdhfjhsdfjshdfjsd’;

……….

End.

29. Типы в Турбо-Паскале. Объявление новых типов. Порядковые типы.    Изменение типа выражения

Стандартные типы в ТП:

1 группа целых типов(ShortInt, integer, LongInt, Byte, Word);

2 группа вещественных типов(Single, real, Double, Extended, Comp);

3 группа Булевские типы (Boolean, ByteBool, WordBool, LongBool);

4 Символьный тип(Char);

5 Строковые типы(String,  PChar);

6 Указательный тип (Pointer);

7 Текстовый тип (Text);

Type <Новый тип>=<описание типа>

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

Свойства:

1 Каждый элемент имеет свой порядковый номер

2 Поэтому возможен использование функцииOrd, возвращающей этот номер

3 Возможно применить функцию Pred  и Succ которые верну соответственно предыдущее и последующее значения

30. Целые типы. Правила объявления. Применяемые функции.

Целые типы:

Byte 0..255  ShortInt –128..127   Word 0..65535  Integer –32768..32767

LongInt –2147483648.. 2147483647

Вложение типов:

Type result = более мощный тип

 A: integer;

LongInt(a);

Процедуры и функции:

ABS(X)           CHR(X)          DEC    INC     SQR    HI(I)-старший байт

LOW(X) – младший байт     ODD(I) – возвращает правда если нечет

RANDOM(x) SWAP(I)- меняет местами байты

31. Логический тип. Логические операции и функции

Логический тип ещё называют булевским. Их 4:

Boolean(false=0, 1 байт); ByteBool (false=0, 1 байт); WordBool (false=0 в обоих байтах, 2 байта); LongBool (false=0 во всех байтах, 4 байта).

Логические функции:

Ord; Pred; Succ; or ;and ; xor ;

32. Перечисляемые типы. Функции и операции, применимые к ним.

Перечисляемый тип задаётся тем значениям, которые он может получить. Значения

именуются идентификаторами и располагаются в списке с ( ).

Type col = (red, white, blue);

Max=65536 значений;

Ord (red)  =0;

Var c: col;

C:= col(0);

С:=red;

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

Var col: (black, white, green);

33. Множества и операции над ними.

МНОЖЕСТВА - наборы  однотипных логически связанных друг с другом объектов. Характер связей между объектами подразумевается лишь программистом  и не контролируется Турбо Паскалем. Количество элементов в множестве может меняться от 0 до 255. Множество,  которое не содержит элементов, называется  пустым.  От массивов множества отличаются тем, что количество элементов  в нем не постоянно.  Его можно расширять и сокращать по ходу выполнения программы.

Описание типа  производится в разделе TYPE.

Структура:

<Имя идентификатора>=SET of <имя типа> ;

где  <Имя идентификатора> - правильный идентификатор Турбо Паскаля;

<имя типа> - тип элементов множества,  в качестве  которого  может

использоваться  любой порядковый тип,  кроме WORD,  Integer,  LogInt,

ShortInt.

пример: TYPE dchar=SET of '1'..'9'; {базовый символьный тип-диапазон}

digit=SET of 0..9;

Переменные этого типа описываются в разделе

VAR     S1,S2,S3:dchar;            S4,S5,S6,S7:digit;

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

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


на тему рефераты
НОВОСТИ на тему рефераты
на тему рефераты
ВХОД на тему рефераты
Логин:
Пароль:
регистрация
забыли пароль?

на тему рефераты    
на тему рефераты
ТЕГИ на тему рефераты

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


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