- •Часть II
- •Содержание
- •Общие указания к выполнению лабораторных работ
- •Лабораторная работа № 1 «Строки, записи, множества»
- •Общие сведения.
- •Задания
- •Контрольные вопросы
- •Лабораторная работа № 2 «Процедуры и функции»
- •Общие сведения
- •Задания
- •Контрольные вопросы
- •Лабораторная работа № 3 «Файлы»
- •Общие сведения
- •Задания
- •Контрольные вопросы
- •Лабораторная работа № 4 «Динамические структуры данных»
- •Общие сведения
- •Задания
- •Контрольные вопросы
- •Список рекомендуемой литературы
- •Приложение
- •3.3. Спецификация подпрограмм:
- •Вывод элементов массива в начальном расположении
- •Отсутствуют
- •Процедура
- •Текст программы:
- •Контрольный пример:
Контрольные вопросы
Как описываются строковые переменные?
Какая максимальная длина строки допустима в Pascal?
Какие операции допустимы над строковыми данными?
В чем отличие строковой переменной от массива символов?
Какие стандартные процедуры и функции для работы со строками вы знаете?
Что выведет функция Copy(x,Pos(' ',x)+1,18), если x='Сила есть - ума не надо'?
Чему равно значение x[0] после присваивания x:='вопрос'?
Что такое множество, как оно описывается в языке Pascal?
Как определить новый тип данных с использованием перечисления?
Как описываются типизированные константы типа множество?
Как осуществляется ввод-вывод значений переменных типа множество?
Какие типы данных используются в качестве базовых при объявлении типа множество?
Какие операции определены над множествами?
Какие операции допустимы над переменными, заданными перечислением?
Чем похожи и чем отличаются множества и массивы?
Какое значение у выражений: а) x in [x]; б) [ ] <= [x,y,z]; в) [x]<>[x,x,x]
Как описываются переменные типа запись?
В каких случаях целесообразно использовать переменные типа запись?
Из каких компонентов состоит переменная типа запись?
Каково назначение оператора WITH?
Какие операции допустимы над полями записи?
В чем отличие записей от массивов?
Лабораторная работа № 2 «Процедуры и функции»
Цель работы: познакомиться с понятиями "процедура" и "функция" в языке программирования Pascal, рассмотреть их сходства и различия, закрепить практические навыки работы с Object Pascal на примере реализации алгоритмов при помощи процедур и функций, научиться применять метод последовательной детализации в практическом программировании; применять процедуры и функции при решении задач.
Общие сведения
Часто в программе обнаруживаются однотипные участки, которые выполняют одни и те же вычисления, но с различными данными. Такие части программы целесообразно оформлять в виде подпрограмм. В языке Pascal существует два вида подпрограмм: процедуры и функции.
Перед выполнением данной работы необходимо изучить правила описания процедур и функций, механизм передачи параметров, ознакомиться с понятием локальной и глобальной переменной [1–7].
Пример. Найти сумму положительных элементов массива. Ввод массива оформить в виде процедуры; а поиск суммы – в виде функции.
Этапы решения задачи
Алгоритм программы прост: вначале вводится общее количество элементов в массиве, затем массив заполняется, после вычисляется сумму положительных элементов.
Программа
program example;
type
TArray = array[1..100] of integer;
Var v: TArray;
N:integer;
Procedure vvod_data(var m:Tarray; n:integer);
Var i:integer;
Begin
Writeln('Введите ',n,' чисел через пробел');
For i:= 1 to n do read(m[i]);
End;{of procedure vvod_data}
Function summ(m:TArray; n:integer):integer;
Var s,i:integer;
Begin
S:=0;
For i:= 1 to n do if m[i]>0 then s:= s+m[i];
Result := S;
End; {of function summ}
begin
write('Введите размерность массива N= '); readln(n);
vvod_Data(v,n);
writeln('Сумма= ', summ(v,n));
end.
