С клавиатуры вводятся 2 числа определить есть ли среди них хотя бы одно отрицательное
Разработать программу на языке С++ для следующих заданий:
3.6.4 Циклический процесс. Вычисление значений функции
Разработать программу на языке С++. Для решения задачи использовать операторы for, while, do . Варианты заданий:
3.6.5 Циклический процесс. Последовательности натуральных чисел
Разработать программу на языке С++ для следующих заданий:
3.6.6 Циклический процесс. Последовательности произвольных чисел
Разработать программу на языке С++ для следующих заданий:
- Вводится последовательность ненулевых чисел, 0 — конец последовательности. Определить сумму положительных элементов последовательности.
- Вычислить сумму отрицательных элементов последовательности из произвольных чисел.
- Вводится последовательность ненулевых чисел, 0 — конец последовательности. Определить, сколько раз последовательность поменяет знак.
- В последовательности из произвольных чисел подсчитать количество нулей.
- Вводится последовательность ненулевых чисел, 0 — конец последовательности. Определить наибольшее число в последовательности.
- Вводится последовательность из произвольных чисел найти наименьшее число в последовательности.
- Вводится последовательность ненулевых чисел, 0 — конец последовательности. Определить среднее значение элементов последовательности.
- Вводится последовательность из произвольных чисел, найти среднее значение положительных элементов последовательности.
- Вводится последовательность ненулевых чисел, 0 — конец последовательности. Подсчитать процент положительных и отрицательных чисел.
- Вводится последовательность из произвольных чисел. Определить процент положительных, отрицательных и нулевых элементов.
- Вводится последовательность из произвольных чисел. Вычислить разность между наименьшим и наибольшим значениями последовательности.
- Вводится последовательность из положительных целых чисел. Найти наименьшее число среди чётных элементов последовательности.
- Вводится последовательность из целых чисел. Определить, является ли эта последовательность знакочередующейся.
- Определить, является ли последовательность из произвольных чисел строго возрастающей (каждый следующий элемент больше предыдущего).
- Вводится последовательность произвольных чисел, 0 — конец последовательности. Определить, является ли эта последовательность строго убывающей (каждый следующий элемент меньше предыдущего).
- Вводится последовательность ненулевых целых чисел, 0 — конец последовательности. Определить среднее значение чётных элементов последовательности.
- Вводится последовательность из произвольных чисел, найти среднее значение отрицательных элементов последовательности.
- В последовательности из целых чисел подсчитать количество чётных и нечётных чисел.
- Вводится последовательность целых чисел, 0 — конец последовательности. Определить процент чётных и нечётных чисел в последовательности.
- Вводится последовательность из целых чисел. Определить, содержит ли последовательность хотя бы два соседних одинаковых числа.
- Вводится последовательность целых чисел, 0 — конец последовательности. Определить наибольшее число среди нечётных элементов последовательности.
- Вводится последовательность произвольных чисел, 0 — конец последовательности. Определить сумму и количество чисел в последовательности.
- Вводится последовательность из произвольных чисел. Найти сумму положительных и сумму отрицательных элементов последовательности.
- Вводится последовательность произвольных чисел, 0 — конец последовательности. Определить отношение минимального и максимального элементов друг к другу.
- Вводится последовательность из целых чисел. Определить количество одинаковых рядом стоящих чисел.
Условный оператор или оператор ветвления - это оператор, конструкция языка программирования, обеспечивающая выполнение определённой команды (набора команд) только при условии истинности некоторого логического выражения, либо выполнение одной из нескольких команд (наборов команд) в зависимости от значения некоторого выражения. Спасибо, Википедия! Такое определение можно найти в любой книге по программированию. Его крайне желательно хотя бы понимать.
Попробую дать более популярное определение: условный оператор выполняет некоторое действие, если указанное условие истинно (равно True).
Вот так выглядит if. else в Python
if True :
print ( 'Условие истинно, поэтому я напечатаюсь' )
Приведу пример поинтереснее:
a = 10
b = 5
if a > b:
print ( 'a больше b равно True ' )
Если условие ложно, то код, находящийся под оператором if не выполнится:
a = 3
b = 9999999
if a > b:
print ( 'Я никогда не напечатаюсь :(' )
Дополним предыдущий пример оператором else
a = 3
b = 9999999
if a > b:
print ( 'Я никогда не напечатаюсь :(' )
else :
print ( 'if не выполнился, так что печатаюсь я' )
Если условие в if ложно, то выполнится оператор под оператором else
Приведу еще несколько примеров:
Иногда двух вариантов недостаточно, для этого существует оператор elif, а для все остального есть.
age = int ( input ())
if age 10 :
print ( 'Ваш возраст - это одна цифра :)' )
el if age 15 :
print ( 'Геометрия - это жестко (хочу обратно в началку)' )
else :
print ( 'В школе было круто' )
В приведенном выше примере, есть три варианта развития событий, но это не значит, что мы ограничены в количестве дополнительных условий.
a = int ( input ( 'Введите число от одного до 1 до 100 ' ))
if a 10 :
print ( 'Ваше число меньше 10 ' )
el if a 20 :
print ( 'Ваше число меньше двадцатки' )
el if a 30 :
print ( '30 - это потолок' )
el if a 40 :
print ( 'Ваше число меньше 40 ' )
el if a 50 :
print ( 'Много, но не больше полтинника' )
el if a 60 :
print ( 'Число меньше, чем шесть*десять' )
el if a 70 :
print ( 'Ваше число расположено в восьмом десятке' )
el if a 80 :
print ( 'Ваше число меньше 80' )
el if a 90 :
print ( 'Ваше число находится в 9 десятке' )
el if a 100 :
print ( 'Сотня больше вашего числа' )
else :
print ( 'Хитро, но меня не обманешь, число слишком большое' )
Да, мне нечем было заняться, ну и что? Никогда не делайте так, как написано в примере выше. Если в вашем коде больше трех elif значит что-то не так и стоит придумать новый алгоритм. Давайте еще разок: много elif - плохо!
Примеры решения задач
Проверить является ли клетка шахматной доски белой
Во втором случаем числа вводятся с клавиатуры
x = int ( input ( 'Введите координату x: ' ))
y = int ( input ( 'Введите координату y: ' ))
if (x + y) % 2 == 1 :
print ( 'YES' )
else :
print ( 'NO' )
Проверить может ли слон ходить с первой шахматной на вторую
То же самое, но с помощью ввода с клавиатуры
x1 = int ( input ( 'Введите координату x1: ' ))
x2 = int ( input ( 'Введите координату y1: ' ))
y1 = int ( input ( 'Введите координату x2: ' ))
y2 = int ( input ( 'Введите координату y2: ' ))
if x1 == x2 and y1 != y2 or x1 != x2 and y1 == y2:
print ( 'YES' )
else :
print ( 'NO' )
Решение задач
1. Пользователь вводит два целых числа. Выведите меньшее из них.
2. Пользователь вводит свое имя и возраст. Если возраст пользователя больше 18, то вывести строку "Добрый вечер, name! Вы совершеннолетний, поздравляем!", иначе вывести строку "Привет, name! Приносим извинения, но вы не можете гулять после 22:00". Пример:
3. Пользователь вводит три строки. Одна из них равна строке "Python", выведите номер этой строки.
4. Пользователь вводит три целых числа. Два из них равны друг другу. Выведите третье число, не равное остальным. Если среди введенных чисел не оказалось двух равных друг другу, выведите строку "Ошибка".
5. Пользователь вводит целое число. Проверьте является ли это число четырехзначным, если является, то выведите строку "Успешно", иначе "Неудача".
6. Пользователь вводит целое число - текущее время в часах. Если количество часов находится между 7 и 10, то программа должна вывести строку "Пора вставать!", иначе выведется строка "Ты проспал!". Если введенное число отрицательно или больше 23, то программа должна вывести строку "Ошибка".
7. Пользователь вводит текущее время в часах. Если количество часов находится в диапазоне от 0 до 7, то программа выводит строку "Ночь". Если часовая стрелка находится между 7 и 11, то выведется строка "Утро". От 12 до 17 выведется строка "День". Если текущее время находится между 17 и 23, то программа должна вывести строку "Вечер". В случае, когда введенное число отрицательно или превосходит 23, программа должна вывести строку "Ошибка".
8. Пользователь вводит строку - название времени года. Если введенная строка - это лето, то выведите строку "Тополинный пух, жара, июль", если зима, то "Снеговик, снежки и горка", если осень, то "Пора в школу!", если весна, то "Весенняя капель". В случае, если введенная строка не равна ни одному из предложенных вариантов, программа должна выводить строку "Ошибка".
9. Пользователь вводит целое число - номер месяца своего рождения. Выведите строку "Вы родились летом", если номер месяц совпадает с номером одного из летних месяцев. Если номер месяца совпал с номером одного из зимних месяцев, то нужно вывести "К холодам вам не привыкать". Для людей, которые празднуют свой день рождения осенью выведите "Я тоже люблю осенний листопад". Если весна ваше время года выведите строку "Подснежник". В случае, если введенное число меньше единицы или больше 12, выведите строку "Ошибка".
10. Пользователь вводит номер года своего рождения. Если этот год является високосным выведите "Вы случайно родились не 29 февраля?", иначе выведите "Ничего необычного".
Для справки, в високосном году 366 дней, а в обычном - 365. Номер високосного года, делится на 4, за исключением номеров тех годов, которые делятся на 100 и не делятся на 400 (например, годы 300, 1300 и 1900 не являются високосными, а 1200 и 2000 - являются).
11. Пользователь вводит целое число. Выведите его строку-описание вида "отрицательное четное число", "нулевое число", "положительное нечетное число", например, численным описанием числа 190 является строка "положительное четное число".
12. Дано целое число, лежащее в диапазоне от 1 до 999. Если число двузначное, выведите строку "Двузначное", если число содержит одну значащую цифру, то выведите строку "Цифра", если число является трехзначным выведите "Трехзначное". В случае, если введенное число меньше 0 или больше 999, выведите строку "Ошибка!".
13. Шахматный король ходит по горизонтали, вертикали и диагонали, но только на 1 клетку. Даны две различные клетки шахматной доски, определите, может ли король попасть с первой клетки на вторую одним ходом. Программа получает на вход четыре числа от 1 до 8 каждое, задающие номер столбца и номер строки сначала для первой клетки, потом для второй клетки. Программа должна вывести YES, если из первой клетки ходом короля можно попасть во вторую или NO в противном случае. В случае, если хотя бы одно из введенных чисел не лежит в диапазоне от 1 до 8, выведите строку "Ошибка!".
14. Шахматный ферзь ходит по диагонали, горизонтали или вертикали. Даны две различные клетки шахматной доски, определите, может ли ферзь попасть с первой клетки на вторую одним ходом. В случае, если хотя бы одно из введенных чисел не лежит в диапазоне от 1 до 8, выведите строку "Ошибка!".
15. Шахматный конь ходит буквой "Г" - на две клетки по вертикали в любом направлении и на одну клетку по горизонтали, или наоборот. Даны две различные клетки шахматной доски, определите, может ли конь попасть с первой клетки на вторую одним ходом. В случае, если хотя бы одно из введенных чисел не лежит в диапазоне от 1 до 8, выведите строку "Ошибка!".
16. Треугольник существует только тогда, когда сумма любых двух его сторон больше третьей. Дано a, b, c - стороны предполагаемого треугольника. Требуется сравнить длину каждого отрезка-стороны с суммой двух других. Если хотя бы в одном случае отрезок окажется больше суммы двух других, то треугольника с такими сторонами не существует.
Задача A. Четные числа
Выведите (через пробел) все четные числа от a до b (включительно).
Задача B. Остаток
Вводятся 4 числа: a, b, c и d.
Выведите все числа на отрезке от a до b, дающие остаток c при делении на d.
Задача C. Квадраты
Выведите все числа на отрезке от a до b, являющиеся полными квадратами.
Задача H. Делители числа
Выведите все натуральные делители числа x в порядке возрастания (включая 1 и само число).
Задача I. Количество делителей
Подсчитайте количество натуральных делителей числа x (включая 1 и само число; x <= 30000).
Задача J. Сумма ста
Вычислите сумму данных 100 натуральных чисел. Вводятся 100 чисел, сумму которых необходимо посчитать.
Задача K. Сумма чисел
Вычислите сумму данных N натуральных чисел. Вводится число N, а затем N чисел, сумму которых необходимо вычислить.
Задача M. Нули
Вводится число N, а затем N чисел. Подсчитайте, сколько среди данных N чисел нулей.
Задача N. Подсчет чисел
Подсчитайте, сколько среди данных N чисел нулей, положительных чисел, отрицательных чисел. Вводится число N, а затем N чисел. Необходимо вывести сначала число нулей, затем число положительных и отрицательных чисел.
Задача O. Ноль или не ноль
Проверьте, есть ли среди данных N чисел нули. Вводится число N, а затем N чисел. Выведите YES, если среди введенных чисел есть хотя бы один нуль, или NO в противном случае.
Вариант 2.
Ту же самую идею можно описать короче.
Задача P. Уравнение по возрастанию
Вводятся 4 числа: a, b, c и d.
Найдите все целые решения уравнения ax 3 + bx 2 + cx + d = 0 на отрезке [0,1000] и выведите их в порядке возрастания.
Задача Q. Уравнение по убыванию
Вводятся 4 числа: a, b, c и d.
Найдите все целые решения уравнения ax 3 + bx 2 + cx + d = 0 на отрезке [0,1000] и выведите их в порядке убывания.
Задача R. Количество решений
Вводятся 5 чисел: a, b, c, d и e.
Найдите все целые решения уравнения ( ax 3 + bx 2 + cx + d ) / ( x - e ) = 0 на отрезке [0,1000] и выведите их количество.
Вариант 1.
При таком варианте реализации мы печатаем столько раз текущее значение cur сколько оно само обозначает count , после чего обнуляем подсчет одинаковых выводов count и переходим на следующее текущее значение cur и т.д.
Напишите в комментарии к этой записи консольные приложения для решения этих задач, указав код задачи.
Решены задачи: 1,3,4,10,15,21,27,28. Не решены: 2,5-9,11-14,16-20,22-26.
Задачи
I3.1. Проверить, принадлежит ли число, введенное с клавиатуры, интервалу (–5, 3).
I3.2. Даны три вещественных числа a, b, c. Проверить:
а) выполняется ли неравенство a < b < c;
б) выполняется ли неравенство b > a > c.
I3.4. Определить, верно ли, что при делении неотрицательного целого числа a на положительное число b получается остаток, равный одному из двух заданных чисел c или d.
I3.5. Даны три вещественных числа a, b, c. Определить, имеется ли среди них хотя бы одна пара равных между собой чисел.
I3.6. Определить, является ли треугольник со сторонами a, b, c равносторонним.
I3.7. Определить, является ли треугольник со сторонами a, b, c равнобедренным.
I3.8. Известен рост трех человек. Определить, одинаков ли их рост?
I3.9. Даны вещественные числа a, b, c (a не равно 0). Решить уравнение ax 2 + bx + c = 0 . В числе возможных вариантов учесть вариант равенства корней уравнения.
I3.10. Даны вещественные положительные числа a, b, c, d. Выяснить, можно ли прямоугольник со сторонами a, b уместить внутри прямоугольника со сторонами c, d так, чтобы каждая из сторон одного прямоугольника была параллельна или перпендикулярна каждой стороне второго прямоугольника.
I3.11. Определить, войдет ли в конверт с внутренними размерами a и b мм прямоугольная открытка размером с и d мм. Для размещения открытки в конверте необходим зазор в 1 мм с каждой стороны.
I3.12. Вася пытается высунуть голову в форточку размерами a и b см. Приняв условно, что его голова — круглая диаметром d см, определить, сможет ли Вася сделать это. Для прохождения головы в форточку необходим зазор в 1 см с каждой стороны.
I3.13. Даны вещественные положительные числа a, b, c, x, y. Выяснить, пройдет ли кирпич с ребрами a, b, c в прямоугольное отверстие со сторонами x и y. Просовывать кирпич в отверстие разрешается только так, чтобы каждое из его ребер было параллельно или перпендикулярно каждой из сторон отверстия.
I3.14. Пассажир должен был сдать в камеру хранения пустой чемодан в форме параллелепипеда размерами a1 , a2 и a3 см и коробку размерами b1 , b2 и b3 см. Оплачивать нужно каждый размещаемый предмет. Определить, сможет ли пассажир сэкономить на оплате, поместив коробку в чемодан так, что стороны чемодана и коробки будут параллельны либо перпендикулярны друг другу.
I3.15. Дано двузначное число. Определить:
а) входит ли в него цифра 3;
б) входит ли в него цифра а.
I3.16. Дано двузначное число. Определить:
а) входят ли в него цифры 4 или 7;
б) входят ли в него цифры 3, 6 или 9.
I3.17. Дано трехзначное число. Определить:
а) входит ли в него цифра 6;
б) входит ли в него цифра n.
I3.18. Дано трехзначное число. Определить:
а) входят ли в него цифры 4 или 7;
б) входят ли в него цифры 3, 6 или 9.
I3.19. Дано четырехзначное число. Определить:
а) входит ли в него цифра 4;
б) входит ли в него цифра b.
I3.20. Дано четырехзначное число. Определить:
а) входят ли в него цифры 2 или 7;
б) входят ли в него цифры 3, 6 или 9.
I3.22. Дано натуральное число n (n <= 9999). Выяснить, верно ли, что это число содержит ровно три одинаковые цифры с учетом четырех цифр, как, например, числа 3363, 4844, 0300 и т. п.
I3.23. Дано натуральное число n (n <= 9999). Выяснить, различны ли все четыре цифры этого числа (с учетом четырех цифр). Например, в числе 3678 все цифры различны, в числе 0023 — нет.
I3.24. Определить, является ли заданное шестизначное число счастливым. (Счастливым называют такое шестизначное число, что сумма его первых трех цифр равна сумме его последних трех цифр).
I3.25. Год является високосным, если его номер кратен 4, однако из кратных 100 високосными являются лишь кратные 400, например, 1700, 1800 и 1900 — не-
високосные года, 2000 — високосный. Дано натуральное число n. Определить, является ли високосным год с таким номером.
I3.26. Имеются стол прямоугольной формы с размерами a x b (a и b — целые числа, a > b) и кости домино с размерами c x d x e (c, d и e — целые числа, c > d > e). Найти вариант размещения на столе наибольшего количества костей. Все размещаемые кости должны лежать на одной и той же грани в один ярус без свешивания со стола. Все ребра костей домино должны быть параллельны или перпендикулярны каждой стороне стола.
I3.27. Дано целое число k (1 <= k <= 365). Определить, каким будет k-й день года: выходным (суббота и воскресенье) или рабочим, если 1 января — понедельник.
I3.28. Даны два прямоугольника, стороны которых параллельны или перпендикулярны осям координат. Известны координаты левого нижнего угла каждого из них и длины их сторон. Один из прямоугольников назовем первым, другой — вторым.
а) Определить, принадлежат ли все точки первого прямоугольника второму.
б) Определить, принадлежат ли все точки одного из прямоугольников другому.
в) Определить, пересекаются ли эти прямоугольники.
Всем привет! Сегодня мы начнем долгожданный разбор задач по программированию if1-15, а также вспомним и научимся применять различные процедуры. В решениях к некоторым задачам Вам встретится возможно неизвестная прежде процедура Inc. Пояснения к ней и к другим процедурам можно найти в этой статье .
If1. Дано целое число. Если оно является положительным, то прибавить к нему 1; в противном случае не изменять его. Вывести полученное число.
If2. Дано целое число. Если оно является положительным, то прибавить к нему 1; в противном случае вычесть из него 2. Вывести полученное число.
If3. Дано целое число. Если оно является положительным, то прибавить к нему 1; если отрицательным, то вычесть из него 2; если нулевым, то заменить его на 10. Вывести полученное число.
If4°. Даны три целых числа. Найти количество положительных чисел в исходном наборе.
If5. Даны три целых числа. Найти количество положительных и количество отрицательных чисел в исходном наборе.
If6°. Даны два числа. Вывести большее из них.
If7. Даны два числа. Вывести порядковый номер меньшего из них.
If8°. Даны два числа. Вывести вначале большее, а затем меньшее из них.
If9. Даны две переменные вещественного типа: A, B. Перераспределить значения данных переменных так, чтобы в A оказалось меньшее из значений, а в B — большее. Вывести новые значения переменных A и B.
If10. Даны две переменные целого типа: A и B. Если их значения не равны, то присвоить каждой переменной сумму этих значений, а если равны, то присвоить переменным нулевые значения. Вывести новые значения переменных A и B.
If11. Даны две переменные целого типа: A и B. Если их значения не равны, то присвоить каждой переменной большее из этих значений, а если равны, то присвоить переменным нулевые значения. Вывести новые значения переменных A и B.
If12°. Даны три числа. Найти наименьшее из них.
If13. Даны три числа. Найти среднее из них (то есть число, расположенное между наименьшим и наибольшим).
Небольшое пояснение
If14. Даны три числа. Вывести вначале наименьшее, а затем наибольшее из данных чисел.
If15. Даны три числа. Найти сумму двух наибольших из них.
Фух! На сегодня все! Если у вас возникли какие-либо вопросы не стесняйтесь, оставляйте все свои вопросы в комментариях под статьей! И не забывайте кликать по кнопочкам и рассказывать о нас своим друзьям.
Читайте также: