Автор работы: Пользователь скрыл имя, 26 Апреля 2015 в 20:41, контрольная работа
На первом этапе анализируется условие задачи, определяются исходные данные и результаты, устанавливается зависимость между величинами, рассматриваемыми в задаче. Некоторые задачи имеют множество способов решения, поэтому необходимо выбрать способ решения (сделать постановку задачи, составить модель задачи). Для этого необходимо определить математические соотношения между исходными данными и результатом. Выполнив перевод задачи на язык математики, получают математическую модель.
Ответить на вопросы:
1. Последовательность решения задач на ЭВМ.
2. Понятие и свойства алгоритма. Способы его записи.
3. Общая характеристика языка Паскаль. Алфавит языка. Выражения и операции. Стандартные функции.
4. Структура программы на языке Pascal.
5. Типы данных. Их классификация.
6. Операторы языка Паскаль. Оператор присваивания. Составной оператор. Операторы ввода и вывода данных.
7. Оператор безусловного перехода. Условный оператор. Оператор выбора.
8. Операторы цикла: с параметром, с предусловием, с постусловием.
9. Массив данных. Одномерные и двумерные массивы.
10. Запись. Массив записей.
11. Процедуры и функции. Описание подпрограмм. Заголовок. Параметры.
12. Строки.
Для ввода исходных данных используются операторы процедур ввода:
Первый из них реализует чтение К значений исходных данных и прис- ваивание этих значений переменным А1, А2, ..., АК. Второй оператор реализует чтение К значений исходных данных, пропуск остальных значе- ний до начала следующей строки, присваивание считанных значений пере- менным А1, А2, ..., АК. Третий оператор реализует пропуск строки ис- ходных данных.
При вводе исходных данных происходит преобразование из внешней формы представления во внутреннюю, определяемую типом переменных. Переменные, образующие список ввода, могут принадлежать либо к целому, либо к действительному, либо к символьному типам. Чтение исходных данных логического типа в языке ПАСКАЛЬ недопустимо.
Для вывода результатов работы программы на экран используются операторы:
Первый из этих операторов реализует вывод значений переменных А1, А2,...,АК в строку экрана. Второй оператор реализует вывод значений переменных А1, А2, ..., АК и переход к началу следующей строки. Третий оператор реализует пропуск строки и переход к началу следующей строки.
Переменные, составляющие список вывода, могут относиться к целому, действительному, символьному или булевскому типам. В качестве элемента списка вывода кроме имен переменных могут использоваться выражения и строки.
7. Оператор безусловного перехода. Условный оператор. Оператор выбора.
Оператор безусловного перехода GOTO.
Оператор GOTO позволяет изменить стандартный последовательный порядок выполнения операторов и перейти к выполнению заданного оператора. Оператор, на который происходит переход, должен быть помечен меткой. Эта же метка должна быть указана и в операторе GOTO. Метки, используемые в Turbo Pascal, могут быть двух типов:
Все используемые метки должны быть перечислены в разделе объявления меток, начинающемся зарезервированным словом label
Условный оператор IF.
Оператор IF реализует алгоритмическую конструкцию РАЗВИЛКА и изменяет порядок выполнения операторов в зависимости от истинности или ложности некоторого условия.
Существует два варианта оператора:
if S then A
else В; {полная развилка}
и
if S then А; {укороченная развилка}
В этих операторах:
Так как условный оператор IF является единым предложением, ни перед then, ни перед else точку с запятой ставить нельзя.
Условный оператор CASE.
С помощью этого оператора можно выбрать вариант из любого количества вариантов.
Структура этого оператора в Turbo Pascal:
case S of
Cl:<оператор1>;
C2:<оператор2>;
. . .
CN:<операторN>;
else <оператор>
end;
В этой структуре:
Ветвь оператора else является необязательной. Если она отсутствует и значение
выражения S не совпадет ни с одной из перечисленных констант, весь оператор
рассматривается как пустой. В отличие от оператора IF перед словом else точку
с запятой можно ставить.
8. Операторы цикла: с параметром, с предусловием, с постусловием.
Оператор цикла FOR.
Оператор цикла FOR организует выполнение одного оператора заранее известное число раз. Существует два варианта оператора:
for <переменная цикла>:=<начальное значение> to <конечное значение> do <оператор>;
for <переменная цикла>:=<начальное значение> downto <конечное значение> do <оператор>;
В этих операторах:
Цикл действует таким образом:
Причём, пока параметр цикла меньше или равен конечному значению (в первом варианте оператора) или больше или равен конечному значению (во втором варианте), выполняется очередная итерация; в противном случае происходит выход из цикла. Выполнение очередной итерации включает в себя сначала выполнение <оператора>, а затем присваивание переменной цикла следующего большего значения (в первом варианте оператора) или следующего меньшего значения (во втором варианте). Естественно, что, если в первом варианте <начальное значение> больше чем <конечное значение> или во втором варианте меньше чем <конечное значение> , оператор не выполняется ни разу.
После выхода из цикла <переменая цикла> становится неопределенной, за исключением случая, когда выход из цикла был осуществлен с помощью оператора GOTO или стандартной процедуры Break.
Оператор цикла WHILE.
Оператор цикла WHILE организует выполнение одного оператора неизвестное заранее число раз. Выход из цикла осуществляется, если некоторое логическое выражение окажется ложным. Так как истинность логического выражения проверяется в начале каждой итерации (т е раньше, чем выполняется тело), тело цикла может не выполняться ни разу. Структура оператора цикла имеет вид:
while S do
<Оператор>;
В этой структуре:
Оператор цикла REPEAT.
Оператор цикла REPEAT организует выполнение цикла, состоящего из любого числа операторов, с неизвестным заранее числом повторений. Тело цикла выполняется хотя бы один раз. Выход из цикла осуществляется при истинности некоторого логического выражения. Структура этого оператора:
repeat
<Оператор1>;
<Оператор2>;
. . .
<ОператорN>;
until S;
В этой структуре:
Так как слова repeat и until являются своеобразными операторными скобками, точку с запятой перед словом until ставить не обязательно.
9. Массив данных. Одномерные и двумерные массивы.
Тип-массив представляет собой фиксированное количество упорядоченных однотипных компонент, снабженных индексами. Он может быть одномерным и многомерным. Чтобы задать тип-массив, используется зарезервированное слово array, после которого следует указать тип индекса (индексов) компонент (в квадратных скобках) и далее после слова of - тип самих компонент:
type <имя типа> = array[<тип индекса(индексов)>] of <тип компонент>;
Введя тип-массив, можно затем задать переменные или типизированные константы этого типа.
Размерность массива может быть любой, компоненты массива могут быть любого, в том числе и структурированного, типа, индекс (индексы) может быть любого порядкового типа, кроме типа Longint.
При задании значений константе-массиву компоненты указываются в круглых скобках и разделяются запятыми, причем, если массив многомерный, внешние круглые скобки соответствуют левому индексу, вложенные в них круглые скобки - следующему индексу и т. д.
Доступ к компонентам массива осуществляется указанием имени массива, за которым в квадратных скобках помещается значение индекса (индексов) компоненты. В общем случае каждый индекс компоненты может быть задан выражением соответствующего типа.
Одному массиву можно присвоить значение другого массива, но только идентичного типа.
10. Запись. Массив записей.
Тип-запись включает ряд компонент, называемых полями, которые могут быть разных типов. При задании типа-записи после зарезервированного слова record следует перечислить все поля типа-записи с указанием через двоеточие их типов и завершить задание типа словом end. Поля отделяются друг от друга точкой с запятой. Количество полей записи может быть любым.
Если несколько полей типа-записи имеют один и тот же тип, то их имена можно перечислить через запятую и затем указать этот общий тип.
После введения типа-записи можно затем задать переменные или типизированные константы этого типа - записи. При задании значений константе ее поля записываются в круглых скобках через точку с запятой. Для задания значения каждого поля сначала указывается имя поля, а затем через двоеточие - его значение.
Для того чтобы не выписывать каждый раз имя записи при обращении к ее полям, можно использовать оператор над записями WITH.
Тип-запись может иметь вариантную часть, изменяющуюся при разных реализациях. Вариантная часть может быть только одна и должна располагаться в конце записи.
Вариантная часть начинается словом case, за которым следует переменная выбора варианта с указанием типа. Далее указываются константы значения которых может принимать переменная выбора варианта. За каждой константой через двоеточие в круглых скобках записываются поля данного варианта записи с указанием их типов. Круглые скобки необходимы, даже если для данного варианта вариантная часть отсутствует. Следует отметить, что вариантная часть не завершается своей операторной скобкой end, как у обычной конструкции CASE, т. к. далее идет завершающая операторная скобка end всего типа.
11. Процедуры и функции. Описание подпрограмм. Заголовок. Параметры.
В языке Паскаль имеется две разновидности подпрограмм - процедуры и функции.Структура любой подпрограммы аналогична структуре всей программы. Подпрограмма должна быть описана до того, как она будет использована в программе или другой подпрограмме. Все параметры, которые использует подпрограмма, можно разбить на две категории: локальные параметры, объявленные внутри подпрограммы и доступные только ей самой, и глобальные - объявленные в основной программе и доступные как программе, так и всем ее подпрограммам. Обмен информацией между основной программой и подпрограммой может осуществляться только с помощью глобальных параметров.Подпрограмма может использовать глобальные параметры двояким образом:
Процедура.
Подпрограмма-процедура предназначена для выполнения какой-то законченной последовательности действий. Любая процедура начинается с заголовка. В отличие от основной программы заголовок в процедуре обязателен. Он состоит из зарезервированного слова procedure, за которым следует идентификатор имени процедуры, а далее в круглых скобках - список формальных параметров:
procedure <имя процедуры>(<список формальных параметров>);
За заголовком могут идти такие же разделы, что и в основной программе. В отличие от основной программы процедура завершается не точкой, а точкой с запятой.
Для вызова процедуры из основной программы или другой подпрограммы следует записать оператор, состоящий из имени процедуры и списка фактических параметров, которые должны совпадать по количеству и типам с формальными параметрами процедуры.