Abrir el menú de navegación
Cerrar sugerencias
Buscar
Buscar
es
Change Language
Cambiar idioma
Cargar
Iniciar sesión
Iniciar sesión
Descargar gratis durante días
0 calificaciones
0% encontró este documento útil (0 votos)
142 vistas
23 páginas
Manual de Programación Free Pascal
pascal manual
Cargado por
Anahi Ailin Santa Cruz
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido,
reclámalo aquí
.
Formatos disponibles
Descarga como PDF o lee en línea desde Scribd
Descargar
Guardar
Guardar Manual de Programación Free Pascal para más tarde
0%
0% encontró este documento útil, undefined
0%
, undefined
Insertar
Compartir
Imprimir
Reportar
0 calificaciones
0% encontró este documento útil (0 votos)
142 vistas
23 páginas
Manual de Programación Free Pascal
pascal manual
Cargado por
Anahi Ailin Santa Cruz
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido,
reclámalo aquí
.
Formatos disponibles
Descarga como PDF o lee en línea desde Scribd
Carrusel anterior
Carrusel siguiente
Descargar
Guardar
Guardar Manual de Programación Free Pascal para más tarde
0%
0% encontró este documento útil, undefined
0%
, undefined
Insertar
Compartir
Imprimir
Reportar
Descargar ahora
Descargar
Está en la página 1
/ 23
Buscar
pantalla completa
Jule Morene Garcia ‘Segundo Grado de Edueacién Secundaria - ELEMENTOS BASICOS Un programa en Free Pascal es un conjunto de instrucciones o sentencias, escritas segun ciertas reglas, para realizar operaciones sobre entidades de datos conocidas como constantes, variables y resultados de funciones Arecordar: > Laconstante, es una entidad cuyo valor no puede ser modificado durante la ejecucion > Lavariable, es una entidad cuyo valor puede modificarse durante la ejecucién > Una funcién, es un conjunto de operaciones asociadas a un nombre y que devuelve un valor > Una sentencia, es una accién algoritmica que se escribe y puede ser ejecutada > Una instruccién, es una orden singular impartida a un computador mediante un programa escrito en un determinado lenguaje > El comand, es un término con el que se suele indicar una instruccién dada al computador 2.- ESTRUCTURA DE UN PROGRAMA La estructura basica de un programa en FreePascal, Pascal o Turbo Pascal es’ program identificador; {cabecera del programa} uses identificador: (ert, graph, print, etc.) {zona de declaracién} const lista de constantes = valor; type declaracién de tipos de datos definidos por el usuario; var lista de variables:tipo: (integer, real, char, string, etc.) procedure definicién de procedimientos: function definicién de funciones; begin {cuerpo del programa} instrucciones; end. Ejemplos. Codificar un programa que permita sumar 2 ntimeros enteros program numero; uses crt; var suma, a, b: integer; begin clrser; write(‘Ingrese 2 numeros:’); read{a,b); suma:atb; vnite(El resultado es:'suma): readkey; end,Jule Morene Garcia ‘Segundo Grado de Edueacién Secundaria PROGRAM numero; USES CRT; VAR a, b, c: INTEGER: BEGIN ClrSer, WRITELN (‘Este programa suma dos nimeros:); WRITELN ("1); WRITE Cintroduzca un numero’ READIN (a); WRITE (‘introduzca otro numero:'); READLN (b): WRITELN (''); cath; WRITE (EL RESULTADO ES: ') WRITE (c); END. Escribir un programa en Pascal que calcule la velocidad de un proyectil que recorre 2 Km en 5 minutos. Expresar el resultado en metros/segundo. PROGRAM velocidad; USES CRT; VAR espacio, tiempo, espacio2, tiempo2: REAL; VAR velocidad, velocidad2: REAL; BEGIN {Este programa calcula la velocidad de un cuerpo} Cirser, WRITE (Para calcular la velocidad debe escribirlo en unidades '); WRITE (del sistema internacional’; WRITELN (') WRITE (Escriba el espacio recorrido: READIN (espacio); WRITE (Escriba el tiempo transcurrido: ); READLN (tiempo); WRITELN (' velocidad:=(espacio)/(tiempo); WRITE (‘VELOCIDAD DEL PROYECTIL: '); WRITE (velocidad:5:2); WRITELN ( m/s); WRITELN (''); WRITELN (‘Si lo desea en Km/h introduzca los datos: ); WRITELN ('’); WRITE (‘Escriba el espacio recorrido: '); READLN (espacio2); WRITE (Escriba el tiempo transcurrido: ); READLN (tiempo2); WRITELN (' velocidad2:=(espacio2)/tiempo2): WRITE (velocidad2:5:2); WRITE ( Krvh END. 3.- OBJETOS DE UN PROGRAMA. Un programa se construye en base a objetos y separadores. Los objetos son las unidades significativas mas pequefias de texto de un programa y se divide en: simbolos especiales, identificadores, etiquetas, ntimeros, constantes, variables, directivas, etc 3.1.- Identificadores Representan los objetos de un programa. Un identificador es una secuencia de caracteres que puede ser de cualquier longitud, pero los primeros 64 son significativos Se caracteriza por las siguientes regias: = Debe comenzar con una letra mayliscula y/o mintiscula desde la "A" a la "Z" y desde latata la "2"io Moreno Garcia ‘Segundo Grado de Edscacén Secundaria = Los ntimeros del "0" al "a" = Caracteres especiales, tales como el "ampersand" (&), el signo de interrogacién (7), el signo de igualdad (=) = Caracteres no imprimibles, tales como el espacio en bianco, el tabulador, el salto de linea, el retorno de carro, el pitido - No se pueden utilizar palabras reservadas como identificadores, - Letras, digitos y caracteres subrayados ( _ ) estén permitidos después del primer caracter En general, los compiladores de FREEPASCAL, PASCAL 0 TURBO PASCAL no distinguen entre letras maytisculas y minisculas excepto cuando se escriben entre apéstrofes: Ejemplos: Validos PROGRAM Uno y PROGRAM UNO son equivalentes "Pepe Pérez’ y ‘PEPE PEREZ’ son diferentes nombre, pis, Lp_p, impuesto_Renta No son validos Fox%horas, j horas, begin, while 3.2. Palabras Reservadas: Se usan como nombres de sentencia, de tipos de datos y de operadores. Suelen escribirse con mayiisculas, aunque no es necesario, Las palabras reservadas sélo se pueden usar, dentro de un programa, en el contexto para ‘el que han sido definidas. No se pueden redefinir para usarlas como identificadores. Podemos indicar: AND END NIL SET ARRAY — FILE NOT THEN BEGIN FOR OF To CASE FUNCTION OR TYPE CONST GOTO PACKED UNTIL ov IF PROCEDURE VAR Do IN PROGRAM WHILE DOWNTO LABEL RECORD WITH ELSE MoD REPEAT 3.3.- Etiquetas: es un identificador que se compone de una secuencia de letras, digitos y que a diferencia del identificador clasico puede comenzar con digitos 4.- TIPOS DE DATOS En Free Pascal, todo dato esta asociado a un TIPO de datos y debe ser deciarado antes de utiizarse. Un TIPO de datos esta representado por un identificador y determina el rango de valores que un elemento de datos puede tomar, asi como las operaciones a que puede ser sometido. Ademas, el TIPO determina el espacio en memoria necesario para almacenar cualquiera de los valores posibles que puede tomar esa entidad El compilador proporciona identificadores para algunos tipos que estan predefinidos nimeros enteros y reales, valores logicos, caracteres alfanuméricos, registros, tablas, cadenas de caracteres, conjuntos, ficheros y punteros a estructuras dinamicas. Pero, ademas, el Free Pascal permite al usuario crear sus propios tipos definiendo identificadores de su eleccién para representar rangos de valores. Estos también llevan asociados un conjunto de operadores admisibles y unas necesidades determinadas de espacio en memoria. El tipo de una constanteio Moreno Garcia ‘Segundo Grado de Edscacin Secundaria @8 el tipo de su valor correspondiente. El tipo de una variable es el tipo establecido cuando se deciaré y no puede modificarse en general. El tipo de una funcién es el del valor que devuelve Los valores de las variables y de las funciones pueden cambiar tantas veces como se desee durante la ejecucién de un programa, pero esos valores deben permanecer siempre dentro del tango establecido por su tipo. Una variable no adopta un valor hasta que el programa le asigna uno. E valor de una funcién se calcula durante la ejecucién de dicha funcién Tipos de datos Predefinidos en Free Pascal Enteros Reales 4982 116493210 (Comp “92518 292618 Tipo cardcter (Char) El tipo Char depende del cédigo de caracteres empleado por la maquina. El mas tilizado es el cédigo ASCII, Una variable 0 constante tipo Char puede contener un solo caracter especificado entre apéstrofes. Ejemplo: ‘a’, "M’ Tipo Légico (Boolean) Pueden tomar dos valores True (verdadero) False (falso). El identificador estandar boolean define una variable de este tipo Tipo Cadena (String) Una cadena (string) es una secuencia de caracteres que tiene una longitud maxima de 255 caracteres. Los caracteres que componen la cadena se delimitan con apéstrofes. Ejemplo: ‘abed! longitud de la cadena 4" cadena vacia o nula. Una variable de cadena se define utiizando la palabra reservada String y el tamaho fisico maximo que pueda alcanzar durante la ejecucién del programa. Ejemplos: Const Lonmax 80; Type Cadena = StringfLonmax]: Var Varcad: Cadena; {*almacena hasta 80 caracteres"} Nombre: String: {*almacena hasta 255 caracteres"}io Moreno Garcia ‘Segundo Grado de Edscacén Secundaria Ejemplos: Escribir un programa que calcule la suma de los numeros hasta un ntimero dado (introducido por el usuario) PROGRAM defiusuario; USES CRT, VAR inum:INTEGER; VAR suma:LONGINT, BEGIN ClrSer; WRITE(Introduzca un numero -> ); READLN(num); WRITE(Suma '); WRITE(0-); WRITE(num); WRITE(~->'); WRITE(suma); END. Escribir un programa en Pascal que calcule cuantos affos tarda en duplicarse un capital depositado al 5% de interés anual. PROGRAM EJERSO; USES CRT, VAR tiempo:REAL; VAR cap_ini,cap_fin:REAL; CONST interes = 0.05; BEGIN Cirser, WRITE (‘intruduzca el capital pata calcular cuanto tardara WRITE (en duplicarse, con un interes del 5%: '); READIN (cap_ini); WRITELN ("); IF cap_ini <0 THEN BEGIN WRITE (‘No se puede incluir un capital negativo'); EXIT, END; tiempo:=0; cap_fin REPEAT cap_fin:=cap_fin + (cap_fin * interes); tiempo:= tiempo + 1; UNTIL cap_fin > (cap_ini* 2); WRITELN (Tardara’, fiempo'3:0' afios en duplicarse’); WRITELN (Capital final: ', cap_fin:5:2," pts’); END. -ap_ini;Jule Morene Garcia ‘Segundo Grado de Edueacién Secundaria Tipos de datos Definidos en Free Pascal Existen dos diferentes tipos de datos simples definidos por el usuario: enumerados y subrago Tipos enumerados. Los tips enumerados se componen de una lista de identificadores ‘encerrados entre paréntesis y separados por comas. Type Estaciones = (primavera, verano, otofo, invierno); Colores (rojo, amarillo, verde, azul, violeta); Los tipos enumerados son ordinales ya que llevan asociado cada uno un numero entero, ‘empezando por el primero, al que se le asigna el O, al segundo un 1, y asi sucesivamente, por lo que no es independiente el orden de deciaracién. Un valor de tipo enumerado no puede pertenecer a dos declaraciones de tipo distintas y no pueden leerse desde teclado, ni escribirse en pantalla Tipos subrango Es un subconjunto de un tipo ordinal (enteros, boolean, caracter y enumerado) que se ‘specifica indicando el primero y el titimo elemento del conjunto. Ejemplo: Type Identificador=primerelemento. ultimoelemento; Ejem. 2 Type Fecha= 1.31; Var Dia: Fecha; Los tipos enteros, cardcter, booleanos, enumerados y subrango se denominan tipos ordinales. Un tipo ordinal representa una secuencia ordenada de valores individuales, a los que se puede aplicar los conceptos de predecesor y sucesor. En cada tipo de datos ordinales hay un primer valor y un titimo valor. Ejemplos: Escribir un programa en Pascal que almacene on la segunda fila de la siguionte matriz los cuadrados de los datos de la primera fila 36 7 8 9 00 o 0 0 PROGRAM arregio; USES CRT; CONST ar_nunARRAY [1.2.1.5] of INTEGER=( (367,89), .0.0,0.0)); VAR ij,cuad INTEGER; BEGIN ClrSer; ist, FOR j:=1 TO 5 DO BEGIN FOR i=1 TO 1 DO BEGIN ‘cuad:=sqr(ar_numfidl): art_numi2,j}-= cuad; WRITELN (art_num(2 j)); END; END; END.io Moreno Garcia ‘Segundo Grado de Edscacén Secundaria Escribir un programa en Pascal que cuente las mayuisculas de una cadena de caracteres PROGRAM funciones; USES CRT, CONST cadena:STRING- VAR i, mayus:INTEGE! BEGIN (EstO os PROGraMAcién’); TO LENGTH(cadena) DO BEGIN IF cadena[i] = UPCASE(cadenalil) THEN mayus:=mayus + 1; IF cadenali}: WRITELN (El ntmero de maytsculas es: ', mayus); END. 5.- OPERACIONES DE ENTRADA/SALIDA. Sentencias de salida o escritura Write 0 Whiten (NombreArchivo, Nomvarl Nomvar2...) Realizan conversién de tipos de datos antes de que la salida llegue al archivo de salida. Las variables 0 argumentos de esta sentencia pueden ser: expresiones. constantes o variables numéricas, de caracter, de cadena 0 booleanas Formatos: Write 0 Whiten (argumento); ite 0 Writeln (argumento:m); Write 0 Writein (argumento:m:n); Donde m es el numero de caracteres que ocupard la salida ajustando Ia informacién a la derecha, y n sélo so omplea cuando el argumento es numérico real indica el nimero de caracteres que ocupara en la salida la parte decimal Ejemplo: E36) Mostrar la salida formateada para nlimeros decimales Program formato; Var N:Real; Begin N= 113; Witein (Formato por defect Writeln (Anchura 8:1’, n:8:1); Whiten (Anchura 8:3", n:8:3), readkey; End. sn); Ejecucién: Formato por defecto 3.33333393335E-01 Anchura 8:1 03 Anchura 8:3 0.333 ‘Sentencia de entrada o lectura Read o Readin (NombreArchivo,Nomvarl Nomwar2..);io Moreno Garcia ‘Segundo Grado de Edscacén Secundaria Ejemplos: Programa que calcule al area y volumen de un prisma program ejeareas; uses ett; var I1,12,/3:real; var area,volumen:real; begin {calcula el area y volumen de un prisma} clrser; writeln (para calcular el area y el volumen del prisma, escriba: '); writeln ('); write (lado: ); readin (1); write (lado2: '); readin (12); write (ado3: ); readln (3); waiteln (7); area=2* (1 *I2)+(2* (1 *13)) + 2" (2°13); volumen'= I1 * 12 * 13; write (area del prisma: '); writein (area:5:2); write (volumen del prisma: ); write (volumen:5:2); readkey, end. Escribir un programa en Pascal que detecte si un ntimero leido desde el teclado es mayor 0 menor que 100. PROGRAM maymenor:; USES CRT, VAR num:INTEGER; BEGIN Cirser, WRITE (‘Escriba un numero enter WRITELN (); IF num < 100 THEN WRITE (EI numero que ha escrito es menor de 100) ELSE IF num > 100 THEN WRITE (EI numero que ha escrito es mayor de 100) ELSE WRITE (‘El numero es 100’) END. READLN (num); # Escribir un programa en Pascal que detecte si se han introducido en orden creciente tres numeros introducidos por el usuario. PROGRAM ejemenmay; USES CRT; VAR num1, num2, num3:INTEGER; BEGIN CirSer; WRITE (‘introduzca un numero (1) :'); READLN (numt); WRITE (‘Introduzca un numero (2) :); READLN (num2); WRITE (‘introduzca un numero (3) :); READLN (numa); IF ((numt < num) AND (aum2 < num3)) THEN WRITE (‘Los numeros se han introducido en orden creciente’) ELSE WRITE (‘Los numeros no se han introducido en orden creciente’); END.Jule Morene Garcia ‘Segundo Grado de Edueacién Secundaria 6.- OPERACIONES BASICAS DE UTILIDAD Comandos Utiles clrser: bora la pantalla y sitda el cursor en la esquit ésta orden debemos declarar la unidad ert abs (valor): permite determinar el valor absoluto de un nimero readkey: permite detener la ejecucién del programa, continuara cuando se presionen una tecla cualesquiera delay(tiempo): detiene la ejecucién de programa por un tiempo dado mod: permite determinar el residuo de una divisién div: permite obtener una division entera ‘sqr(ntimero): permite manejar el cuadrado de un niimero sqrt(ntimero): permite obtener la raiz cuadrada de un ntimero 1a superior izquierda. Para poder utilizar ‘Trabajando en el Entorno de Windows Primero se supone que ingresamos al editor propio de FreePascal y creams el programa con su respectiva extensién, Free Pascal emplea como extensién pas Compilar el programa: presionamos ALT + F9.0 Clic en Compile, opcién compile Aqui se crea un archivo con extensién 0 Si, el archivo no compila correctamente entonces tendremos que regresar al editor de FreePascal y abrir el archivo y corregiremos los errores presentadosJule Morene Garcia ‘Segundo Grado de Edueacién Secundaria Ejecutar el archivo compilado: presionamos CTRL + F9 0 Clic en Run, opcién Run 10Jl Te ul Moreno Garcia ‘Segundo Grado de Edueacién Secundaria ESTRUCTURAS DE CONTROL SELECTIVAS Se denominan estructuras de control a aquellas que determinan qué instrucciones deben ejecutarse y qué nimero de veces. Existen dos tipos de estructuras de control: alternativas o de seleccién y repetitivas o de iteracién 7.4.. ESTRUCTURAS SIMPLES ‘Son aquellas que se ejecutan en forma descendente y sin ninguna bifurcacién Ejemplos: Determinar la velocidad instantanea program ejervel; uses crt; var v,g.treal; begin clrscr, =9.8; write (velocidad inicial (m/s) -> '); readin(v); warite(‘tiempo (5) “>; readin(); write (velocidad instantanea: }); writeln(v-(g"t):5:2); readkey; end. Escribir un programa en pascal que detecte el cardcter introducido por el usuario. program ejercar; uses crt; var pato_donald:char; begin clrser, write (introduzca un caracter alfanumerico: readin (pato_donald) write (el caracter introducido es ~-—>' + pato_donald); readkey; end. Escribir un programa en pascal que sume, reste, multiplique y divida dos numeros: x=10y=2 program ejeropera: inos va a permitir limpiar la pantalla junto con cirscr} var x,y:integer; var suma,rest;mul,diviinteger; begin mutt:=x * y divissx div y: {con estas 4 variables realizamos las cuatro operaciones aritméticas fundamentales: ‘uma, resta, multiplicacion y division} clrscr; {impia la pantalla) write (suma:); vaiteln (suma); write (resta:); writein (rest): write (multiplicacion:’); writeln (mutt);Jule Morene Garcia ‘Segundo Grado de Edueacién Secundaria 12 write (division); write (divi): Escribir un programa en Freepascal que calcule el area de un rectangulo: ladot = 3 lado2 = 4 rea del rectangulo=ladot * lado2 program ejerarea; Uses crt; var lado't,lado2:integer; var area‘integer; begin {este programa nos va a servir para calcular el rea de un recténgulo} ladot:=3; lado2:=4; {damos valores para las variables} area:=lado1*lado2; {calculamos el area} lrser, write (area del rectangulo: end. ; write (area); {lo mostramos en pantalla} program ejerareat; uses crt; var lado! lado2:real; var area:eal; begin {este programa calcula el area de un recténgulo} clrscr; wtiteln (‘escriba los lados del rectangulo’); read (lado1): read (lado2); waiteln ("); area‘=ladot*lado2; write (area del rectangulo:’); write (area:5:2); delay(1000); end. Escribir un programa en pascal que calcule el area de un triangulo: base = 7 altura = 4 area del tridngulo = (base * altura)/2 program ejerarea2; uses crt; var base,altura:real; var area:real; begin base= altura:=4; atea‘=(base “ altura) / 2; clrscr, write (area del triangulo: '; write (area‘5:2); {52 sirve para dar el formato de salida al numero, 5 posiciones y 2 decimales} Teadkey; end.lo Morene Garcia ‘Segundo Grado de Edueacién Secundaria 13 7.2.- ESTRUCTURAS ALTERNATIVAS. ‘Son aquellas que bifurcan o dirigen la ejecucién de un programa hacia un grupo de sentencias u otro dependiendo del resultado de una condicion. Las dos sentencias alternativas de Free Pascal son: Sentencia alternativa simple IF-THEN Sentencia altemnativa doble IF-THEN-ELSE. IF THEN Formato: _ IF (expresién légica 0 booleana) THEN begin ‘Sentencial (simple o compuesta); end; IF THEN ELSE Formato: IF (expresién logica 0 booleana) THEN begin Sentencial (simple 0 compuesta); end ELSE begin Sentencia2 (simple 0 compuesta) end; NOTA: cabe indicar que las estructuras condicionales pueden obviar el manejo de cuerpo de programa si es que solo tienen una instruccién dentro de sus procesos, en el resto de casos es obligatorio el uso del b nd Ejemplos: Programa sirve para calcular la velocidad instantanea de un cohete program ejercond ; uses crt; const gravedad = 9.81; var velocidad0, tiempo, velocidadfinal:real; begin clrscr, write (para calcular la velocidad de un cohete en un instante, '): writeln (‘introduzca los datos: writeln (") write (introduzca la velocidad inicial: ); readin (velocidado); write (introduzca el tiempo’); readin (tiempo); waiteln ("); velocidadfinal:=velocidad0 - (gravedad * tiempo); if velocidadfinal <= 0 then vite (el cohete ya se ha parado.’); if velocidadfinal > O then write (la velocidad final es de: ") if velocidadfinal > O then write (velocidadfinal:4:2); if velocidadfinal > 0 then vwnite (mis. readkey; end.Jule Morene Garcia ‘Segundo Grado de Edueacién Secundaria “4 Escribir un programa en pascal que detecte si se han introducido en orden creciente tres, nlimeros introducidos por el usuario program ejermaymen; uses crt; var nurn1 num2,num3:integer; begin clrscr, write Cintroduzca un numero (1) :); readin (num1); write (introduzca un numero (2) :); readin (num2); write (introduzca un numero (3) :); readin (num3); if (nummt
sin descuento; importe bruto mayor de 20.000 -> 15% de descuento program ejercondi2; uses crt; var importe_bruto:real; var descuento, total:real; begin clrscr, write Cindique el importe de su factura para ver’); writeln (‘si le "descontamos" algo’); wariteln ("); readin (importe_bruto); writeln (") {calcula el importe bruto con descuento del 15%} descuento:=importe_bruto * 0.15; if importe_bruto > 20000 then begin writein (‘se merece un descuento de: '\descuento:5:2, ' soles’); total:=importe_bruto - descuento; writeln (el total es de la factura es de: 'total:5:2,’ soles’) end else write (con ese dinero no se merece un descuento’); program ejercondi2; uses crt; var imp_bru,imp_net:real; begin clrser; write (importe bruto -> '); readin(imp_bru); if imp_bru <= 20000 then imp_net:=imp_bru elseio Moreno Garcia ‘Segundo Grado de Edscacén Secundaria imp_net:=imp_bru-(0.15*imp_bru) write importe a pagar: '); write(imp_net’5:2); readkey end. Escribir un programa en pascal que una vez leida una hora en formato (horas, minutos, segundos) indique cual sera el tiempo dentro de un segundo. program ejethoras; uses crt; {as variables son: horas, minutos y segundos} {Son las horas, minutos y segundos introducidos por el usuario} var h, m, s:integer; var h2,m2,s2:integer; {son las horas, minutos y seguntos a los que se les sumara} begin clrser, write Cescriba en formato horas, minutos y segundos’); waiteln ("); write Choras ') readin (h): write (minutos); readin (rr); write (segundos '); readin (s); waiteln ("); writeln ('se le sumara un segundo a la hora actual.’); waiteln ("); sss+t: 52:=8; m= ((m * 60) + 5) div 60; fh * 60) + m) div 60; if h2 = 24 then h2 =O; writeln (h2,"'.m2,"",s2) delay(1000); end. 15Jule Morene Garcia ‘Segundo Grado de Edueacién Secundaria 16 7.3. ESTRUCTURAS REPETITIVAS ‘Son aquellas que crean un bucle (tepeticién continua de un conjunto de instrucciones) en. la ejecucién de un programa respecto de un grupo de sentencias en funcion de una condicién Las tres sentencias repetitivas de FreePascal son: + SENTENCIA WHILE DO + SENTENCIA REPEAT-UNTIL + SENTENCIA FOR TO DO (ascendente) o FOR DOWNTO DO (descendente) - SENTENCIA WHILE Indica al ordenador que se ejecuten una o mas sentencias mientras se cumpla una determinada condicién. La condicién viene determinada por una vatiable 0 expresion booleana Formato: while condicién do begin (sentenciat); (sentencian); end; while condicién do (sentencia): NOTA: esta titima instruccién sélo se da cuando se maneja una sola instruccién Esta sentencia comprueba inicialmente si la condicién es verdadera. Si la condicién es verdadera se ejecutan las sentencias mientras la condicion de su enunciado sea verdadera y finaliza cuando la condicién es falsa. Dado que la condicién puede ser falsa inicialmente, es decir antes de comenzar el bucle, habra casos en que el bucle no se ejecute Caracteristicas del bucle WHIILE DO: Se ejecuta mientras la condicién sea verdadera, y dentro del bucle debe existir, por lo menos, una sentencia que modifique el valor de la variable o expresién, de lo contrario. se puede producir una situacién de bucle infinito. Si la expresién lgica es falsa al comenzar el bucle, éste no se realizara Ejemplos: Esoribir los N primeros numeros naturales, donde N es un valor introducido por el usuario program escribeenteros; uses crt; Var N contador: integer; Begin Cirser; Write (Introduzca numero maximo de enteros: ?); Readin (N); Contado While (contador<=N) do BeginJule Morene Garcia ‘Segundo Grado de Edueacién Secundaria 7 Write (contador:5); Contador:=contador+1; End; Wiitetn; Writeln (Fin de programa. Contador = ', contador); Delay(1000); End. Escribir un programa que calcule la suma de los nimeros hasta un numero dado (introducido por el usuario). program ejersuma; uses crt var x, y, num:integer; begin cirser; write (este programa calcula la suma de los numeros hasta uno '); write (introducido por el usuario: '; readin (num); writen ("); x=0; while (num >= 0) do begin vwariteln (%); x= x-+ num; num:=num - 1; end; readkey; end. Escribir un programa que pida un nimero y si el que se introduce por el teclado es menor de 100 que wuelva a solicitarl. program ejernumero; uses ort; var nunvinteger; begin cirscr; vwrite(introduzca un numero ->'); readin(num);, while (num==100) do begin vaite(introduzca un numero -> '); readin(num); end; end. program ejernumero; uses crt; var nurminteger; begin clrscr, vwriteCintroduzca un numero -> '); readin(num);, while (num<=100) do vwwite(introduzca un numero -> '); readin(num); end.Jule Morene Garcia ‘Segundo Grado de Edueacién Secundaria 18 b.- SENTENCIA REPEAT UNTIL Ejecuta las sentencias comprendidas entre las palabras reservadas REPEAT y UNTIL. hasta que la expresi6n o variable sea verdadera Formato: repeat (sentencia); (sentencia); until (condicién); Caracteristicas del bucle REPEAT: Se ejecutan siempre una vez, por lo menos, y la terminacién del bucle se produce cuando el valor de la expresién logica 0 condicién de salida es verdadera, Se ejecuta hasta que la expresin es verdadera, es decir, se ejecuta mientras la expresién sea falsa Ejemplos: El mismo que con la sentencia while program escribeenteros; uses crt; Var N.contador:integer; Begin Clrscr; White (Introduzca ntimero maximo de enteros: ‘); Readin (N); Contador:= Repeat Contador:=contador+1 Write (contador:5); Until (Contador = N); Writeln (Fin de programa. Contador Readkey; End. ' contador); Escribir un programa en FreePascal que genere la tabla de multiplicar de un nimero intreducido por el teclado. program tabla ; uses crt; var tabla, x, numinteger; begin clrscr; write (introduzca un numero para hacer su tabla de multiplicar:'); readin (num); writeln ("); repeat writeln (tabla); x=X+ 1; tabla:= num * x; until (x=11) readkey; end.Jule Morene Garcia ‘Segundo Grado de Edueacién Secundaria 19 Escribir un programa en pascal que realice la pregunta zdesea continuar s/n? y que no doje de hacerla hasta que el usuario teclee n. program respuesta; uses crt; var respuesta:char; begin cirser; repeat vaiteln (desea continuar: s/n); readin (respuesta); until (respuesta delay (1000); end. Escribir un programa en Pascal que calcule cuantos afios tarda en duplicarse un capital depositado al 5% de interés anual PROGRAM CAPITAL; USES CRT; CONST interes = 0.05; VAR tiempo:REAL; cap_ini,cap_fin:REAL; BEGIN ClrScr; WRITE (‘Intruduzca el capital para calcular cuanto tardara '); WRITE (‘en duplicarse, con un interes del 5%: '); READIN (cap_ini); WRITELN (" IF cap_ini <0 THEN BEGIN WRITE (No se puede incluir un capital negative’); EXIT, END; tiempo:=0; ‘cap_fin:= cap_ini: REPEAT ‘cap_fin:=cap_fin + (cap_fin * interes); tiempo:= tiempo + 1; UNTIL (cap_fin > (cap_ini *2)); WRITELN (Tardara’,tiempo:3:0,' afios en duplicarse’); WRITELN (Capital final: "cap_fin’5:2,' pts’); END. cc. SENTENCIA FOR Repite la ejecucién de una o varias sentencias un ntimero fijo de veces. Previamente establecido, Necesita una variable de control del bucle que es necesariamente de tipo ordinal, ya que el bucle se ejecuta mientras la variable de control toma una serie consecutiva de valores de tipo ordinal, comprendidos entre dos valores extremos (inferior y superior). Formato ascendente: FOR variablecontrol:=valorinicial TO valorfinal DO begin (sentencia); end:Jule Morene Garcia ‘Segundo Grado de Edueacién Secundaria 20 Formato descendente: FOR variablecontrol:=valorincial DOWNTO valorfinal DO begin (sentencia); end; donde (sentencia) puede ser una sentencia simple o compuesta, Caracteristicas del bucle FOR: ‘Aunque a primera vista pueda resultar mas atractivo FOR, existen limitaciones en su aplicacién ya que en el bucle FOR siempre se incrementa o decrementa (de uno en tno) los valores de la variable de control de bucle y no de dos en dos o de tres entres, © con valores fraccionarios. El numero de iteraciones de un bucle FOR siempre es fijo y se conoce de antemano: Valor final - Valor inicial +1 Ejemplos: El mismo que con la sentencia while y repeat Program escribeenteros; Var N contador: integer; Begin Wite (Introduzca numero maximo de enteros: ‘); Readin (N); For contador:= 1 ton do begin Write (contador:5); Wiitein; End; Readkey; End. Esoribir un programa en pascal que detecte si un nimero es primo 0 no. un niimero es primo si sélo es divisible por si mismo y por la unidad ejemplo: 2,3,4,7,11,17,19 son numeros primos 9 no es niimero primo, es divisible por 1, 9, 3 el algoritmo para resolver este problema pasa por dividir sucesivamente el numero estudiado por 2,3.4, etc., hasta el propio numero. program primo; uses ort; var isnum flag:integer; begin write(introduzea un numero -> ); readin(num); to (num-1) do begin if (num mod i)=0 then begin flag=1; end; i (fag=1) then begin write(num); write’ no es un numero primo’); end else beginJule Morene Garcia ‘Segundo Grado de Edueacién Secundaria 21 write(num); write(’ es un numero primo’); end; end; readkey; end. Escribir un programa en Pascal que calcule la depreciacién de un objeto segiin el método de la linea recta. Calcular el ntimero de afios que tarda en hacerse 0. En este método el valor original del objeto se divide por su vida (ntimero de afios). El cociente resultante sera la cantidad en la que el objeto se deprecia anualmente. Por ejemplo, si un objeto se deprecia 8000 délares en diez afos, entonces la depreciacion anual sera 8000/10=800 délares. Por tanto, el valor del objeto habr disminuido en 800 dolares cada afo. Nétese que la depreciacién anual es la misma cada afio cuando se utiliza este método PROGRAM deprecia; USES CRT; VAR val_ini,val_dep,tas_dep:REAL; VAR ianios:INTEGER; BEGIN ChrSor; WRITE(’Valor inicial WRITE(Numero de afios tas_dep:=val_ini/anios; val_dep:=val_ini-tas_dep; FOR [=1 TO anios DO BEGIN WRITE(‘Azo WRITE('3); WRITE( —~"); WRITELN(val_dep:10:2); val_dep:=val_dep-tas_dep; END; END. v 1; READLN(val_ini); >); READLN(anios); 2CUANDO UTILIZAR WHILE/ REPEAT/ FOR? > Utilizar la sentencia o estructura FOR cuando se conozca el nimero de iteraciones, y siempre que la variable de control de bucle sea de tipo ordinal > Utilizar la estructura REPEAT-UNTIL cuando el bucle se realice por lo menos una vez > En todos los demas casos utilizar la sentencia WHILE, 7.4.- CASE opcion OF Formato: case (expresién o variable) of (lista de constantes1):(sentencia); (lista de conslantes2):(sentencia2); (lista de constantes3):(senteneia3); (lista de constantesn):(sentencian); else (sentencia)Jule Morene Garcia ‘Segundo Grado de Edueacién Secundaria Ejemplos: Elaborar un programa que permita ingresar el dia de la semana y muestre como resultado ‘su conversion en letras, Program menu; Uses crt: Var Numerodia: integer; Begin Cirser, Write‘introduzca el ordinal de un dia laborable de la semana:’); Readin (numerodia); Write (Hoy es); Case numerodia Of 1-Writeln Lunes’); 2vritein CMartes’); 3.Writein (Miercoles’); 4Wvritein CJueves'); 5\Writein (Viernes); 6.Writeln (Sabado’) Else \Writeln (jjDomingo!! No es dia laborable’); End; Readkey; End. 22io Moreno Garcia Elabora un programa que permita ingresar una calificacién utilizando las vocales 23 program califica; uses crt; var cal:char; begin clrscr, write ‘introduzca una calificacion (a-e):'): readin(cal); case cal of ‘a': writeln(calificacion numerica ~> 4’; 'b’: wnitein¢calificacion numerica —> 5}; ‘c: writeln(‘calificacion numerica > 6); 'd': yaiteln¢calificacion numerica ~> 7’); ‘e': wniteln¢calificacion numerica —> 8}; else vniteln(calificacion incorrecta’); end: readkey end. ‘Segundo Grado de Edueacién Secundaria
También podría gustarte
Guía Nº1 (Ejercicios Básicos)
PDF
Aún no hay calificaciones
Guía Nº1 (Ejercicios Básicos)
4 páginas
CU00527F Ejercicios Resueltos Programacion C Printf Scanf Calculos PDF
PDF
Aún no hay calificaciones
CU00527F Ejercicios Resueltos Programacion C Printf Scanf Calculos PDF
5 páginas
Programacion Basica en Calculadoras ALGEBRA 2.0 Plus
PDF
Aún no hay calificaciones
Programacion Basica en Calculadoras ALGEBRA 2.0 Plus
17 páginas
Examen Tinkercad
PDF
Aún no hay calificaciones
Examen Tinkercad
1 página
Estructura de Control en PHP
PDF
100% (1)
Estructura de Control en PHP
9 páginas
Ejercicios de Excel Intermedio - para Trabajar
PDF
Aún no hay calificaciones
Ejercicios de Excel Intermedio - para Trabajar
17 páginas
La Barra de Fórmulas en Excel
PDF
Aún no hay calificaciones
La Barra de Fórmulas en Excel
3 páginas
Algoritmia Basica
PDF
Aún no hay calificaciones
Algoritmia Basica
21 páginas
Algoritmia y Programación Unidad No. 1 Guia 2 - Fundamentos de Programación - Estructuras Algoritmicas Secuenciales
PDF
Aún no hay calificaciones
Algoritmia y Programación Unidad No. 1 Guia 2 - Fundamentos de Programación - Estructuras Algoritmicas Secuenciales
7 páginas
Manual Mswlogo Cnice
PDF
100% (8)
Manual Mswlogo Cnice
14 páginas
Estructuras Secuenciales
PDF
Aún no hay calificaciones
Estructuras Secuenciales
5 páginas
Practica Examen 1P
PDF
Aún no hay calificaciones
Practica Examen 1P
11 páginas
EDatos Manual
PDF
100% (3)
EDatos Manual
86 páginas
Introduccion PHP
PDF
100% (1)
Introduccion PHP
29 páginas
Programa Sucesión de Fibonacci
PDF
Aún no hay calificaciones
Programa Sucesión de Fibonacci
35 páginas
Programacion en C y Estructura de Datos Luis Joyanes
PDF
Aún no hay calificaciones
Programacion en C y Estructura de Datos Luis Joyanes
7 páginas
GUIA S19232014 (Visual Basic)
PDF
100% (1)
GUIA S19232014 (Visual Basic)
10 páginas
Unidad II Mecatronica, Diseño de Algoritmos
PDF
100% (1)
Unidad II Mecatronica, Diseño de Algoritmos
11 páginas
Ejercicios Resueltos C PDF
PDF
Aún no hay calificaciones
Ejercicios Resueltos C PDF
5 páginas
Ejercicios For, While y Array
PDF
Aún no hay calificaciones
Ejercicios For, While y Array
3 páginas
Algunas de Las Palabras Reservadas en Pascal Son
PDF
100% (2)
Algunas de Las Palabras Reservadas en Pascal Son
10 páginas
Guia-2 Estrecutura de Control Secuencial
PDF
Aún no hay calificaciones
Guia-2 Estrecutura de Control Secuencial
26 páginas
Pascal
PDF
Aún no hay calificaciones
Pascal
12 páginas
Métodos de Cin en C++ - Michelle Torres
PDF
Aún no hay calificaciones
Métodos de Cin en C++ - Michelle Torres
1 página
Visual Basic 6.0
PDF
100% (1)
Visual Basic 6.0
8 páginas
Laboratorio 1 de Win Prolog
PDF
Aún no hay calificaciones
Laboratorio 1 de Win Prolog
5 páginas
Ejercicios y Prácticas de Fundamentos de Programación 2013B PDF
PDF
100% (1)
Ejercicios y Prácticas de Fundamentos de Programación 2013B PDF
8 páginas
Diseño de Algoritmos Con Pseint
PDF
100% (1)
Diseño de Algoritmos Con Pseint
5 páginas
Ejercicios Resueltos Pseint
PDF
Aún no hay calificaciones
Ejercicios Resueltos Pseint
4 páginas
Manejo de Graficos Netbeans
PDF
50% (2)
Manejo de Graficos Netbeans
61 páginas
Cuaderno
PDF
Aún no hay calificaciones
Cuaderno
3 páginas
U5 Antología
PDF
Aún no hay calificaciones
U5 Antología
19 páginas
Programas Con While
PDF
Aún no hay calificaciones
Programas Con While
8 páginas
Funciones DFD
PDF
Aún no hay calificaciones
Funciones DFD
4 páginas
Analisis Algoritmos y Programacion
PDF
100% (1)
Analisis Algoritmos y Programacion
47 páginas
Estructura de Un Programa en Pascal
PDF
Aún no hay calificaciones
Estructura de Un Programa en Pascal
10 páginas
Pascal Estructuras de Control
PDF
Aún no hay calificaciones
Pascal Estructuras de Control
25 páginas
Ejer 2
PDF
Aún no hay calificaciones
Ejer 2
12 páginas
Practica 1 Psint
PDF
Aún no hay calificaciones
Practica 1 Psint
17 páginas
Dibujando Con Inkscape
PDF
Aún no hay calificaciones
Dibujando Con Inkscape
7 páginas
Ejemplos de Codigo y Diagramas de Flujo en PSInt
PDF
Aún no hay calificaciones
Ejemplos de Codigo y Diagramas de Flujo en PSInt
11 páginas
Pascal
PDF
Aún no hay calificaciones
Pascal
85 páginas
P6 MartinezAxel Gpo06 FP. PDF
PDF
Aún no hay calificaciones
P6 MartinezAxel Gpo06 FP. PDF
7 páginas
Universidad Pedagogica Francisco Morazan Introducción A La Programación EN Pascal
PDF
Aún no hay calificaciones
Universidad Pedagogica Francisco Morazan Introducción A La Programación EN Pascal
33 páginas
4.9 Empalmes
PDF
Aún no hay calificaciones
4.9 Empalmes
18 páginas
Ejercicios Secuenciales
PDF
Aún no hay calificaciones
Ejercicios Secuenciales
4 páginas
Lenguaje de Programación II
PDF
Aún no hay calificaciones
Lenguaje de Programación II
44 páginas
Guía de Prácticas de Lenguajes de Programación #06 - 2022
PDF
Aún no hay calificaciones
Guía de Prácticas de Lenguajes de Programación #06 - 2022
9 páginas
Ejemplo de Visual Basic
PDF
Aún no hay calificaciones
Ejemplo de Visual Basic
9 páginas
Guia 7 - Estructuras de Control IF
PDF
Aún no hay calificaciones
Guia 7 - Estructuras de Control IF
5 páginas
Capítulo II Estructura Secuencial
PDF
Aún no hay calificaciones
Capítulo II Estructura Secuencial
32 páginas
Programas en Ensamblador
PDF
Aún no hay calificaciones
Programas en Ensamblador
34 páginas
Ejercicioswhile 130930101445 Phpapp01
PDF
Aún no hay calificaciones
Ejercicioswhile 130930101445 Phpapp01
24 páginas
Apuntes Pascal Primera Parte
PDF
Aún no hay calificaciones
Apuntes Pascal Primera Parte
15 páginas
Estructuras Secuenciales
PDF
Aún no hay calificaciones
Estructuras Secuenciales
18 páginas
Relaciones Entre Clases
PDF
Aún no hay calificaciones
Relaciones Entre Clases
27 páginas
JAVASCRIPT
PDF
Aún no hay calificaciones
JAVASCRIPT
44 páginas
Elementos Del Pseudocodigo
PDF
25% (4)
Elementos Del Pseudocodigo
6 páginas
Tipos de Datos en Visual Basic
PDF
Aún no hay calificaciones
Tipos de Datos en Visual Basic
49 páginas
Visual Studio - Base de Datos
PDF
Aún no hay calificaciones
Visual Studio - Base de Datos
51 páginas