Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad


Manual de programación: Enteros, Booleanos y Operaciones - Prof. Hernán Losada, Ejercicios de Ingeniería del Software

Manual detallado sobre los enteros, booleanos y las operaciones básicas en programación. Contiene información sobre operaciones aritméticas, funciones, tipos de datos, constantes, variables, instrucciones y control de flujo.

Tipo: Ejercicios

2017/2018

Subido el 14/06/2018

bygranizo
bygranizo 🇪🇸

1 documento

1 / 16

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
PASCAL
1. DATOS
1.a. Básicos
1.i. Números Enteros: INTEGER
1.1. Operaciones
1.a. Suma: +
1.b. Resta: -
1.c. Multiplicación: *
1.d. División: DIV
1.e. Valor absoluto: abs(numeroEntero);
1.f. Cuadrado: sqr(numeroEntero);
1.g. Predecesor: pred(numeroEntero);
1.h. Sucesor: succ(numeroEntero);
1.ii. Números Reales: REAL
1.2. Funciones
1.i. Escribir sin notación: writeln(expresionReal :
numeroEspacios : numeroDecimales);
1.3. Operaciones
1.j. Suma: +
1.k. Resta: -
1.l. Multiplicación: *
1.m. División: /
1.n. Valor absoluto: abs(numeroReal);
1.o. Raíz cuadrada: sqrt(numeroReal);
1.p. Cuadrado: sqr(numeroReal);
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff

Vista previa parcial del texto

¡Descarga Manual de programación: Enteros, Booleanos y Operaciones - Prof. Hernán Losada y más Ejercicios en PDF de Ingeniería del Software solo en Docsity!

PASCAL

1. DATOS

1.a. (^) Básicos 1.i. Números Enteros: INTEGER 1.1. Operaciones 1.a. Suma: + 1.b. Resta: - 1.c. Multiplicación: * 1.d. División: DIV 1.e. Valor absoluto: abs(numeroEntero); 1.f. Cuadrado: sqr(numeroEntero); 1.g. Predecesor: pred(numeroEntero); 1.h. (^) Sucesor: succ (numeroEntero);

1.ii. Números Reales: REAL 1.2. Funciones 1.i. Escribir sin notación: writeln(expresionReal : numeroEspacios : numeroDecimales); 1.3. Operaciones 1.j. Suma: + 1.k. Resta: - 1.l. Multiplicación: * 1.m. (^) División: / 1.n. Valor absoluto: abs(numeroReal); 1.o. Raíz cuadrada: sqrt(numeroReal); 1.p. Cuadrado: sqr(numeroReal);

1.q. Seno: sin(anguloRadianes); 1.r. Coseno: cos(anguloRadianes); 1.s. (^) Arco tangente: arctan(numeroReal); 1.t. Logaritmo neperiano: ln(numeroReal); 1.u. Potencia neperiana: exp(numeroReal); 1.v. Potencia: 1E- 1.iii. Caracteres: CHAR 1.4. Funciones 1.w. Predecesor (en ASCII): pred(‘caracter’); 1.x. Sucesor (en ASCII): succ(‘caracter’); 1.y. Numero en ASCII: ord(‘carácter’); 1.z. Carácter de nº ASCII: chr(numeroASCII); 1.iv. (^) Booleanos: BOOLEAN 1.5. Funciones lógicas 1.aa. Igual: = 1.bb. Diferente: <> 1.cc. Mayor que: > 1.dd. Menor que: < 1.ee. Menos o igual: <= 1.ff. Mayor o igual: >= 1.6. Operaciones 1.gg. Y lógica: and 1.hh. (^) O lógica: or 1.ii. Negación lógica: not 1.7. Funciones 1.jj. Sucesor: succ(false) : True 1.kk. Predecesor: pred(true) : False 1.ll. Nº Orden: ord(false) : 0 ord(true) : 1.b.Tienen:

1.11. writeln(); 1.pp. Evalúa la expresión y obtiene un resultado. 1.qq. (^) Muestra el valor por pantalla donde está el cursor y al final salta de línea. 1.xii. Lectura de datos 1.rr. Fichero input: recoge las pulsaciones del teclado 1.12. read (variable); 1.ss. Busca en input si existen datos para procesar 1.i. Si NO existen el programa detiene y espera a que el usuario los introduzca por teclado. 1.ii. (^) SI existen: realiza operación: variable:=dato 1.tt. Elimina el dato1 de input 1.13. readln (variable); 1.uu. Busca en input si existen datos para procesar 1.iii. Si NO existen el programa detiene y espera a que el usuario los introduzca por teclado. 1.iv. SI existen: realiza operación: variable:=dato 1.vv. (^) Elimina el dato1 de input 1.ww. Elimina todos los datos de la línea en la que se encuentra dato 1.xiii. Conversión Real a Entero 1.14. Turbamiento (quita parte decimal): trunc(real); 1.15. Redondeo: round(real);

  1. PRIORIDAD: 1.e. ( ) 1.f. Funciones predefinidas 1.g.Unarios: not + - (de signo)

1.h.Operadores multiplicativos ( * / DIV MOD AND) 1.i. Operadores sumativos (+ - OR) 1.j. Comparadores booleanos

3. BLOQUES DE INSTRUCCIONES O INSTRUCCIONES COMPUESTAS

1.k.Para agrupar instrucciones BEGIN | ins1; | ins2; | bloque de instrucciones ins3; | END | 1.l. Instrucciones de control de flujo 1.xiv. (^) Sirven para cambiar el orden de elementos de instrucciones 1.xv. Selectivas: Sirven para elegir si una o unas instrucciones se ejecutan 1.16. Instrucción IF/ELSE IF expresionBooleana THEN una_unica_instruccionIF ELSE Una_unica_instruccionELSE 1.xx. Una única ins puede ser simple o compuesta 1.yy. Semantica 1.v. Evalua: true o false 1.vi. (^) Si es true ejecuta una_unica_instruccionIF 1.vii. Si el false Una_unica_instruccionELSE 1.17. Instrucción CASE/OF/ELSE CASE expresionOrdinal OF etiqueta1: una_unica_instruccion1; etiqueta2: una_unica_instruccion2;

END;

1.19. Instrucción FOR ASCENDENTE FOR contador(i, j, k):=expresionInicial TO expresiónFinal DO unaUnicaInstruccion; 1.20. Instrucción FOR DESCENDENTE FOR contador(i, j, k):=expresionInicial DOWNTO expresiónFinal DO unaUnicaInstruccion; 1.21. Instrucción REPEAT REPEAT Instruccion1; Instruccion2; …. UNTIL expresionFinal;

  1. SUBPROGRAMAS 1.m. Características 1.xvii. Independientes. 1.xviii. Es corto. 1.xix. Realiza una única tarea (aumento de legibilidad y mantenimiento). 1.n.Sintaxis {Cabecera}

CONST

VAR

BEGIN {Nombre del subprograma} {Instrucciones} END; 1.o. Escritura en el programa

PROGRAM nombrePrograma; CONST VAR {Declaracion de subprogramas} BEGIN {Principal} END. 1.p. Tipos de subprogramas 1.xx. Funciones 1.22. Se usa con un solo único dato de salida, y cuando la entrada es la salida. 1.23. Sintaxis FUNCTION nombreFuncion (listaParametroEntrada): tipoSalida;

CONST

VAR

BEGIN

END;

1.eee. listaParametrosEntrada: nombreParametro:tipo; nombreParametro:tipo; 1.24. Llamada varExterior := nombreFunc (nombreParametro1, nombreParametro2,…);

1.xxi. Procedimientos 1.25. Sintaxis PROCEDURE nombreProcedimiento (listaParametros);

CONST VAR

1.xv. Variable de tipo idéntico al parámetro formal. 1.xvi. (^) El parámetro formal se refleja en el actual. 1.r. Tipos de variables 1.xxv. Según donde están declaradas : 1.35. Variables globales: en la sección VAR del programa principal. 1.36. Variables locales a un subprograma: en la cabecera o sección VAR del subprograma. 1.37. Variables no locales a un subprograma: se producen cuando hay anidamiento de subprogramas y son las variables locales del procedimiento exterior. 1.s. Efectos laterales 1.xxvi. Cuando un subprograma realiza un cambio en una variable global. 1.xxvii. Hay que evitarlos.

  1. RECURSIVIDAD 1.t. Características 1.xxviii. Lo definido está dentro de la definición. 1.38. Caso recurrente. 1.39. Caso base: solución simple. 1.xxix. Un subprograma se llama a sí mismo. 1.u. Recursividad lineal 1.xxx. Una única llamada recursiva. 1.xxxi. R.L. por la cola: cuyo resultado nos devuelve le caso base. 1.v. Recursividad múltiple 1.xxxii. Se produce cuando en el caso recursivo hay dos o más llamadas recursiva.
  2. DATOS DEFINIDOS POR EL PROGRAMADOR 1.w. Sintaxis 1.xxxiii. Sección TYPE después de sección CONST. PROGRAM nombrePrograma;

CONST

NOMBRECONSTANTE1= VALOR1;

NOMBRECONSTANTE2= VALOR2;

TYPE

VAR

1.x. Tipos 1.xxxiv. Simple 1.40. Enumerado 1.41. Subrango 1.xxxv. (^) Compuestos 1.42. Array 1.kkk. Colección de elementos del mismo tipo. 1.lll. Tienen tamaño fijo definido al programar. 1.mmm. El acceso a cada elemento se hace mediante índices. 1.nnn. Declaracion de arrays unidimensional (vector) 1.xvii. Declarar en CONST el menor y mayor índice. 1.xviii. (^) Se declara en TYPE el tipo de índice CONST indiceMenor = valor; indiceMayor=valor; TYPE tIndice = indiceMenos..indiceMayor; tElemento=tipoDato; {si es predifinido no se suele declarar}.

1.xxvi. Concatenacion 6.5. string1 + string2; 6.6. (^) Concat(string1, string2); 1.xxvii. Posicion: pos(string1 , string2); 1.xxviii. Copy: copy (string, posición, longitud); 1.xxix. Borrado: delete (string, posición, tamaño); 1.xxx. Insertar: insert (string1, string2, posicion); 1.xxxi. (^) Conversión 6.7. str(numero, string); 6.8. val(string, numero, error); 6.b. Declarar la variable error, si es 0 se puede convertir. 1.44. Registro 1.sss. Colección de elementos heterogéneos de tamaño fijo. 1.ttt. (^) El acceso a los elementos no es por índice sino por el selector de campo del registro. 1.uuu. Declaracion TYPE tNombreRegistro = RECORD nombreCampo1:tipo1; nombreCampo2:tipo2; END; 1.vvv. Operaciones 1.xxxii. Con el registro entero 6.9. (^) Asignacion

1.xxxiii. Con los campos 6.10. Acceso a un elemento: nombreRegistro.nombreCampo 6.11. Todo lo que se pueda realizar con el tipo concreto de cada campo. 1.www. Instrucción WITH 1.xxxiv. Cada nombre de campo se refiere al registro especificado sin necesidad de repetirlo.

WITH nombreRegistro DO BEGIN Instruccion1; Instruccion2; END; 1.45. Ficheros 1.xxx. Elementos homogéneos 1.yyy. Tamaño variable 1.zzz. Se almacenan en la memoria secundaria (fuera de la RAM).

1.aaaa. Tipos dependiendo del tipo de elemento 1.xxxv. Fi chero de texto : Cada elemento es una línea (acabado con [EOLN]). Al final del fichero [EOF]. 6.12. No es necesario declar el tipo, pues existe le tipo predefinido text. 1.xxxvi. Fichero binario : Cada elemento es de un tipo definido anteriormente. Al final del fichero [EOF]. TYPE tElemento=…; tArchivo= FILE OF tElemento VAR

6.iv. Texto: WRITE o WRITELN (nombreVarArch,expresion); 6.v. Binario: WRITE (nombreVarArch,expresion); 6.16. Cerrar el archivo 6.h. CLOSE (nombreVarArch); TEXTO BINARIO

ABRIR ARCH

LECTURA RESET (nombreVariable); ESCRITURA REWRITE(nombreVariable); APPEND (nombreVariable); RESET (nombreVariable);

PROCES ARCH

LECTURA READ / READLN

(nombreVarArch,variable);

READ (nombreVarArch,variable); ESCRITURA WRITE o WRITELN (nombreVarArch,expresion);

WRITE (nombreVarArch,expresion); CERRAR CLOSE (nombreVarArch);