Лабы 1 курс 2 семестр / ЛР 4 Информатика 2 сем 2020
.pdf
|
|
|
Начало |
|
|
Целое неотрицательное число N |
|
|
|
|
Целое число chislo1 |
|
|
|
Ввод N, chislo1 |
|
|
Целое неотрицательное число kol = 0 |
|
|
|
Целое неотрицательное число i = 0 |
|
|
|
да |
нет |
|
|
|
i < N - 1 |
|
Целое число chislo2 |
|
|
|
Ввод chislo2 |
Вывод kol |
|
да |
chislo1 > 0 && |
нет |
|
|
|
||
|
chislo2 > |
0 |
|
kol++
chislo1 = chislo2
Конец
Реализуем составленный алгоритм.
#include <conio.h> #include <iostream>
void main()
{
unsigned int N; std::cout<<"vvedite N:"; std::cin>>N;
unsigned int kol = 0;
int chislo1; std::cout<<"\n"; std::cin>>chislo1;
for(unsigned int i = 0; i < N - 1; i++)
{
int chislo2;
72
std::cout<<"\n"; std::cin>>chislo2;
if(chislo1 > 0 && chislo2 > 0)
{
kol++;
}
chislo1 = chislo2;
}
std::cout<<"resultat: "<< kol << "\nPress any key to continue";
_getch();
}
Тесты:
Вводимые значения и результаты, выданные программой, показаны в таблице ниже.
Всего |
|
|
|
|
|
Числа |
|
|
|
|
|
Результат |
|
чисел |
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3 |
1 |
2 |
3 |
|
|
|
|
|
|
|
|
|
2 |
5 |
5 |
10 |
0 |
2 |
-1 |
|
|
|
|
|
|
|
1 |
6 |
-2 |
-1 |
0 |
1 |
-3 |
5 |
|
|
|
|
|
|
0 |
10 |
-3 |
7 |
-9 |
0 |
2 |
5 |
1 |
9 |
-4 |
12 |
|
|
3 |
12 |
0 |
1 |
-1 |
22 |
-5 |
33 |
14 |
-8 |
3 |
1 |
-5 |
0 |
2 |
1 |
5 |
|
|
|
|
|
|
|
|
|
|
|
0 |
Полученные результаты соответствуют действительности, можно предположить, что программа работает верно.
Задача Д Сформировать и вывести на экран матрицу следующего вида:
15 |
0 |
0 |
... |
... |
0 |
19 |
0 |
14 |
0 |
... |
... 17 |
0 |
|
0 |
0 |
13 |
... |
... |
0 |
0 |
... ... ... ... ... ... ...
... ... ... ... ... ... ...
0 |
5 |
0 ... ... |
8 |
0 |
3 |
0 |
0 ... ... |
0 |
7 |
Решение
73
Определим размеры матрицы. Видно, что главная диагонать проходит от угла к углу, значит, матрица – квадратная. Числа в ней меняются от 15 до 7, кажде следующее на 1 меньше предыдущего – всего 9 чисел. Значит размеры матрицы - (9, 9). Для вывода матрицы на экран в блок-схему алгоритма нужно включить два вложенных цикла, каждый из которых должен совершить по 9 итераций.
Начало
Целое неотрицательное число N = 9 Целое неотрицательное число i = 0
да |
нет |
i < N
Целое неотрицательное число j = 0
Конец
да |
нет |
j < N
Целое число k =0
да |
нет |
j == i
да |
нет |
j == 9 - i
k = 15 - i |
k = 3 + j * 2 |
Вывод k, "/t" |
Вывод "/n/n" |
j++ |
i++ |
Напишем программу, на основе составленной блок-схемы.
#include <conio.h> #include <iostream>
void main()
{
const unsigned int N = 9;
74
for(unsigned int i=0; i<N; i++)
{
for(unsigned int j=0; j<N; j++)
{
int k = 0;
if(i == j)
{
k = 15- i;
}
else if(j == 9 - i)
{
k = 3 + j * 2;
}
std::cout<< k << "\t";
}
std::cout<< "\n\n";
}
std::cout<<"Press any key to continue"; _getch();
}
Тесты:
Скомпилируем и запустим программу. В консольном окне отобразилась матрица требуемого вида. Программа работает верно.
5.4 Задания |
|
|
|
|
|
|
Задача 4.1.1. |
Вычислить и вывести на экран значения функции |
|||||
|
x |
2 |
4x 4 |
|
||
|
|
|
|
|
|
|
y |
|
2 x |
2 |
1 |
на отрезке [2, 3] с шагом 0.02. |
|
|
|
|
||||
|
|
|
|
|
|
Задача 4.1.2. Вычислить и вывести на экран значения функции y = 0.7x2 – 3x + 10 на отрезке [-7, 23] с шагом 1.
Задача 4.1.3. Вычислить и вывести на экран значения функции y = 2x3 + 4x2 на отрезке [-4, 4] с шагом 0.05.
75
Задача 4.1.4. Вычислить и вывести на экран значения функции y = 100 + 10/x + 1/x2 на отрезке [-30, 20] с шагом 2.
Задача 4.1.5. Вычислить и вывести на экран значения функции y = (x + 2)2 / (x + 5) - 0.5 на отрезке [-10, 0] с шагом 0.1.
Задача 4.1.6. Ввести с клавиатуры натуральные числа N и М. Вычислить (М ! + N!) / (М + N)! Результат вывести на экран.
Задача 4.1.7. Ввести с клавиатуры натуральное число N.
Вычислить S
Задача 4.1.8.
N
i 1
i 6 |
. |
Результат вывести на экран. |
|
N i |
|||
|
|
Ввести с клавиатуры натуральное число N.
Вычислить S
Задача 4.1.9.
N
i 1
(N / i) i 1 |
. Результат вывести на экран. |
Ввести с клавиатуры натуральные числа N и M.
Вычислить S
Задача 4.1.10.
N
i 1
(M i) 10 |
. Результат вывести на экран. |
Ввести с клавиатуры число А. Найти в после-
довательности чисел
i |
|
i |
|
|
|
|
k 4 |
|
|
b |
|
|
||
|
|
k 1 |
|
|
первое число, большее A и вывести
его на экран.
Задача 4.1.11. Ввести с клавиатуры число N.
i / 2 при i, кратном 2;
Вычислить
n
Sai2 ,
i1
где ai =
i * 2 при i, не кратном 2.
Результат вывести на экран.
Задача 4.1.12. Ввести с клавиатуры натуральное число N. Вычислить сумму цифр числа N. Результат вывести на экран.
Задача 4.1.13. Ввести с клавиатуры натуральное число N. Вывести на экран в порядке убывания все делители введенного числа.
76
Задача 4.1.14. Ввести с клавиатуры натуральное число N и
действительное f. Вычислить
N P (1
k 1
f 2k
2
).1
Результат вывести на
экран.
Задача 4.1.15. Ввести с клавиатуры натуральное число N и
действительное f. Вычислить
экран.
N P (1
k 0
f
2 |
10 |
|
|
|
|
|
k |
) |
|
|
Результат вывести на
Задача 4.1.16. Ввести с клавиатуры натуральное число n. Вычислить произведение ряда и вывести результат на экран:
(1 |
1 |
) (1 |
|
1 |
) (1 |
|
1 |
) |
2 |
2 |
2 |
||||||
|
1 |
|
|
2 |
|
|
n |
|
Задача 4.1.17. Ввести с клавиатуры натуральное число n. Проверить,
|
1 |
|
1 |
|
|
1 |
... |
1 |
|
|
|
7 |
3 |
9 |
5 |
11 |
2n 1 2n 7 |
|
|||
что сумма ряда |
|
|
|
не превышает дробь |
||||||
|
|
|
|
|
|
|
|
|
Вывести на экран соответствующее сообщение.
23 90
.
Задача 4.1.18. Ввести с клавиатуры натуральное число N. Вычислить сумму чисел Фибоначчи, которые не превышают N.
Числа Фибоначчи образуются по закону f1 = 1, f2 =1, fk+1 = fk-1 + fk. Результат вывести на экран.
Задача 4.1.19. Ввести с клавиатуры натуральное число N цифру M и вещественное число Р. Определить, встречается ли цифра М среди первых N цифр дробной части числа Р.
Задача 4.1.20. Дано натуральное число k. Вывести на экран k-ю цифру последовательности, где выписаны подряд степени числа
10: 110100100010000... .
Задача 4.2.1. |
Ввести с клавиатуры натуральное число N. |
|||
N |
i! |
|
||
Вычислить S |
. Результат вывести на экран. |
|||
|
|
|||
(N i)! |
||||
i 1 |
|
|||
Задача 4.2.2. |
Ввести с клавиатуры натуральное число N. |
|||
N |
i |
|
||
Вычислить S (i k)2 . Результат вывести на экран. |
||||
i 1 |
k 0 |
|
||
|
|
|
77 |
Задача 4.2.3. |
Ввести с клавиатуры натуральное число N. |
N |
i |
Вычислить S (i j)!. Результат вывести на экран. |
|
i 1 |
j 1 |
Задача 4.2.4. |
Ввести с клавиатуры натуральное число N. |
||
N |
i |
|
|
Вычислить S |
i k |
. Результат вывести на экран. |
|
|
|||
i 1 |
k 0 i k |
|
Задача 4.2.5.
Вычислить S
N
k 1
Ввести с клавиатуры натуральное число N.
( 0.9) |
k |
|
|
|
. Результат вывести на экран. |
||
4.5 k |
|||
|
Задача 4.2.6. Ввести с клавиатуры натуральное число N и действительное x.
|
|
N |
N |
i x |
|
|
|
Вычислить |
S |
|
k |
. |
Результат вывести на экран. |
||
|
|
||||||
|
|
i 1 |
k 1 |
|
|
||
|
|
|
|
|
|||
Задача 4.2.7. |
|
Ввести с клавиатуры натуральные числа N и M. |
|||||
|
|
N |
M |
i 10 |
|
||
Вычислить S |
. Результат вывести на экран. |
||||||
2i 5 |
|||||||
|
|
i 1 |
k 1 |
|
Задача 4.2.8.
Вычислить
S
Ввести с клавиатуры натуральное число N.
N |
|
. Результат вывести на экран. |
(1.08) |
i-1 |
|
|
|
|
i 1 |
|
|
Задача 4.2.9.
Вычислить S
N
i 0
Ввести с клавиатуры натуральные числа N, M и K.
M K (2i 3m 5k) . Результат вывести на экран.
m 1 k 0
Задача 4.2.10.
Вычислить
S
Ввести с клавиатуры натуральное число N.
N |
|
. Результат вывести на экран. |
i! N /(1.1) |
i |
|
|
|
|
i 1 |
|
|
Задача 4.2.11. Ввести с клавиатуры натуральные числа N, M и K.
K M |
N |
Вычислить S (k / m k / n 1) . Результат вывести на экран. |
|
k 3 m 2 |
n 1 |
78
Задача 4.2.12. Вывести на экран матрицу вида:
1 |
1 |
1 ... ... |
1 |
1 |
1 |
2 |
2 ... ... |
2 |
2 |
1 |
2 |
3 ... ... |
3 |
3 |
... ... ... ... ... ... ...
... ... ... ... ... ... ...
1 |
2 |
3 |
... ... |
14 |
14 |
1 |
2 |
3 |
... ... |
14 |
15 |
Задача 4.2.13. Вывести на экран матрицу вида:
1 |
1 |
1 ... ... |
1 |
1 |
0 |
0 |
0 ... ... |
2 |
1 |
0 |
0 |
0 ... ... |
0 |
1 |
... ... ... ... ... ... ...
... ... ... ... ... ... ...
0 |
9 |
0 ... ... |
0 |
1 |
10 |
0 |
0 ... ... |
0 |
1 |
Задача 4.2.14. Вывести на экран матрицу вида:
0 |
1 |
2 |
... ... |
18 |
19 |
1 |
2 |
3 |
... ... |
17 |
18 |
2 |
3 |
4 |
... ... |
16 |
17 |
... ... ... ... ... ... ...
... ... ... ... ... ... ...
89 10 ... ... 26 27
910 11 ... ... 27 28
Задача 4.2.15. Вывести на экран матрицу вида:
0 |
0 |
0 ... ... |
0 |
0 |
1 |
2 |
3 ... ... |
9 |
10 |
2 |
4 |
6 ... ... |
18 |
20 |
... ... ... ... ... ... ...
... ... ... ... ... ... ...
19 38 57 ... ... 171 190
20 40 60 ... ... 180 200
Задача 4.2.16. Ввести с клавиатуры натуральное число N. Вывести на экран квадратную матрицу размерности (N, N) следующего вида:
7 |
7 |
7 ... ... |
7 |
7 |
7 |
2 |
2 ... ... |
2 |
7 |
7 |
2 |
2 ... ... |
2 |
7 |
... ... ... ... ... ... ...
... ... ... ... ... ... ...
7 |
2 |
2 ... ... |
2 |
7 |
7 |
7 |
7 ... ... |
2 |
7 |
|
|
|
79 |
|
Задача 4.2.17. Вывести на экран матрицу вида:
1 |
2 |
3 |
... |
... 24 |
25 |
|
2 |
1 |
2 |
... |
... |
23 |
24 |
3 |
2 |
1 |
... |
... |
22 |
23 |
... ... ... ... ... ... ...
... ... ... ... ... ... ...
24 23 22 ... ... 1 2
25 24 23 ... ... 2 1
Задача 4.2.18. Ввести с клавиатуры натуральное число N. Вывести на экран квадратную матрицу размерности (N, N) следующего вида:
N |
N-1 |
N-2 |
... |
... |
2 |
1 |
N/2 |
(N-1)/2 |
(N-2)/2 |
... |
... |
1 |
1/2 |
N/3 |
(N-1)/3 |
(N-2)/3 |
... |
... |
2/3 |
1/3 |
... |
... |
... |
... |
... |
... |
... |
... |
... |
... |
... |
... |
... |
... |
N/(N-1) |
1 |
(N-2)/(N-1) |
... |
... |
2/(N-1) |
1/(N-1) |
1 |
(N-1)/N |
(N-2)/N |
... |
... |
2/N |
1/N |
Задача 4.2.19. Ввести с клавиатуры натуральные числа M и N. Вывести на экран матрицу размерности (M, N) следующего вида:
N-M |
N-M+1 |
N-M+2 |
... |
... |
N-2 |
N-1 |
N-M-1 |
N-M |
N-M+1 |
... |
... |
N-3 |
N-2 |
N-M-2 |
N-M-1 |
N-M |
... |
... |
N-4 |
N-3 |
... |
... |
... |
... ... ... |
... |
||
... |
... |
... |
... ... ... |
... |
||
2-M |
3-M |
4-M ... ... ... |
... |
|||
1-M |
2-M |
2-M ... ... ... |
... |
Задача 4.2.20. Ввести с клавиатуры натуральное число N. Вывести на экран матрицу размерности (N, N) следующего вида:
0 |
-1 |
-1 ... ... |
-1 |
0 |
|
1 |
0 |
-1 ... ... |
0 |
1 |
|
1 |
1 |
0 |
... ... |
1 |
1 |
... |
... |
... |
... |
... |
... |
... |
... |
... |
... |
... |
... |
... |
... |
1 |
0 |
-1 ... ... |
0 |
1 |
0 |
-1 |
-1 ... ... |
-1 |
0 |
Задача 4.2.21. Вывести на экран таблицу умножения натуральных чисел от 1 до 16.
80