
- •Практикум на эвм
- •Казань – 2006
- •Разработка алгоритмов. Графическое изображение (блок-схемы) и словесная запись алгоритмов
- •II. Программирование и структурирование блок-схем
- •If b1 then if b2 then s1 else s2.
- •1: S1; if b then begin s2; goto 1 end и
- •If b1 then goto 2 else goto 3; 2: s; 3: if b2 then goto 2.
- •III. Небольшие программы
- •III.1. Последовательная структура управления
- •III.2. Условная структура управления
- •IV. Циклическая структура управления (без индексации)
- •IV.1. Однократные итерационные циклы
- •IV.2. Переход к кратным (вложенным) циклам
- •V. Управление потоками данных
- •Рекомендации по отработке основных приемов программирования
IV.2. Переход к кратным (вложенным) циклам
34. (Суммы и произведения в разных сочетаниях.) Вычислить:
а)
; в)
;
б)
; г)
,
где xij = ln(i + cos( jy )).
35. (Сумма и минимум одновременно.) Даны интервал (a, b) и последовательность чисел xij = sin(ix – /4) + cos(jx + ix), j = 1,….40; i = 1,…,20. Просуммировать числа xij (a, b) и найти среди них наименьшее.
36. (Счастливые билеты.) Трамвайный билет с шестизначным номером называется "счастливым по-московски", если сумма его первых трех цифр равна сумме трех последних цифр, и "счастливым по-ленинградски", если сумма первой, третьей и пятой цифр равна сумме второй, четвертой и шестой цифр. Вычислить, сколько имеется билетов, счастливых
а) по-московски;
б) как по-московски, так и по-ленинградски.
Указания.
а) Число билетов, счастливых по-московски
равно
,
где Nk
– число решений уравнения x + y + z = k
в целых числах 0
x,
y,
z
9. б) Используя
6-кратный цикл по а,
в,
с,
d,
е,
f,
изменяющимися
независимо от
0 до
9 (с шагом
1), определить,
сколько раз выполняются соотношения
a + b + c = d + e + f = a + c + e.
37. (182+192+...+282 = 772, или поиск числовых тождеств.) Генерировать в некотором порядке (с последующей печатью) все
а) пары (k, m) целых чисел, для которых 0 k 100; 2 m 100 и (k+1)2+(k+2)2+…+(k+m)2 есть полный квадрат;
б) пятерки (m, a, b, s, r) целых чисел, для которых 1 m, b 50; 2a, s, r4 и bs+(a+b)s+(2a+b)s+…+(ma+b)s есть r-ая степень целого числа.
38. (Эмпирические формулы для некоторых сумм.) Положим
Проверить эмпирические формулы:
вычисляя
погрешность ЕF=|Fk –|,
где F = P
или Q,
последовательно для k
=
1,2,...,50.
39.
(Развитие темы задачи
3, или
вычисление определенных интегралов по
методу последовательного удвоения
шагов.) В задаче
3 приведены
формулы для вычисления приближенного
значения In
интеграла I.
Чтобы обеспечить заданную точность
вычислений, необходимо подобрать
число шагов интегрирования n
так, чтобы
.
Использование для этих целей известных
оценок остаточных членов квадратурных
формул возможно, но не всегда удобно.
Поэтому на практике поступает следующим
образом:
строят
последовательность значений
и
в качестве
I
берут значение
для
первогоk,
при котором
,
где
.
Здесьn
– некоторое
начальное число шагов интегрирования.
Подчеркнем, что при переходе от
к
число шагов интегрирования удваивается.
Погрешность
оценивается здесь приближенно по
правилу Рунге:
,
где = 1/3
для формул прямоугольников и трапеций
и = 1/16
для формулы Симпсона.
Конкретное задание: вычислить значения определенных интегралов из задачи 3, используя предложенный метод. Взять n = 4 и = 0.0001. Дополнительные варианты:
а)
,
(a, b) = (0, );
б)
,
;
в)
,
(a,
b)
=
(–1,
1).
(Сверьте Ваши ответы с теоретическими:
a)
ln|r|
для |r| > 1;
б)
дляm = 1,2,...;
в)
для 0 < ,
< 1.)
V. Управление потоками данных
Вариации задач:
а) с известной (например, 99) или неизвестной (по вводимому N или EOF()) длиной входного потока;
б) функция преобразования может быть условной, т.е. зависящей от входных данных и/или номера i входной группы данных (например, поочередно sin, ln).
1. (Синхронизация (ВХОД: ВЫХОД) 1:3.)
а) Для каждого числа входного потока послать в выходной поток его sin(), cos() и tg().
б) Во входном потоке поступают коэффициенты многочлена P(x) = p0 + p1x + p2x2 + p3x3 +… Послать в выходной поток коэффициенты многочлена (a + bx + cx2) P(x3).
2. (Синхронизация 3:1 с неперекрывающейся группировкой троек на входе.)
а) Для каждой смежной (не перекрывающейся) тройки чисел входного потока послать в выходной поток sin от их суммы.
б) Во входном потоке поступают элементы (3?)-матрицы по столбцам (по 3 элемента в столбцах). Послать в выходной поток элементы вектора – результат умножения заданного вектора (a, b, c) на данную матрицу.
3. (Синхронизация 3:3 с перекрывающейся группировкой троек на входе.)
а) Для каждой (последовательной) тройки чисел входного потока послать в выходной поток sin от их суммы.
б) Во входном потоке поступают коэффициенты многочлена в стандартном представлении. Послать в выходной поток коэффициенты результата умножения (деления) этого многочлена на (a + bx + cx2).
4. (Свернуть-развернуть.)
а) Входной поток содержит последовательность символов 0 и 1 – цифры целого числа в двоичном представлении (поступающие с младшей/старшей цифры). Вычислить значение этого числа.
б) Для введенного целого числа послать в выходной поток цифры (0, 1) его двоичного представления (с младшей/старшей цифры).
5. (Синхронизация 1: (≥0).) Во входном потоке поступают целые числа. Для каждого положительного числа входного потока послать в выходной поток символ “+” соответствующее количество раз и ограничитель – символ “;”.
6. (Синхронизация :1.) Во входном потоке поступает последовательность символов. Для каждого её отрезка, содержащие только символы “+”, послать в выходной поток целое число, равное количеству символов в отрезке.
7. (Многопотоковые задачи.) Выполнить:
а) слияние (пересечение, объединение) двух (и более) упорядоченных последовательностей чисел;
б) рассортировать положительные и отрицательные числа входного потока в два выходных потока, исключив нули.
8. (-свойства.) Два числа (x, y) назовём друзьями, если sin(xy) > 0. Тройку чисел (x,y,z) назовём компанией, если sin(x y z) > 0. Числа из входного потока G назовём физиками, а числа из входного потока H назовём лириками.
а) (-свойство.) Из входного потока F отобрать в выходной поток числа, для которых все физики являются друзьями.
б) (-свойство.) Из входного потока F отобрать в выходной поток числа, у которых есть друзья среди физиков.
в) (-свойство.) Из входного потока F отобрать в выходной поток числа, которые с каждым физиком могут подобрать компанию с участием подходящего лирика.
г) (-свойство.) Из входного потока F отобрать в выходной поток числа, которые с подходящим физиком образуют компанию с участием любого лирика.
Приложение