Programas ejemplo. Lenguaje de Programación PASCAL. Miguel Murguía

Documentos relacionados
Primer Parcial. Programación 1 Instituto de Computación Año 2017

1. Suma de dos números introducidos por teclado. 2. Comparación de dos números introducidos por teclado. program suma; uses crt;

LABORATORIO DE PROGRAMACIÓN II Problemas HOJA 1 RECURSIVIDAD

Práctica 11. Subrogramas: Funciones y Procedimientos. Prof. Eliana Guzmán U.

Estructuras de Programación

Módulo. = Asignación = = Comp. de igualdad!= Com. de desigualdad <= Comp. menor o igual >= Comp. mayor o igual AND lógico OR lógica.

ESTRATEGIA DIDÁCTICA Estructura de control de secuencia: IF THEN ELSE

Apunte Laboratorio ALPI - El lenguaje de programación Pascal

Programación y Computación Ingenierías. Dr. Eric Jeltsch F. FUNCIONES Y PROCEDIMIENTOS. Universidad de La Serena.

UTN FRLP Ing. en Sistemas de Información Algoritmos y Estructura de Datos Trabajos Prácticos Curso 2010

SUBRANGO ENUMERADOS CONJUNTOS

FUNDAMENTOS DE OBJECT PASCAL

GUIA EXAMEN FINAL/EXTRAORDINARIO

Arreglos y Subrangos

1. ESTRUCTURA DE UN PROGRAMA PASCAL Todo programa escrito en lenguaje Pascal, del más simple al más complejo, tiene la siguiente estructura:

APUNTES DE CÁTEDRA: ARREGLOS MULTIDIMENSIONALES

Manual de turbo pascal

UTN FRLP Ing. en Sistemas de Información Algoritmos y Estructura de Datos Trabajos Prácticos Curso 2010

Resolución de Problemas y Algoritmos Segundo cuatrimestre 2015 Clase 11: Construcción de primitivas (Funciones)

Ejercicios de Pascal Resueltos

16. Realizar un programa que obtenga el producto de los primeros seis números naturales

TURBO PASCAL SOLUCIONES LABORATORIOS

ALGORITMOS Y ESTRUCTURAS DE DATOS. Ejercicios Resueltos CUADERNILLO DE PRACTICA

ALGORITMOS Y ESTRUCTURAS DE DATOS EJERCICIOS RESUELTOS SEGUNDA PARTE

Flujo del programa. Este flujo puede alterarse mediante: El ordenador ejecuta cada sentencia y va a la siguiente hasta el final del programa.

Datos en Turbo Pascal

Declaración de Procedimientos

Estructura de datos (arreglos) Vectores y Matrices

EJERCICIOS EN PASCAL 1.- Área de un triángulo (Entrada y salida estándar - Pascal) 1.- Escribir un programa (en Pascal) que:

EJERCICIOS RESUELTOS DE ARREGLOS Y MATRICES

Primer Parcial. Programación 1 Instituto de Computación Año 2011

CAPÍTULO VI PROGRAMAS EN TURBO PASCAL. 6.1 PROGRAMAS BÁSICOS 1 MAYOR Programa que encuentra el mayor de tres números enteros introducidos por teclado

Práctica 1 Estructuras Secuenciales. Semestre A-2015

1. (0,25 puntos) A que número binario es equivalente el decimal 138?

Este es un arreglo de números enteros, o sea que guarda una serie de variables de tipo INTEGER, todas agrupadas en una sola estructura.

FUNDAMENTOS DE PROGRAMACIÓN LABORATORIO SESIÓN 2

ALGORITMOS Y ESTRUCTURAS DE DATOS EJERCICIOS RESUELTOS SEGUNDA PARTE

Estructuras de Control. Secuencia y Selección

Introducción al Lenguaje de Programación Ada

Ordinales, Enumerados y Conjuntos

U nidad 6: A rreglos: U nidim ensionales y m ultidim ensionales

FICHEROS EN PASCAL. Ficheros

EJERCICIOS RESUELTOS DE PASCAL

Departamento de Informática Universidad de Valladolid Campus de Segovia LABORATORIO: INTRODUCCIÓN A LAS UNIDADES EN TURBO PASCAL

EXAMENES RESUELTOS DE PROGRAMACION I

Repetición Condicional

Estructuras de Control. Secuencia y Selección

Tema 1 INTRODUCCIÓN A LOS LENGUAJES DE PROGRAMACIÓN

Trabajo Práctico Nº 4 Iteración

1. Estructuras de decisión: simples (SI..ENTONCES..SINO) y múltiples (CASO)

Enteros. Son los números que no contienen componentes fraccionarios y, por tanto, no contienen punto decimal.

9. Subprogramas: Procedimientos 1. TEMA 9: Subprogramas: Procedimientos

6. Estructuras básicas de control 1. Pseudocódigo

Departamento de Informática Universidad de Valladolid Campus de Segovia TEMA 1: RECURSIÓN

Resolución de Problemas y Algoritmos

Repaso de Pascal Introducción a Python. Lenguajes de Programación 2018

7. PROCEDIMIENTOS Y FUNCIONES

Ejemplo: Paso de polares a cartesianas en el plano. f : [0, ) [0, 2π) R R. coordx : [0, ) [0, 2π) R. coordy : [0, ) [0, 2π) R

LENGUAJES DE PROGRAMACIÓN

Programación en Pascal. Bucles

Arboles. Definiciones formales: 1) un árbol es un grafo acíclico finito T (P, E) tal que. P = E + 1 => todo arco es desconectante.

Universidad de Valladolid. Departamento de informática. Campus de Segovia. Estructura de datos Tema 1: Recursividad. Prof. Montserrat Serrano Montero

Análisis léxico. Formalización y desarrollo. Procesadores de Lenguajes. Ingeniería Técnica superior de Ingeniería Informática

Arreglos y Subrangos

324 MR Versión 1 1 Prueba Integral 1/6 Lapso UNIVERSIDAD NACIONAL ABIERTA Semana 12 VICERRECTORADO ACADÉMICO ÁREA INGENIERÍA

Resolución de Problemas y Algoritmos Clase 6: Repetición (continuación)

Unidades en PASCAL (Units)

Registros. Programación 1. InCo - FING. Programación 1 Registros InCo - FING 1 / 20

CONTENIDOS MATEMÁTICA 1ER. AÑO BI Y 1ER AÑO BE

MODULO II PROGRAMACIÓN ORIENTADA A EVENTOS

EXAMENES RESUELTOS DE PROGRAMACION I

Program Orden; Uses crt; Const n=100; Type vector= array[1..n] of integer; Var a,b : vector; prim, ulti,i, ne : integer; metodo : char;

Procedimientos, Funciones y Recursividad

Introducción a la Programación

Transcripción:

Programas ejemplo Lenguaje de Programación PASCAL Miguel Murguía

Programas ejemplo Lenguaje de Programación PASCAL Miguel Murguía 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

Contenido PROGRAMA 1: BLOQUE PRINCIPAL DE UN PROGRAMA PASCAL PROGRAMA 2: SUMA DOS NUMEROS PROGRAMA 3: DECLARACION DE VARIABLE ENTERA PROGRAMA 4: DOS VARIABLES PARA SUMAR PROGRAMA 5: ECUACION DE UNA RECTA PROGRAMA 6: INTERSECCION DE DOS RECTAS PROGRAMA 7: INTERSECCION DE DOS RECTAS NO PARALELAS PROGRAMA 8: ECUACION GENERAL CUADRATICA PROGRAMA 9: ECUACION CUADRATICA VERIFICANDO RAICES REALES PROGRAMA 10: EJEMPLIFICA EL USO DE LA INSTRUCCION IF PROGRAMA 11: EJEMPLIFICA EL USO DE LA INSTRUCCION IF... ELSE PROGRAMA 12: EJEMPLIFICA EL USO DE LA INSTRUCCION "CASE" PROGRAMA 13: EJEMPLIFICA EL USO DE LA INSTRUCCION "CASE... ELSE" PROGRAMA 14: EJEMPLIFICA EL USO DE LA INSTRUCCION "FOR" PROGRAMA 15: EJEMPLIFICA EL USO DE LA INSTRUCCION "FOR" PROGRAMA 16: EJEMPLIFICA EL USO DE LA INSTRUCCION "While" PROGRAMA 17: EJEMPLIFICA EL USO DE LA INSTRUCCION "Repeat" PROGRAMA 18: EJEMPLIFICA EL USO DE LA INSTRUCCION "FOR" ANIDADA PROGRAMA 19: EJEMPLIFICA EL USO DE LA INSTRUCCION "WHILE" ANIDADA PROGRAMA 20: EJEMPLIFICA EL USO DE LA INSTRUCCION "Repeat" ANIDADA PROGRAMA 21: MENU CON "CASE" PROGRAMA 22: ECUACION CUADRATICA CON MENU PROGRAMA 23: Ordena por burbuja Miguel Murguía pág. 3

PROGRAMA 1: BLOQUE PRINCIPAL DE UN PROGRAMA PASCAL Ultima actualización: 24/SEP/96 Program prg001; writeln('nombre del alumno: JUAN SINMIEDO'); writeln('carrera: Matemáticas'); writeln; writeln; writeln(' Septiembre, 1996'); Miguel Murguía pág. 4

PROGRAMA 2: SUMA DOS NUMEROS Ultima actualización: 24/SEP/96 Program prg002; writeln('nombre del alumno: JUAN SINMIEDO'); writeln('carrera: Matemáticas'); writeln('septiembre, 1996'); write('5 + 8 = '); write(5 + 8); Miguel Murguía pág. 5

PROGRAMA 3: DECLARACION DE VARIABLE ENTERA Ultima actualización: 24/SEP/96 Program prg003; Sumando: Integer; writeln('programa 003: Tabla de sumar del 5'); write('sumando: '); readln(sumando); write('5 + '); write(sumando); write(' = '); writeln(5 + Sumando); Miguel Murguía pág. 6

PROGRAMA 4: DOS VARIABLES PARA SUMAR Ultima actualización: 24/SEP/96 Program prg004; Sumando1, Sumando2: Integer; 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); Miguel Murguía pág. 7

PROGRAMA 5: ECUACION DE UNA RECTA Ultima actualización: 24/SEP/96 Program prg005; X,M,B: Integer; (* Y = M * X + B *) M := 6; B := 10; write('x : '); readln(x); write('y = '); write(m*x + B); Miguel Murguía pág. 8

PROGRAMA 6: INTERSECCION DE DOS RECTAS Ultima actualización: 27/SEP/96 Program prg006; uses crt; M1,B1, M2,B2: Real; C: Char; (* Y = M * X + B *) 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; Miguel Murguía pág. 9

PROGRAMA 7: INTERSECCION DE DOS RECTAS NO PARALELAS Ultima actualización: 27/SEP/96 Program prg007; uses crt; M1,B1, M2,B2: Real; C: Char; (* Y = M * X + B *) 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 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; Miguel Murguía pág. 10

PROGRAMA 8: ECUACION GENERAL CUADRATICA Ultima actualización: 24/SEP/96 Program prg008; A,B,C: Integer; 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); Miguel Murguía pág. 11

PROGRAMA 9: ECUACION CUADRATICA VERIFICANDO RAICES REALES Program prg009; A,B,C: Integer; 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 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...'); Miguel Murguía pág. 12

PROGRAMA 10: EJEMPLIFICA EL USO DE LA INSTRUCCION IF Program prg010; Calif: Real; 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'); Miguel Murguía pág. 13

PROGRAMA 11: EJEMPLIFICA EL USO DE LA INSTRUCCION IF... ELSE Program prg011; Calif: Real; 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 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 <=10) then writeln('mb'); Miguel Murguía pág. 14

PROGRAMA 12: EJEMPLIFICA EL USO DE LA INSTRUCCION "CASE" Program prg012; Calif: Byte; write('cuál es la calificación: '); readln(calif); Case Calif of 0..5: writeln('na'); 6, 7: writeln('s'); 8, 9: writeln('b'); 10 : writeln('mb'); { Case } Miguel Murguía pág. 15

PROGRAMA 13: EJEMPLIFICA EL USO DE LA INSTRUCCION "CASE... ELSE" Program prg013; Calif: Byte; write('cuál es la calificación: '); readln(calif); Case Calif of 0..5: writeln('na'); 6, 7: writeln('s'); 8, 9: writeln('b'); 10 : writeln('mb'); else writeln('error: la calificacion debe estar entre 0 y 10.') { Case } Miguel Murguía pág. 16

PROGRAMA 14: EJEMPLIFICA EL USO DE LA INSTRUCCION "FOR" Program prg014; N: Byte; For N:=1 to 10 do writeln('5 x ',N,' = ', 5 * N); Miguel Murguía pág. 17

PROGRAMA 15: EJEMPLIFICA EL USO DE LA INSTRUCCION "FOR" Program prg015; T,N: Byte; Write('Presentar la tabla del : '); readln(t); For N:=1 to 10 do writeln(t, ' x ', N, ' = ', T * N); Miguel Murguía pág. 18

PROGRAMA 16: EJEMPLIFICA EL USO DE LA INSTRUCCION "While" Program prg016; T,N: Byte; Write('Presentar la tabla del : '); readln(t); N:=1; While N <=10 do writeln(t, ' x ', N, ' = ', T * N); N:=N+1; Miguel Murguía pág. 19

PROGRAMA 17: EJEMPLIFICA EL USO DE LA INSTRUCCION "Repeat" Program prg017; T,N: Byte; Write('Presentar la tabla del : '); readln(t); N:=1; Repeat writeln(t, ' x ', N, ' = ', T * N); N:=N+1 Until N>10; Miguel Murguía pág. 20

PROGRAMA 18: EJEMPLIFICA EL USO DE LA INSTRUCCION "FOR" ANIDADA Program prg018; T,N: Byte; Writeln('Presenta las tabla del 1 al 10'); writeln; For T:=1 to 10 do For N:=1 to 10 do writeln(t, ' x ', N, ' = ', T * N); Miguel Murguía pág. 21

PROGRAMA 19: EJEMPLIFICA EL USO DE LA INSTRUCCION "WHILE" ANIDADA Program prg019; uses crt; T,N: Byte; Writeln('Presenta las tabla del 1 al 10'); writeln; T:=1; while T <= 10 do while N <= 10 do writeln(t, ' x ', N, ' = ', T * N); inc(n); writeln('---------------'); N:=1; Inc(T); Miguel Murguía pág. 22

PROGRAMA 20: EJEMPLIFICA EL USO DE LA INSTRUCCION "Repeat" ANIDADA Program prg020; uses crt; T,N: Byte; Writeln('Presenta las tabla del 1 al 10'); writeln; T:=1; Repeat Repeat writeln(t, ' x ', N, ' = ', T * N); inc(n); until N > 10; writeln('---------------'); N:=1; Inc(T); until T > 10; Miguel Murguía pág. 23

PROGRAMA 21: MENU CON "CASE" Program prg021; uses crt; Opcion: Byte; C : Char; Repeat ClrScr; writeln('pequeño menú'); writeln('-------------'); writeln('1) La opción uno'); writeln('2) Seguna opción'); writeln('3) Opción 3'); writeln('4) Fin'); writeln('-------------'); write('su opción: '); readln(opcion); writeln; Case Opcion of 1: writeln('se eligió a la opción 1'); 2: writeln('se eligió a la opción 2'); 3: writeln('se eligió a la opción 3'); writeln; Writeln('Presione una tecla para continuar...'); C:=readkey; Until Opcion = 4; Miguel Murguía pág. 24

PROGRAMA 22: ECUACION CUADRATICA CON MENU Program prg022; uses crt; A, B, C: real; Opcion: Byte; Car: Char; Repeat ClrScr; writeln('ecuación cuadrática'); writeln('-------------------'); writeln('1) Explicación'); writeln('2) Lee coeficientes'); writeln('3) Muestra resultados'); writeln('4) Fin'); writeln('-------------------'); write('su opción: '); readln(opcion); writeln; Case Opcion of 1: writeln('este programa calcula las raíces de una'); writeln('ecuación cuadrática.'); writeln('es un ejemplo de cómo puede organizarse'); writeln('un programa mediante un menú.'); 2: writeln('se eligió a la opción 2'); 3: writeln('se eligió a la opción 3'); writeln; Writeln('Presione una tecla para continuar...'); Car:=readkey; Until Opcion = 4; Miguel Murguía pág. 25

PROGRAMA 23 al 29: Arreglos (falta escribirlos) Program prg023; Miguel Murguía pág. 26

PROGRAMA 23: Ordena por burbuja Ultima actualización: 7/NOV/96 Program prg030; uses crt; const MaxDato = 10; type TArreglo = array [1..MaxDato] of word; Dato : TArreglo; Opcion : Char; I,J, Temp : Word; (****************** Procedimiento Espera **************************) (* Aqui se muestra cómo declarar procedimientos. Observa que dentro del procedimiento pueden declararse iables "locales". *) Procedure Espera; C: Char; Writeln; Write('Presione una tecla para continuar...'); C:=Readkey; (* Este es el bloque principal *) Repeat ClrScr; writeln;writeln;writeln;writeln; writeln(' Prg030: Ordena Por Burbuja.'); writeln(' (((((((((((((((((((((((((((((('); writeln(' ( 1) Explicación ('); writeln(' ( 2) Lee datos ('); writeln(' ( 3) Ordena ('); writeln(' ( 4) Muestra resultados ('); writeln(' ( 5) Fin ('); writeln(' (((((((((((((((((((((((((((((('); writeln; write(' Su opción: '); Opcion:=Readkey; ClrScr; writeln; Case Opcion of Miguel Murguía pág. 27

'1': writeln('este programa ordena un arreglo de MaxDato'); writeln('por el método de la "burbuja".'); writeln('el método es fácil de implementar mediante'); writeln('dos "fors" anidados.'); '2': writeln('introduzca los ',MaxDato,' datos:'); for I:=1 to MaxDato do write('dato ',I,':'); readln(dato[i]); Writeln('Datos leidos.'); '3': writeln('ordenando datos...'); for I:=1 to MaxDato do For J:=1 to MaxDato-1 do if Dato[J]>Dato[J+1] then Temp:=Dato[J]; Dato[J]:=Dato[J+1]; Dato[J+1]:=Temp; writeln('datos ordenados.'); '4': Writeln('Los datos ordenados son:'); Writeln; For I:=1 to MaxDato do Writeln(I,') ',Dato[I]); '5': writeln('gracias por usar este programa.') else writeln('opcion no válida (elija 1 a 5)'); (* fin del Case *) Espera (* Esta es una llamada al procedimiento "Espera" *) Until Opcion = '5'; Miguel Murguía pág. 28