• Lenguaje

    Pascal

  • Descripción

    Programa que pide el número de niveles para mostrar el Triángulo de Pascal

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
program pascal_;
uses crt;

var i, j, n : integer;
type integerarray  = array[0..0] of integer;
type pintegerarray = ^integerarray;
var buffer, fila : pintegerarray;
var tecla : char;
begin
    write ('Ingrese el n'#163'mero de niveles: ');
    readln (n);
    getmem (buffer, sizeof (pintegerarray) * (n + 2));
    getmem (fila  , sizeof (pintegerarray) * (n + 2));
    for j := 0 to n + 1 do
        begin
            buffer^[j] := 0;
            fila  ^[j] := 0;
        end;
    for i := 0 to n do
        begin
            fila^[0] := 1;
            fila^[i] := 1;
            for j := 1 to i + 1 do
                fila^[j] := buffer^[j-1] + buffer^[j];
            j := n-1;
            while j>=i do
                begin
                    write ('   ');
                    dec (j);
                end;
            for j := 0 to i do
                write (fila^[j]:5, ' ');
            writeln;
            for j := 0 to n+1 do
                buffer^[j] := fila^[j];
        end;
    writeln;
    write ('Presione una tecla para terminar . . . ');
    tecla := readkey;
end.