|
Главная | Правила | Регистрация | Дневники | Справка | Пользователи | Календарь | Поиск | Сообщения за день | Все разделы прочитаны |
![]() |
|
Опции темы | Опции просмотра |
![]() |
#1 (permalink) |
Новичок
Регистрация: 01.03.2011
Сообщений: 1
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
![]() Для произвольного целого числа k напишите фразу "у меня в кармане k рублей ", согласовав окончание слова "рубль" с числом k. ![]() |
![]() |
![]() |
![]() |
|
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Вы можете найти ответ в похожих обсуждениях Case 3 Какого оператора и тариф выбрать для офиса? Москва Turbo Pascal. Оператор CASE Оператор выбора CASE. |
![]() |
#2 (permalink) |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
![]()
И что дальше? С помощью оператора Case расписать, в зависимости от k, все возможности, даваемые означенной суммой - от покупки газеты то приобретения яхты и особняка на Лазурном берегу с обслугой из голливудских кинозвезд? Так?
|
![]() |
![]() |
![]() |
#3 (permalink) |
support
Регистрация: 19.08.2007
Адрес: Зея
Сообщений: 15,774
Записей в дневнике: 71
Сказал(а) спасибо: 163
Поблагодарили 201 раз(а) в 85 сообщениях
Репутация: 74893
|
![]()
Тут скорее всего речь идёт о правильном окончании слова рубль в зависимости от значения k
![]() Алгоритм: 1) вводите k 2) находите остаток от деления k на 100, при необходимости - примените нахождение остатка от деления на 10 и анализируйте его через case, выводя сообщение ![]() Не забудьте учесть, что есть несколько вариантов окончания: 0, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, ... - рублей 1, 21, 31 ... - рубль 2, 3, 4, 22, 23, 24 ... - рубля ![]()
__________________
Убить всех человеков! |
![]() |
![]() |
![]() |
#4 (permalink) |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
![]()
А, дошло наконец! Ну тогда - так:
Код:
VAR k,m100,m10,d10:Word; BEGIN Write('k= '); ReadLn(k); m100:=k mod 100; d10:=m100 div 10; m10:=m100 mod 10; WriteLn; Write('У меня в кармане ',k); Case d10 of 1: writeln(' рублей'); else Case m10 of 1: writeln(' рубль'); 2,3,4: writeln(' рубля'); else writeln(' рублей'); end; end; ReadLn; END. |
![]() |
![]() |
![]() |
#5 (permalink) |
Member
Регистрация: 19.03.2011
Сообщений: 30
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
![]()
здравствуйте!помогите пожалуйста!мне нужно объяснить преподу что значат каждые строчки этой программы(что значат и зачем в этой программе)!особенно вот эти :
m100:=k mod 100; d10:=m100 div 10; m10:=m100 mod 10; writeln и readln объяснять не надо заранее спасибо! |
![]() |
![]() |
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
![]() |
#6 (permalink) | |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
![]() Цитата:
Итак, суть задания: выяснить, какое окончание слова с корнем "рубл" нужно применить в зависимости от суммы денег. Прежде всего, заметим, что количество тысяч и сотен нас не интересует: с точки зрения грамматики 45321, 721 или просто 21 - одно и то же. Все три суммы звучат, как "та-та-та двадцать один рубль". А потому будем иметь дело только с остатком от деления количества денег на 100. В Паскале это записывается, как m100:=k mod 100; В приведенном примере m100=21. Далее анализируем этот остаток. Для дальнейшего решения задачи нам понадобятся две величины: результат целочисленного деления числа m100 на 10 (обозначим его d10) и остаток от деления числа m100 на 10 (его обозначим m10). Найдем их: d10:= m100 div 10; m10:= m100 mod 10; Если m100 составляет 10, 11, 12, 13, 14, 15, 16, 17, 18 или 19, то следует писать "рублей". Приведенные числа объединяет то, что результат целочисленного деления m100 на 10 (т.е. d10) равен 1. Так и запишем: Case d10 of 1: writeln(' рублей'); Если же d10 отличен от 1, то тут опять возникает ветвление. Сделаем его по остаткам m10. Эти остатки составляют: 1 для чисел 1, 21, 31, 41, 51, 61, 71, 81, 91. В этом случае следует писать "рубль". 2, 3, 4 для чисел 2, 3, 4, 22, 23, 24, 32, 33, 34, 42, 43, 44, 52, 53, 54, 62, 63, 64, 72, 73, 44, 82, 83, 84, 92, 93, 94. Во всех этих случаях следует писать "рубля". Во всех прочих случаях, т.е. когда остатки составляют 0, 5, 6, 7, 8 и 9, следует писать "рублей". Программа реализует описанный алгоритм. |
|
![]() |
![]() |
![]() |
#7 (permalink) |
Member
Регистрация: 19.03.2011
Сообщений: 30
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
![]()
спасибо тебе огромное!))))))выручил!
|
![]() |
![]() |
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
![]() |
Опции темы | |
Опции просмотра | |
|
|