Напишите программу, которая в последовательности натуральных чисел определяет сумму всех чисел, кратных 3 и оканчивающихся на 8. программа получает на вход натуральные числа, количество введённых чисел неизвестно, последовательность чисел заканчи- вается числом 0 (0 — признак окончания ввода, не входит в последовательность). количество чисел не превышает 100. введённые числа не превышают 300. программа должна вывести одно число: сумму всех чисел, кратных 3 и оканчивающихся на 8. входные данные: 23 48 12 18 34 0, выходные данные: 66
а) «если 8 четно, то 8 делится на 3».
Для того чтобы понять, является ли это высказывание истинным или ложным, нам нужно проверить оба условия:
- первое условие: 8 четное. Разделим 8 на 2. Если остаток от деления равен 0, то число четное. В данном случае, 8 / 2 = 4, и остаток равен 0, что означает, что 8 действительно четное число.
- второе условие: 8 делится на 3. Разделим 8 на 3. Если остаток от деления равен 0, то число делится на 3. В данном случае, 8 / 3 = 2, и остаток равен 2, что означает, что 8 не делится на 3.
Исходя из этого, мы видим, что первое высказывание "если 8 четно, то 8 делится на 3" - ложно.
б) «3 + 3 = 9 тогда и только тогда, когда 2 < 7».
Также, чтобы определить, является ли это высказывание истинным или ложным, нам нужно проверить оба условия:
- первое условие: 3 + 3 = 9. Просуммируем 3 и 3. 3 + 3 = 6, что не равно 9. Таким образом, это условие неверно.
- второе условие: 2 < 7. Да, 2 действительно меньше 7. Это условие верно.
Исходя из этого, мы видим, что второе высказывание "3 + 3 = 9 тогда и только тогда, когда 2 < 7" - ложно.
в) «если солнце – планета или −10 > 9 , то 3 – простое число».
Теперь давайте проверим данное высказывание:
- первое условие: солнце - планета. В данном случае мы не знаем, верно ли это условие, но по условию предполагаем, что оно верно.
- второе условие: -10 > 9. -10 действительно меньше 9. Условие верно.
- третье условие: 3 - простое число. Простое число - это число, которое делится только на 1 и на само себя, без остатка. Давайте проверим: 3 / 1 = 3, 3 / 3 = 1. Условие верно.
Таким образом, все три условия верны, и третье высказывание "если солнце - планета или -10 > 9, то 3 - простое число" - истинно.
г) «снег черный и сегодня 1 августа».
Здесь нам не нужно проверять условия, потому что снег не может быть черным и 1 августа не может быть сегодняшней датой одновременно. Оба условия являются ложными.
Итак, в итоге:
а) ложное высказывание
б) ложное высказывание
в) верное высказывание
г) ложное высказывание
1. Таблица "Вкладчики":
- ID_Вкладчика (уникальный идентификатор вкладчика)
- ФИО (фамилия, имя и отчество вкладчика)
- Адрес (адрес проживания вкладчика)
- Номер_телефона (контактный телефон вкладчика)
2. Таблица "Вклады":
- ID_Вклада (уникальный идентификатор вклада)
- Сумма_вклада (сумма, которую вкладчик положил на вклад)
- Дата_открытия (дата открытия вклада)
- ID_Вкладчика (ссылка на таблицу "Вкладчики")
3. Таблица "Операции":
- ID_Операции (уникальный идентификатор операции)
- ID_Вклада (ссылка на таблицу "Вклады")
- Тип_операции (тип операции, например, "пополнение" или "снятие")
- Сумма_операции (сумма операции)
- Дата_операции (дата проведения операции)
Теперь, когда у нас есть представление о структуре базы данных, давайте приступим к созданию запросов и формированию отчетов.
1. Запросы:
- Запрос 1: Вывести список всех вкладчиков и их контактных данных.
SELECT ФИО, Адрес, Номер_телефона FROM Вкладчики;
- Запрос 2: Вывести список всех вкладов и их сумму.
SELECT Сумма_вклада FROM Вклады;
- Запрос 3: Вывести список всех операций по указанному вкладу.
SELECT Тип_операции, Сумма_операции, Дата_операции FROM Операции WHERE ID_Вклада = [введите ID вклада];
2. Отчеты:
- Отчет 1: Сводная информация по вкладчикам - количество вкладчиков и сумма их вкладов.
SELECT COUNT(ID_Вкладчика) AS Количество_вкладчиков, SUM(Сумма_вклада) AS Сумма_всех_вкладов FROM Вкладчики INNER JOIN Вклады ON Вкладчики.ID_Вкладчика = Вклады.ID_Вкладчика;
- Отчет 2: Выборка операций по указанному вкладу за определенный период времени.
SELECT Тип_операции, Сумма_операции, Дата_операции FROM Операции INNER JOIN Вклады ON Операции.ID_Вклада=Вклады.ID_Вклада WHERE Вклады.ID_Вклада = [введите ID вклада] AND Операции.Дата_операции BETWEEN [начальная дата] AND [конечная дата];
Обоснование: В задаче нужно создать базу данных "банковские вклады" и сформировать отчеты на основе созданных запросов. Для этого были предложены три таблицы: "Вкладчики", "Вклады" и "Операции". Таблица "Вкладчики" содержит информацию о вкладчиках, таблица "Вклады" содержит информацию о вкладах, а таблица "Операции" содержит информацию о совершенных операциях с вкладами.
Запросы использованы для извлечения нужной информации из базы данных. Запросы 1 и 2 выдают списки вкладчиков и вкладов соответственно, а запрос 3 выводит операции, выполненные по выбранному вкладу.
Отчеты используются для наглядного представления информации. Отчет 1 показывает общую информацию о вкладчиках - количество вкладчиков и сумму их вкладов. Отчет 2 выводит операции по выбранному вкладу за определенный период времени.
Выполнение этих запросов и формирование отчетов поможет отслеживать информацию о вкладчиках, вкладах и операциях и упростит работу с базой данных "банковские вклады".