Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
met_AKT1_11.doc
Скачиваний:
4
Добавлен:
01.05.2019
Размер:
1.04 Mб
Скачать
    1. Содержание задания

Задание 4

- разработать блок-схему алгоритма решения задачи в соответствии с вариантом задания (см. приложение Г, таб. Г.1);

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

- поставить программу на выполнение, отладить и протестировать ее;

- сравнить результаты ручного и машинного счета;

- задачи для самостоятельного решения представлены в приложении Д.

    1. Содержание отчета

- цель работы;

- задание;

- блок-схема алгоритма решения задачи;

- текст программы;

- результаты ручного и машинного счета;

- выводы.

    1. Контрольные вопросы

  1. Какие структурированные типы данных Вы знаете.

  2. Дайте определение массива.

  3. При решении, каких задач удобно использовать тип-массив.

  4. Расскажите, как можно описать в программе массив.

  5. Объясните работу оператора fortodo. В каких ситуациях его рекомендуется использовать.

5. Лабораторная работа №5. Использование процедур и функций пользователя в программе на Pascal

    1. Цель работы

- получение навыков в написании и использовании процедур и функций пользователя при решении практических задач;

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

    1. Краткие теоретические сведения

В Pascal кроме встроенных функций разрешено использование функций пользователя[1]. Функция пользователя должна быть описана в разделе описаний того программного блока, который ее вызывает. Формат ее описания следующий:

Формат

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.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]