Форум программистов, компьютерный форум, киберфорум
QBasic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.79/19: Рейтинг темы: голосов - 19, средняя оценка - 4.79
0 / 0 / 1
Регистрация: 23.04.2013
Сообщений: 32

Задать правильное окончание для слова в зависимости от количества

16.09.2013, 17:01. Показов 4072. Ответов 15
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Дано натуральное число n (n≤100), определяющее возраст человека (в годах). Дать для этого числа наименования «год», «года», «лет». Например, 1 год, 23 года, 46 лет и т.д.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
16.09.2013, 17:01
Ответы с готовыми решениями:

Подобрать правильное окончание слова, в зависимости от количества
Здравствуйте, уважаемые программисты! помогите решить задачу! Бизнесмен Василий после прочтения известной книги решил открыть новый...

Подставить правильное окончание в зависимости от количества
В зависимости от количества найденных в лесу грибов вывести грамматически правильное выражение, например: 21 гриб, 23 гриба, 45 грибов....

Верное окончание слова в зависимости от его количества
Переменная $user в моем случае содержит число от 1 до 1000. echo "У вас $user монет<br>"; Как сделать условие и дописать код чтобы если...

15
1045 / 315 / 74
Регистрация: 13.07.2013
Сообщений: 1,270
16.09.2013, 19:24
QBasic/QuickBASIC
1
2
3
4
m=n-INT(n/10)*10
st$="лет"
IF m<5 THEN st$="года"
IF m=1 THEN st$="год"
Написано на Turbo Basic - попробуйте, видать на Qbasic тоже будет работать - программа не сложная.

Добавлено через 2 минуты
хотя... нет - если учитывать ноль, то в конце еще так:
QBasic/QuickBASIC
1
IF m=0 THEN st$="лет"
1
0 / 0 / 1
Регистрация: 23.04.2013
Сообщений: 32
16.09.2013, 19:32  [ТС]
Спасибо)

Добавлено через 2 минуты
Только причем тут INT(Округление числа)?
0
1045 / 315 / 74
Регистрация: 13.07.2013
Сообщений: 1,270
16.09.2013, 19:41
заметьте - в данной программе нет ввода данных:
QBasic/QuickBASIC
1
INPUT "", n  'точно не помню как это пишется - вроде так.
и вывода:
QBasic/QuickBASIC
1
PRINT n;st$ 'это, к сожалению, тоже плоховато помню - сейчас потестю все...
Добавлено через 1 минуту
Цитата Сообщение от DimaGG Посмотреть сообщение
Только причем тут INT(Округление числа)?
Ха! Это моя хитрость =). Я ее использую, чтобы узнать последнюю цифру числа - если посмотреть формулу нахождения m, можно понять, как я это делаю (если я опять ничего не перепутал )

Добавлено через 4 минуты

Не по теме:

Работает :yahoo:



Добавлено через 1 минуту
Еще кое-что - программа работает с числами, что могут быть больше 100... Если Вам это важно - могу убрать.
0
0 / 0 / 1
Регистрация: 23.04.2013
Сообщений: 32
16.09.2013, 19:42  [ТС]
Цитата Сообщение от Good-Morning Посмотреть сообщение
st$="лет"
и это я непонял(
0
1045 / 315 / 74
Регистрация: 13.07.2013
Сообщений: 1,270
16.09.2013, 19:45
Цитата Сообщение от DimaGG Посмотреть сообщение
и это я непонял(
По-умолчанию он задает значение "лет", потом, если под это название числу не подходит, то он (QB) меняет значение. Примерно так.

Добавлено через 37 секунд
Т.е. можно, конечно писать для каждой цифры свой IF, но я сделал по-короче.
1
0 / 0 / 1
Регистрация: 23.04.2013
Сообщений: 32
16.09.2013, 19:49  [ТС]
ну тогда нужно ещё задать m>5 "let"

Добавлено через 1 минуту
По-проще никак не получается? без ИНТ)
0
1045 / 315 / 74
Регистрация: 13.07.2013
Сообщений: 1,270
16.09.2013, 19:53
Цитата Сообщение от DimaGG Посмотреть сообщение
ну тогда нужно ещё задать m>5 "let"
Вот именно поэтому я и задал изначально "лет" - m>5 происходит во ВСЕХ остальных случаях. (Отрицательный возвраст я не учитывал )

Добавлено через 1 минуту
Цитата Сообщение от DimaGG Посмотреть сообщение
По-проще никак не получается? без ИНТ)
Можно... Но это долго... Можно сделать так (вот здесь я, видать, точно ошибусь):
QBasic/QuickBASIC
1
m=VAL(RIGHT$(STR$(n),1))
Но я очень сомневаюсь, что это будет понятней.

Добавлено через 1 минуту

Не по теме:

Надо же! Опять без ошибок! =-O

1
0 / 0 / 1
Регистрация: 23.04.2013
Сообщений: 32
16.09.2013, 19:55  [ТС]
Я просто 1-й раз вижу оператор st$ и не пойму к чему он(
0
1045 / 315 / 74
Регистрация: 13.07.2013
Сообщений: 1,270
16.09.2013, 19:59
Цитата Сообщение от DimaGG Посмотреть сообщение
оператор st$
А-а-а... Дело в том, что это не совсем оператор... это я так переменную назвал...

Добавлено через 55 секунд
Цитата Сообщение от DimaGG Посмотреть сообщение
оператор st$
Или str$?
1
0 / 0 / 1
Регистрация: 23.04.2013
Сообщений: 32
16.09.2013, 20:01  [ТС]
Цитата Сообщение от Good-Morning Посмотреть сообщение
это я так переменную назвал...
Понял)
0
 Аватар для Апострофф
9908 / 3924 / 742
Регистрация: 11.10.2011
Сообщений: 5,904
16.09.2013, 20:18
1 год; 11 лет; 21 год...
2 года;12 лет;22 года...

Что то не вяжется? Ближайшее по теме-
Цитата Сообщение от Ev[G]eN Посмотреть сообщение
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
const
 i=[11..14];
var
 n: integer;
begin
 readln(n);
  if n in i then writeln('Вам ', n, ' лет') else
   case (n mod 10) of
    1: writeln('Вам ', n, ' год');
    2..4: writeln('Вам ', n, ' года');
    0, 5..9: writeln('Вам ', n, ' лет');
   end;
end.
Перевести сможете?
1
1045 / 315 / 74
Регистрация: 13.07.2013
Сообщений: 1,270
16.09.2013, 20:22
Цитата Сообщение от Апострофф Посмотреть сообщение
1 год; 11 лет; 21 год...
2 года;12 лет;22 года...
Ризонно. Тогда можно ограничить еще так анализ:
QBasic/QuickBASIC
1
IF n<20 AND n>10 THEN st$="let"
что нужно ставить после всех преддыдущих анализов.

Добавлено через 34 секунды
Цитата Сообщение от Апострофф Посмотреть сообщение
Перевести сможете?
Лично я не смогу.

Добавлено через 35 секунд
хотя...
0
0 / 0 / 1
Регистрация: 23.04.2013
Сообщений: 32
16.09.2013, 20:26  [ТС]
QBasic/QuickBASIC
1
2
3
4
5
6
7
8
9
10
11
CLS
DO
 INPUT "Vvedite vozrast:"; n
LOOP UNTIL n<=100
 
SELECT CASE n MOD 10
 CASE 1: PRINT n;"god"
 CASE 2,3,4: PRINT n;"goda"
 CASE 5,6,7,8,9,0: PRINT n;"let"
END SELECT
END
А если так?
0
1045 / 315 / 74
Регистрация: 13.07.2013
Сообщений: 1,270
16.09.2013, 20:29
Цитата Сообщение от DimaGG Посмотреть сообщение
А если так?
Здесь, как и у меня, не учитываются числа от 10 до 20.
0
 Аватар для Апострофф
9908 / 3924 / 742
Регистрация: 11.10.2011
Сообщений: 5,904
17.09.2013, 07:24
Переведите на QBasic
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
17.09.2013, 07:24
Помогаю со студенческими работами здесь

Добавить правильное окончание в зависимости от числительного
Помогите, пожалуйста, справиться со следующим заданием: Пользователь вводит предложение, которое помимо слов содержит целые числа,...

Подобрать верное окончание существительного в зависимости от количества
по введенному натуральному числу n(n&lt;=100) обозначаешему количество ворон вывести надпись ,на дереве n ворон.где ворона склоняеться...

Определить окончание существительного в зависимости от введенного количества
Доброго времени суток. Прошу небольшей помощи с вашей стороны. Вот в чем суть Задача: Для натурального числа К напечатать фразу &quot;мы...

В зависимости от введенного числа изменить окончание у слова
Программировать начал только 2 недели назад, поэтому опыта очень мало. Может кто поможет. Нужно написать программу, которая в...

Подобрать окончание слова в зависимости от числительного, его описывающего
Для натурального числа k напечатать фразу &quot;мы нашли k грибов в лесу&quot;, согласовав окончание слова &quot;гриб&quot; с числом k.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru