Раздел «Решение задач в среде Turbo-Pascal »
МЕТОДИЧЕСКИЕ УКАЗАНИЯ
К лабораторным занятиям
по дисциплине
«Алгоритмизация и программирование»
Раздел «Решение задач в среде Turbo-Pascal »
для студентов
направления 6.050202 «Автоматизация и
компьютерно-интегрированные технологии»
дневной формы обучения
Севастополь
УДК 519.6
Методические указания к лабораторным занятиям по дисциплине “ Алгоритмизация и программирование ” Раздел «Решение задач в среде Turbo-Pascal » для студентов направления 6.050202 «Автоматизация и компьютерно-интегрированные технологии» дневной формы обучения.
/ Л.А. Литвинова. – Севастополь: Изд-во СевНТУ, 2011 – 36 с.
Целью методических указаний является оказание помощи студентам в изучении алгоритмического языка Turbo-Pascal и выполнении лабораторных работ по дисциплине «Алгоритмизация и программирование»
Методические указания рассмотрены и утверждены на заседании кафедры Кибернетики и вычислительной техники, протокол №8 от 31 марта 2011 г.
Допущено учебно-методическим центром СевНТУ в качестве методичес-
ких указаний.
Рецензент: Мащенко Е.Н., к.т.н., доцент кафедры кибернетики и вычислительной техники.
Ответственный за выпуск:
Скатков А.В., доктор технических наук, профессор, зав. кафедрой кибернетики и вычислительной техники.
Содержание
1. | Лабораторная работа №1. Вычисление арифметических выражений | |
1.1. | Цель работы | |
1.2. | Краткие теоретические сведения | |
1.3. | Содержание задания | |
1.4. | Содержание отчета | |
1.5. | Контрольные вопросы | |
2. | Лабораторная работа №2. Использование условных операторов в программах наPascal | |
2.1. | Цель работы | |
2.2. | Краткие теоретические сведения | |
2.3. | Содержание задания | |
2.4. | Содержание отчета | |
2.5. | Контрольные вопросы | |
3. | Лабораторная работа №3. Табулирование функций | |
3.1. | Цель работы | |
3.2. | Краткие теоретические сведения | |
3.3. | Содержание задания | |
3.4. | Содержание отчета | |
3.5. | Контрольные вопросы | |
4. | Лабораторная работа №4. Обработка массивов | |
4.1. | Цель работы | |
4.2. | Краткие теоретические сведения | |
4.3. | Содержание задания | |
4.4. | Содержание отчета | |
4.5. | Контрольные вопросы | |
5. | Лабораторная работа №5. Использование процедур и функций пользователя в программе наPascal | |
5.1. | Цель работы | |
5.2. | Краткие теоретические сведения | |
5.3. | Содержание задания | |
5.4. | Содержание отчета | |
5.5. | Контрольные вопросы | |
Библиографический список | ||
Приложение А | ||
Приложение Б | ||
Приложение В | ||
Приложение Г | ||
Приложение Д |
Лабораторная работа №1. Вычисление арифметических выра- жений
Цель работы
- получение навыков в построении алгоритмов линейной структуры;
- изучение правил записи арифметических выражений на алгоритмическом языке Turbo-Pascal;
- получение навыков в использовании встроенных математических функций.
Краткие теоретические сведения
Программа - это некий набор инструкций, адресованный компьютеру и точно предписывающий ему, как следует решать задачу. Более строгим определением программы является следующее. Программа на Pascal- это последовательность лексических единиц, называемых лексемами, и которые условно можно разделить на несколько классов, а именно: идентификаторы, числа без знака, специальные знаки, символьные константы, директивы, метки[1,2,3].
Идентификатор - это произвольная последовательность букв или цифр, начинающаяся с буквы.
Идентификаторы служат для обозначения констант, переменных, типов, полей, процедур, функций и программ.
Константа - это идентификатор константы, целое или действительное число, строка.
Число без знака является вещественным, если в его состав входит точка или символ Е. Все остальные числа считаются целыми. Например, числа 23, 5, -16 - целые константы, 18.04, 0.02, 0.11Е+01, 3.5Е-03 - вещественные константы.
Именованная константа - это фиксированное значение, которому при объявлении константы в разделе описания дается имя. Например, в разделе описания объявляются следующие константы:
Const
Согласно объявлению, константы и имеют тип integer(целочисленный), а - тип real(вещественный).
Переменная - это имя ячейки памяти, в которой в каждый момент времени может храниться только одно значение.
Все переменные, используемые в программе, должны быть объявлены в разделе описания программы. Посредством объявления имен переменных устанавливается не только факт их существования, но и задается их тип. Например,
Var
n: integer;
a,b,x: real;
Арифметическое выражение - одна или несколько констант, переменных или функций, объединенных знаками операций и скобками при необходимости.
Все значения переменных должны быть определены в разделе описаний программы до их появления в арифметическом выражении. Операнды в арифметическом выражении могут быть типа integer, real, byte.
В табл. 1.1 приведены знаки арифметических операций и указаны типы операндов и результата.
Таблица 1.1
Операция | Действие | Тип операндов | Тип результата |
+ | сложение | integer, real | integer, real |
- | вычитание | integer, real | integer, real |
умножение | integer, real | integer, real | |
/ | деление | integer, real | real |
div | деление нацело | integer | integer |
mod | вычисление остатка от деления | integer | integer |
Все знаки арифметических операций являются бинарными, кроме знаков “+” и “-”. Знаки “+” и “-” могут быть унарными и располагаться перед операндами.
Операции в арифметическом выражении выполняются слева направо в соответствии с их приоритетом. Наивысший приоритет, например, имеют операции умножения и деления, а операции сложения и вычитания низший приоритет.
Выполнить в первую очередь операцию с более низким приоритетом можно, если использовать скобки. Например, в выражении , выполнится умножение операндов “ ” и “ ”, а далее вместо операции деления сначала будет выполнена операция сложения операндов “ ” и “ ”, а только потом будет выполнена операция деления произведения .
При написании арифметических выражений следует помнить некоторые правила, основными из которых являются следующие.
Запрещено последовательное размещение знаков двух арифметических операций.
Операции с более высоким приоритетом выполняются раньше, чем операции с более низким приоритетом.
Если все операции имеют одинаковый приоритет, то они выполняются последовательно слева направо в Pascal 7.0.
Выражение в круглых скобках выполняются в первую очередь.
Операция “ - ” имеет самый низкий приоритет. Поэтому в выражении, сначала вычисляется произведение операндов “ ” и “ ”, а затем изменяется знак результата на противоположный.
Для выполнения часто встречающихся вычислительных операций в языке Pascal имеется ряд заранее разработанных стандартных программ, которые можно использовать в выражениях как готовые элементы. Такие стандартные программы называют стандартными функциями. При обращении к функции следует указать ее имя, после которого в круглых скобках записать аргумент или аргументы этой функции, разделяя их запятыми.
При записи арифметических выражений в качестве операндов могут использоваться имена стандартных арифметических функций. Перечень основных арифметических функций представлен в табл. 1.2.
Таблица 1.2
Функция | Назначение | Тип результата |
Abs(x) | Абсолютное значение аргумента | Совпадает с типом х |
Arctan(x) | Арктангенс аргумента | real |
Cos(x) | Косинус аргумента | real |
Exp(x) | real | |
Frac(x) | Дробная часть числа | real |
Int(x) | Целая часть числа | real |
Ln(x) | Натуральный логарифм | real |
Pi | Значение величины | real |
Sin(x) | Синус аргумента | real |
Sqr(x) | Квадрат аргумента | Совпадает с типом х |
Sqrt(x) | Квадратный корень аргумента | real |
В Pascal при написании программы используются простые и составные операторы. К числу простых операторов относится оператор присваивания.
В соответствии с оператором присваивания вычисляется выражение, стоящее в левой части, и результат присваивается переменной, стоящей в правой части. Для этого используется специальный знак « - :=» .
Формат
<идентификатор>:=<выражение>;
Идентификатор переменной в левой части оператора и значение результата выполнения выражения в правой части должны быть одного типа. Однако, разрешается переменной типа realприсваивать результат типа integer. Например, операторами присваивания являются
Записанные операторы присваивания позволяют вычислить значения по следующим формулам:
Пример программы на Pascal
Задача 1.
Вычислить значение , если .
Program st1;
Var
a,b,c,x,y:real;
Begin
read(a,b,c,x);
writeln(a,b,c,x);
y:=a x+sqr(b);
y:=y/(a+c);
writeln(y);
End.
1.3. Содержание задания
Задание 1
- разработать блок-схему алгоритма решения задачи вычисления функции, которая выбирается по варианту, указанному преподавателем (см. приложение А, таб. А.1);
- написать и отладить программу в соответствии с разработанным алгоритмом;
- выполнить тестирование программы, т.е. сравнить результаты с ручным счетом;
- задачи для самостоятельного решения представлены в Приложении Д.
Содержание отчета
- цель работы;
- задание;
- блок-схема алгоритма решения задачи;
- текст программы;
- результаты тестирования и результаты счета;
- выводы.
1.5. Контрольные вопросы
1. Дайте определение алгоритма решения задачи. Назовите способы записи алгоритма.
2. Изобразите графические элементы блок-схемы алгоритма и поясните их назначение.
3. Дайте определение программы. Опишите структуру программы на Pascal. Приведите пример алгоритма линейной структуры.
4. Какие символы включает алфавит языка Pascal, в каких форматах можно записывать числа в программе.
5. Дайте определение идентификатора, константы и переменной.
6. Дайте определение арифметического выражения и назовите знаки арифметических операций.
7. Укажите правила записи арифметических выражений.
8. Объясните назначение и правила использования операторов read и write, readln и writeln, а также различия между ними.
9. Что такое стандартные математические функции и назовите известные Вам.
Цель работы
- получение навыков в построении алгоритмов разветвляющей структуры;
- получение навыков в отладке и тестировании программ разветвляющей структуры;
- ознакомление с типами синтаксических ошибок, определяемых компилятором Turbo-Pascal.
Формат
if <выражение > then <оператор>;
. . . . . . . . . . . . . . . . . . . . . . . .
Действие оператора состоит в следующем: вычисляется значение <выражения >и, если оно истинно, то выполняется <оператор>, следующий за словом then, а в противном случае выполняется оператор, следующий за оператором if … then.
Формат
if <выражение > then <оператор 1>else<оператор 2>;
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Действие оператора состоит в следующем: вычисляется значение <выражения >и, если оно истинно, то выполняется <оператор 1>, следующий за зарезервированным словом then, а в противном случае выполняется <оператор 2>,следующий за словом else. Далее выполняется оператор, следующий за оператором if … then … else.
При записи условного оператора необходимо записать выражение. В условном операторе - это простое или сложное булевское (логическое) выражение.
Логический тип Boolean представляет собой тип данных, любой элемент которого может принимать лишь два значения True и False.
Операнды в булевском выражении могут быть только типа Boolean.
Выражение отношения определяет истинность или ложность результата. Операция отношения выполняет сравнение двух операндов и определяет истинно(True) или ложно(False) выражение. Знаками операций отношения являются: =, <>, >, >=, <,<=. Знаки операций отношения здесь указаны в порядке убывания приоритета.
Например, условие на Pascal запишется в виде . Если , то и результат будет логической константой True.
При сравнении операнды могут быть любого типа, но результат операции отношения является булевским.
Булевское или логическое выражение - это константы, переменные типа Boolean или выражения отношения, соединенные знаками логических операций и скобками в случае необходимости.
В Pascal предусмотрены булевы операции: not(отрицание), and(логическое умножение) и or(логическое сложение). Знаки операций записаны в порядке убывания приоритета. Приоритет знаков операций отношения ниже, чем приоритет булевых операций.
Например, условие и на Pascal запишется в виде . Операндами в данном логическом выражении являются выражения отношений и . Выражения отношений заключены в скобки и выполняются в первую очередь. Результат их выполнения будет иметь булевский тип.
Если после зарезервированных слов then и else необходимо выполнить несколько операторов, то их объединяют в составной оператор с помощью операторных скобок begin и end.
Условные операторы могут быть вложенными и степень их вложенности в Pascal не ограничена[1,2].
Пример программы на Pascal
Задача 2.
Написать программу для вычисления значения .
Program st2;
Var
x,y:real;
Begin
read(x);
writeln(’ x=’,x);
if x>=1 then y:=sqrt(x-1) else y:=sqrt(abs(x-1));
writeln(‘y=’,y);
End.
2.3. Содержание задания
Задание 2
- разработать блок-схему алгоритма разветвляющей структуры для вычисления функции F(x)=f(x,y,z) в соответствии с вариантом задания (см. приложение Б, таб. Б.1);
- написать и отладить программу в соответствии с блок-схемой;
- поставить программу на выполнение, отладить и протестировать ее;
- сравнить результаты ручного и машинного счета;
- смоделировать в программе шесть-восемь различных синтаксических
ошибок и описать их;
- задачи для самостоятельного решения представлены в приложении Д.
Содержание отчета
- цель работы;
- задание;
- блок-схема алгоритма решения задачи;
- текст программы;
- результаты ручного и машинного счета;
- выводы.
2.5. Контрольные вопросы
1.Приведите пример алгоритма разветвляющей структуры.
2.Объясните работу условных операторовPascal if … then и if … then … else.
3.Что такое выражение отношения и булевское (логическое) выражение. Объясните правила их записи. Назовите знаки операций выражений отношения и булевских выражений.
4.Перечислите арифметические и логические операции в порядке убывания их приоритета.
5.Объясните назначение типов integer и real.
6.Объясните назначение типа Boolean. Что такое логические константы True и False.
7.Что такое составной оператор, и в каких случаях он используется в программе.
Цель работы
- получение навыков в решении отдельных фрагментов инженерных задач с использованием Turbo-Pascal;
- получение навыков в использовании операторов цикла при решении практических задач;
- получение навыков в написании, отладке и тестировании программ.
Формат
Repeat
< оператор 1>;
. . . . . . . . . . . . . . .
< оператор n>;
until <выражение >;
. . . . . . . . . . . . . . .
В данной структуре < оператор 1>, < оператор 2>, …, < оператор n> -выполняемые операторы, составляющие тело цикла; <выражение >- булевское выражение, истинность которого проверяется в конце цикла.
Оператор цикла repeat . . . until называют оператором цикла с постусловием.
Оператор цикла repeat . . . until организует выполнение цикла, состоящего из любого числа операторов, с неизвестным заранее числом повторений. Тело цикла, состоящее из операторов < оператор 1>, < оператор 2>, …, < оператор n>,выполняется хотя бы один раз.Выход из цикла осуществляется при истинности булевского выражения[2].
Формат
while <выражение > do < оператор>;
. . . . . . . . . . . . . . . . . . . . . . . . .
Оператор цикла while . . . do организует выполнение одного оператора неизвестное заранее число раз. Выход из цикла осуществляется, если булевское <выражение > окажется ложным, т.е. примет значение логической константы False. Так как истинность булевского выражения проверяется в начале цикла, то тело цикла может не выполниться ни разу.
Оператор цикла while . . . do называют оператором цикла с предусловием.
Если в теле цикла необходимо выполнить два и более операторов, то они заключаются в операторные скобки begin . . . end; .
Пример программы на Pascal
Задача 3.
Вычислить значения функции для всех , если значение аргумента изменяется с шагом .
Program st3;
Var
x,y,x0,xk,h:real;
Begin
read(x0,xk,h);
writeln(’ x0=’,x,’ xk=’,xk,’ h=’,h);
x:=xo;
Repeat
y:=x*x;
writeln(‘x=’,x, ‘ y=’,y);
x:=x+h;
until x>xk;
End.
Задача 4.
Вычислить значения функции для всех , если значение аргумента изменяется с шагом .
Program st3;
Var
x,y,x0,xk,h:real;
Begin
read(x0,xk,h);
writeln(’ x0=’,x,’ xk=’,xk,’ h=’,h);
x:=xo;
while x<=xk do
Begin
if x<>0 then
Begin
y:=1/x ;
writeln(‘x=’,x ,‘ y=’,y);
End
else write(‘решений нет’);
x:=x+h;
end;
End.
3.3. Содержание задания
Задание 3
- разработать блок-схему алгоритма циклической структуры для вычисления функции в соответствии с вариантом задания (см. приложение В, таб. В.1);
- написать и отладить программу в соответствии с блок-схемой;
- поставить программу на выполнение, отладить и протестировать ее;
- сравнить результаты ручного и машинного счета;
- задачи для самостоятельного решения представлены в приложении Д.
Содержание отчета
- цель работы;
- задание;
- блок-схема алгоритма решения задачи;
- текст программы;
- результаты ручного и машинного счета;
- выводы.
3.5. Контрольные вопросы
- Что такое цикл. Приведите пример алгоритма циклической структуры.
- Объясните работу циклического оператора Pascal repeat . . . until. Дайте рекомендации по его использованию.
- Объясните работу циклического оператора Pascal while . . . do. В чем особенности его использования в программе.
- Объясните суть задачи табулирования функции.
Цель работы
- изучение разделов “Операторы цикла”, “Структурированные типы данных. Массивы”;
- получение навыков в использовании операторов цикла;
- знакомство с основными типовыми алгоритмами обработки данных массива.
Формат
Var
<идентификатор переменной>: array[тип индексов] of <тип компонент>;
Чтобы задать тип-массив, используется зарезервированное слово array, после которого следует в квадратных скобках указать тип индекса(индексов) компонент и далее после слова of - тип самих компонент.
Формат
Type
<имя типа>=array[тип индексов] of <тип компонент>;
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Var
<идентификатор переменной>:<имя типа>;
Например, одномерный массив размерности c компонентами целого типа описывается в программе следующим образом.
. . . . . . . . . . . . . . . . . . . . . . . . . .
Type
Mas=array[1 . . 10] of integer;
. . . . . . . . . . . . . . . . . . . . . . . . . . .
Var
X:mas;
Двумерный массив размерности с компонентами вещественного типа описывается в программе следующим образом.
. . . . . . . . . . . . . . . . . . . . . . . . . . .
Type
Mas2=array[1 . . 2, 1 . . 5] of real;
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Var
Y:mas2;
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Оператор цикла for …to …do организует выполнение оператора заранее известное число раз.
Формат
for <переменная цикла>:=s1 to s2 do <оператор>;
Оператор действует следующим образом. Первоначально вычисляются и запоминаются начальное s1 и конечное s2 значения переменной цикла. После чего <переменной цикла> присваивается начальное значение s1. Затем значение переменной цикла сравнивается с конечным значением s2. Пока переменная цикла меньше или равна конечному значению, выполняется оператор цикла, а в противном случае происходит выход из цикла.
Значение переменной цикла изменяется с постоянным шагом равным единице.
Если в теле цикла используется более одного оператора, то все операторы тела цикла ограничиваются операторными скобками begin . . . end;.
Использование переменных типа массив и операторов циклической структуры позволяет программно реализовать некоторые типовые процедуры данных. Например, поиск элементов массива, имеющих некоторое заданное свойство. В частности, к указанным процедурам относятся: поиск наименьшего или наибольшего значения элемента массива, определение числа положительных или отрицательных элементов в массиве, формирование массива из элементов исходного массива, имеющих требуемое свойство[1, 2, 3].
Пример программы на Pascal
Задача 5.
Задан одномерный массив размерности . Найти сумму значений элементов массива .
Program st5;
Var
n,i,s:integer;
x:array[1..6] of integer;
Begin
read(n);
for i:=1 to n do read(x[i]);
s:=0;
for i:=1 to n do s:=s+x[i];
writeln(‘ s=’,s);
End.
Задача 6.
Задан одномерный массив размерности . Найти число положительных значений элементов массива .
Program st6;
Var
n,i,k:integer;
x:array[1..4] of integer;
Begin
read(n);
for i:=1 to n do read(x[i]);
k:=0;
for i:=1 to n do
if x[i]>0 then k:=k+1;
writeln(‘ k=’,k);
End.
Задача 7.
Задан одномерный массив размерности . Найти число нулевых значений элементов массива и вывести номера их на печать.
Program st7;
Var
n,i,m:integer;
x:array[1..7] of integer;
Begin
read(n);
for i:=1 to n do read(x[i]);
m:=0;
for i:=1 to n do
if x[i]=0 then
Begin
m:=m+1;
writeln(‘номер нулевого элемента i=’,i);
end;
if m<>0 then writeln(‘ m=’,m)
else writeln(‘нулевых элементов в массиве нет’);
End.
4.3. Содержание задания
Задание 4
- разработать блок-схему алгоритма решения задачи в соответствии с вариантом задания (см. приложение Г, таб. Г.1);
- написать и отладить программу в соответствии с блок-схемой;
- поставить программу на выполнение, отладить и протестировать ее;
- сравнить результаты ручного и машинного счета;
- задачи для самостоятельного решения представлены в приложении Д.
Содержание отчета
- цель работы;
- задание;
- блок-схема алгоритма решения задачи;
- текст программы;
- результаты ручного и машинного счета;
- выводы.
4.5. Контрольные вопросы
- Какие структурированные типы данных Вы знаете.
- Дайте определение массива.
- При решении, каких задач удобно использовать тип-массив.
- Расскажите, как можно описать в программе массив.
- Объясните работу оператора for …to …do. В каких ситуациях его рекомендуется использовать.
Цель работы
- получение навыков в написании и использовании процедур и функций пользователя при решении практических задач;
- получение навыков в написании, отладке и тестировании программ, использующих функции пользователя.
Формат
Function < имя > {(< список формальных параметров >): < тип результата >;
{ < раздел описаний > };
Begin
<операторы>;
<имя>:=< выражение >;
end;
В разделе операторов должен находиться, по крайней мере, один оператор, присваивающий имени функции результат выполнения функции. Если присвоений несколько, то результатом работы функции будет последнее значение, присвоенное имени функции в ее теле.
Обращение к функции выполняется по имени с обязательным указанием фактических параметров. Между формальными и фактическими параметрами должно быть соответствие по порядку следования, по типу и по количеству параметров.
Функцию пользователя рекомендуется использовать в тех случаях, когда некоторый фрагмент программы используется несколько раз и при этом вычисляется только одно значение.
В тех случаях, когда результатом работы некоторого фрагмента программы является несколько значений, рекомендуется использовать процедуру пользователя. Использование процедур пользователя также позволяет реализовать модульный принцип при разработке программ.
Процедура пользователя должна быть описана в разделе описаний того программного блока, который ее вызывает. Формат ее описания следующий:
Формат
Procedure < имя > {(< список формальных параметров >)};
{ < раздел описаний >};
Begin
<операторы>;
end;
Список формальных параметров - это идентификаторы, посредством которых в процедуру передаются необходимые для ее работы исходные данные, и идентификаторы, содержащие значения результатов.
Идентификаторы, которые описаны в разделе описания процедуры, называются локальными и их действие распространяется только на процедуру. Вызывающей программе недоступны локальные переменные[1,3].
Для обращения к процедуре необходимо записать оператор вызова процедуры:
Формат
<имя>{(<список фактических параметров>)};
Формальные и фактические параметры должны соответствовать по порядку следования, по типу и по количеству[1, 2, 3].
Пример программы на Pascal
Задача 8.
Даны действительное число и целое положительное или отрицательное число . Вычислить . Возведение в степень оформить в виде функции пользователя.
program st8;
Var
a,x:real;
n:integer;
function Sq(s:real;n:integer):real;
Var
i:integer;
r:real;
Begin
if n=0 then Sq:=1 else
Begin
r:=1;
for i:=1 to abs(n) do r:=r*s;
if n<0 then Sq:=1/r else Sq:=r;
end;
end;
Begin
read(a,n);
x:=Sq(a,n);
writeln('x=',x);
End.
Задача 9.
Вычислить сумму значений элементов одномерного массива размерности . Вычисление суммы значений элементов массива оформить в виде процедуры пользователя.
program st9;
const n=5;
Type
mas=array[1..n] of integer;
Var
i,s:integer;
x:mas;
procedure Stpr1(a:mas;Var s:integer);
Var
i:integer;
Begin
s:=0;
for i:=1 to n do s:=s+a[i];
end;
Begin
for i:=1 to n do read(x[i]);;
Stpr1(x,s);
writeln('s=',s);
End.
5.3. Содержание задания
Задание 5
Вычислить значения функции для заданных аргументов (см. приложение Б, табл. Б.1). Для решения задачи использовать функцию пользователя. Необходимые для вычисления данные указываются в качестве параметров-значений в списке формальных параметров функции пользователя.
Задание 6
Написать программу для решения задачи (см. приложение В табл. В.1), используя процедуру пользователя. Формальные параметры-значения использовать для ввода необходимых исходных данных, а формальные параметры-переменные – для вывода результатов из процедуры. В процедуре не использовать операторы ввода-вывода.
Содержание отчета
- цель работы;
- задание;
- блок-схема алгоритма решения задачи;
- текст программы;
- результаты ручного и машинного счета;
- выводы.
5.5. Контрольные вопросы
1.Объясните назначение и правила использования функции пользователя. Как производится обращение к функции пользователя в программе.
2.Объясните назначение и правила использования процедуры пользователя. Как производится обращение к процедуре пользователя в программе.
- Объясните назначение формальных и фактических параметров.
4.Объясните, как производится ввод данных и вывод результатов при использовании функции и процедуры пользователя.
- Поясните различие между глобальными и локальными переменными.
Библиографический список
1. Немнюгин С.А. Turbo-Pascal. Программирование на языке высокого уровня: учеб. для вузов / С.А. Немнюгин. - СПб.: Питер, 2008. - 544с.
2. Пермеинов О.Н. Программирование на языке Pascal / О.Н. Пермеинов. - М.: Радио и связь, 1998. - 224с.
3. Васильев П.П. Турбо Паскаль в примерах и задачах / П.П. Васильев. - М.: Финансы и статистика, 2003. - 496с.
ПРИЛОЖЕНИЕ А
Таблица А.1 – Варианты к заданию 1
Вариант | Содержание задания | Исходные данные |