В С ++ Используя модульное программирование:
1. Создайте класс болезни, включая название, лекарство и продолжительность.
2. Создайте класс пациента: там данные пациента и индекс для 10 различных заболеваний.
3. Создайте отдельный файл с классом Clinic, в нем укажите имя, адрес и список пациентов.
4. Для любой клиники (а их может быть несколько) создать методики, которые позволят пролечить пациента от данного заболевания. Разработайте механизм, с которого пациент заболевает и исцеляет себя, если он ежедневно принимает лекарства. Когда он забывает определенную болезнь, он всегда увеличивается на 2 дня, когда он забывает лекарство. Для простоты всегда принимайте препарат вечером. Методы и другие данные зависят от вас.
Задача состоит в том, чтобы изменить целое число в зависимости от того, является ли оно положительным или нет. Если число положительное, то нужно к нему прибавить 33, а если число отрицательное или равно нулю, то оно остается без изменений.
Для решения задачи необходима программа на языке программирования. Вот пошаговое решение с объяснениями и обоснованиями каждого шага:
1. Объявляем переменную "a" типа целое число, которая будет хранить введенное пользователем число.
- `var a: integer;`
2. Выводим на экран сообщение, чтобы пользователь ввел число "a".
- `writeln('введи число a');`
3. С помощью функции `readln` считываем введенное пользователем число и сохраняем его в переменную "a".
- `readln(a);`
4. Далее в программе есть несколько вариантов условных операторов `if`, из которых нужно выбрать правильный.
a) В первом варианте `if a > 0 then a := a;` число остается без изменений, если оно положительное. Однако, в данной задаче нам нужно прибавить 33 к положительному числу. Поэтому этот вариант неправильный.
b) Во втором варианте `if a < 0 then a := a + 33;` число прибавляется 33, только если оно отрицательное. Но в задаче нужно прибавить 33 к положительному числу, а не к отрицательному. Значит, этот вариант также неправильный.
c) В третьем варианте `if a > 0 then a := a + 33;` число прибавляется 33, только если оно положительное. Это и есть правильный вариант, так как он соответствует условию задачи.
Итак, правильным вариантом является:
- `if a > 0 then a := a + 33;`
5. Выводим измененное число на экран.
- `writeln(a);`
6. Завершаем программу.
- `readln;`
Итак, правильный ответ на вопрос — это третий вариант программы:
```
program cislo;
var
a: integer;
begin
writeln('введи число a');
readln(a);
if a > 0 then
a := a + 33;
writeln(a);
readln;
end.
```
Надеюсь, мой ответ был полезным и понятным для тебя. Если у тебя есть еще вопросы, не стесняйся задавать!
Ошибку выполнения, которую вы видите в вашей программе, можно объяснить следующим образом.
Первое, что нужно понять, это что означает фраза "ОШИБКА ВЫПОЛНЕНИЯ: Величина или алгоритм не описаны". Это сообщение указывает на то, что величина или алгоритм, на которые вы ссылаетесь в своей программе, не были предварительно определены или описаны.
Давайте разберем вашу программу по шагам и попробуем понять, какие значения и алгоритмы отсутствуют или не были описаны.
1. В первых строках программы присутствуют команды "вещ x" и "вещ y". Эти команды объявляют две переменные, x и y, соответственно. Здесь ошибок нет.
2. Затем идет команда "ввод x". Она предназначена для ввода значения переменной x с клавиатуры. Ошибок здесь нет.
3. Следующая строка кода содержит условие "если x mod 2". Здесь вам нужно указать конкретное условие, которое должно быть выполнено, чтобы ветвь "то" выполнилась. Например, условие может выглядеть так: "если x mod 2 = 0".
4. Внутри ветви "то" задается значение для переменной c. В вашем случае, если условие выполняется, то c получит значение x * x.
5. Далее идет фраза "иначе", которая означает, что если условие в строке 3 не выполнено, то выполнится ветвь "иначе". Внутри этой ветви задается значение для переменной c. В вашем случае, если условие не выполняется, то c получит значение x * x * x.
6. Сразу после этого идет команда "все", которая указывает на конец программы.
7. И наконец, последняя строка кода выводит значение переменной c на экран.
Теперь, когда мы разобрали вашу программу по шагам, понятно, что у вас отсутствует описание того, что такое "модуль" (mod) и какое конкретное условие должно выполняться в строке 3. Вам необходимо добавить эти объяснения, чтобы ваша программа была понятна компьютеру.
Модуль (mod) - это операция, которая возвращает остаток от деления одного числа на другое. Например, вычисление x mod 2 даст нам остаток от деления числа x на 2.
Чтобы исправить вашу программу, я предлагаю вам вариант с сохранением значения в переменной mod_x и добавлением условия в строку 3:
в кумире пишу
алг
нач
цел x, mod_x, c
ввод x
mod_x := x mod 2
если mod_x = 0
то c:=x*x
иначе c:=x*x*x
вывод c
кон
Теперь ваша программа будет выполняться без ошибок, так как все значения и алгоритмы описаны.
Надеюсь, эта информация поможет вам понять ошибку в вашей программе и исправить ее. Если у вас возникли еще вопросы, не стесняйтесь обращаться.
Удачи в изучении программирования!