Одномерные массивы (35 баллов) 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Одномерные массивы (35 баллов)

Одномерные массивы (35 баллов)

3. Дано целое число N (>0). Сформировать и вывести целочисленный массив размера N, содержащий степени двойки от первой до N-й: 2, 4, 8, 16, ... .

Python

Решение:

import random

import math

N = random.randrange(1,10)

print("N = ", N)

a1 = []

p = 1

for i in range(N):

p *= 2

a1.append(p)

print(a1)

a2 = [int(math.pow(2,i+1)) for i in range(N)]

print(a2)

Pascal

Решение:

program Array2;

var

a:array[1..10] of integer;

N,i:Integer;

Begin

 Write('N:');

Readln(N);

a[1]:=2;

for i:=2 to N do a[i]:=a[i-1]*2;

for i:=1 to N do writeln(i,' : ',a[i]);

end.

Продвинутый уровень

Операторы цикла (25 баллов)

1. Дано вещественное число ε (> 0). Последовательность вещественных чисел AK определяется следующим образом: A1 = 1, A2 = 2, AK = (AK−2 + 2·AK−1)/3, K = 3, 4, Найти первый из номеров K, для которых выполняется условие |AK − AK−1| < ε, и вывести этот номер, а также числа AK−1 и AK.

Python

Решение:

import random

N = random.randrange(1,15)

eps = 1/10**N

print("N = ",N)

print("eps = ",eps)

A1 = 1

A2 = 2

A3 = (A1 + 2*A2)/3

print(1,":",A1)

print(2,":",A2)

print(3,":",A3)

k = 3

while abs(A3 - A2) >= eps:

A2, A3 = A3, (A2 + 2*A3)/3

k += 1

print(k,":",A3)

print()

print(k,":",A2,":",A3)

 

 

Pascal

Решение:

program While29;

var

k:Integer;

Ak2,Ak1,Ak,e:Real;

begin

Write('Введите e: ');

Readln(e);

Ak:=2;

Ak1:=1;

K:=2;

while Abs(Ak-Ak1) >= e do

begin

Ak2:=Ak1;

Ak1:=Ak;

Inc(k,1);

Ak:=(Ak2+2*Ak1)/3;

end;

Writeln(k,' ',Ak,' ',Ak1);

End.

Одномерные массивы (35 баллов)

2. Дан целочисленный массив A размера N. Назовем серией группу подряд идущих одинаковых элементов, а длиной серии — количество этих элементов (длина серии может быть равна 1). Сформировать два новых целочисленных массива B и C одинакового размера, записав в массив B длины всех серий исходного массива, а в массив C — значения элементов, образующих эти серии.

Python

Решение:

import random

N = random.randrange(2,20)

#a = [2*(i+1) for i in range(N)]

A = [random.randrange(0,3) for i in range(N)]

B = []

C = []

print("N = ", N)

print("Array A:")

print(A)

x = A[0]

B.append(x)

C.append(1)

k = 0

for i in range(1,N) :

if x == A[i] :

   C[k] += 1

else :

   x = A[i]

B.append(x)

C.append(1)

   k += 1      

print()

print("Array B:")

print(B)

print("Array C:")

print(C)



Поделиться:


Последнее изменение этой страницы: 2024-07-06; просмотров: 33; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.216.198 (0.006 с.)