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

Задание 3

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

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

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

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

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

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

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

- задание;

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

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

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

- выводы.

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

  1. Что такое цикл. Приведите пример алгоритма циклической структуры.

  2. Объясните работу циклического оператора Pascal repeat . . . until. Дайте рекомендации по его использованию.

  3. Объясните работу циклического оператора Pascal while . . . do. В чем особенности его использования в программе.

  4. Объясните суть задачи табулирования функции.

4. Лабораторная работа №4. Обработка массивов

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

- изучение разделов “Операторы цикла”, “Структурированные типы данных. Массивы”;

- получение навыков в использовании операторов цикла;

- знакомство с основными типовыми алгоритмами обработки данных массива.

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

В программах на Pascal допускается использование структурированных типов данных. В языке Pascal существуют следующие структурированные типы:

- тип-массив;

- тип-запись;

- тип-множество;

- тип-файл.

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

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

В Turbo-Pascal 7.0 допускается описывать переменные типа массив в разделе описания переменных:

Формат

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;

. . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Оператор цикла fortodo организует выполнение оператора заранее известное число раз.

Формат

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.

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