Имя пользователя:
Пароль:
 | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Разное - Турбо паскаль оператор CASE

Ответить
Настройки темы
Разное - Турбо паскаль оператор CASE

Новый участник


Сообщения: 1
Благодарности: 0

Профиль | Отправить PM | Цитировать


Изменения
Автор: Elenochka
Дата: 07-06-2011
Описание: Не до конца дописала.
Помогите составить программу вычисления суммы цифр введенного с клавиатуры трехзначного натурального числа с помощью оператора CASE. Например, для числа 128 сумма цифр 11, для числа 345 сумма цифр 12.


Заранее спасибо...)

Отправлено: 12:22, 07-06-2011

 

Аватара для Delirium

Ветеран


Сообщения: 5624
Благодарности: 936

Профиль | Отправить PM | Цитировать


Переводим число в строку, вырезаем по 1 символу и складываем. В чем проблема?

-------

Пройденные курсы:
[Microsoft №10174 Sharepoint], [SharePoint]
Мои проекты:[CheckAdmins], [NetSend7], [System Uptime], [Remote RAdmin LogViewer],[Netdom GDI], [Holidays - напоминалка о днях рождения]

А я офис-гуру :)


Отправлено: 01:11, 08-06-2011 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Ветеран


Сообщения: 3806
Благодарности: 824

Профиль | Отправить PM | Цитировать


Delirium, а я вот тоже задумался: при чём тут CASE - с самого начала учат писать программы через одно место.
и зачем переводить число в строку, если можно сразу вводить строку

Отправлено: 09:34, 08-06-2011 | #3


Аватара для lxa85

Необычный


Contributor


Сообщения: 4466
Благодарности: 995

Профиль | Сайт | Отправить PM | Цитировать


А зачем вообще нужны строки?
Если сказано, что введено число, значит число.
Поразрядная сегментация - остаток от деления на основание системы счисления в цикле. В данном случае 10.
Зачем вовлекать в простой алгоритм работу со строками?
Elenochka, я не знаю, как правильно использовать здесь оператор CASE, чтобы он не выглядел как "опухоль", пришпандоренную только ради того, что сказали "надо". Поставь его может при анализе остатка от деления. Чтобы была проверка, действительно ли число трехзначное? И в разных случаях, разные действия: вывод предупреждения или что-нибудь еще.

-------
- Я не разрешаю тебе быть плохой! Потому что плохие люди совершают плохие поступки. А это нехорошо!
(Из наставлений 5 летней девочки своей младшей сестре)


Отправлено: 19:12, 08-06-2011 | #4


Аватара для Delirium

Ветеран


Сообщения: 5624
Благодарности: 936

Профиль | Отправить PM | Цитировать


Во, я понял зачем тут CASE и куда его можно прикрутить. Т.к. задание звучит:
Цитата Elenochka:
введенного с клавиатуры трехзначного натурального числа »
То надо сделать CASE примерно такой:
проверять, положительное или отрицательное число
проверять длину введенной строки(числа) и если оно больше 3, то выводить предупреждения
Все остальное делается за 10 минут.

-------

Пройденные курсы:
[Microsoft №10174 Sharepoint], [SharePoint]
Мои проекты:[CheckAdmins], [NetSend7], [System Uptime], [Remote RAdmin LogViewer],[Netdom GDI], [Holidays - напоминалка о днях рождения]

А я офис-гуру :)


Отправлено: 01:27, 09-06-2011 | #5


Аватара для lxa85

Необычный


Contributor


Сообщения: 4466
Благодарности: 995

Профиль | Сайт | Отправить PM | Цитировать


может сделать CASE для анализа нажатой клавиши?
Нам ведь не указано четким образом последовательность получения числа, соотв. можно на этом "сыграть".
При этом вести счетчик оставшихся цифр, выдавать предупреждение в случае чего, приводить интересные факты по введенному числу. (Например сказать, что 11 в лото называют "Барабанные палочки") и т.п.

-------
- Я не разрешаю тебе быть плохой! Потому что плохие люди совершают плохие поступки. А это нехорошо!
(Из наставлений 5 летней девочки своей младшей сестре)


Отправлено: 06:30, 09-06-2011 | #6


Аватара для CyberDaemon

DOOMer


Сообщения: 3254
Благодарности: 438

Профиль | Отправить PM | Цитировать


Они изучают CASE. Соответственно, и задача стоит в том, чтобы сделать это на CASE, только и всего. А иначе вообще не стоит огород городить - эта задача считается в одну арифметическую строчку. На той теме, когда они проходили арифметические операции.
А в с CASE она решается так:
1) Ввод трехзначного числа в строковую переменную.
1а) Тут можно ввести блок проверки введенных данных на корректность - проверить, число ли вообще ввели, убрать знак, если вдруг ввели отрицательное, проверить что число не меньше 100, а можно и не проверять.
2) В цикле от 1 до 3 :
3) берем i-тый символ введенной строки
4) вот тут будет требуемый CASE
CASE взятый символ OF
'0': сумма := сумма +0;
'1': сумма := сумма +1;
.....
'9': сумма := сумма +9;
5) цикл заканчивается тут
6) Вывод результата на экран.

Все

-------
"640 K ought to be enough for anybody" Bill Gates, 1981

Это сообщение посчитали полезным следующие участники:

Отправлено: 07:32, 09-06-2011 | #7



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Разное - Турбо паскаль оператор CASE

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Разное - Турбо Паскаль - Вычисление рядов заданной точностью Expo37 Программирование и базы данных 3 30-09-2010 20:38
Разное - программа "загадки"Турбо Паскаль DiGer911 Программирование и базы данных 1 07-02-2010 21:00
n-Case dimmos Защита компьютерных систем 4 06-05-2004 02:14
n-CASE - что это такое? Guest Защита компьютерных систем 8 17-03-2004 17:48




 
Переход