  | 
	
		
	
	
		нужна помощь с программой - Вопросы и ответы, обсуждения - Ваши вопросы по Pascal/Delphi только в данном разделе | 
	 
	 
	
	
	
	
	
	
	
	
	
	
	
		 
	 
 
	
	
		
	
	
    
        
            
             
            01.07.2013, 12:59
            
            
         | 
        
             
            #1
            
         | 
    
 
    
    
  
    | 
    
     | 
     
  
    | 
    
     | 
    
    
     | 
   
  
    
        Разведчик  
     | 
     
 
    
      
  
            
    
      
    
            
                 Регистрация: 06.08.2012  
                
                
                
                 Сообщений: 1
                   
 Популярность: 10  
                  
	 Сказал(а) спасибо: 0  
	
		
			
				Поблагодарили 0 раз(а) в 0 сообщениях
			
		
	 
     
 
             
                
               
                
       
                  
     | 
    
    
    
        
        
            
            
                 
                нужна помощь с программой
             
             
            
        
        
        
            
               
    Задача: Вывести заданное трехзначное число в буквенном формате. 
	Код: 
	var
H,D,O: string;
x,y,z,n: integer;
begin
writeln('введите трехзначное число');
readln(n);
 if n= 0 then
 writeln('ноль')
 else
x:= n div 100; //сотни
case x of
 1: H:='сто';
 2: H:='двести';
 3: H:='триста';
 4: H:='четыреста';
 5: H:='пятьсот';
 6: H:='шестьсот';
 7: H:='семьсот';
 8: H:='восемьсот';
 9: H:='девятьсот';
 0: H:='';
 end;
n:= n mod 100; //убираем сотни
y:= n div 10;    // десятки
case y of
 0: D:='';
 2: D:='двадцать';
 3: D:='тридцать';
 4: D:='сорок';
 5: D:='пятьдесят';
 6: D:='шестьдесят';
 7: D:='семьдесят';
 8: D:='восемьдесят';
 9: D:='девяносто';
 end;
z:= n mod 10;   //единицы
case z of
 0: O:='';
 1: O:='один';
 2: O:='два';
 3: O:='три';
 4: O:='четыре';
 5: O:='пять';
 6: O:='шесть';
 7: O:='семь';
 8: O:='восемь';
 9: O:='девять';
 end;
case n of    //10-19
 10: D:='десять';
 11: D:='одиннадцать';
 12: D:='двенадцать';
 13: D:='тринадцать';
 14: D:='четырнадцать';
 15: D:='пятнадцать';
 16: D:='шестнадцать';
 17: D:='семнадцать';
 18: D:='восемнадцать';
 19: D:='девятнадцать';
 end;
if (n<=19) and (n>=10) then O:=''; 
writeln(H,' ',D,' ',O);
end.
  
Можно ли более рационально реализовать то же самое(меньше кода, тот же результат)? 
Заранее спасибо.
     
          
        
        
        
        
        
        
        
     | 
 
    | 
        
        
        
        
         
     | 
    
    
    
        
        
        
        
             
        
        
        
        
        
        
        
            
        
        
        
     | 
 
 
 
  
	 
	
		 
	 
 
	
	
		
	
	
    
        
            
             
            01.07.2013, 16:25
            
            
         | 
        
             
            #2
            
         | 
    
 
    
    
  
    | 
    
     | 
     
  
    | 
    
     | 
    
    
     | 
   
  
    
        Старший сержант  
     | 
     
 
    
      
  
            
    
      
    
            
                 Регистрация: 25.12.2011  
                
                
                
                 Сообщений: 191
                   
 Популярность: 5259  
                  
	 Сказал(а) спасибо: 31  
	
		
			
				Поблагодарили 235 раз(а) в 135 сообщениях
			
		
	 
     
 
             
                
               
                
       
                  
     | 
    
    
    
        
        
            
            
                 
                Re: нужна помощь с программой
             
             
            
        
        
        
            
               
    разве что через массивы
     
         
        
        
        
        
        
        
            
             ________________  
                 Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий). 
             
        
        
        
        
     | 
 
    | 
        
        
        
        
         
     | 
    
    
    
        
        
        
        
             
        
        
        
        
        
        
        
            
        
        
        
     | 
 
 
 
  
	 
	
		 
	 
 
	
	
		
	
	
    
        
            
             
            01.07.2013, 18:05
            
            
         | 
        
             
            #3
            
         | 
    
 
    
    
  
    | 
    
     | 
     
  
    | 
    
     | 
    
    
     | 
   
  
    
        Разведчик  
     | 
     
 
    
      
  
            
    
      
    
            
                 Регистрация: 06.08.2012  
                
                
                
                 Сообщений: 1
                   
 Популярность: 10  
                  
	 Сказал(а) спасибо: 0  
	
		
			
				Поблагодарили 0 раз(а) в 0 сообщениях
			
		
	 
     
 
             
                
               
                
       
                  
     | 
    
    
    
        
        
            
            
                 
                Re: нужна помощь с программой
             
             
            
        
        
        
            
               
    Можете примерно описать алгоритм? Просто я неделю назад начал изучать паскаль и мне немного трудно представить, как это выглядит.
     
         
        
        
        
        
        
        
        
     | 
 
    | 
        
        
        
        
         
     | 
    
    
    
        
        
        
        
             
        
        
        
        
        
        
        
            
        
        
        
     | 
 
 
 
  
	 
	
		 
	 
 
	
	
		
	
	
    
        
            
             
            01.07.2013, 22:47
            
            
         | 
        
             
            #4
            
         | 
    
 
    
    
  
    | 
    
     | 
     
  
    | 
    
     | 
    
    
     | 
   
  
    
        Рыцарь-капитан  
     | 
     
 
    
      
  
            
    
      
    
            
                 Регистрация: 21.07.2010  
                
                
                
                 Сообщений: 528
                   
 Популярность: 17011  
                  
	 Сказал(а) спасибо: 199  
	
		
			
				Поблагодарили 1,228 раз(а) в 356 сообщениях
			
		
	 
     
 
             
                
               
                
       
                  
     | 
    
    
    
        
        
            
            
                 
                Re: нужна помощь с программой
             
             
            
        
        
        
        
        
        
        
        
        
            
             ________________  
                ARS LONGA, VITA BREVIS 
 
╔ Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
  
╠ Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
  
╠ Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
  
╠ Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
  
╚ Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
  
 
Кандидат на пост Гаранта Zhyk.ru 
 Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий). 
             
        
        
        
        
     | 
 
    | 
        
        
        
        
         
     | 
    
    
    
        
        
        
        
             
        
        
        
        
        
        
        
            
        
        
        
     | 
 
 
 
  
	 
	
		 
	 
 
	
	
		
	
	
    
        
            
             
            03.07.2013, 10:20
            
            
         | 
        
             
            #5
            
         | 
    
 
    
    
  
    | 
    
     | 
     
  
    | 
    
     | 
    
    
     | 
   
  
    
        Рыцарь-капитан  
     | 
     
 
    
      
  
            
    
      
    
            
                 Регистрация: 14.06.2012  
                
                
                
                 Сообщений: 511
                   
 Популярность: 7566  
                  
	 Сказал(а) спасибо: 4  
	
		
			
				Поблагодарили 181 раз(а) в 88 сообщениях
			
		
	 
     
 
             
                
               
                
       
                  
     | 
    
    
    
        
        
            
            
                 
                Re: нужна помощь с программой
             
             
            
        
        
        
            
               
    если более простым методом то можешь сначала считать длину, чтобы определить будут в ней сотни, тысячи или десятки. потом сканировать от первого символа и добавлять его значение в буквенной форме. а если еще код короче сделать, то занести всевозможные варианты в строковый компонента, а из него через цикл вытащить нужное значение. конечно предварительно придется массив всех значений создать
     
         
        
        
        
        
        
        
            
             ________________  
                Хотите как то отблагодарить за помощь? 
Не стесняйтесь нажимайте "Спасибо" Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
  
Делаю программы на заказ, по всем вопросам в скайп: Ginrey2
             
        
        
        
        
     | 
 
    | 
        
        
        
        
         
     | 
    
    
    
        
        
        
        
             
        
        
        
        
        
        
        
            
        
        
        
     | 
 
 
 
  
	 
	
		 
	 
 
	
	
		
	
	
    
        
            
             
            06.07.2013, 12:28
            
            
         | 
        
             
            #6
            
         | 
    
 
    
    
  
    | 
    
     | 
     
  
    | 
    
     | 
    
    
     | 
   
  
    
        Маршал  
     | 
     
 
    
      
  
            
    
      
    
            
                 Регистрация: 14.08.2010  
                
                
                
                 Сообщений: 874
                   
 Популярность: 5016  
 Золото Zhyk.Ru: 95     
                  
	 Сказал(а) спасибо: 157  
	
		
			
				Поблагодарили 386 раз(а) в 241 сообщениях
			
		
	 
     
 
             
                
               
                
       
                  
     | 
    
    
    
        
        
            
            
                 
                Re: нужна помощь с программой
             
             
            
        
        
        
            
               
    Было когда-то похожее задание, можешь сравнить и разобрать алгоритм. 
Было дано 40 цапель и нужно было вывести словесно их количество.
 
	Код: 
	program abc;
var
  a: integer;
  b, c: string;
begin
  write('Введите количество цапель (от 10 до 40): ');
  readln(a);
  if a mod 10 = 1 then b := 'одна выносливая цапля';
  if a mod 10 = 2 then b := 'две выносливых цапель';
  if a mod 10 = 3 then b := 'три выносливых цапель';
  if a mod 10 = 4 then b := 'четыре выносливых цапель';
  if a mod 10 = 5 then b := 'пять выносливых цапель';
  if a mod 10 = 6 then b := 'шесть выносливых цапель';
  if a mod 10 = 7 then b := 'семь выносливых цапель';
  if a mod 10 = 8 then b := 'восемь выносливых цапель';
  if a mod 10 = 9 then b := 'девять выносливых цапель';
  if a mod 10 = 0 then b := '';
  if a div 10 = 2 then c := 'Двадцать';
  if a div 10 = 3 then c := 'Тридцать';
  if a div 10 = 4 then c := 'Сорок';
  case a of
    10: writeln('Десять выносливых цапель');
    11: writeln('Одиннадцать выносливых цапель');
    12: writeln('Двенадцать выносливых цапель');
    13: writeln('Тринадцать выносливых цапель');
    14: writeln('Четырнадцать выносливых цапель');
    15: writeln('Пятнадцать выносливых цапель');
    16: writeln('Шестнадцать выносливых цапель');
    17: writeln('Семнадцать выносливых цапель');
    18: writeln('Восемнадцать выносливых цапель');
    19: writeln('Девятнадцать выносливых цапель');
    40: writeln('Сорок выносливых цапель');
    20: writeln('Двадцать выносливых цапель');
    30: writeln('Тридцать выносливых цапель');
  else writeln( c, ' ', b, ' ');
  end;
end.
 
     
         
        
        
        
        
        
        
            
             ________________  
                Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
ICQ 31-32-31 
             
        
        
        
        
     | 
 
    | 
        
        
        
        
         
     | 
    
    
    
        
        
        
        
             
        
        
        
        
        
        
        
            
        
        
        
     | 
 
 
 
  
	 
	
		 
	 
 
 
	
		
	
	
	
	
	
		
	
		 
		Ваши права в разделе
	 | 
 
	
		
		Вы не можете создавать новые темы 
		Вы не можете отвечать в темах 
		Вы не можете прикреплять вложения 
		Вы не можете редактировать свои сообщения 
		 
		
		
		
		
		HTML код Выкл. 
		 
		
	  | 
 
 
	 | 
	
		
	 | 
 
 
 
Заявление об ответственности / Список мошенников
Часовой пояс GMT +4, время: 03:11. 
		 
	 
 
 | 
  |