| 
| 
 | Вопрос # 1 202/ вопрос открыт / | 
 |  Здравствуйте, уважаемые эксперты! Помогие, пожалуйста, написать программу на Pascal:условие: дано натуральное число N, необходимо перевести его в 8-ричную систему счисления и проверить, есть ли в таком представлении хотя бы одна семерка.
 Заранее спасибо.
 
|  |   Вопрос задала: s_ksuha (статус: Посетитель)Вопрос отправлен: 16 декабря 2007, 16:03
 Состояние вопроса: открыт, ответов: 1.
 |  Ответ #1. Отвечает эксперт: Николай Рубан Здравствуйте, s_ksuha!
 Вот решение Вашей задачи:
 
 var oct,c:string;
    dec,i:integer;
begin
  write('DEC=');readln(dec); {вводим число в десятичной системе счисления}
  oct:='';
  while dec>0 do {болк в котором переводим число в восьмиичную систему}
  begin
    i:=dec mod 8;
    dec:=dec div 8;
    str(i, c);
    oct:=c+oct;
  end;
  writeln('OCT=',oct); {выводим число в 8-чной системе счисления}
  writeln(pos('7',oct)<>0); {выводим TRUE, если в числе содержится
                                хотя бы одна цифра 7 и FALSE в противном случае}
  readln;
end.Good Luck!!!
 
|  | Ответ отправил: Николай Рубан (статус: 10-ый класс)Время отправки: 16 декабря 2007, 16:43
 
 |  
 Мини-форум вопросаВсего сообщений: 1; последнее сообщение — 16 декабря 2007, 16:53; участников в обсуждении: 1. 
|   | Николай Рубан (статус: 10-ый класс), 16 декабря 2007, 16:53 [#1]:Да, еще немного можно сократить код... Видоизменив  болк в котором переводим число в восьмиичную систему. 
 
   while dec > 0 do 
  begin
    str(dec mod 8, c);
    oct:=c+oct;
    dec:=dec div 8;
  end; |  Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте. |