IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
Closed Topic Открыть новую тему 
> задача Div,mod,case
сообщение
Сообщение #1





Группа: Пользователи
Сообщений: 5
Пол: Мужской

Репутация: -  0  +


Помогайте решить пожалуйста с помощью case div mod.
2. Постановка задачи :Для числа «к» вывести на экран дисплея разу «мы нашли К грибов в лесу» согласовав окончание слова «гриб» с числом «к».к натуральное число. Если не так тема то прошу изменить название
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Уникум
*******

Группа: Пользователи
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


Цитата(malou @ 30.01.2006 0:28) *

Для числа «к» вывести на экран дисплея разу «мы нашли К грибов в лесу» согласовав окончание слова «гриб» с числом «к».к натуральное число. Если не так тема то прошу изменить название

А число К не нужно писать словами? Если так, то задача будет посложнее. Если нет, то решение простое:
  case k mod 10 of
0,5..9: s:='ов';
1: s:='';
2..4: s:='а';
end;
WriteLn('мы нашли ',k,' гриб',s,' в лесу');


Название я бы сделал такое: "Согласование числительных и окончаний существительных"


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Прогрессор
****

Группа: Пользователи
Сообщений: 602
Пол: Мужской
Реальное имя: Михаил

Репутация: -  9  +


ещё добавить:
if k div 10 = 1 then s:='ов';
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Уникум
*******

Группа: Пользователи
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


Цитата(Atos @ 30.01.2006 8:42) *

ещё добавить:

Точно! Спасибо, Атос smile.gif
За мной глаз да глаз нужен.. smile.gif


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5





Группа: Пользователи
Сообщений: 5
Пол: Мужской

Репутация: -  0  +


Парни огромное спасибо! а как mod рисуется на схеме алгорита?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Perl. Just code it!
******

Группа: Пользователи
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

Репутация: -  44  +


так и пиши ... mod


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


Пионер
**

Группа: Пользователи
Сообщений: 52
Пол: Мужской
Реальное имя: Стас

Репутация: -  -1  +


как обыкновеная арифмитическая операция

не знаю как это пишется (арифмитическая)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #8


Perl. Just code it!
******

Группа: Пользователи
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

Репутация: -  44  +


думаю можно вот так :

a % b


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #9





Группа: Пользователи
Сообщений: 5
Пол: Мужской

Репутация: -  0  +


program V;
var
k:byte;
begin
writeln('Bbedute kol-Bo gribov');
readln(k);
if k div 10 = 1 then writeln('11');
case k mod 10 of
1: writeln('mbI nawlu grib v lesy');
2..4: writeln('mbI nawlu griba v lesy');
0,5..9: writeln('mbI nawlu gribov v lesy');
11,12,13,14 : writeln('mbI nawlu gribov v lesy');
end;
readln;
end.

Парни помогите почему при вводе 11 выдает гриб исправте пожалуйчта.

Теги !

Сообщение отредактировано: volvo -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #10


Гость






Цитата
case k mod 10 of
...
11,12,13,14 : writeln('mbI nawlu gribov v lesy');
blink.gif
Как остаток от деления на 10 может быть больше 10?

var
k: byte;
s: string;
begin
writeln('Bbedute kol-Bo gribov');
readln(k);

if k in [11, 12, 13, 14] then s := 'ov'
else
case k mod 10 of
1 : s := '';
2 .. 4: s := 'a';
0,5..9: s := 'ov';
end;
writeln('mbI nawlu ', k, ' grib' + s + ' v lesy');
readln;
end.
 К началу страницы 
+ Ответить 
сообщение
Сообщение #11





Группа: Пользователи
Сообщений: 5
Пол: Мужской

Репутация: -  0  +


Цитата(volvo @ 30.01.2006 21:03) *

blink.gif
Как остаток от деления на 10 может быть больше 10?

а какже надо задачу делать? сказаличто с помощью или diw или mod
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #12





Группа: Пользователи
Сообщений: 5
Пол: Мужской

Репутация: -  0  +


program v;
var
k : byte;
s : string;
begin
writeln('wwedite kol-vo gribov');
readln(k);
if k in [11,12,13,14] then s:='gribov'
else
case k mod 10 of
1 : s :='grib';
2..4 : s:='griba';
0,5..9:s :='gribov';
end;
writeln('gribov');
readln;
end.


всегда выводит грибов в чем ошибка?

ТЕГИ
Мы постоянно за тебя их ставить должны ?


Сообщение отредактировано: volvo -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #13


Perl. Just code it!
******

Группа: Пользователи
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

Репутация: -  44  +


uses crt;
var
k : word;

begin
for k := 1 to 100
do begin
write('Мы нашли в лесу ',k,' гриб');
if k div 10 = 1 then write('ов')
else case k mod 10 of
2..4 : write('а');
5..9,0 : write('ов');
end;
writeln;
end;
readln;
end.


Тегами пользоваться будешь ?

Кстати, эта задача была решена во втором посте .. и дополнена в третьем.

Сообщение отредактировано: volvo -


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #14


Гость






malou, вот объясни мне, ты ВООБЩЕ смотришь на то, что тебе пишут? Я ж тебе дал готовое решение, НЕТ!!! надо было его ИСПРАВИТЬ, и потом сказать, что оно неправильно работает. dry.gif А зачем исправлял? Прогнать БЕЗ изменений нельзя было?
 К началу страницы 
+ Ответить 
сообщение
Сообщение #15


Perl. Just code it!
******

Группа: Пользователи
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

Репутация: -  44  +


Задача решена аж 2-мя способами.
Обсуждать тут больше нечего.
Тема зарыта.


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Closed Topic Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 27.04.2024 19:37
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name