Professional Documents
Culture Documents
Prog 7-9
Prog 7-9
Prog 7-9
1. В массив A[N] занесены натуральные числа. Найти сумму тех элементов, которые кратны
данному К.
2. В целочисленной последовательности есть нулевые элементы. Создать массив из номеров этих
элементов.
3. Дана последовательность целых чисел а1 , а2, ..., ап . Выяснить, какое число встречается раньше -
положительное или отрицательное.
4. Дана последовательность действительных чисел а1, а2, ..., ап . Выяснить, будет ли она
возрастающей.
5. Дана последовательность натуральных чисел а1, а2, ..., ап. Создать массив из четных чисел этой
последовательности. Если таких чисел нет, то вывести сообщение об этом факте.
5. Дана последовательность чисел а1 , а2, ..., ап . Указать наименьшую длину числовой оси,
содержащую все эти числа.
6. Дана последовательность действительных чисел а1 , а2, ..., ап . Заменить все ее члены, большие
данного Z, этим числом. Подсчитать количество замен.
7. Последовательность действительных чисел оканчивается нулем. Найти количество членов этой
последовательности.
8. Дан массив действительных чисел, размерность которого N. Подсчитать, сколько в нем
отрицательных, положительных и нулевых элементов.
10. Даны действительные числа а1, а2, ..., ап . Поменять местами наибольший и наименьший
элементы.
10. Даны целые числа а1 , а2, ..., ап . Вывести на печать только те числа, для которых ai ≤ L .
11. Даны натуральные числа а1 , а2, ..., ап . Указать те из них, у которых остаток от деления на М
равен L(0≤ L≤ M-1).
12. В заданном одномерном массиве поменять местами соседние элементы, стоящие на четных
местах, с элементами, стоящими на нечетных местах.
13. При поступлении в вуз абитуриенты, получившие двойку на первом экзамене, ко второму не
допускаются. В массиве А[п] записаны оценки экзаменующихся, полученные на первом экзамене.
Подсчитать, сколько человек не допущено ко второму экзамену.
15. Дана последовательность чисел, среди которых имеется один нуль. Вывести на печать все
числа до нуля включительно.
15. В одномерном массиве размещены: в первых элементах - значения аргумента, в следующих -
соответствующие им значения функции. Напечатать элементы этого массива в виде двух парал-
лельных столбцов (аргумент и значения функции)
16. Пригодность детали оцениваться по размеру. В, который должен соответствовать интервалу
(A-δ,A+δ).Определить, имеются ли в партии из N деталей бракованные. Если да, то подсчитать их
количество, в противном случае выдать отрицательный ответ.
17. У вас есть доллары. Вы хотите обменять их на рубли. Есть информация о стоимости купли-
продажи в банках города. В городе N банков. Составьте программу, определяющую, какой банк
выбрать, чтобы выгоднo обменять доллары на рубли.
18. Дан целочисленный массив с количеством элементов. Напечатать те его элементы, индексы
которых являются степенями двойки (1, 2, 4, 8, 16, …).
19. Задана последовательность из N вещественных чисел. Определить, сколько среди них чисел
меньше K, равных K и больших K.
20. Задана последовательность N вещественных чисел. Вычислить
S =
где М — среднее арифметическое данной последовательности.
21. Задан массив (VAR A: ARRAY [1..N] OF 'о' .. '9';). Определить, входит ли в него
последовательность символов 123, если да, то сколько раз и с каких позиций (N> 3).
22. Задан массив действительных чисел. Определить, сколько раз меняется знак в данной
последовательности чисел, запомнить номера позиций, в которых происходит смена знака.
23. Задана последовательность N вещественных чисел. Вычислить сумму чисел, порядковые
номера которых являются простыми числами.
24. Задана последовательность N вещественных чисел. Вычислить сумму чисел, порядковые
номера которых являются числами Фибоначчи.
25. Задана последовательность N вещественных чисел. Вычислить значение выражения
26. Задана последовательность N целых чисел. Вычислить сумму элементов массива, порядковые
номера которых совпадают со значением этого элемента.
27. Заполнить массив из N элементов с начальным значением заданным А[0]≠ 0, по принципу
A[I]=A[I DIV 2]+A[I-1].
28. Определить количество элементов последовательности натуральных чисел, кратных числу M и
заключенных в промежутке от L до K .
29. Определить, сколько процентов от всего количества элементов последовательности целых
чисел составляют нечетные элементы.
r=
Указать номер строки , максимально удаленной от первой строки заданной матрицы.
43. Определить, является ли заданная матрица ортонормированной, т.е. равно ли скалярное
произведение каждой пары различных строк(столбцов) нулю.
44. Определить среднее арифметическое элементов, лежащих на пересечении строк, номера
которых кратны R , и столбцов номера которых кратны S.
45. Определить номера строк матрицы, в которых знаки элементов чередуются.
Лабораторная и самостоятельная работа 9
ПРОГРАММИРОВАНИЕ С ИСПОЛЬЗОВАНИЕМ ФУНКЦИЙ
Объявление функции
Функция – это последовательность операторов, оформленная таким обра-зом, что
ее можно вызвать по имени из любого места программы. Функция описывается
следующим образом:
тип возвращаемого значения имя функции (список параметров)
{
тело функции
}
Первая строка описания называется заголовком функции. Тип возвращае-мого
значения может быть любым, кроме массива или функции. Допустимо не возвращать
никакого значения (тип void).
В С++ не допускается вложение функций друг в друга.
Выход из функции осуществляется следующими способами:
1. Если нет необходимости возвращать вычисленное значение, то выход
осуществляется по достижении закрывающей скобки или при выполнении опе-ратора
return.
2. Если необходимо вернуть определенное значение, то выход осуществ-ляется
оператором
return выражение;
Передача параметров
При работе важно соблюдать следующее правило: при объявлении и вызо-ве
функции параметры должны соответствовать по количеству, порядку следо-вания и
типам. Функция может не иметь параметров, в этом случае после имени функции
обязательно ставятся круглые скобки. Существует три основных спо-соба передачи
параметров: передача по значению, ссылке или указателю.
Передача параметров по значению
В момент обращения к функции в памяти создаются временные перемен-ные с
именами, указанными в списке параметров. В временные переменные ко-пируются
значения фактических параметров.
Передача параметров по ссылке
При передаче параметров по ссылке передается не значение соответст-вующей
переменной, а ее адрес. Для указания на данный способ передачи после имени
параметра ставится символ «&».
Передача параметров по указателю
В отличие от передачи по ссылке адрес переменной передается в функцию не с
использованием операции разадресации (&), а операцией косвенной адре-сации (*).
Перегрузка функций и указатель на функцию
В С++ допустимо использование нескольких функций с одинаковым име-нем, но
различным числом или типами параметров. Такое свойство называется перегрузкой
функций. Перегруженные функции различаются компилятором по типам и числу
параметров.
Так как имя функции является указателем на начало функции в оператив-ной
памяти, то можно объявлять указатели на функции для последующего их
использования в программе.
При объявлении указатель должен возвращать тот же тип и иметь такие же
аргументы, как и функция, на которую он будет указывать. Например, указа-тель на
функцию
double y(double x, int n);
будет иметь вид:
double (*fun)(double, int);
Индивидуальные задания
Вывести на экран таблицу значений функции Y(x) и ее разложения в ряд S(x) с
точностью ε (табл. 8.1). Вывести число итераций, необходимое для достижения
заданной точности. Вычисление S(x) и Y(x) оформить в виде функций.