Основные теоретические сведения

Оператор цикла For:

- инструкция for используется для организации циклов с фиксированным, определяемым во время разработки программы, числом повторений;

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

- переменная-счетчик должна быть перечисляемого типа (например, целого - integer).

Оператор цикла Repeat:

- цикл repeat — это цикл с постусловием, т. е. инструкции тела цикла будут выполнены хотя бы один раз;

- инструкции цикла repeat выполняются пока условие, стоящее после слова until, ложно;

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

- для завершения цикла repeat в теле цикла обязательно должны быть инструкции, выполнение которых влияет на условие завершения цикла;

Оператор цикла While:

- цикл while — это цикл с предусловием, т. е. инструкции тела цикла вообще могут быть не выполнены;

- инструкции цикла while выполняются пока условие, записанное после слова while, истинно;

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

- для завершения цикла while в теле цикла обязательно должны присутствовать инструкции, влияющие на условие выполнения инструкций цикла;

 

Примеры решения задач

Задача 1. Дано натуральное число n. Написать программу вычисления x в степени n.

Система тестов:

Значение x Значение n Результаты

Решение задачи:

Указание:если тело цикла неочевидно, то задачу следует решать по шагам.

Шаг1. Решаем без цикла, разбивая решение на элементарные операции, если необходимо немного упростив задачу (например, написать программу вычисления x в степени 4.)

 

Program x_v_stepeni_4;

var

x, y : real;

begin

Writeln('Введите числа x ? ');

Readln(x);

y:=1; {x }

y:=y*x; {x }

y:=y*x; {x }

y:=y*x; {x }

y:=y*x; {x }

writeln('x в степени 4 равно ',y);

Readln;

end.

Шаг 2. После выявления повторяющегося участка кода и выяснения сколько раз или до каких пор его следует повторять (в данном случае n раз), организуем цикл, если нужно вводим счетчик числа повторений тела цикла.

 

Program x_v_stepeni_4;

var

x, y : real;

i, n : integer; {i - счетчик числа повторений}

begin

Writeln(' Введите числа x и n ');

Readln(x,n); {Или используя For }

y :=1; { y:=1; }

i:=1;

while (i<=n) do { For i:=1 to n do }

begin { begin }

y:=y*x; { y:=y*x; }

i:=i+1;

end; { end; }

Writeln(' x в степени n равно ', y);

Readln;

end.

Обратите внимание на выделенную строчку i:=i+1. Надо хорошо усвоить, что оператор цикла For делает эту операцию сам со своим параметром каждый раз после очередного повторения тела цикла.

Задача 2. Дана последовательность чисел, ввод которой заканчивается вводом числа 0. Определить произведение всех введенных отрицательных чисел.

Решение задачи:

Шаг 1. Упрощенная задача: дана последовательность 2 чисел. Определить произведение всех введенных отрицательных чисел.

 

Program Proizved_3_otricat_chisel;

var

x, p : real;

begin

р : = 1;

Writeln(' Введите число x ');

Readln(x);

if x<0 then p:=P*x;

Writeln('Введите следующее число x ');

Readln(x);

if x<0 then p:=P*x;

writeln('P= ',p);

Readln;

end.

 

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

 

Program Proizved_otricat_chisel;

var

x, p : real;

begin

P:=1;

Writeln('Введите число x ');

Readln(x);

while (x<>0) do

begin

if x<0 then p:=P*x;

Writeln(' Введите следующее число x ');

Readln(x);

End;

writeln(' P= ',p);

Readln;

end.

Задача 3. Вычислить S=1+2+3+4+....+n.

Шаг 1. Упростим задачу: S=1+2+3+4.

 

Program Summa;

var

s, i : integer;

begin

s:=0; i:=1;

s:=s+i;

i:=i+1;

s:=s+i;

i:=i+1;

s:=s+i;

i:=i+1;

s:=s+i;

i:=i+1;

writeln(' S= ',s);

Readln;

end.

Шаг 2. Выделенный участок необходимо повторить n-раз.

 

Program Summa;

var

s, i, j : integer;

begin

Writeln(' Введите числа n ');

Reed(n);

s:=0; i:=1;

for j:=1 to n do

begin

s:=s+i;

i:=i+1;

end;

writeln(' S= ',s);

Readln;

end.

Задания для самостоятельного выполнения

1 Вычислить S=1+2+3+4+....+n.

2 Среди введенных с клавиатуры 6 чисел подсчитать количество положительных и количество отрицательных чисел.

3 Дана последовательность чисел, ввод которой заканчивается вводом нуля. Определить сколько раз в этой последовательности изменяется знак числа.

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

5 Напечатать все двузначные числа в записи которых нет одинаковых цифр.

6 Среди введенных с клавиатуры чисел найти количество четных чисел и их среднее арифметическое. Ввод чисел заканчивается вводом нуля.

7 Вывести на экран числа, кратные К из промежутка [А,В]. Числа А, В, К задает пользователь.

8 Для вычисления функций exp x и cos x использовать степенные ряды

Exp x = 1 + x + x2/2! + x3/3! + … ,

cos x = 1 - x2/2! + x4/4! - x6/6! + x8/8! - … .

Проверить равенство. Вычисление рядов производить с точностью e=0.0001. Написать функции для вычисления exp и cos x.

9 Дано натуральное n. Написать программу вычисления значений S=1+1/(1*2)+1/(1*2*3)+....+1/(n!)

10 Найти наибольшее и наименьшее значение функции у=x на интервале x1 до x2, перебирая значения функции с шагом H=0.01.

11 Среди введенных с клавиатуры 6 чисел найти максимальное и минимальное из введенных чисел.

12 Дано целое число натуральное n. Найти сумму цифр числа n.

13 Дано целое натуральное n. Чему равно произведение его цифр?

14. Дано целое натуральное n. Сколько цифр в числе n?

15. Используя алгоритм Евклида, найти наименьшее общее кратное m и n.

16. Вводится 6 чисел. Определить образуют ли они монотонно возрастающую последовательность.

17. Дана последовательность из 7 чисел. Определить количество чисел в наиболее длинной последовательности нулей.

18. Составить программу, которая распечатывает на экране таблицу умножения.

19. Дана последовательность чисел. Определить, со скольких отрицательных подряд идущих чисел она начинается.


Лабораторная работа № 6. Одномерные массивы

Цель работы:Ознакомиться с принципами создания и использования одномерных массивов.

 

Задачи:

¾ понять, что такое одномерный массив и как он задается;

¾ изучить способы обращения к элементам массива;

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

 

Порядок выполнения работы:

1. Перед выполнением работы, обязательно, прочитать конспект лекций по теме «Одномерные массивы».

2. Ознакомиться с представленными в лабораторной работе теоретическими сведениями.

3. Получить дополнительные теоретические знания из источников: [4: Тема 7.1 – 7.3], [7: Занятие 10, 16], [8: Семинар 4].

4. Реализовать на ЭВМ разобранные примеры.

5. Самостоятельно выполнить предложенные задачи.

 

Внимание: переходить к выполнению пунктов 4 и 5 только после тщательной проработки пунктов 1 – 3.