Лабораторная работа № 2 «Алгоритмы циклической структуры» — КиберПедия 

Механическое удерживание земляных масс: Механическое удерживание земляных масс на склоне обеспечивают контрфорсными сооружениями различных конструкций...

Общие условия выбора системы дренажа: Система дренажа выбирается в зависимости от характера защищаемого...

Лабораторная работа № 2 «Алгоритмы циклической структуры»

2021-04-18 304
Лабораторная работа № 2 «Алгоритмы циклической структуры» 0.00 из 5.00 0 оценок
Заказать работу

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

 

Общие сведения.

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

Перед выполнением работы необходимо изучить различные схемы организации циклов и операторы FOR, WHILE, REPEAT. [1–7]

Пример 2.1. Определить, является ли заданное число простым.

 

Этапы решения задачи:

1. Любое число N – простое, если у него нет делителей кроме 1 и самого этого числа. Для решения задачи необходимо проверить есть ли все возможные делители числа N из диапазона [2, N \2]. Если делители есть – число составное, иначе простое.

 

2. Составим схему алгоритма (рис. 3)

 

3. Программа

program example1;

var N, F, i: integer;

Begin

 writeln('Программа определяет, является ли число простым');

 writeln('Введите число N:'); readln(N);

 F:= 0;

  For i:= 2 to N div 2 do

If N mod i = 0 then F:= 1;

  if F = 0 then writeln(‘Простое’)

     else writeln(‘Составное’);

 writeln('нажмите Enter для завершения работы программы');

 readln;

end.

 

Рис. 3 – Блок-схема к задаче примера 2.1

 

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

 

Этапы решения задачи

1. Необходимо организовать ввод чисел последовательности, до тех пор, пока не будет введен 0. При этом требуется запоминать два последних введенных числа. Критерий изменения знака – произведение этих чисел. Если произведение положительно – знак сохранился, иначе – знак поменялся на противоположный.

 

2. Составим блок-схему задачи (рис.4)

 

3. Программа

Program exapmle2;

var x,y,k:integer;

Begin

 writeln('Эта программа определяет, сколько раз меняется знак в заданной последовательности чисел');

write('Введите число:'); read(x);

y:=x;

k:=0;

while y<>0 do

Begin

if x*y<0 then inc(k);

y:=x;

read(y);

end;

writeln(' Знак поменялся ',k,'раз');

writeln('нажмите Enter для завершения работы программы');

readln;

end.

 

Рис. 4 – Блок-схема к задаче примера 2.2

 

Пример 2.3. Вычислить с точностью eps <= | x | выражение    при | x | < 1. Считать, что требуемая точность достигнута, если очередное слагаемое по модулю меньше eps.

 

Этапы решения задачи

1. Требуется задать начальное значение суммы ряда, а затем многократно вычислять очередной член ряда и добавлять его к ранее найденной сумме. Вычисления заканчиваются, когда абсолютная величина очередного члена ряда станет меньше заданной точности.

2. Блок-схема (рис 5).

 

Рис. 5 – Блок-схема к задаче примера 2.3

 

 

3. Программа.

program example3;

var i: integer;

x,s,z,eps: real;

Begin

writeln('Эта программа определяет сумму ряда');

repeat  

write('Введите переменную ряда x, |x|<1:'); readln(x);

write('Введите точность вычисления eps:'); readln(eps);

until (abs(x)<1) and (eps<1) and (eps<=x);

s:= 1; z:= 1; i:= 2;

Repeat

z:= z*x;

s:= s + z/i;

inc(i);

until abs(z/(i-1))<eps;

writeln(‘Искомая сумма ряда S = ’, S);

writeln('нажмите Enter для завершения работы программы');

readln;

end.

 

Задания

Вариант 1

1. Определить количество простых чисел на заданном отрезке [ a, b ].

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

3. Вычислить P = 1 . 2 + 2 . 3 . 4 + 3 . 4 . 5 . 6 +...+ N . (N+1) .... . 2N.  

Вариант 2

1. Определить все простые двузначные числа.

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

3. Вычислить:  (n раз)

Вариант 3

1. Найти все делители заданного числа N.

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

3. Вычислить:

Вариант 4

1. Найти все двузначные числа, сумма делителей которых четное число.

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

3. Вычислить

Вариант 5

1. Найти все совершенные числа из диапазона [ a, b ]. Если таких чисел нет, выдать соответствующее сообщение.

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

3. Не используя стандартные функции (за исключением abs), вычислить с точностью : . Считать, что требуемая точность достигнута, если очередное слагаемое по модулю меньше eps.

Вариант 6

1. Найти количество трехзначных чисел, сумма простых делителей которых кратна 5

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

3. Не используя стандартные функции (за исключением abs), вычислить с точностью : . Считать, что требуемая точность достигнута, если очередное слагаемое по модулю меньше eps.

Вариант 7

1. Дано натуральное число N. Разложить его на простые множители

2. Дана последовательность целых чисел, 0 – конец последовательности. Найти два наименьших числа.

3. Не используя стандартные функции (за исключением abs), вычислить с точностью : . Считать, что требуемая точность достигнута, если очередное слагаемое по модулю меньше eps.

Вариант 8

1. Определить наибольший общий делитель двух заданных чисел M и N.

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

3. Не используя стандартные функции (за исключением abs), вычислить с точностью : . . Считать, что требуемая точность достигнута, если очередное слагаемое по модулю меньше eps.

Вариант 9

1. Дано натуральное число N. Определить является ли оно автоморфным. Автоморфное число равно последним разрядам квадрата этого числа (52 = 2 5, 62 = 3 6, 252= 6 25)

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

3. Не используя стандартные функции (за исключением abs), вычислить с точностью : . Считать, что требуемая точность достигнута, если очередное слагаемое по модулю меньше eps.

Вариант 10

1. Даны натуральные числа M и N. Определить их наименьшее общее кратное.

2. Дана последовательность целых чисел, 0 – конец последовательности. Определить сумму трех наибольших чисел.

3. Не используя стандартные функции (за исключением abs), вычислить с точностью : . . Считать, что требуемая точность достигнута, если очередное слагаемое по модулю меньше eps.

Вариант 11

1. Вычислить сумму квадратов делителей заданного двузначного числа.

2. Дана последовательность целых чисел, 0 – конец последовательности. Определить среднее геометрическое простых элементов последовательности.

3. Не используя стандартные функции (за исключением abs), вычислить с точностью : . . Считать, что требуемая точность достигнута, если очередное слагаемое по модулю меньше eps.

Вариант 12

1. Найти произведение всех простых делителей заданного числа.

2. Дана последовательность из N целых чисел. Определить количество чисел в наиболее длинной подпоследовательности из подряд идущих нулей.

3. Не используя стандартные функции (за исключением abs), вычислить с точностью : . . Считать, что требуемая точность достигнута, если очередное слагаемое по модулю меньше eps.

Вариант 13

1. Определить количество трехзначных чисел, сумма цифр которых простое число.

2. Дана последовательность целых чисел, 0 – конец последовательности. Определить, сколько чисел больше своих соседей, т.е. предыдущего и последующего.

3. Не используя стандартные функции (за исключением abs), вычислить с точностью : . . Считать, что требуемая точность достигнута, если очередное слагаемое по модулю меньше eps.

Вариант 14

1. Числом Армстронга называется целое n -значное число, сумма n -х степеней цифр которого равна самому этому числу. Например, числом Армстронга является число 407, так как 407 = 43 + 03 + 73. Найдите все числа Армстронга для заданного n <= 10.

2. Дана последовательность из не менее двух чисел, за которой следует ноль. Вычислить сумму тех из них, порядковые номера которых – простые числа.

3. Не используя стандартные функции (за исключением abs), вычислить с точностью : . . Считать, что требуемая точность достигнута, если очередное слагаемое по модулю меньше eps.

Вариант 15

1. Задано целое A>1. Найдите наименьшее целое неотрицательное k, при котором 5 k > A.

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

3. Не используя стандартные функции (за исключением abs), вычислить с точностью : . . Считать, что требуемая точность достигнута, если очередное слагаемое по модулю меньше eps.

Вариант 16

1. Дано натуральное N. Выясните, сколько цифр оно содержит.

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

3. Не используя стандартные функции (за исключением abs), вычислить с точностью : . . Считать, что требуемая точность достигнута, если очередное слагаемое по модулю меньше eps.

Вариант 17

1. Даны два натуральных числа M и N – числитель и знаменатель дроби M / N. Требуется сократить дробь, насколько это возможно.

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

3. Вычислить:

Вариант 18

1. Пифагоровыми называются тройки натуральных чисел a, b, с, удовлетворяющие условию: a2 + b2 = c2. Например, пифагоровой является тройка чисел 6, 8, 10. Найдите все тройки пифагоровых чисел, не превышающих 25.

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

3. Вычислить:

Вариант 19

1.  Вывести все трехзначные числа, в десятичной записи которых нет одинаковых чисел.

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

3. Вычислить:

Вариант 20

1. Найти все целые корни уравнения , где a, b, c и d – заданные целые числа, причем  и . (Замечание: целыми корнями могут быть только положительные и отрицательные делители коэффициента d).

2. Дана последовательность целых чисел. Определить есть ли в ней совершенные числа (Совершенными называются числа, равные сумме своих делителей, без самого числа. Например, совершенным является число 28 = 1 + 2 + 4 + 7 + 14; 6 = 1+2+3).

3. Вычислить: где

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

 

 

1. Как записывается и как работает оператор FOR?

2. Для организации каких циклов применим оператор FOR?

3. В чем отличие оператора WHILE от оператора REPEAT?

4. Как программируются циклические алгоритмы с явно заданным числом повторений цикла?

5. Как программируются циклические алгоритмы с заранее неизвестным числом повторений цикла?

6. Напишите оператор цикла, который не выполняется ни разу.

7. Напишите оператор цикла, который выполняется неограниченное число раз.

8. Замените оператор "Repeat A Until B" равносильным фрагментом программы с оператором While.



Поделиться с друзьями:

Папиллярные узоры пальцев рук - маркер спортивных способностей: дерматоглифические признаки формируются на 3-5 месяце беременности, не изменяются в течение жизни...

Архитектура электронного правительства: Единая архитектура – это методологический подход при создании системы управления государства, который строится...

Особенности сооружения опор в сложных условиях: Сооружение ВЛ в районах с суровыми климатическими и тяжелыми геологическими условиями...

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



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.073 с.