yelenaSmiryagin
?>

Решить задачи используя язык программирования Pascal 1. Найти сумму 1 + 1/3 + 1/5 +..N слагаемых 2. Дано натуральное число n. Вычислить 31+32+…...+3n

Информатика

Ответы

AHO436
1a)
 (-3-7)/(-1)+1 = 11 раз выполнится цикл. Стандартная формула вычисления числа шагов.

1b)
Тут k меняется от 0 с шагом 4 до 14 (15 уже нельзя). По той же формуле:
(14-0)/4+1 = 3+1 = 4 раза (деление мы выполняем нацело).

1c)
k присваивается значение 10, затем оно уменьшается на 1 (теперь k=9) и проверяется условие завершения цикла k>2.
Условие завершения истинно, поэтому цикл будет выполнен 1 раз.

2a)
До входа в цикл s=0, а при каждом проходе по циклу s увеличивается на 1, если выполняется некое условие, т.е. s - это счетчик, значение которого выводится после окончания цикла.
Условие k mod 7 = 0 сообщает нам, что именно подсчитывается: сколько раз k будет делится на 7 без остатка. Значение k изменяется от 1 до 27 и легко найти на этом интервале все числа, кратные 7, если вспомнить таблицу умножения: 7, 14, 21.
Следовательно, будет выведено число 3.

2b)
Здесь так же s=0 перед входом в цикл, но в теле цикла s увеличивается уже не на 1, а на k, т.е. это накопление суммы некоторых k. Первоначально k=1, а затем оно с шагом 4 растет, пока остается меньше 18, т.е k = 1, 5, 9, 13, 17. Сумма этих чисел и будет накоплена в s, так что s = 1+5+9+13+17 = 45

2с)
Здесь выводится значение p. Перед входом в цикл ему присваивается уже не 0, а 1, так что тут "запахло" произведением, а не суммой. И действительно, в теле цикла p домножается на k, т.е. это произведение неких k. Посмотрим, каких именно.
Первоначально k=0. Входим в цикл, он типа repeat, поэтому входим, не думая. Первое же умножение p на 0 даст 0 и дальше уже нечего
думать: сколько не умножай, ноль нулем и останется. Так и будет выведено число 0.
Immortal3331
# coding: utf-8
# Python 3.5.2

w, h = [int(input(x)) for x in ("Ширина: ", "Высота: ")]
matrix = [[0 for _ in range(h)] for _ in range(w)]
num = 1;
for col in range(w):
    if (col + 1) % 2 == 1:
        for a in range(h):
            matrix[col][a] = num
            num += 1
    else:
        for a in range(h - 1, -1, -1):
            matrix[col][a] = num
            num += 1
for col in range(h):
    for row in range(w):
        print(matrix[row][col], end=' ')
    print()

---
Пример:

Ширина: 7
Высота: 5
1 10 11 20 21 30 31
2 9 12 19 22 29 32
3 8 13 18 23 28 33
4 7 14 17 24 27 34
5 6 15 16 25 26 35

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Решить задачи используя язык программирования Pascal 1. Найти сумму 1 + 1/3 + 1/5 +..N слагаемых 2. Дано натуральное число n. Вычислить 31+32+…...+3n
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

LYuBOV
artem032100
fakyou170
keti0290103
Дмитрий_Владимирович1162
Микроволновые системы что это​
oksanashabanovadc3197
bulenbeiser
egamedicalbuh
margarita25061961
milanparipovic864
rusplatok
Maloletkina-marina2
Александровна
ksoboleva
Lapushkina