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

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

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

 
 Ответить  Открыть новую тему 
> Первая цифра числа, процедуры
сообщение
Сообщение #1


Пионер
**

Группа: Пользователи
Сообщений: 57
Пол: Женский
Реальное имя: Ольга

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


Ребята! Кто-может, подскажите, пожалуйста, а то уже мозги кипят и я на грани нервного срыва. Задачка для первоклассников: "Найти первую цифру целого числа (использовать процедуру)",
а не могу понять часть текста в ней.

Program cifra;
var
k,n:integer;
begin
write('Введите число: ');
readln(n);
while n<>0 do
begin
k:=n mod 10; {???}
n:=n div 10; {???}
end;
writeln(‘Первая цифра числа’,k);
readln
end.

Как понять следующее: k:=n mod 10;
n:=n div 10
Почему так???

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


Злостный любитель
*****

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

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


Для положительных чисел так:
mod - остаток при делении
div - целая часть деления

Очевидно, что остаток при делении целого положительного числа на 10 - это его последняя цифра.


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


Пионер
**

Группа: Пользователи
Сообщений: 57
Пол: Женский
Реальное имя: Ольга

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


Я попробовала написать вместо k:=n mod 10 просто K:=n - оказывается программа все равно правильно работает. Для чего нужен был mod, не понятно
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Гость






Цитата
Для чего нужен был mod, не понятно
Я тебе даже больше скажу:

readln(n);
while n > 9 do
n:=n div 10;

writeln('Первая цифра числа = ', n);
тоже будет работать. Зачем здесь вообще K - непонятно.

Кстати, а процедура-то где?
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Я.
****

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

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


Ну если Program заменить на procedure, а точку на запятую - будет подпрограмма)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


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

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

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


М
Провинциалка, называй темы в соответствии с Правилами, пожалуйста



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

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

 





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