Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Лабы 1 курс 2 семестр / ЛР 2 Информатика 2 сем 2020

.pdf
Скачиваний:
12
Добавлен:
15.01.2021
Размер:
916.51 Кб
Скачать

Задача Б. Ввести с клавиатуры натуральное число N. Определить, встречаются ли цифры 3 и 5 среди младших двух цифр числа N.

Решение:

В блок-схеме алгоритма должно быть два блока «Данные»: один для ввода числа N, другой - для вывода одного из двух возможных результатов вычислений (встречаются или не встречаются). Так же в блок-схеме будут несколько блоков «Процесс» для различных вычислений, в т.ч. для нахождения младших чисел числа.

Для выделения младшей цифры из числа можно воспользоваться оператором «%» (остаток от деления). Вычислив выражение N%10, мы найдѐм младшую цифру натурального числа N.

После того, как мы еѐ найдѐм, число N можно уменьшить в 10 раз с округлением вниз - тогда вторая справа цифра станет младшей.

Чтобы определить, имеет ли цифра значение 3 или 5 еѐ нужно с этим значением сравнить, а, поскольку нам подходит любое из этих совпадений, итоговый результат двух сравнений мы найдѐ при помощи оператора «||» (логическое ИЛИ).

32

Начало

Натуральное число N Натуральное число a Натуральное число b

Ввод значения числа N

a = N % 10

N=(N-a)/10

b = N % 10

Вывод

a == 3 || a == 5 || b == 3 || b == 5

Конец

Написать программныйй текст на основе полученой блок-схемы не составит труда.

#include <conio.h> #include <iostream>

void main()

{

unsigned int N; std::cout<<"vvedite N:"; std::cin>>N;

unsigned int a = N % 10; // Последняя цифра числа N = (N - a) / 10;

unsigned int b = N % 10; // Предпоследняя цифра числа

33

//Если хотя бы одна из этих цифр 3 или 5 выведется 1

//в противном случае выведется 0

std::cout<< (a == 3 || a == 5 || b == 3 || b == 5) << "\nPress any key to continue";

_getch();

}

Для проверки правильности работы программы запустим еѐ несколько раз, вводя различные числа:

Вводимое число

13

252

453

17

192

3504

0

Полученный результат

1

1

1

0

0

0

0

Результат «1» означает, что цифры 3 и 5 встречаются среди двух младших цифр введѐнного числа, «0» означает, что эти цифры не встречаются. Все полученные результаты соответствуют действительности. Можно предположить, что программа работает верно.

3.4Задания (выполняются по вариантам, вариант обозначен последней цифрой номера

задания и соответствует порядковому номеру студента в списке. Например, студент стоящий в списке группы на пятом месте должен выполнить задачи № 2.1.5, 2.2.5 и т.д.)

Задача 2.1.1. Ввести с клавиатуры число N.

Вычислить 2N2 + 4N + 8 + 10N-1. Результат вывести на экран.

Задача 2.1.2. Ввести с клавиатуры число N.

Вычислить 10N2 - 5N - 10 - 5N-1 + 10N-2. Результат вывести на экран.

Задача 2.1.3. Ввести с клавиатуры число N. Вычислить N3 + 2N2 + 3N + 4. Результат вывести на экран.

Задача 2.1.4. Ввести с клавиатуры число N.

Вычислить 100N-3 + 10N-2 + N-1 + 0,1N. Результат вывести на экран.

Задача 2.1.5. Ввести с клавиатуры числа N и М.

Вычислить (M - N)(N + M) - (MN +10) . Результат вывести на экран.

Задача 2.1.6. Ввести с клавиатуры числа N и М. Вычислить 2(M + N)(N - M) + M N. Результат вывести на экран.

Задача 2.1.7. Ввести с клавиатуры числа N,M и К.

Вычислить (2N - M)(2M - K)(2K - M) / 3. Результат вывести на экран.

34

Задача 2.1.8. Ввести с клавиатуры числа N,M и К. Вычислить 5(N + M)(M + K)(K + M). Результат вывести на экран.

Задача 2.1.9. Ввести с клавиатуры числа N,M и К. Вычислить NMК + NM + NК + MK. Результат вывести на экран.

Задача 2.1.10. Ввести с клавиатуры числа N,M и К. Вычислить N2M + N2К + M2K. Результат вывести на экран.

Задача 2.1.11. Ввести с клавиатуры число N.

Вычислить -4N2 + 2(N+5)2 - 3(N+1)2 + 202. Результат вывести на экран.

Задача 2.1.12. Ввести с клавиатуры число N.

Вычислить 2N3 - 4(N+4)2 - 5(N+5)-2. Результат вывести на экран.

Задача 2.1.13. Ввести с клавиатуры числа N и М.

Вычислить (N + M )2 / (N2 + M2 +1). Результат вывести на экран.

Задача 2.1.14. Ввести с клавиатуры числа N и М. Вычислить 2N2 - 4NM + 2M2. Результат вывести на экран.

Задача 2.1.15. Ввести с клавиатуры числа N и М.

Вычислить N2 + M2 - N * M + N + M. Результат вывести на экран.

Задача 2.1.16. Ввести с клавиатуры числа N и М. Вычислить 5N2 / -8(M2 +10). Результат вывести на экран.

Задача 2.1.17. Ввести с клавиатуры натуральные числа N и М. Вычислить произведение остатка от деления 2М на (N + 1) на остаток от деления 2N на (М + 1). Результат вывести на экран.

Задача 2.1.18. Ввести с клавиатуры натуральные числа N, М и К. Вычислить сумму остатка от деления М на N, остатка от деления N на К и остатка от деления К на М. Результат вывести на экран.

Задача 2.1.19. Ввести с клавиатуры натуральное число N. Вычислить сумму остатков от деления N на 4, на 8 и на 16. Результат вывести на экран.

Задача 2.1.20. Ввести с клавиатуры натуральное число N. Вычислить произведение остатков от деления N на 7, на 9 и на 11. Результат вывести на экран.

35

Задача 2.2.1. Поменять местами значения целочисленных переменных А и В, не используя дополнительные переменные.

Задача 2.2.2. Ввести с клавиатуры положительные числа N,M и К. Найти длины оснований трапеции, если они относятся друг к другу как N к M, а длина средней линии трапеции равна К.

Задача 2.2.3. Ввести с клавиатуры положительные числа N и M. Найти периметр и площадь прямоугольника со сторонами N и M.

Задача 2.2.4. Ввести с клавиатуры положительные числа N,M и К. Найти средние линии треугольника с основанием K и трапеции с основаниями M и N.

Задача 2.2.5. Ввести с клавиатуры положительные числа N и M. Найти периметр прямоугольника, у которого длина одной из сторон равна N, а площадь равна площади квадрата со стороной M.

Задача 2.2.6. Ввести с клавиатуры положительное число N. Вывести на экран площади квадрата со стороной N и круга диаметра N.

Задача 2.2.7. Ввести с клавиатуры положительные числа N и M. Найти площадь ромба с диагоналями N и M и площадь эллипса с осями

N и M.

Задача 2.2.8. Точка движется по координатной оси Х с постоянной скоростью. На момент времени k координата точки l, а на момент времени n координата точки m. Вычислить скорость движения точки. Числа k, l, n, m вводятся с клавиатуры.

Задача 2.2.9. Точка начинает двигаться по координатной оси Х с постоянным ускорением m. Вычислить, какое расстояние она пройдѐт за время n от начала движения. Числа n, m вводятся с клавиатуры.

Задача 2.2.10. По координатной оси Х движутся две точки с постоянными скоростями m и n. В данный момент их координаты совпадают. Вычислить, какое расстояние между ними будет через время k? Числа n, m, k вводятся с клавиатуры.

Задача 2.2.11. По введѐнному с клавиатуры количеству дней определить, сколько полных лет и месяцев они составляют (считать в каждом годе 365 дней, в каждом месяце 30 дней).

36

Задача 2.2.12. Идет k-я секунда суток (вводится с клавиатуры). Определить, сколько полных часов и полных минут прошло с начала суток.

Задача 2.2.13. Составить программу, определяющую, принадлежит ли введенное число хотя бы одному из отрезков (-∞ .. -35), [-10 .. 20], [0

.. 41] и (64 .. +∞).

Задача 2.2.14. Составить программу, определяющую, принадлежит ли введенное число одному из отрезков (-15 .. -10), (-10 .. 10) и (10 .. 15).

Задача 2.2.15. Составить программу, определяющую, принадлежит ли введенное число только одному из отрезков [-14 .. -8], [-8 .. 4] и [2 .. 14].

Задача 2.2.16. Составить программу, определяющую, принадлежит ли введенное число одному из отрезков [-22.3 .. 15.5) и (10 .. 34].

Задача 2.2.17. Составить программу, определяющую, принадлежит ли введенное число только одному из отрезков [-15.5 .. 10] и (-10 .. 15.5).

Задача 2.2.18. Составить программу, определяющую, оканчиваются ли три введѐнных целых числа одной цифрой.

Задача 2.2.19. Ввести с клавиатуры 4 числа. Составить программу, определяющую, упорядочены ли эти числа по возрастанию.

Задача 2.2.20. Ввести с клавиатуры 4 числа. Составить программу, определяющую, упорядочены ли эти числа по убыванию.

Задача 2.3.1. Ввести с клавиатуры целое беззнаковое число. Вывести на экран числа вдвое большее и вдвое меньшее введѐнного, не используя операторы умножения и деления. При «делении» получающуюся дробную часть не учитывать.

37

Задача 2.3.2. Ввести с клавиатуры целое беззнаковое число. Вывести на экран «Yes», если из четырѐх младших битов этого числа есть ненулевые, или «No» в остальных случаях.

Задача 2.3.3. Ввести с клавиатуры целое беззнаковое число. Вывести на экран «Yes», если 3 младших бита этого числа ненулевые, или «No» в остальных случаях.

Задача 2.3.4. Ввести с клавиатуры целое беззнаковое число. Вывести на экран «Yes», если 1 и 3 младшие биты этого числа нулевые, или «No» в остальных случаях.

Задача 2.3.5. Ввести с клавиатуры целое беззнаковое число. Вывести на экран «Yes», если 3, 4 и 5 биты с конца этого числа нулевые, или «No» в остальных случаях

Задача 2.3.6. Ввести с клавиатуры целое беззнаковое число. Вывести на экран «Yes», если младший бит этого числа равен 1, а стоящий перед ним равен 0, или наоборот. Вывести «No» в остальных случаях.

Задача 2.3.7. Ввести с клавиатуры целое беззнаковое число. Вывести на экран «Yes», если два младших бита этого числа совпадают. Вывести «No» в остальных случаях.

Задача 2.3.8. Ввести с клавиатуры целое беззнаковое число. Вывести на экран «Yes», если младший бит этого числа совпадает с четвѐртым от конца битом. Вывести «No» в остальных случаях.

Задача 2.3.9. Ввести с клавиатуры целое беззнаковое число. Вывести на экран «Yes», если среди 2, 3 и 4 битов с конца этого числа есть ненулевые, или «No» в остальных случаях

Задача 2.3.10. Ввести с клавиатуры целое беззнаковое число. Вывести на экран «Yes», если среди 2, 4 и 6 битов с конца этого числа есть 2 нулевых, или «No» в остальных случаях

Задача 2.3.11. Ввести с клавиатуры целое беззнаковое число. Вывести на экран «Yes», если среди 1, 3 и 5 битов с конца этого числа есть 2 ненулевых, или «No» в остальных случаях

Задача 2.3.12. Ввести с клавиатуры целое беззнаковое число. Вывести на экран число, полученное из введѐнного обнулением его старших битов, начиная с шестого с конца.

38

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

Задача 2.3.14. Ввести с клавиатуры два целых беззнаковых числа. Вывести на экран число, полученное из введѐнных следующим образом: если во ведѐнных числах биты на одинаковых позициях равны 1, то и в числе-результате бит на такой позиции будет равен 1, а в противном случае - 0.

Задача 2.3.15. Ввести с клавиатуры два целых беззнаковых числа. Вывести на экран число, полученное из введѐнных следующим образом: если во ведѐнных числах биты на одинаковых позициях равны 0, то и в числе-результате бит на такой позиции будет равен 0, а в противном случае - 1.

Задача 2.3.16. Ввести с клавиатуры два целых беззнаковых числа. Вывести на экран число, полученное из введѐнных следующим образом: если во ведѐнных числах биты на одинаковых позициях различаются, то в числе-результате бит на такой позиции будет равен 1, а в противном случае - 0.

Задача 2.3.17. Ввести с клавиатуры целое беззнаковое число. Вывести на экран 3 младших бита этого числа (от старшего к младшему).

Задача 2.3.18. Ввести с клавиатуры целое беззнаковое число. Вывести на экран 2 младших бита этого числа (от старшего к младшему), предварительно изменив их значения на противоположные.

Задача 2.3.19. Ввести с клавиатуры целое беззнаковое число. Изменить значения его битов на противоположные. Результат вывести на экран.

Задача 2.3.20. Ввести с клавиатуры целое беззнаковое число. Вывести на экран числа вчетверо большее и вчетверо меньшее введѐнного, не используя операторы умножения и деления. При «делении» получающуюся дробную часть не учитывать.

39