Introducción a la Programación

Documentos relacionados
Apunte Laboratorio ALPI - El lenguaje de programación Pascal

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

Módulo 8: Primitivas en Pascal

SESIÓN DE EJERCICIOS E1

SESIÓN DE EJERCICIOS E1

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

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

Estructura de un programa en Java. Tipos de datos básicos. class miprimerprograma{ // comentario, no es parte del programa

FUNDAMENTOS DE PROGRAMACIÓN LABORATORIO SESIÓN 2

FUNDAMENTOS DE OBJECT PASCAL

ESTRUCTURA SECUENCIAL ESTRUCTURA SELECTIVA

Estructuras de control selectivas

EXAMENES RESUELTOS DE PROGRAMACION I

8.1.- FUNCIONES Y PROCEDIMIENTOS DEFINIDOS POR EL USUARIO EN TURBO PASCAL.

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

Concepto de Recursión. Características de algoritmos recursivos. Ejemplos

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

Tema 5. Soporte lógico de computadoras.

Esquemas repetitivos en Fortran 90. Esquemas repetitivos en Fortran 90. Esquemas repetitivos en Fortran 90. Tipos de Esquema

Programación. Test Autoevaluación Tema 4

Objetivos de la práctica: - Trabajar las estructuras de control repetitivas en la realización de programas.

Manual de turbo pascal

Repetición Condicional

ÁRBOLES DE SINTAXIS. Los nodos no terminales (nodos interiores) están rotulados por los símbolos no terminales.

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

Esquemas repetitivos en Fortran 90

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

Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta

Programación I. Ingeniería Técnica Informática. Ejercicios de los Temas 4, 5, 6 y 7

Procesamiento de Lenguajes (PL) Curso 2015/2016. Práctica 5: traductor a código m2r

1.9. SENTENCIAS DE CONTROL DE PROGRAMA

La resolución de problemas es una tarea únicamente humana comprobable en todos los casos con los mismos resultados.

Estructuras de Control. Secuencia y Selección

Capítulo 4. Control de flujo. Continuar

JavaScript Básico. Elementos Básicos: Comentarios: Literales: Valores que puede tomar una variable o una constante.

UNIDAD IV Programación Funcional. Lic. Jesús Germán Andrés PAUTSCH - FCEQyN - UNaM

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

Procedimientos, Funciones y Recursividad

EXAMENES RESUELTOS DE PROGRAMACION I

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

Dra. Jessica Andrea Carballido

Cuáles son los lenguajes que pueden utilizarse para programar Karel?

Componentes Básicos. InCo. InCo Componentes Básicos 1 / 28

Estructuras de Control. Secuencia y Selección

Programación modular en Pascal

FACULTADE DE INFORMÁTICA Departamento de Computación Estructura de Datos e da Información. Ejercicios de recursividad

Unidades en PASCAL (Units)

Temario. Tipos de recursión. Eficiencia y recursión

Trabajo Práctico 6 Funciones, Procedimientos y División de Problemas

Estructuras de repetición

LENGUAJES DE PROGRAMACIÓN. Solución al Ejercicio de Autocomprobación 1

Resolución de Problemas y Algoritmos

Declaración de Procedimientos

2. Estructuras condicionales

Trabajo Práctico Nº 4 Iteración

Fundamentos de Informática

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

Introducción al Lenguaje de Programación Ada

TEMA 4: Programación estructurada

Sentencias DO-WHILE EN C++

Introducción a la Programación IV. Estructuras de Control. Orden de ejecución. Transferencia de Control. Transferencia de Control II 12/3/10

Introducción a c++ Introducción a la programación EIS Informática III

Unidad 4. Lógica de Programación. Prof. Eliana Guzmán U.

UNIDAD 5. ESTRUCTURAS DINÁMICAS Y ESTÁTICAS DE ALMACENAMIENTO DE DATOS.

Calidad del Software. Ejercicios Tema 4 Conceptos de pruebas

GENERACIÓN DE CÓDIGO ORIENTADO A OBJETOS

Tema: Estructuras de Selección en C#.

Programación 1 Tema 5. Instrucciones simples y estructuradas

PROGRAMACIÓN CONCURRENTE. Tema 5 Monitores

Trabajo Práctico 7 Recursividad Versión 4

Procesamiento de Lenguajes (PL) Curso 2014/2015. Práctica 1: analizador descendente recursivo

ALGORITMOS Y ESTRUCTURAS DE DATOS. Ejercicios Resueltos CUADERNILLO DE PRACTICA

M.C. Yolanada Moyao Martínez

Arreglos y Subrangos

Capítulo 13 INSTRUCCIONES DE CONTROL REPETITIVAS. Presentación resumen del libro: "EMPEZAR DE CERO A PROGRAMAR EN lenguaje C"

PASCAL y TURBO PASCAL

Tema 3. Estructuras de control

Programación 1 Tema 5. Instrucciones simples y estructuradas

Capítulo 3. Subprogramas. 3.1 Subprogramas FUNCTION

Transcripción:

0,25 puntos cada pregunta 1. Observa el siguiente esquema de código. Cuándo se ejecuta Instrucción4? IF Condición1 THEN Instrucción1 ELSE IF Condición2 THEN Instrucción2 ELSE IF Condición3 THEN Instrucción3; Instrucción4 a) Cuando todas las condiciones (Condición1, Condición2 y Condición3) son ciertas. b) Solamente cuando Condición1 y Condición2 son falsas y Condición3 es cierta. c) Siempre. d) Cuando todas las condiciones (Condición1, Condición2 y Condición3) son falsas. 2. Cuánto vale la variable booleana test tras la ejecución del siguiente fragmento de código? test:= N MOD 2 = 0; FOR I:=1 TO N DO test:= NOT test; a) Siempre TRUE. b) Siempre FALSE. c) Depende del valor de la variable entera N. d) Este fragmento de código es erróneo. 3. Si valor = TRUE, cuál es el resultado de la siguiente expresión? 2*3+314 DIV 7-(ORD(valor)*4) a) No tiene solución, produce un error mientras se está ejecutando el programa. b) 46. c) 41. d) No tiene solución, produce un error al intentar compilar el programa. 4. Cuantas veces se ejecuta Instrucción1 en el siguiente fragmento de código? FOR i:= 1 TO 5 DO IF (i>3) THEN IF (i+2*3>8) THEN Instrucción1; a) Sólo una vez debido a que el segundo IF está fuera del FOR y, por lo tanto, se ejecuta al final. b) No se ejecuta nunca porque produce un error de compilación (faltan el BEGIN y el END del FOR). c) Se ejecuta dos veces. d) Se ejecuta tres veces.

5. Qué ocurre con las variables no locales a un subprograma? a) Nunca producen efectos laterales. b) Son aquellas que están declaradas en el mismo subprograma. c) Si existen puede ser debido a que hay anidamiento de subprogramas. d) Siempre se pueden usar en el bloque del programa principal. 6. En qué situaciones se recomienda usar el mecanismo de paso de parámetros por variable? a) En funciones que no devuelvan ningún valor. b) En procedimientos que devuelvan varios valores. c) En procedimientos que sirvan para leer entradas del usuario introducidas por teclado. d) En funciones recursivas. 7. Qué ocurre si al principio de un programa en Pascal se declara una variable global y después, en un procedimiento de ese programa, se utiliza el mismo nombre para declarar otra variable? a) El compilador detecta un error sintáctico. b) Se detecta un error durante la ejecución del programa. c) El compilador entenderá que se trata de la misma variable, a todos los efectos. d) El compilador entenderá que se trata de dos variables distintas, a todos los efectos. 8. Qué se recomienda con respecto al uso de los procedimientos? a) La comunicación con el exterior se debe realizar exclusivamente mediante parámetros. b) Todas las variables que se manejen en el procedimiento deben ser declaradas globalmente. c) Todas las variables que se manejen en el procedimiento deben ser solo las declaradas localmente. d) Ninguna de las respuestas anteriores es cierta. 9. En qué situaciones se recomienda el uso de una función? a) Cuando hace falta un subprograma que no devuelva ningún valor. b) Cuando hace falta un subprograma que realiza un cálculo cuyo resultado ha de devolverse. c) Cuando hace falta un subprograma que devuelva más de un valor. d) Ninguna de las respuestas anteriores es cierta. 10. Cuándo deben utilizarse los bucles REPEAT? a) Cuando no se sabe de antemano cuántas veces se ejecutará el cuerpo del bucle. b) Cuando se sabe de antemano que el cuerpo del bucle se ejecutará n veces, siendo n 1. c) Cuando en el cuerpo del bucle hay estructuras iterativas anidadas. d) Cuando se sabe que el cuerpo del bucle ha de ejecutarse al menos una vez.

Rellena esta tabla con tus respuestas a las preguntas anteriores: Pregunta 1 a b c d Pregunta 2 a b c d Pregunta 3 a b c d Pregunta 4 a b c d Pregunta 5 a b c d Pregunta 6 a b c d Pregunta 7 a b c d Pregunta 8 a b c d Pregunta 9 a b c d Pregunta 10 a b c d Ejercicios 1.- (2,5 puntos) Rellena la siguiente tabla con el valor de las variables globales (a, b y c) justo después de ejecutar las sentencias señaladas en el siguiente programa con los comentarios {punto1}, {punto2} y {punto3}. PROGRAM examen; VAR a, b, c: CHAR; PROCEDURE cambio (c: CHAR; var b: CHAR; var a: CHAR); BEGIN b := 'b'; a := c; END; BEGIN a := 'c'; b := 'b'; c := 'a'; cambio (c, b, a); {punto1} cambio (c, b, b); {punto2} cambio ('b', c, a); {punto3} END. a b c Valor inicial c b a {punto1} {punto2} {punto3}

Resuelve en estas mismas hojas los siguientes dos ejercicios: 2.- (2,5 puntos) Escribe el código de un procedimiento que recibe un entero n y devuelve la suma de los n primeros términos de la serie cuya fórmula se muestra a continuación (con ejemplo). Escribe también el programa que permite al usuario hacer dicho cálculo, gracias a este procedimiento. 1 1 1 1 A n = (-1) n 1 / 2 n 1 + +... 2 4 6 8

3.- (2,5 puntos) Escribe el código de la función calcular que recibe los parámetros X e Y y devuelve la suma de los valores A y B, calculándose estos valores según la siguiente fórmula. Para realizar el cálculo del valor de A debe implementarse una función uno que recibe los parámetros X e Y y devuelve el valor de A, con esta cabecera: FUNCTION uno(x,y: REAL): REAL; Para realizar el cálculo del valor de B debe implementarse un procedimiento dos que recibe los parámetros X e Y y devuelve el valor de B aprovechando el parámetro X, con esta cabecera: PROCEDURE dos(var x: REAL; y: REAL);