Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.11.2020, 17:23   #1
MWBeast
Новичок
Джуниор
 
Регистрация: 28.11.2020
Сообщений: 1
По умолчанию Использование операторов цикла в программе на Pascal

Ввести число. Получить другое число путем замены нулей на 9

Только пока-что вот это получилось накодить)

var
a:integer;
begin
readln(a);
while a <> 0 do
a:=a div 10=0;
if a=0 then a:=9;
writeln(a);
end.
MWBeast вне форума Ответить с цитированием
Старый 28.11.2020, 18:39   #2
ViktorR
Старожил
 
Регистрация: 23.10.2010
Сообщений: 2,304
По умолчанию

Команда readln() читает строку и передаёт переменной значение после преобразования к нужному типу.
Т.к. это компилятор, то преобразование делается скрыто от программиста.
Задачу можно решить так:
Просим ввести число, но принимаем его в переменную строкового типа - s.
Как понимаю, в условии (ТЗ), эта составляющая не оговорена.
Код:
В цикле по i от 1 до length(s) do
   if s[i] = '0' то s[i] := '9'
Далее, по требованию. Если надо вывести, то просто выводим строку.
Если надо выполнить арифметические операции, то преобразуем строку в число.

Если делать через div и mod, то алгоритм будет сложнее.
mod 10 даст остаток, а div 10 - число без единиц.

Для алгоритма потребуется переменная (sum) в которой будет получаться новое число и переменная - множитель, в которой будет храниться произведение десяток (коэффициент).

Начальное значение множителя - 1, а sum - 0.

Цикл типа while True или repeat -- until
Получаем остаток: mod 10.
Остаток надо проверить и, при необходимости, заменить.
Остаток умножаем на коэффициент и добавляем в сумму.
Делим число на 10 через div.
Число надо проверять, если ноль - то конец цикла (все цифры проверили).
Выход из цикла - break или по условию в until.
Умножаем коэффициент на 10.
В начало цикла

А оно вам надо в таком виде?
И т.д.
Как-то так, ...
ViktorR вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Использование операторов цикла Yar_ Помощь студентам 1 16.12.2014 16:45
Задачи на использование операторов цикла for и while (C++) /Crow/ Помощь студентам 0 14.12.2013 13:18
Обработка массива с использование операторов цикла с условием MikaNika Паскаль, Turbo Pascal, PascalABC.NET 1 08.04.2012 21:53
использование операторов цикла. 555ALEXANDR555 Помощь студентам 2 10.01.2011 17:11
Использование операторов цикла кася Паскаль, Turbo Pascal, PascalABC.NET 3 02.05.2008 00:32