Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Навроцкий, А. А. Основы алгоритмизации и программирования в среде VISUAL C++_Уч_мет_пос.pdf
Скачиваний:
72
Добавлен:
16.03.2016
Размер:
3.64 Mб
Скачать

B12. Имеется список участников олимпиады. Каждый элемент списка содержит следующую информацию: название учебного заведения, фамилия участника, количество набранных очков. Вывести в порядке убывания количество набранных очков фамилии участников из БГУИР.

B13. Имеется список семян овощных культур. Каждый элемент списка содержит следующую информацию: название культуры, номера месяцев посева, высадки рассады и уборки урожая. Вывести в алфавитном порядке названия культур, урожай которых убирается в августе.

B14. Имеется список студентов. Каждый элемент списка содержит следующую информацию: фамилия, год и место рождения, три экзаменационных оценки за последнюю сессию. Вывести в алфавитном порядке фамилии студентов, которые сдали экзамены без двоек.

B15. Имеется список автомобилей. Каждый элемент списка содержит

 

 

 

 

Р

следующую информацию: марка, год выпуска, объем двигателя и расход топ-

 

 

 

И

 

 

У

 

лива. Вывести в порядке возрастания расхода топлива информацию об автомо-

билях, выпущенных после 2004 года.

Г

 

 

 

Б

 

 

 

9. Программирование с использованием файлов

 

А. Создать бинарный файл, записать в него десять действительных чисел и закрыть файл. Открыть файл для чтения, прочитать записанные дан-

ные и выполнить задание.

 

 

к

Результат вывести н экран и в текстовый файл.

Закрыть все открытые файлы.

 

А1. Найти сумму четных и колич ствоаотрицательных чисел.

А2. Найти количество неч тных чисел, стоящих перед положительными

числами.

 

 

 

т

 

А3. Вывести положи ельныеечисла, кратные трем, и все отрицательные.

А4. Выяснить как е из чисел (минимальное или максимальное) находится

 

 

ичество

 

 

ближе к началу файла.

 

 

 

А5. Выясн ть, расп л жены ли числа в файле по возрастанию их значений.

А6. Выясн ть, какох чисел больше, отрицательных или положительных.

 

б

 

 

чисел, значение которых больше среднего значения

А7. Найти ко

 

всех чисел.

 

 

 

 

и

 

 

 

 

А8. Найтилразность между суммой модулей положительных и суммой

модулей отр цательных чисел.

 

Б

 

 

 

 

 

А9. Найти количество чисел, находящихся между минимальным и максимальным числами.

А10. Выяснить, имеются ли отрицательные числа, значение которых по модулю больше среднего значения всех чисел.

А11. Вывести четные числа, стоящие после числа с максимальным значе-

нием.

А12. Подсчитать сумму чисел, стоящих между максимальным и минимальным числами.

А13. Вывести отрицательные числа, стоящие перед числом с минимальным значением.

143

А14. Найти среднее значение положительных и среднее значение отрицательных чисел.

А15. Найти число, значение которого наиболее близко к среднему значению всех чисел.

B. Написать набор функций для выполнения следующих задач: создание бинарного файла; запись данных в файл; открытие файла и чтение из него данных; вывод результата на экран; вывод результата в текстовый файл. Для

вызова необходимых функций использовать меню. Задание взять из соответ-

ствующего варианта лабораторной работы №8.

 

 

 

Р

 

 

10. Написание рекурсивных программ

И

А. Ввести с клавиатуры одномерный массив. Решить задачу путем ре-

 

 

 

 

 

 

 

 

У

 

курсивного разбиения массива на две части. Для контроля решить задачу с ис-

пользованием циклического алгоритма.

 

 

Г

 

 

А1. Найти количество отрицательных элементов массива. При рекурсив-

ном разбиении массив делить на две половины.

Б

 

 

 

 

 

 

 

 

А2. Найти сумму положительных элементов массива. При рекурсивном

разбиении массив делить на первую треть и остальную часть (2/3) массива.

А3.

 

 

 

 

массив

 

 

 

 

Найти количество четных элементов м ссива. При рекурсивном раз-

 

 

 

 

к

 

 

 

 

 

биении массив делить на две половины.

 

 

 

 

 

 

А4. Найти количество элементов м ссива, значения которых больше 10 и

меньше 20. При рекурсивном разби нии

 

делить на первую треть и ос-

тальную часть (2/3) массива.

 

 

 

 

 

 

 

 

 

 

т

 

 

 

 

 

 

 

А5. Найти значение минимального элемента массива. При рекурсивном

разбиении массив делить на две половиные.

 

 

 

 

 

А7.

Опреде

тьколчество элементов массива, для которых выполня-

А6.

Определить, вс речаю ся ли отрицательные элементы в массиве.

При рекурсивном

разбиении

массив делить на первые 2/3 и остальную треть

массива.

б

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ется условие sin(a[i]) > 0. При рекурсивном разбиении массив делить на две

половины.

 

 

 

 

 

 

 

 

 

и

 

 

 

 

 

 

 

 

 

А8. Определитьлколичество элементов массива, для которых выполняется

услов е 0 < cos(a[i]) < 0.5. При рекурсивном разбиении массив делить на первыеБ2/3 остальную треть массива.

А9. Найти произведение отрицательных элементов массива. При рекурсивном разбиении массив делить на две половины.

А10. Найти сумму элементов массива, для которых выполняется условие a[i]2 >10. При рекурсивном разбиении массив делить на первые 2/3 и остальную треть массива.

А11. Определить, встречаются ли четные элементы в массиве. При рекурсивном разбиении массив делить на две половины.

144

А12. Найти произведение положительных элементов массива. При рекурсивном разбиении массив делить на первую треть и остальную часть (2/3) массива.

А13. Найти номер максимального элемента массива. При рекурсивном разбиении массив делить на первую треть и остальную часть (2/3) массива.

А14. Найти сумму элементов массива, значения которых больше 3 и меньше 10. При рекурсивном разбиении массив делить на первые 2/3 и остальную треть массива.

А15. Найти произведение нечетных элементов массива. При рекурсивном разбиении массив делить на первую треть и остальную часть (2/3) массиваР.

B. Решить задачу двумя способами – с применением рекурсии и без нее.

B1. Написать функцию умножения двух чисел, используя только операцию сложения.

B2. В упорядоченном массиве целых чисел ai, i = 0...n–1 найти номер

И

элемента x методом бинарного поиска: если x an/2, тогда x a1 ...an/2 , иначе

x an/2 1 ...an . Если элемент x отсутствует в массиве,Уто вывести соответст-

вующее сообщение.

 

 

 

 

 

 

 

а

 

Г

 

 

 

B3. Написать функцию сложения двух чисел, используя только операцию

добавления единицы.

 

 

 

 

 

 

 

к

Б

P a b

 

 

B4. Вычислить произведение двух целых положительных чисел

по

следующему

алгоритму:

 

 

если

b четное,

то

P 2 (a b/2),

иначе −

P a (a (b 1)). Если b = 0, то P = 0.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

т

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

B5. Подсчитать сумму цифр в д сятичной записи заданного числа.

 

 

B6. Найти значение функцииеАккермана A(m, n), которая определяется для

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

про

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

всех неотрицательных целых аргумен ов m и n следующим образом: A(0, n)= n +

1, если m = 0; A(m,0) = A(m – 1, 1), если n = 0;

A(m, n) = A(m – 1, A(m, n – 1)), если

и m > 0 и n > 0.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

значения (n 2) сомножителей

 

 

B7.

Вычисл ть

 

зведение

четного

 

 

 

 

2

 

2 4

 

4

 

6 6

 

n

 

 

n

 

 

 

 

 

 

 

 

 

 

 

 

 

y(n)

 

 

 

 

 

 

 

 

 

 

 

и...

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1 3 3 5 5 7

 

n 1 n 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

 

Б

бВыч слить число сочетаний Ck

 

 

n!

по формуле: C0

Cn 1,

 

 

B9.

 

 

 

 

 

k

 

иk

k 1

 

 

 

 

 

 

 

 

 

 

n

 

k!(n k)!

 

 

 

 

n

n

Cn

Cn 1

Cn 1 при n > 1, 0 < k < n.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

B10. Вычислить y n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

2 ...

(n 1)

 

.

 

 

n

 

 

 

B11.

 

 

Вычислить

значение

 

x

 

,

 

 

 

 

используя

формулу

 

 

 

 

a

 

 

 

 

xn

 

1

xn 1 a

xn 1 ,

в качестве начального приближения использовать значе-

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ние x0 = (1 + a)/2.

145

B12. Вычислить y n, k 1k 2k ... nk .

B13. Вычислить

y n

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(n 1)

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(n

2)

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.. ..

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

....

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

1

.

 

 

 

 

 

Р

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

И

B14. Подсчитать количество цифр в заданном числе.

 

 

 

 

B15. Вычислить

y n

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

У

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Бn

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.. ..

 

Г

 

 

 

 

 

 

 

 

 

 

 

 

 

....

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

а

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(n 1)

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

к

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

е

 

 

м ссивов

 

 

 

 

 

 

 

11. Сортиров

 

 

 

 

 

А. Ввести массив из n целых чис л. Отсортировать числа по неубыванию

указанным методом. Результат выв сти на экран.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

А1. Метод пузырька.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

А2. Шейкерная

сор

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ировка.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

А3. Сортировка выб р м.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

А4. Сортировка вставктй.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Шелла

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

А5. Метод

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

А6. Метод пузырька.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

А7. Шейкернаяисортировка.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

и

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

А8. Сортировка выбором.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

А9. Сортировка вставкой.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Б

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

А10.бМетод

Шелла.

А11. Метод

пузырька.

А12.

Шейкерная сортировка.

А13.

Сортировка выбором.

А14.

Сортировка вставкой.

А15.

Метод Шелла.

B. Дополнить программу, написанную при выполнении лабораторной работы №9, функциями упорядочения массива структур по неубыванию заданного ключа. Результат вывести на экран.

146