КулЛиб - Классная библиотека! Скачать книги бесплатно
Всего книг - 719725 томов
Объем библиотеки - 1440 Гб.
Всего авторов - 276316
Пользователей - 125351

Новое на форуме

Новое в блогах

Впечатления

a3flex про Евтушенко: Отряд (Боевая фантастика)

Тот самый случай, когда даже рад,что это заблокировано правообладателем.

Рейтинг: 0 ( 0 за, 0 против).
sewowich про Евтушенко: Отряд (Боевая фантастика)

2medicus: Лучше вспомни, как почти вся Европа с 1939 по 1945 была товарищем по оружию для германского вермахта: шла в Ваффен СС, устраивала холокост, пекла снаряды для Третьего рейха. А с 1933 по 39 и позже англосаксонские корпорации вкладывали в индустрию Третьего рейха, "Форд" и "Дженерал Моторс" ставили там свои заводы. А 17 сентября 1939, когда советские войска вошли в Зап.Белоруссию и Зап.Украину (которые, между прочим, были ранее захвачены Польшей

  подробнее ...

Рейтинг: +2 ( 2 за, 0 против).
medicus про Евтушенко: Отряд (Боевая фантастика)

cit anno:
"Но чтобы смертельные враги — бойцы Рабоче — Крестьянской Красной Армии и солдаты германского вермахта стали товарищами по оружию, должно случиться что — то из ряда вон выходящее"

Как в 39-м, когда они уже были товарищами по оружию?

Рейтинг: -1 ( 2 за, 3 против).
iv4f3dorov про Лопатин: Приказ простой… (Альтернативная история)

Дочитал до строчки:"...а Пиррова победа комбату совсем не требовалась, это плохо отразится в резюме." Афтырь очередной щегол-недоносок с антисоветским говнищем в башке. ДЭбил, в СА у офицеров было личное дело, а резюме у недоносков вроде тебя.

Рейтинг: +4 ( 5 за, 1 против).
medicus про Демина: Не выпускайте чудовищ из шкафа (Детективная фантастика)

Очень. Рублёные. Фразы. По несколько слов. Каждая. Слог от этого выглядит специфическим. Тяжко это читать. Трудно продираться. Устал. На 12% бросил.

Рейтинг: +1 ( 1 за, 0 против).

Алгоритмы и программы. Язык С++ : учебное пособие для СПО [Елена Александровна Конова] (pdf) читать постранично, страница - 4

Книга в формате pdf! Изображения и текст могут не отображаться!


 [Настройки текста]  [Cбросить фильтры]

циклическим. Однако
слово «неоднократно» не означает «до бесконечности».
Организация циклов, никогда не приводящая к остановке в выполнении алгоритма («зацикливание» алгоритма),
нарушает требование его результативности — получения
результата за конечное число шагов.
Блок, для выполнения которого организуется цикл,
называется телом цикла. Остальные операторы служат
для управления процессом повторения вычислений: это
начальные установки, проверка условия продолжения
цикла и модификация параметра цикла. Один проход
цикла называется итерацией.

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

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

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

13

Ос н о в ы а л г о р и т м и з а ц и и

вием), либо после тела цикла (цикл с постусловием). Тело
цикла с постусловием всегда выполняется хотя бы один
раз. Проверка необходимости выполнения цикла с предусловием делается до начала цикла, поэтому возможно,
что он не выполнится ни разу.
При конструировании циклов следует соблюдать обязательное условие результативности алгоритма (т. е. его
окончания за конечное число шагов). Практически это
означает, что в условии должна быть переменная, значение которой изменяется в теле цикла. Причем, изменяется таким образом, чтобы условие в конечном итоге перестало выполняться. Такая переменная называется управляющей переменной цикла или параметром цикла.
Еще один вид циклов — цикл с параметром, или
арифметический цикл. Тело цикла выполняется, пока
параметр цикла i пробегает множество значений от начального (In) до конечного (Ik).
Переменная i определяет количество повторений тела
цикла S. Если шаг изменения значения параметра цикла
обозначить через ∆I, то количество повторений тела цикла n можно вычислить по формуле

n = I k I n + 1.
∆I
Если параметр цикла i изменяется с шагом 1, то шаг
может не указываться.
Цикл выполняется так: начальное значение параметра
цикла i равно In. Если i ≤ Ik, выполняется тело цикла S, после
чего параметр цикла увеличивается на 1 с помощью оператора присваивания i = i + 1, и снова проверяется условие i ≤ Ik.
Пример 1.3. Дано целое положительное число n. Вычислить
факториал этого числа. Известно, что факториал любого целого
положительного числа n определяется как произведение чисел от 1 до заданного числа n:
n! = 1 ⋅ 2 ⋅ 3 ⋅ ... ⋅ n.

14

Гл а в а 1

По определению 0! = 1 и 1! = 1.
Задача решается с помощью циклического алгоритма. Введем следующие обозначения: N — заданное число,
F — факториал числа, R — параметр цикла. Составим два
варианта алгоритма: с использованием цикла с предусловием и цикла с параметром.
Правильность алгоритма можно проверить, если выполнить его формально «вручную». Выполним алгоритм
при n = 4.

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

Цикл с параметром

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

Цикл с параметром

R

R 0 выполняется (выход
«Да»), то вычисляется группа операторов в блоке 4:
k = k + 1; Y[k] = X[i].
Тест
Данные

Результат

n=5
X = (–1, 2, 0, 4, –3)

k=2
Y = (2, 4)

Выполнение алгоритма.
k

0

i

xi > 0?

1

x1 > 0? «Нет»

2

x2 > 0? «Да»

3

x3 > 0? «Нет»

4

x4 > 0? «Да»

yk = xi

y 1 = x2 = 2

1

y2 = x4 = 4

2
5

x5 > 0? «Нет»

6

Конец цикла

23

Ос н о в ы а л г о р и т м и з а ц и и

Мы используем цикл с заданным числом повторений.
Напомним, что такой цикл (арифметический цикл) применяется, когда число повторений цикла известно к началу его выполнения.
1.3.2. Вычисление суммы и количества элементов
массива

Пример 1.8. Вычислить сумму элементов одномерного
массива.
Дано: n — размер массива; массив А = (a1, a2, …, an).
Найти: S — сумму элементов массива.
Начальное значение суммы равно нулю. В предыдущих подпараграфах мы говорили о том, что значение суммы накапливается с каждым шагом выполнения алгоритма. Вычисляем сумму по формуле S = S + ai.
Тест
Данные

N=4

Результат

A = (3, 5, –2, 8) S = 14
Исполнение алгоритма

i

S

0
1
2
3
4

S + a1 = 0 + 3 = 3
S + a2 = a1 + a2 = 3 + 5 = 8
S + a3 = a1 + a2 + a3 = 8 – 2 = 6
S + a4 = a1 + a2 + a3 + a4 = 6 + 8 = 14

Фрагмент алгоритма

Пример 1.9. Найти количество положительных и отрицательных чисел в данном массиве.
Дано: n — размер массива; массив А = (a1, a2, …, an).
Обозначим k1 — количество положительных чисел, k2 —
количество отрицательных чисел.
Найти: k1, k2 — количество положительных и отрицательных чисел массива.
Математическая модель. Пусть k1 = 0 и k2 = 0. Если
a[i] > 0, то k1 = k1 + 1. Если a[i] < 0, то k2 = k2 + 1. Процесс
повторяется до окончания просмотра всех чисел массива.
Приведем фрагмент блок-схемы алгоритма и ее словесное описание.

24

Гл а в а 1

Блок 1. Задание начальных значений переменным k1
и k2.
Блок 2. Заголовок арифметического цикла.
Блок 3. Проверка условия. Если очередное