Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.03.2011, 20:54   #1
vereney
Пользователь
 
Регистрация: 01.03.2011
Сообщений: 28
Вопрос Составить программму для определения номера машины

3 друга были свидетелями дорожно-транспортного происшествия. Первый заметил, что номер машины нарушителя делится на 2, 7, 11. Второй заметил, что в записи номера участвуют 2 цифры, а третий – что сумма цифр равна 30. Составить программу для определения номера машины нарушителя.

Код:
program zad;
var
i,k,l,j,m:integer;
begin
for i:=1000 to 9999 do
begin
if ((i mod 2)=0) and ((i mod 7)=0) and ((i mod 11)=0) then
j:= i div 1000;
k:= (i div 100)-j*10;
l:= (i div 10)-j*100-k*10;
m:= i-(i div 10)*10;
 if (j+k+l+m)=30 then
    writeln(j);
    writeln(k);
    writeln(l);
    writeln(m);
writeln (i);
end;
end.
ВОт что получилось.А как составить код для условия,что в записи номера участвуют 2 цифры?Подскажите



________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE] (это кнопочка с решёточкой #)
Не забывайте об этом!
Модератор.

Последний раз редактировалось Serge_Bliznykov; 06.03.2011 в 22:38.
vereney вне форума Ответить с цитированием
Старый 06.03.2011, 22:24   #2
Pein95
Форумчанин
 
Регистрация: 25.04.2010
Сообщений: 881
По умолчанию

разложыте число на цыфры и проверте скоко там одинаковых цыфр
Pein95 вне форума Ответить с цитированием
Старый 06.03.2011, 22:54   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

как минимум, Вы забыли заключить остальные проверки в операторные скобки:
Цитата:
Код:
if ((i mod 2)=0) and ((i mod 7)=0) and ((i mod 11)=0) then 
begin
  ... Тут Ваши проверки...
end;
А почему Вы решили, что в номере нарушителя 4-ре цифры?

и это условие:
Цитата:
Второй заметил, что в записи номера участвуют 2 цифры,
имхо, проще всего проверить, когда разбираете номер на отдельные цифры, учитывайте, сколько их встретили разных. Как только более двух - всё. номер не подходит..

______________________

Кстати, на форуме вот такая задача решалась более двух лет назад:
Цитата:
1. Три товариша были свидетелями дорожно-транспортного проишествия. Один из них запомнил что 4-значимый номер автомобиля делится без остатка на 2, 7 и 11. Второй подчеркнул что в записи номера есть две одинаковые цифры, а третий вспомнил что сума цифр номера 30.
решения тут - http://www.programmersforum.ru/showthread.php?t=28079

Последний раз редактировалось Serge_Bliznykov; 06.03.2011 в 23:04.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 07.03.2011, 08:03   #4
vereney
Пользователь
 
Регистрация: 01.03.2011
Сообщений: 28
По умолчанию

4 знака в номере, потому как сумма то 30 и по ссылке я посмотрела решение,но там используется функция, а если без функции?это возможно?ПОтому как процедуры и функции в 7 классе ещё не изучали.
Спасибо что не оставляете без внимания
vereney вне форума Ответить с цитированием
Старый 07.03.2011, 08:44   #5
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
4 знака в номере, потому как сумма то 30
Да ну?! Это новая математическая теория?!
С чего это Вы решили?
Тогда объясните мне,
почему не подходит, например, номер авто 708708 ну, или номер 4474470, или номер 9900660 ?!
А, Вы скажете, что в записи этих чисел использованы более двух цифр? Так?
Ну а что Вы скажете про такие номера?
366366
474474
636636
744744
5555550
44334444
55555500

это раз.


второе. Прочитайте внимательно задание: показания второго свидетеля в "моей" и "вашей" задаче - РАЗНЫЕ. (надеюсь, это очевидно и не надо объяснять, в чём разница?!)
Именно поэтому я предложил Вам внимательно уточнить задание!
Вообще, у меня возникло впечатление, что кто-то (то ли Ваш учитель, то ли автор какого-нибуд задачника) попытался по памяти пересказать условия задачи, но это у него криво получилось... В программировании, как и в других точных науках, задание не допускает неоднозначностей, двоякого толкования и т.п.

и третье.
Цитата:
там используется функция, а если без функции?это возможно?
да. всегда можно расписать функцию прямо в тебе программы. просто программа становится менее наглядной и понятной... а делается это так - берётся тело функции, и переносится в основную программу. Заводятся все нужные переменные (которые были в секции VAR функции). и ещё одна переменная добавляется, куда сохраняется результат вычислений.. и всё.

и последнее. Там по ссылочке, есть моё решение:
http://www.programmersforum.ru/showp...51&postcount=3
Где Вы там функцию нашли?!!

Последний раз редактировалось Serge_Bliznykov; 07.03.2011 в 08:59.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 07.03.2011, 08:59   #6
vereney
Пользователь
 
Регистрация: 01.03.2011
Сообщений: 28
По умолчанию

вы правы)))либо педагог продиктовал неточно задачу, либо ребенок зевал на уроке.Спасибо, будем внимательнее
vereney вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
составить программму на паскале Вера Викторовна Помощь студентам 2 29.01.2010 22:19
Составить подпрограмму определения номеров строк матрицы с минимальной и максимальной характеристиками VNS Помощь студентам 8 13.12.2009 10:17
Составить подпрограмму определения номеров строк матрицы с минимальной и максимальной характеристиками VNS Помощь студентам 0 08.12.2009 17:53
Составить подпрограмму определения номеров строк матрицы с минимальной и максимальной характеристиками VNS Помощь студентам 0 05.12.2009 20:34
Алгоритм арифметического действия для машины Тьюринга Arkuz Помощь студентам 1 25.03.2009 17:04