Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
методичка.DOC
Скачиваний:
36
Добавлен:
13.05.2015
Размер:
772.61 Кб
Скачать

10. Программирование циклов с условием

Для программирования циклов ПОКА в Паскале существуют оператор цикла с предусловием WHILE и оператор цикла с постусловием REPEAT.

Задание 4

ЦЕЛЬ РАБОТЫ:

Овладеть навыками программирования на языке Паскаль алгоритмов циклической структуры с использованием операторов цикла с предусловием и постусловием.

ПРИМЕР:Вычислить сумму членов рядас точностью до члена ряда, меньшего Е.

А Л Г О Р И Т М

алгСумма ряда

аргЕ: вещ

резS: вещ

рабZ: вещ, n: цел

нач

ввод Е

n:=1; Z:=1/6; S:=0;

нц пока I Z I >= E

S:=S+Z;

n:=n+1;

кц

выводS

кон

П Р О Г Р А М М А

program Summa;

var n:integer;

S,Z,E: real;

begin

writeln ('ввести точность');

readln (E);

n:=1; Z:=1/6; S:=0;

While abs(z) >=E do

begin

S:=S+Z;

n:=n+1;

Z:=n/((n+1)*(n+2))

end;

writeln ('S=', S:10:2)

end.

ПОРЯДОК РАБОТЫ

1. Разработать алгоритм и программу для вычисления суммы с

заданной точностью (табл.7). Получить результат.

СОДЕРЖАНИЕ ОТЧЕТА

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

ТАБЛИЦА 7

НОМЕР

УСЛОВИЕ

НОМЕР

УСЛОВИЕ

1

8

2

9

3

10

4

11

5

12

6

13

7

14

11. Работа с векторами

Под массивом понимается упорядоченная совокупность конечного числа данных одного типа, объединенных под общим именем. Имена массивов образуются так же, как и имена простых переменных. Одномерный массив называется вектором. Для описания массивов используется служебное слово array. Массив в Турбо-Паскале можно описывать двумя способами:

а) в разделе описания переменных VAR:

var <имя переменной>:array[тип индекса] of <тип компоненты>;

б) определить сначала тип, а затем описать массив этим типом

type

<имя типа>: array [тип индекса] of <тип компоненты>;

var

<имя переменной>: <имя типа>;

где <тип индекса> - порядковый тип;

<тип компоненты> - любой тип.

Задание 5

ЦЕЛЬ РАБОТЫ:

1. Усвоить правила работы с переменными типа массив языка программирования Паскаль.

2. Научиться составлять алгоритмы и программы для обработки одномерных массивов.

ПРИМЕР:Создать массив из N случайных целых чисел, равномерно распределенных в диапазоне от 0 до 100. Вычислить среднее арифметическое этих чисел.

А Л Г О Р И Т М

алгСреднее арифметическое

аргn:цел;

резm: цел таб [1..n];

s: вещ

раб i: цел

нач

вводn

нц дляiот1доn

m[i]:=random(101)

вывод m[i]

кц

s:=0;

нцдляiот1доn

s:=s+m[i]

кц

s:=s/n;

вывод s

кон

П Р О Г Р А М М А

program SRED;

const

nmax=1000;

type

x=array [1 .. nmax] of integer;

var

m:x;

i,n:integer;

s:real;

begin

writeln ('n='); readln(n);

{создание массива}

for i:=1 to n do

begin

m[i]:=random (101);

writeln (m[i])

end;

s:=0;

for i:=1 to n do

s:=s+m[i];

s:=s/n;

writeln ('s='s)

end.

ПОРЯДОК РАБОТЫ

1. Разработать алгоритм и программу примера 1 (табл.8).

Вектор вводить с клавиатуры.

2. Разработать алгоритм и программу примера 2 (табл.9).

Вектор сформировать из случайных целых чисел.

СОДЕРЖАНИЕ ОТЧЕТА

Отчет должен содержать условия, алгоритмы, тексты программ, исходные данные и результаты по двум примерам.

ТАБЛИЦА 8

1

Создайте одномерный массив натуральных чисел. Заполните его числами с клавиатуры. Выведите на экран массив и его же в обратном порядке. Найдите сумму четных элементов массива. Подсчитайте их количество.

2

Создайте одномерный массив. Заполните его случайными числами от -10 до 10. Выведите на экран массив и его же в обратном порядке. Найдите минимальное значение и его индекс ( первый если таких значений несколько).

3

Создайте одномерный массив. Заполните его по формуле (каждый элемент массива должен быть больше его порядкового номера на 2). Выведите на экран массив и его же в обратном порядке. Найдите среднее арифметическое тех элементов массива, индексы которых являются степенями двойки. Подсчитайте их количество.

4

Создайте одномерный массив. Элементы массива должны быть числами от 1 до 100. Заполните массив числами с клавиатуры. Если пользователь вводит число, большее 100 или меньшее 1 – программа должна сообщать ему об этом и не принимать введенное число как элемент массива. Выведите на экран массив. Найдите среднее арифметическое нечетных элементов массива. Подсчитайте их количество.

5

Создайте одномерный массив. Заполните его по формуле (каждый элемент массива должен быть больше его порядкового номера в 2iраза). Выведите на экран массив. Найдите произведение элементов кратных 3. Подсчитайте их количество.

6

Создайте одномерный массив. Заполните его случайными числами до 90. Выведите на экран массив. Подсчитайте сумму его четных элементов и произведение нечетных элементов. Подсчитайте их количество.

7

Заполнить случайными числами из диапазона [0,1] вещественный линейный массив из Nчисел. Найти максимальное значение и его индекс (первый, если таких значений несколько).

8

Создайте одномерный массив, представляющий собой последовательность из нулей и единиц (через функции формирования случайного числа). Выведите на экран массив. Поставьте в начало этой последовательности нули, а затем единицы. Подсчитайте количество нулей и единиц.

9

Создайте массив натуральных чисел. Числа введите с клавиатуры. Найдите сумму элементов кратных 5. Подсчитайте их количество.

10

Создайте одномерный массив. Заполните его случайными числами от -20 до 20. Подсчитайте сумму отрицательных и положительных элементов массива. Подсчитайте их количество.

ТАБЛИЦА 9

НОМЕР

УСЛОВИЕ

1

Даны два вектора целых чисел А и В. Вычислить вектор С, который содержит нечетные элементы вектора А, которых нет в векторе В.

2

Расположить элементы вектора в обратном порядке. Дополнительный массив не использовать.

3

Найти среднее арифметическое элементов массива х(n), исключив из них максимальное и минимальное значение.

4

Вектор B(n) заменить вектором, у которого элементы образуются делением вектора В на их сумму.

5

Заменить все элементы вектора x(m), стоящие до максимального, нулями.

6

В массиве R(k) найти минимальный элемент среди положительных и максимальный среди отрицательных.

7

В массиве У(n) заменить все его элементы, стоящие после минимального, нулями.

8

Даны массив A(n) целого типа и целое число х. Призвести перестановку элементов массива так, чтобы в начале массива стояли элементы, значения которых меньше х, затем элементы, равные х, а следом элементы, значения которых больше х, в том порядке, в каком они стояли в массиве.

9

Даны два вектора А и В. Сформировать вектор С, который содержит элементы, присутствующие в обоих массивах.

10

В векторе У(m) поменять местами максимальный и минимальный элементы.