Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Отчет по вычислительной практике.docx
Скачиваний:
16
Добавлен:
22.02.2015
Размер:
180.58 Кб
Скачать

Задача 6

Тема: Динамически распределяемая память. Часть 1.

С одномерным динамическим массивом, состоящим из n целочисленных элементов, произвести следующие операции:

1) вычислить сумму тех элементов, которые делятся либо на 2 либо на 3;

2) вычислить сумму чисел, которые больше, чем их правые соседи;

3) инвертировать порядок элементов массива, начиная после максимального элемента и до конца.

Инструкция пользователя.

Запустить командную строку (ПУСК – Все программы – Стандартные – Командная строка.

В командной строке необходимо перейти в каталог, где находиться программа. Для этого необходимо воспользоваться командой cd: “cd C:\Borland\politov\N6”, затем убедимся, что в каталоге находиться необходимая нам программа с помощью команды DIR, и запустим ее, написав ее имя.

Программа выводит на экран:

1) сумму тех элементов, которые делятся либо на 2 либо на 3;

2) сумму чисел, которые больше, чем их правые соседи;

3) инвертированный порядок элементов массива, начиная после максимального элемента и до конца.

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

Результат работы на рисунке 7.

Рисунок 7

Инструкция программиста.

Файл N6.cpp .

Функция sum23 вычисляет сумму тех элементов, которые делятся либо на 2 либо на 3. Параметры функции: адрес на начальный элемент массива, количество элементов данного массива. Возвращаемое значение: сумма тип long.

Функция sumBol вычисляет сумму чисел, которые больше, чем их правые соседи. Параметры функции: адрес на начальный элемент массива, количество элементов данного массива. Возвращаемое значение: сумма тип long.

Функция invert инвертирует порядок элементов массива, начиная после максимального элемента и до конца. Параметры функции: адрес на начальный элемент массива, количество элементов данного массива.

Функция ничего не возвращает, а изменяет исходный массив.

Код программы в приложении К.

Задача 3

Тема: Функции.

Делимость числа. Написать функцию, которая определяет делимость числа на первые 16 простых чисел. Делимость на каждое число записывается в соответствующий бит возвращаемого числа. Делимость на 2 – первый бит, на 3 – второй, на 5 – третий, на 7 – четвертый – и т.д. Например:

Если аргументом функции будет число 45 (5*5*3), то функция должна возвратить число 6 (00000110), так как 45 делится на 5 и на 3 и не делится ни на 2 и ни на 7 и не на другие простые множители.

Инструкция пользователя.

Запустить командную строку (ПУСК – Все программы – Стандартные – Командная строка. В командной строке необходимо перейти в каталог, где находиться программа. Для этого необходимо воспользоваться командой cd: “cd C:\Borland\politov\N3”, затем убедимся, что в каталоге находиться необходимая нам программа с помощью команды DIR, и запустим ее, написав ее имя. Программа выводит на экран число, соответствующее делимости введенного числа. Допустим, введено число 2, которое делится на 1 и 2, этим числам соответствуют биты 0 и 1. Программа установит эти биты в 1 и получим число в двоичной системе счисления «0000 0011», в десятичной системе счисления это число 3, которое будет выведено на экран. Пользователю, при первом запросе необходимо ввести число, которое будет проверяться на делимость.

Результат работы на рисунке 8.

Рисунок 8

Инструкция программиста.

Файл N3.cpp .Функция calc вычисляет делимость введенного числа на первые 16 чисел, путем установки битов в 1 (соответствие битов и делимости на число: 0 бит – число делится на 1, 1 бит – число делится на 2 и т.д.). Параметры функции: адрес введенного пользователем числа. Функция ничего не возвращает.

Код программы в приложении Л.