Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на языке Pascal


Новое направление Портала RusFAQ.ru:
MosHoster.ru - Профессиональный хостинг

Народное голосование ПРЕМИИ РУНЕТА-2007!
Голосуем за RusFAQ.ru >>

РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Pascal

Выпуск № 481
от 07.11.2007, 16:05

Администратор:Калашников О.А.
В рассылке:Подписчиков: 238, Экспертов: 46
В номере:Вопросов: 2, Ответов: 4


Вопрос № 107670: В Паскале есть возможность сохранения результатов работы программы в текстовый файл. Можно ли и как осуществить сохранение результатов программы построения графики в файл? Есть ли такая возможность в Delphi?...
Вопрос № 107723: Здравствуйте, мне тут надо найти количество трезначных натуральных чисел, сумма цифр которых равна заданному числу N. Трехзначное число я знаю ка определить: a:=length(b); А вот как считать их я не знаю. Подскажите пожалуйста...

Вопрос № 107.670
В Паскале есть возможность сохранения результатов работы программы в текстовый файл. Можно ли и как осуществить сохранение результатов программы построения графики в файл? Есть ли такая возможность в Delphi?
Отправлен: 01.11.2007, 17:09
Вопрос задала: Sphinx2007 (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Дмитрий Т.
Здравствуйте, Sphinx2007!
вариант - изучить формат bmp(довольно просто) или jpg. Или сохраните в файл данные необходимые для построения графика...
Ответ отправил: Дмитрий Т. (статус: 2-ой класс)
Ответ отправлен: 01.11.2007, 19:12


Вопрос № 107.723
Здравствуйте, мне тут надо найти количество трезначных натуральных чисел, сумма цифр которых равна заданному числу N.

Трехзначное число я знаю ка определить: a:=length(b);
А вот как считать их я не знаю.
Подскажите пожалуйста
Отправлен: 02.11.2007, 06:30
Вопрос задал: Исаак Моисеевич (статус: 2-ой класс)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Дмитрий Т.
Здравствуйте, Исаак Моисеевич!
А зачем вам хранить само число в string'e? Лучше задайте цикл от 100 до 999, и проверяйте сумму цифр, а не равна ли она N. Таким образом не надо будет проверять длину числа...
Куда лучшее решение цикл запустить от 10 до 99, а третье число, если оно будет влазить(к примеру для 99Х нужно N не меньше 18), вычислять как N-сумма двух цифр.
Сумму цифр следует считать примерно так(см. приложение)
a mod b - остаток от деления числа а на число b
a div b - деление нацело числа а на число b
После этого цикла у вас есть сумма, проверяйте, а не больше ли она чем N, если нет, то у вас будет еще одно трехзначаное число...

Приложение:

Ответ отправил: Дмитрий Т. (статус: 2-ой класс)
Ответ отправлен: 02.11.2007, 07:57
Оценка за ответ: 5
Комментарий оценки:
так мне ведь надо чтобы введенные числа проверялись

Отвечает: Форсман Павел Вячеславович
Здравствуйте, Исаак Моисеевич!

Программа примет следующий вид:

Program T107723;
const {Константы для определения нижней и верхней границы перебора.}
Lower=100; {В общем виде, можно задать любые границы}
Upper=999;
var
C,N:byte; {Переменные под число N и переменная для записи количества чисел}
Function CountSum(n:byte):Word; {Подсчет количества чисел}
var
i,T,C,S:Word; {Счетчик, временная переменная, количество, сумма цифр в числе}
begin
C:=0; {Изначально чисел не обнаружено}
for i:=Lower to Upper do {Начало перебора}
begin
T:=I; {Сохранение значения счетчика}
S:=0; {Подготовка переменной суммы}
while T<>0 do {Подсчет суммы цифр}
begin
S:=S+T mod 10;
T:=T div 10;
end;
if S=N then {Сумма совпадает с числом N}
begin
inc(C); {Увеличение счетчика}
writeln(I); {Вывод найденого числа}
end;
end;
CountSum:=C; {Возврат значения функции}
end;
begin
write('N='); {Запрос числа N}
readln(N);
C:=CountSum(N); {Подсчет}
writeln('Count=',C); {Вывод результата}
readln; {Ждем нажатия ENTER}
end.
---------
Научить нельзя, но можно попробовать научиться!!!
Ответ отправил: Форсман Павел Вячеславович (статус: 2-ой класс)
Ответ отправлен: 02.11.2007, 12:08
Оценка за ответ: 5

Отвечает: Артём1983
Здравствуйте, Исаак Моисеевич!
Ваша задача практически сводится к одному действию: найти число при котором целочисленный остаток при делении на это число больше 100.
Смотрите код в приложении.

Приложение:

---------
Программирование - дело Путное!

Ответ отправил: Артём1983 (статус: 6-ой класс)
Ответ отправлен: 02.11.2007, 22:38
Оценка за ответ: 4
Комментарий оценки:
Зачем мне целочисленный остаток больше ста :(
Мне надо всего-то чтобы программа выяснила, какое число из введенных трехзначное и сумма его равна заданному числу, константе :(


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2007, Портал RusFAQ.ru, Россия, Москва.
Авторское право: ООО "Мастер-Эксперт Про"
Техподдержка портала, тел.: +7 (926) 535-23-31
Хостинг: "Московский хостер"
Поддержка: "Московский дизайнер"
Авторские права | Реклама на портале
Версия системы: 4.61.1 от 16.10.2007
Яндекс Rambler's Top100
RusFAQ.ru | MosHoster.ru | MosDesigner.ru | RusIRC.ru
Kalashnikoff.ru | RadioLeader.ru | RusFUCK.ru

В избранное