Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы к билетам по информатике.doc
Скачиваний:
65
Добавлен:
10.05.2014
Размер:
178.18 Кб
Скачать

2

 В Паскале существует 2 типа подпрограмм: процедуры и функции. Процедура создается путем описания ее в разделе процедур программы, который начинается словом PROCEDURE .Как можно видеть, имеется только два отличия процедуры от основной программы: процедура начинается с заголовка "Procedure", а не "Program", и заканчивается не точкой, а точкой с запятой. При создании процедуры, в ее разделе операторов перечисляются команды, которые должны быть выполнены при вызове процедуры из основной программы. Чтобы выполнить процедуру, надо упомянуть ее имя в требуемом месте программы.

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

-описание начинается служебным словом FUNCTION;

-в заголовке указывается тип значения описываемой функции;

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

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

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

Синтаксис: Procedure идентификатор (параметры);

Замечания: В заголовке процедуры определяются ее идентификатор и набор формальных параметров (если таковые есть).

Процедура вызывается с помощью процедурного оператора.

Заголовок процедуры сопровождается:

1)разделом описаний, в котором объявляются локальные объекты

2)операторами, находящимися между Begin и End, которые определяют, что должно быть выполнено при вызове процедуры.

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

Имена, используемые для описания переменных, констант и других программных объектов внутри подпрограммы, называются ЛОКАЛЬНЫМИ для данной подпрограммы. Программные объекты, описанные в основной программе, называются ГЛОБАЛЬНЫМИ.

Процедуры и функции могут содержать в своих заголовках параметры-переменные (т.е. те, которые передаются как адрес, а не как значение) без указания их типа. Procedure P (Var); Через такое объявление можно передавать подпрограммам строки, массивы, записи и т.д. Но при этом процедура (или функция) должна явно задавать тип, к которому внутри нее приравниваются бестиповые переменные.

3

Выражения состоят из операций и операндов. Большинство операций в языке Паскаль являются бинарными, то есть содержат два операнда. Остальные операции являются унарными и содержат только один операнд. В бинарных операциях используется обычное алгебраическое представление, например: a+b. В унарных операциях операция всегда предшествует операнду, например: -b.

В более сложных выражениях порядок, в котором выполняются

операции, соответствует приоритету операций

Операция

Приоритет

Вид операции

not

Первый (высший)

унарная операция

*, /, div, mod, and, shl, shr

второй

операция умножения, деления, сдвига.

+, -, or, xor

третий

операция сложения

=, <>, <, >, <=, >=, in

четвертый (низший)

операция отношения

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

  2. Операция, находящаяся между двумя операциями с равными приоритетами, связывается с той операцией, которая находится слева от него.

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

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

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

Для представления значений являющихся символами. Существует набор определённых символов. В большинстве случаев используется символ Char-1 байт, символ Ascll

Символьные константы:

  1. указание «А» «а»

  2. указание номера # 65-А # 32- пробел

Функции для работы с аргументами символьного типа:

ORD (C)- возвращает целое значение соответствующее символьному коду С

CHR (n)- целое число от 0 до 255 функция обратна ORD. Возвращает символ в целое число.

Логический тип.

Boolen – представление результатов операции сравнения.

Константы типа Boolen:

True

False

Операции сравнения:

- бинарные

< > = <>(неравно)

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

Логические операции (применяются к операндам логического типа)

- Унарная (not)

- Бинарные (and - и , or – логическое «или», xor – исключающая «или»)

4

Операционные системы. Понятие об операционной системе 

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

    Операционная система осуществляет 2 основные функции:

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

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

  В настоящее время для ПК разработано несколько операционных систем, - MS-DOS, Windows-95,-98, Windows 2000.)

Файл - это набор произвольной информации (программа, текст, данные, закодированная картинка), записываемой на магнитный диск под индивидуальным именем. Имя каждого файла хранится в каталоге диска (в оглавлении диска). Полное имя файла состоит из 2-х частей: основного имени и расширения. Расширение отделяется от основного имени точкой.

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

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

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

Пользовательское ПО (редакторы, граф. редакторы, средства автоматизированного проектирования)

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

5

В Паскале существуют 2 типа подпрограмм: процедуры и функции

Поскольку процедуры и функции должны обладать определенной независимостью в смысле использования переменных и т.д., при их введении в программу возникает разделение данных и их типов на глобальные и локальные. Глобальные константы, типы, переменные – это те, которые объявлены в программе вне процедур или функций. Локальные – это константы, типы, переменные, существующие только внутри процедур или функций, и объявленные либо в списке формальных параметров (только параметры-значения), либо в соответствующих разделах Const, Type, Var внутри данной процедуры или функции. Считается, что все имена, описанные внутри подпрограммы (локальные данные), локализуются в ней, т.е. они как бы "невидимы" снаружи подпрограммы. Подпрограммы, наряду со своими локальными данными, могут использовать и модифицировать и глобальные. Для этого лишь нужно, чтобы описание процедуры (функции) стояло в тексте программы ниже, чем описание соответствующих глобальных типов, констант и переменных.

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

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

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

Свойства алгоритма

Дискретность - это свойство алгоритма, когда алгоритм разбивается на конечное число элементарных действий (шагов).

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

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

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

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

Исполнитель алгоритма – человек или устройство (процессор ЭВМ), умеющие выполнять определённый набор действий.

Формы представления алгоритмов:

  1. словесная форма

массовость – свойство алгоритма на приведение и выполнение задачи при большом наборе данных

  1. блок-схема - графическая совокупность некоторых объектов и связей между ними, которые называются ветвями. Узлами блок-схемы являются различные геометрические фигуры. Ветви задают последовательность действия. Обычно узлы располагают так, чтобы порядок следования действий соответствовал блок-схеме.

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

7

Структура программы:

1 program Имя_(индентификатор программы)

2 Раздел описаний; begin

3 тело программы end.

Строка символов представляет собой последовательность символов заключённую в одиночные кавычки. Необходимо также, чтобы вся последовательность располагалась в одной строке программы. В Borland Pascal поддерживается класс символьных строк, которые называются строками, завершающимися нулем. Строки с завершающим нулем не содержат байта длины. Вместо этого они состоят из последовательности ненулевых символов, за которыми следует символ NULL (#0). Никаких ограничений на длину строк с завершающим нулем не накладывается.

Расширенный синтаксис Borland Pascal позволяет использовать для работы с символьными указателями отдельные операции. Для увеличения или уменьшения смещения в значении указателя можно использовать операции плюс (+) и минус (-). Операцию минус (-) можно использовать для вычисления расстояния (разности смещений) между двумя символьными указателями.    

    Переменная - это область оперативной памяти, занимающая несколько ячеек и имеющая свое имя. Переменная обладает следующими свойствами:

В Турбо-Паскале приняты следующие простые типы данных (типы значений констант и переменных):

1. Integer Для хранения значения в переменной типа integer, в оперативной памяти компьютера отводится 2 байта памяти. Это может быть целое число в диапазоне от -32768 до +32767.

2. Real Под значение переменной типа REAL в памяти отводится 6 байт. Переменная типа real-это вещественное число   

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

4. String - строковый тип, производный от типа Char. STRING - это строка символов. В памяти строка занимает MAX+1 байт, где MAX - объявленное максимальное количество символов в строке.  Если при описании строковой переменной максимальная длина строки точно не указана (слово STRING не сопровождается целым числом), то переменной автоматически дается максимальная для типа STRING размерность - 255 символов, что потребует 256 байт памяти для хранения значения. 5. Boolean - это логический тип данных, занимает в памяти 1 байт. Переменная этого типа может хранить только одно из двух возможных значений - True (истина) или False (ложь).

8

Принцип работы ПК:

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

-для временного хранения обрабатываемой информации и инструкции по ее обработке (т.е. программы) существует оперативная память;

-для длительного хранения большого объема информации используются магнитные и оптические диски;

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

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

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

- сканер - устройство оптического ввода графической и текстовой информации в ПК;

- модем - устройство для приема/передачи информации через телефонную линию связи;

- стример - устройство для записи/считывания информации с магнитной ленты;

- сетевой адаптер - устройство для подключения ПК в локальную компьютерную сеть (комплекс из нескольких взаимосвязанных ПК, расположенных недалеко друг от друга);

- звуковая плата - электронная схема, расширяющая звуковые возможности компьютера, например получение стерео эффекта;

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

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

9

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

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

1) имя переменной, в которой хранится число повторений цикла (переменной цикла или счетчика цикла),

2) некоторое начальное значение для переменной цикла (счетчика), которое она получает при первом выполнении цикла,

3) некоторое конечное значение для переменной цикла, достигнув которое повторение цикла прекращается (условие завершения цикла).

Данная конструкция выглядит следующим образом:

for i:=kto (downto) kdo

begin

оператор1;

оператор2;

оператор N;

end;

В приведенной записи цикла for ... to ... do i (счетчик цикла) изменяется, увеличиваясь до конечного значения. Счетчик цикла может изменяться в противоположном направлении - убывать. Для этого необходимо заменить зарезервированное слово to на downto. Таким образом, форма циклической конструкции “цикл со счетчиком” целиком определяет режим повторения.

Языки компилирующего типа подразумевают, что сначала весь текст проги преобразован в последовательность машинных команд и только потом эта последовательность выполняется. Паскаль – язык компилирующего типа.

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

11

Вводить и выводить значения из массивов целесообразно поэлементно, используя в цикле операторы Readln, Write, Writeln и оператор присваивания.

пример ввода переменных типа массив:

Program Vvod_Vivod;

Var i:integer;

A:Array[1..20] of Real;

B:Char;

Begin

     Writeln('Введите числа в массив: ');

     FOR i:=1 TO 20 DO

     begin Write('A[',i,']= '); Readln(A[i]) end;

    Writeln('Массив заполнен, будете выводить');

     Write('значения на экран? ("Y"-да, "N"-нет)=>');

     Readln(B);

     IF UpCase(B)="Y" THEN

{если прописной вариант введенной}

           FOR i:=1 TO 20 DO Writeln('A[',i,']=',A[i]:6:2);

{буквы является "Y", то}

Readln

End.


12

Существуют два основных вида проектирования программ - нисходящее (“сверху-вниз“ - ВН) и восходящее (“снизу-вверх“ - НВ). Суть восходящей технологии заключается в том, что сначала решаются более частные и понятные задачи (обработка строки, ввод данных) и только потом приступают к построению большой программы из готовых мелких частей. Можно сказать, - “ОТ ЧАСТНОГО К ОБЩЕМУ“. Нисходящая технология состоит в первоначальной разработке скелета программы, определению процедур и связей между ними, и лишь потом определяется содержимое процедур и структур данных. В основном, программы создаются с использованием смешанных технологий, то есть на разных участках могут использоваться как НВ, так и ВН. В процессе проектирования активно используется модель, в которой процедура или участок программы представляются блоком, имеющим несколько входов и выходов, внутренняя структура которого несущественна на данном этапе проектирования

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

 В общем случае для создания программ нужно иметь следующие компоненты:

текстовый редактор - для набора исходного текста программы;

компилятор - для перевода текста программы в машинный код;

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

библиотеки функций - для подключения стандартных функций к программе.

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

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

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

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

 

13

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

Общая структура программ на языке ПАСКАЛЬ

Программы на Паскале имеют такой общий вид:

Program Имя программы

Раздел описаний

Begin

Раздел операторов

End.

    Слова PROGRAM, BEGIN и END выделяют 2 части программы: раздел описаний и раздел операторов. Такая структура обязательна. Любой объект, используемый в программе, должен быть учтен в разделе описаний. Раздел операторов - это основная часть программы, здесь содержатся команды, составляющие программу.

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

Program имя программы;

Uses Список используемых модулей

Label Список меток из основного блока программы

Const Определение констант программы

Type Описание типов