Циклы с заданным числом итераций — КиберПедия 

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

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

Циклы с заданным числом итераций

2019-09-04 378
Циклы с заданным числом итераций 0.00 из 5.00 0 оценок
Заказать работу

Часть I

1) Определить значение переменной s после выполнения следующих операторов. Ответ пояснить.

a) s:=0; for i:=1 to 5 do s:=s+i;

b) s:=0; for i:=1 to 10 do if odd(i) then s:=s+i;

c) s:=0; for i:=-3 to 3 do begin if i<0 then k:=-i else k:=i; s:=s+k; end;

d) s:=100; for i:=5 downto 2 do s:=s div i;

2) Определить значение переменной s после выполнения следующих операторов. Ответ пояснить.

a) s:=1; n:=1; for i:=2 to n do s:=s+1/i

b) s:=110; for i:=4 downto 2 do s:=s div i;

3) var k, i:integer; x, y:real;

Найти ошибки в следующем фрагменте программы:

a) y:=0; for x:=0.1 to 0.9 do y:=y+sin(x);

b) k:=81; y:=1; for i:=1 to sqrt(k) do y:=2*y;

c) k:=0; for i:=1 to 9 do k:=k+sqr(i); k:=k*i;

d) k:=1; for i:=1 to 64 do begin i:=2*i; k:=k+i end.

4) Сколько раз будет выполняться тело следующего оператора цикла?

k:=0; for i:=1 to k+3 do k:=k+1;

5) Программа. Дано 100 вещественных чисел.

a) Вычислить максимальное из них;

b) Вычислить разность между максимальным и минимальным из них.

6) Программа. Имеется целое k>0. Вычислить k-й член последовательности {x}, где x1=1 и xn=nxn-1 +1/n при n=2, 3, 4...

7) Программа. Вычислить: y=sin1+sin1.1+sin1.2+...+sin2

8) Программа. Вычислить:

9) Программа. Дано 100 вещественных чисел. Определить, образуют ли они возрастающую последовательность.

10) Программа. Дана последовательность из 100 целых чисел. Определить количество чисел в наиболее длинной подпоследовательности из подряд идущих нулей.

Часть II

1) Программа. Напечатать таблицу значений функций sin x и cos x на отрезке [0, 1] с шагом 0.1 в следующем виде (считать, что при печати на каждое вещественное число отводится по 6 позиций строки):

x sin(x) cos(x)
0.0 0.0000 1.0000
0.1 0.0998 0.9950

1.0 0.8415 0.5403

2) Программа. Дано 100 вещественных чисел. Найти, сколько из них принимает наибольшее значение

3) Программа. Напечатать все простые делители данного натурального числа

4) Программа. Напечатать в возрастающем порядке все трехзначные числа, в десятичной записи которых нет одинаковых цифр (операции деления не использовать)

5) Программа. Вычислить сумму (или произведение)

1. 2.
3. 4.
5. 6.
7. 8.
9. 10.
11. 12.
12. 14.

Циклы с постусловием и предусловием

Часть I

1) Определить значение переменной s после выполнения следующих операторов:

a) s:=1; while s<20 do s:=2*s;

b) s:=55; i:=10; while s>i do s:=s-i;

c) s:=0; i:=0; while i<5 do begin i:=i+1; s:=s+i end;

d) s:=0; i:=0; repeat i:=i+1; s:=s+i until i>=5;

2) Определить значение переменной s после выполнения следующих операторов:

a) s:=0; i:=0; while i<5 do i:=i+1; s:=s+1/i;

b) s:=0; i:=1; while i>1 do begin s:=s+1/i; i:=i-1 end;

c) s:=0; i:=1; repeat s:=s+1/i; i:=i-1 until i<=1;

3) Программа. Дана непустая последовательность положительных вещественных чисел x1, x2,..., xn (n заранее неизвестно), за которыми следует отрицательное число. Вычислить величину:

x1+2x2+...+(n-1)xn-1+nxn

4) Подсчитать k – количество цифр в десятичной записи целого неотрицательного числа n.

5) Программа. Дана последовательность чисел, заканчивающаяся нулем, среди которых есть хотя бы одно отрицательное число. Найти величину наибольшего среди отрицательных чисел этой последовательности.

6) Программа. Определить, является ли заданное натуральное число палиандромом, т.е. таким, десятичная запись которого читается одинаково слева направо и справа налево.

7) Вычислить: y – первое из чисел x/2, x/22, x/23 и т.д., меньшее по модулю значения 10-2.

Часть II

1) Дана непустая последовательность не нулевых целых чисел, за которой следует 0:

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

2. Определить, сколько из них принимает наибольшее значение

3. Определить, сколько из них принимает наименьшее значение

4. Определить количество чисел (единиц) в наиболее длинной подпоследовательности из идущих подряд единиц

5. Определить три наибольших числа среди них

6. Определить три наименьших числа среди них

7. Определить, сколько из них больше своих "соседей", т.е. предыдущего и последующего чисел

8. Определить, сколько раз в этой последовательности меняется знак. (Например, в последовательности 1,-4, 8, 14, -5 знак меняется 3 раза)

9. Определить, сколько раз в этой последовательности встречается подпоследовательность 1, 2 (Например, в последовательности 1, 3, 4, 1, 2 – 1 раз)

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

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

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

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

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

2) Вычислить бесконечную сумму с заданной точностью eps (eps>0). Считать, что точность достигнута, если очередное слагаемое по модулю меньше eps – все последующие слагаемые можно не учитывать.

1. 2.
3. 4.
5. 6.
7. 8.
9. 10.
11. 12.
13. 14.

3) Напечатать на экране True, если введенное натуральное число является совершенным, т.е. равным сумме всех своих положительных делителей, кроме самого этого числа (например, число 6 совершенно: 6=1+2+3).

Массивы

Часть I

1) Определить значение переменной y после выполнения следующей программы:

program massiv;

const N=4;

type TVektor = array[1..N] of integer;

var a: TVektor;

y, i: integer;

begin

a[1]:=1; a[2]:=7; a[3]:=9; a[4]:=3;

y:=0;

for i:=1 to N do y:=y+a[i];

end.

2) Найти ошибки в описании: Const N=50; Type Words=              array [0..n-1] of letter;     Letter='a'..'z';     Vector=array[real] of integer;     Digits=array[true..false]                                      of (1,2,3,4); 3) Какие операции над массивами допустимы в следующей программе, а какие нет? program Error; var x,y: array[1..20] of real; z,u: array[1..50] of real; i: integer; begin read(x,y); if x<>y then begin z:=x; x:=y; y:=z end else x:=x+y; for i:=1 to 20 do u[i]:=x[i]+y[i]; z:=u; end.

4) Написать программу, находящую максимальный элемент вектора X, состоящего из N элементов.

5) Написать программу, заполняющую вектор X числами Фибоначчи.

6) Написать программу, вычисляющую для вектора x значение:
y=x[1]-x[2]+x[3]-...-x[n-1]+x[n]

7) Написать программу, которая печатает те элемента массива, индексы которых кратны хотя бы одному из предыдущих.

Часть II

1) Ответьте на вопросы:

a) может ли массив содержать один элемент? а ни одного?

b) можно ли во время выполнения программы изменить размер массива?

c) верно ли, что тип элементов массива может быть любым?

d) может ли тип индекса быть INTEGER или REAL?

e) могут ли элементами некоторого массива быть числа 1, 1.2, 1.44?

2) Const n=20;

Type vector= array[1..n] of integer;

Напишите программу, которая вычисляет для вектора x:

1. min (x[i]-x[i-1]), i=2,3...n

2. x[1]2-x[2]2+x[3]2-...-(-1)nx[n]2

3. x[1] 2+x[3] 2+...+x[последнее нечетное] 2

4. x[1]*x[n]+x[2]*x[n-1]+...x[n]*x[1]

5. x[n]*(x[n]+x[n-1])*(x[n]+x[n-1]+x[n-2])*...*(x[n]+...x[1])

6.

7. true, если элементы массива x упорядочены строго по возрастанию, false в противном случае

8. true, если элементы массива x не содержат 0, false в противном случае

9. true, если элементы массива x чередуются по знаку (положительные, отрицательные)

10. x[1]+x[1]*x[2]+x[1]*x[2]*x[3]+...+x[1]*x[2]*...x[n]

11. номер первого отрицательного элемента массива х, или 0, если такого элемента нет

12. количество четных положительных элементов массива х

13. номер первого нулевого элемента, стоящего после отрицательного элемента, или 0, если такого элемента нет

14. количество нулевых элементов, стоящих после отрицательных

3) Напишите программу, которая:


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

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

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

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

Двойное оплодотворение у цветковых растений: Оплодотворение - это процесс слияния мужской и женской половых клеток с образованием зиготы...



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

0.036 с.