В
Все
М
Математика
А
Английский язык
Х
Химия
Э
Экономика
П
Право
И
Информатика
У
Українська мова
Қ
Қазақ тiлi
О
ОБЖ
Н
Немецкий язык
Б
Беларуская мова
У
Українська література
М
Музыка
П
Психология
А
Алгебра
Л
Литература
Б
Биология
М
МХК
О
Окружающий мир
О
Обществознание
И
История
Г
Геометрия
Ф
Французский язык
Ф
Физика
Д
Другие предметы
Р
Русский язык
Г
География
FoXiCZ
FoXiCZ
11.04.2020 12:05 •  Информатика

Паскаль: дан список фамилий учащихся (абсолютно любой). определите количество фамилий, начинающихся с буквы "М" (или другой любой буквы), выведите эти фамилии в файл.​

Показать ответ
Ответ:
Anasha12
Anasha12
09.08.2022 10:52

Восстановим порядок выполнения команд:

1 команда (умножь на 2): 18 * 2 = 36

2 команда (прибавь b): 36 + b = ...

3 команда (умножь на 2): ...

4 команда (прибавь b): ... = 99

5 команда (умножь на 2): 99 * 2 = 198

Теперь распишем более подробно, заменив неизвестные буквами x и y:

1 команда (умножь на 2): 18 * 2 = 36

2 команда (прибавь b): 36 + b = x

3 команда (умножь на 2): x * 2 = y

4 команда (прибавь b): y + b = 99

5 команда (умножь на 2): 99 * 2 = 198

Теперь выписываем равенства с буквами:

36 + b = x

x * 2 = y

y + b = 99

Из этого мы можем составить уравнение, т.е. делаем методом подстановки:

36 + b = x

x * 2 = y (x нам известен из верхнего уравнения x = b + 36, переносим его в следующее)

(36 + b) * 2 = y (жирным выделен наш x)

Идем дальше:

y + b = 99 (y нам известен из верхнего уравнения y = (36 + b) * 2, переносим его в следующее)

(36 + b) * 2 + b = 99 (жирным выделен наш y)

А теперь решаем полученное уравнение:

(36 + b) * 2 + b = 99

2 * 36 + 2 * b + b = 99

72 + 2b + b = 99

72 + 3b = 99

3b = 99 - 72

3b = 27

b = 27 / 3

b = 9

Мы нашли b. Теперь делаем проверку:

1 команда (умножь на 2): 18 * 2 = 36

2 команда (прибавь b): 36 + 9 = 45

3 команда (умножь на 2): 45 * 2 = 90

4 команда (прибавь b): 90 + 9 = 99

5 команда (умножь на 2): 99 * 2 = 198

Все верно!

ответ: 9

0,0(0 оценок)
Ответ:
Behruz2008
Behruz2008
12.05.2023 23:34

Данный код представляет собой описание класса Time, содержащего два конструктора, два поля, и перегруженные операторы ввода, вывода и вычитания.

Вот эта конструкция:

Time()

       : m_hours(0), m_minutes(0) {

}

Это конструктор класса без параметров, инициализирует переменные  

m_hours и m_minutes, присваивая им ноль.

   Time(short hours, short minutes)

       : m_hours(hours), m_minutes(minutes) {

}

Конструктор класса с параметрами

Time operator-(const Time& time) {

Определение оператора вычитания для класса . Необходимо для того, чтобы можно было вычитать одно время из другого. Например, так:

Time t(5, 30), t2(1, 20);  // Использование конструктора с параметрами

t=t - t2;  // Использование оператора вычитания

std::cout << t; // Выведет 4:10

// Чтобы была возможность использовать такое выражение, мы переопределяем оператор вывода, о чем чуть ниже.

friend std::ostream& operator<<(std::ostream& os, const Time& time);

friend std::istream& operator>>(std::istream& is, Time& time);

Объявление двух дружественных классу Time перегруженных операторов (ввода и вывода). Совершенно бесполезные строки, учитывая, что в коде, который перегружает эти операторы не используются закрытые члены класса Time, а используются m_minutes и m_hours, объявленные в классе Time как public.

Использование этих двух строк было бы уместно, если бы m_minutes и m_hours были бы private.

std::ostream& operator<<(std::ostream& os, const Time& time) {

Перегрузка оператора вывода , чтобы мы могли делать так:  

std::cout << t;

std::istream& operator>>(std::istream& is, Time& time) {

Перегрузка оператора ввода , чтобы мы могли делать так:

std::cin >> t;

Дополнительные объяснения, если непонятно что-то конкретное, спрашивайте в комментариях.

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота