Добрый день, товарищи, даже если у вас уже вечер. Сегодня я хочу разобрать небольшую линейную задачку по нахождению степеней. Звучит наше сегодняшнее задание так: "Пользователь вводит число. Программа находит это число во второй, четвертой и восьмой степени."
А если вы не смотрели первую часть знакомства с линейными задачами (а именно так называется эта тема), то я оставлю ссылку на нее:
Решаем уравнение с помощью Pascal
1. Определимся с переменными
Так как задача подразумевает, что число вводит пользователь, то первая переменная - это число. Пусть эта переменная будет a. А дальше у нас есть два пути:
1. Присваивать переменной а новые значения и сразу выводить результат пользователю.
2. Создать свою переменную для каждой степени.
Давайте выберем первый вариант. Лишние переменные нам сейчас просто не нужны, да и в данном случае это является оптимизацией программы.
Здесь мы определяем переменную а целым числом (integer), так как степень числа точно не будет дробью. Дальше программа начинается и приглашает пользователя ввести значение переменной.
2. Вычислим степени
Разбираем. Тут все легко.
- Допустим пользователь задает а = 5.
- Тогда мы умножаем 5 на 5 в первый раз и получаем 25.
- ..И сразу присваиваем это значение нашей же переменной а.
- Теперь а = 25. Это вторая степень 5. Снова умножаем а на а (25 на 25).
- На этот раз а = 625. Это 5 в 4-й степени. Делаем умножение в третий раз.
- а получается огромным числом 390625. Это соответствует 5 в 8-й степени.
- задание выполнено.
На самом деле эта программа - очень полезная для дальнейших примеров.
Ее мы улучшим в первый раз когда изучим тему циклов, добавив умножение до той степени, до которой хочет пользователь, а не останавливаясь на восьми.
И второй раз программу мы будем улучшать тогда, когда изучим процедуры и функции. Действие (a:=a*a;) нет смысла повторять столько раз подряд. Легче обернуть все это в компактную подпрограмму.
Вот такой вот простор для модификации. На сегодня на этом все!
Вот вам кота:
Данный человек всегда открыт для обсуждения контента и общения с подписчиками, если найдутся какие либо вопросы то я обязательно постараюсь ответить на них.
По возможности я попросил бы подписаться. Сейчас это критически важно для развития канала. Так то!
Доброго вам всем здоровьица в эти трудные времена!