Soluciones lección 007
Página 1 de 1.
Soluciones lección 007
Solución propuesta para el ejercicio 4 de los propuestos para la lección 7:
Solución:
Solución:
- Código:
Descripcion:
Aplicando la estrategia divide & conquer, identificamos
dos problemas:
(1) Dado un caracter (caracterDado) y un largo (largoLineaActual),
imprimir una secuencia de (caracterDado's) de longitud
(largoLineaActual)
(2) Dada una cantidad de lineas (cantLineas),
repetir (1) (cantLineas) veces. La primera vez con
(largoLineaActual), la segunda (largoLineaActual - 2), y asi
sucesivamente hasta la ultima linea, de largo 1.
Del problema se desprende que necesitamos dos ciclos anidados,
el primero decrementandose desde el largo hasta 1, y el segundo
imprimiendo caracteres desde 1 hasta el valor de la variable de
iteracion del primero.
Un enfoque incorrecto hubiera sido intentar resolverlo con un
ciclo, y dentro del mismo utilizar variables auxiliares y
condiciones para determinar cuando introducir un cambio de
linea.
------
*)
(* Precondicion: cantLineas >= 0 *)
PROGRAM ImprimirTriangulo( Input, Output );
VAR cantLineas, largoLineaActual, posEnLinea : Integer;
caracterDado : Char;
BEGIN
readln( cantLineas);
readln( caracterDado );
FOR largoLineaActual := cantLineas DOWNTO 1 DO
BEGIN
FOR posEnLinea := 1 TO largoLineaActual DO
write( caracterDado );
writeln
END
END.
Temas similares
» Soluciones lección 011
» Soluciones lección 005
» Soluciones lección 021
» Soluciones lección 006
» Soluciones lección 009
» Soluciones lección 005
» Soluciones lección 021
» Soluciones lección 006
» Soluciones lección 009
Página 1 de 1.
Permisos de este foro:
No puedes responder a temas en este foro.