Programas ejemplo Lenguaje de Programación PASCAL
Miguel Murguía
Programas ejemplo de PASCAL
Programas ejemplo Lenguaje de Programación PASCAL Miguel Murguía
[email protected] ABACo, A.C. Asociación de Biólogos Amigos de la Computación, A. C. www.abacoac.org.mx México, D.F. 1996
Miguel Murguía
pág. 2
Programas ejemplo de PASCAL
Contenido PROGRAMA PROGRAMA PROGRAMA PROGRAMA PROGRAMA PROGRAMA PROGRAMA PROGRAMA PROGRAMA PROGRAMA PROGRAMA PROGRAMA PROGRAMA ELSE" PROGRAMA PROGRAMA PROGRAMA PROGRAMA PROGRAMA PROGRAMA ANIDADA PROGRAMA ANIDADA PROGRAMA PROGRAMA PROGRAMA
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13:
BLOQUE PRINCIPAL DE UN PROGRAMA PASCAL SUMA DOS NUMEROS DECLARACION DE VARIABLE ENTERA DOS VARIABLES PARA SUMAR ECUACION DE UNA RECTA INTERSECCION DE DOS RECTAS INTERSECCION DE DOS RECTAS NO PARALELAS ECUACION GENERAL CUADRATICA ECUACION CUADRATICA VERIFICANDO RAICES REALES EJEMPLIFICA EL USO DE LA INSTRUCCION IF EJEMPLIFICA EL USO DE LA INSTRUCCION IF ... ELSE EJEMPLIFICA EL USO DE LA INSTRUCCION "CASE" EJEMPLIFICA EL USO DE LA INSTRUCCION "CASE ...
14: 15: 16: 17: 18: 19:
EJEMPLIFICA EJEMPLIFICA EJEMPLIFICA EJEMPLIFICA EJEMPLIFICA EJEMPLIFICA
EL EL EL EL EL EL
USO USO USO USO USO USO
DE DE DE DE DE DE
LA LA LA LA LA LA
INSTRUCCION INSTRUCCION INSTRUCCION INSTRUCCION INSTRUCCION INSTRUCCION
"FOR" "FOR" "While" "Repeat" "FOR" ANIDADA "WHILE"
20: EJEMPLIFICA EL USO DE LA INSTRUCCION "Repeat" 21: MENU CON "CASE" 22: ECUACION CUADRATICA CON MENU 23: Ordena por burbuja
Miguel Murguía
pág. 3
Programas ejemplo de PASCAL
(******************************************************* Miguel Murguía. ABACo, A. C.
[email protected]
PROGRAMA 1: BLOQUE PRINCIPAL DE UN PROGRAMA PASCAL Ultima actualización: 24/SEP/96 *******************************************************) Program prg001; begin writeln('Nombre del alumno: JUAN SINMIEDO'); writeln('Carrera: Matemáticas'); writeln; writeln; writeln(' Septiembre, 1996'); readln; end.
Miguel Murguía
pág. 4
Programas ejemplo de PASCAL
(******************************************************* Miguel Murguía. ABACo, A. C.
[email protected]
PROGRAMA 2: SUMA DOS NUMEROS Ultima actualización: 24/SEP/96 *******************************************************) Program prg002; begin writeln('Nombre del alumno: JUAN SINMIEDO'); writeln('Carrera: Matemáticas'); writeln('Septiembre, 1996'); write('5 + 8 = '); write(5 + 8); readln; end.
Miguel Murguía
pág. 5
Programas ejemplo de PASCAL
(******************************************************* Miguel Murguía. ABACo, A. C.
[email protected]
PROGRAMA 3: DECLARACION DE VARIABLE ENTERA Ultima actualización: 24/SEP/96 *******************************************************) Program prg003; var Sumando: Integer; begin writeln('Programa 003: Tabla de sumar del 5'); write('Sumando: '); readln(Sumando); write('5 + '); write(Sumando); write(' = '); writeln(5 + Sumando); readln; end.
Miguel Murguía
pág. 6
Programas ejemplo de PASCAL
(******************************************************* Miguel Murguía. ABACo, A. C.
[email protected]
PROGRAMA 4: DOS VARIABLES PARA SUMAR Ultima actualización: 24/SEP/96 *******************************************************) Program prg004; var Sumando1, Sumando2: Integer; begin writeln('Programa 003: Suma dos números'); write('Primer sumando : '); readln(Sumando1); write('Segundo sumando : '); readln(Sumando2); writeln; write(Sumando1); write(' + '); write(Sumando2); write(' = '); writeln(Sumando1 + Sumando2); readln; end.
Miguel Murguía
pág. 7
Programas ejemplo de PASCAL
(******************************************************* Miguel Murguía. ABACo, A. C.
[email protected]
PROGRAMA 5: ECUACION DE UNA RECTA Ultima actualización: 24/SEP/96 *******************************************************) Program prg005; var X,M,B: Integer; (* Y = M * X + B
*)
begin M := 6; B := 10; write('X : '); readln(X); write('Y = '); write(M*X + B); readln; end.
Miguel Murguía
pág. 8
Programas ejemplo de PASCAL
(******************************************************* Miguel Murguía. ABACo, A. C.
[email protected]
PROGRAMA 6: INTERSECCION DE DOS RECTAS Ultima actualización: 27/SEP/96 *******************************************************) Program prg006; uses crt; var M1,B1, M2,B2: Real; C: Char; (* Y = M * X + B
*)
begin writeln('Este programa encuentra el punto de intersección'); writeln('de dos rectas.'); writeln('Datos de la primera recta:'); write('M: '); readln(M1); write('B: '); readln(B1); writeln('Datos de la segunda recta:'); write('M: '); readln(M2); write('B: '); readln(B2); writeln('Intersección:'); write('X = '); writeln((B2-B1)/(M1-M2):10:5); write('Y = '); writeln(M1*(B2-B1)/(M1-M2)+B1:10:5); C:=readkey; end.
Miguel Murguía
pág. 9
Programas ejemplo de PASCAL
(******************************************************* Miguel Murguía. ABACo, A. C.
[email protected]
PROGRAMA 7: INTERSECCION DE DOS RECTAS NO PARALELAS Ultima actualización: 27/SEP/96 *******************************************************) Program prg007; uses crt; var M1,B1, M2,B2: Real; C: Char; (* Y = M * X + B
*)
begin writeln('Este programa encuentra el punto de intersección'); writeln('de dos rectas.'); writeln('Datos de la primera recta:'); write('M: '); readln(M1); write('B: '); readln(B1); writeln('Datos de la segunda recta:'); write('M: '); readln(M2); write('B: '); readln(B2); If M1 M2 then begin writeln('Intersección:'); write('X = '); writeln((B2-B1)/(M1-M2):10:5); write('Y = '); writeln(M1*(B2-B1)/(M1-M2)+B1:10:5); end { del If...} else writeln('Las rectas son paralelas.'); C:=readkey; end.
Miguel Murguía
pág. 10
Programas ejemplo de PASCAL
(******************************************************* Miguel Murguía. ABACo, A. C.
[email protected]
PROGRAMA 8: ECUACION GENERAL CUADRATICA Ultima actualización: 24/SEP/96 *******************************************************) Program prg008; var A,B,C: Integer; begin write('A:'); readln(A); write('B:'); readln(B); write('C:'); readln(C); write('El resultado es: '); writeln('El resultado es: '); writeln('r1 = ',-B + SQRT( (SQR(B)-4*A*C)) / (2*A) : 10:5); writeln('r2 = ',-B - SQRT( (SQR(B)-4*A*C)) / (2*A) : 10:5); readln; end.
Miguel Murguía
pág. 11
Programas ejemplo de PASCAL
(******************************************************* Miguel Murguía. ABACo, A. C.
[email protected]
PROGRAMA 9: ECUACION CUADRATICA VERIFICANDO RAICES REALES Ultima actualización: 20/OCT/96 *******************************************************) Program prg009; var A,B,C: Integer; begin write('A:'); readln(A); write('B:'); readln(B); write('C:'); readln(C); { Ojo verificar que sea la ecuacion correcta } if SQR(B)-4*A*C > 0 then begin writeln('El resultado es: '); writeln('r1 = ',-B + SQRT( (SQR(B)-4*A*C)) / (2*A) : 10:5); writeln('r2 = ',-B - SQRT( (SQR(B)-4*A*C)) / (2*A) : 10:5); end else writeln('raices imaginarias...'); readln; end.
Miguel Murguía
pág. 12
Programas ejemplo de PASCAL
(******************************************************* Miguel Murguía. ABACo, A. C.
[email protected]
PROGRAMA 10: EJEMPLIFICA EL USO DE LA INSTRUCCION IF Ultima actualización: 20/OCT/96 *******************************************************) Program prg010; var Calif: Real; begin write('Cuál es la calificación: '); readln(Calif); if Calif < 6 then writeln('NA'); if (Calif >= 6) AND (Calif < 8) then writeln('S'); if Calif >= 8 AND Calif < 9 then writeln('B'); if Calif > 9 then writeln('MB'); readln; end.
Miguel Murguía
pág. 13
Programas ejemplo de PASCAL
(******************************************************* Miguel Murguía. ABACo, A. C.
[email protected]
PROGRAMA 11: EJEMPLIFICA EL USO DE LA INSTRUCCION IF ... ELSE Ultima actualización: 20/OCT/96 *******************************************************) Program prg011; var Calif: Real; begin write('Cuál es la calificación: '); readln(Calif); if (Calif < 0) or (Calif > 10) then writeln('Error: la calificacion debe estar entre 0 y 10.') else begin if Calif < 6 then writeln('NA'); if (Calif >= 6) AND (Calif < 8) then writeln('S'); if (Calif >= 8) AND (Calif < 9) then writeln('B'); if (Calif >= 9) AND (Calif Dato[J+1] then begin Temp:=Dato[J]; Dato[J]:=Dato[J+1]; Dato[J+1]:=Temp; end; writeln('Datos ordenados.'); end; '4': begin Writeln('Los datos ordenados son:'); Writeln; For I:=1 to MaxDato do Writeln(I,') ',Dato[I]); end; '5': writeln('Gracias por usar este programa.') else writeln('Opcion no válida (elija 1 a 5)'); end; (* fin del Case *) Espera (* Esta es una llamada al procedimiento "Espera" *) Until Opcion = '5'; end.
Miguel Murguía
pág. 28