Автобусные билеты в рулоне пронумерованы от 000001 до 999999. Составить программу, выводящую на экран количество и номера (в несколько столбиков) всех счастливых билетов в некотором диапазоне, организовав запрос начального и конечного номера билета диапазона.
Примечание: Счастливым считать тот билет, у которого сумма первых трех цифр равна сумме трех последних

я изменил ввывод на экран на вывод в текстовой файл (так удобней ,по мойму, анализировать)

    program lukyticket ;
    uses
    crt ;

    {---------------processing a and b--------------------------------}
    function processing (s : integer ) : byte ;                                                                                     
    var                                                                                            
    unity, ten, hunderd : byte ;
    hundiv, tendiv : integer ;
    begin
    hunderd := trunc( s / 100 ) ;
    hundiv  := hunderd * 100 ;
    ten     := trunc( (s - hundiv) / 10 ) ;
    tendiv  := 10 * ten ;
    unity   := trunc(( s - hundiv - tendiv)  ) ;
    s := hunderd + ten + unity ;
    end ;

    {-----------------------------------------------------------------}

    procedure lukyticket ;
    const
    str1 = 'ticket number : ' ;
    str2 = ' : ' ;
    razdel = 1000 ;
    n = 2 ;
    var
    i, start, finisch  : longint ;
    a, b  : integer ;
    keyrec : longint ;
    output : text ;
    nolstr : string [ n ] ;
    begin
    write('vvedite diapason ot --> '); readln(start);
    write('do --> '); readln(finisch);
    a := 0 ;
    b := 0 ;
    keyrec := 0 ;
    nolstr := '' ;
    assign(output,'output.txt');
    rewrite(output) ;
    for i := start to finisch do        
        begin
        a := trunc( i / razdel ) ;
        b := i - a * razdel ;
        if processing(a) = processing(b) then 
            begin
            keyrec := keyrec + 1 ; 
            if ( i > 1000 ) and ( i < 10000) then nolstr := '00' ;
            if ( i > 10000 ) and ( i < 100000) then nolstr := '0' ;
            if i > 100000 then nolstr := '' ;
            writeln(output, str1, keyrec, str2, nolstr, i) ;
            end ;
         end ;
         writeln(output,'--------itog----------------------------}');
         writeln(output,'itogo : vsego colvo luckitickets :',keyrec);
         close(output);
    end ;

    {------------------------main programm---------------------}

    BEGIN
    lukyticket ;
    END .



1 вопрос правильность |
2 вопрос можно ли улучшить некотрые строки кардинально не меняя код | ?
3 как вывести в несколько столбцов |

вот сама программа --> Нажмите для просмотра прикрепленного файла

забыл дописать прверку на start <= 1000 то ...

заранее спасибо.