Boletín de ejercicios de la asignatura de INFORMÁTICA para la realización de las prácticas de laboratorio. Ejercicios de Estructuras de Control

Documentos relacionados
SESIÓN DE EJERCICIOS E1

BOLETÍN 5: Algoritmos II

4.- Leer tres números y escribirlos en orden decreciente

Dobles: Es el caso de la instrucción if-else (punto 1.2).

Ejercicios Tema 6. Funciones

SESIÓN DE EJERCICIOS E1

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

Hoja de problemas Estructuras de Control

Operadores aritméticos

EJERCICIOS ALGORITMOS

Asignatura: Estructuras de Datos. Año Escolar: Grado y Sección: 6to INF A-B Docente: Ing. Yesika Medina

1. Escriba el siguiente código, compílelo y ejecútelo. Obtiene el resultado esperado? Modifíquelo para que se comporte como debe:

GUÍA DE LABORATORIO #3 ESTRUCTURAS ALGORÍTMICAS CONDICIONALES SIMPLES, DOBLES Y MÚLTIPLES

Tema 3. Estructuras de control y programación estructurada

2 a la correspondiente función, a la cual se le pasará los dos números y devolverá el resultado al programa principal (main) que mostrará el resultado

UNTELS Estructuras Selectivas (Sin anidar) Estructuras condicionales

WHILE Y DO WHILE BREAK EN LENGUAJE C. BUCLES MIENTRAS. FORZAR SALIDA O TERMINACIÓN. EJEMPLO (CU00534F)

Informática PRÀCTICA 9 Curs Práctica Nº 9: Rango y precisión de representación de números en el ordenador.

TEMA 4. ESTRUCTURAS DE CONTROL

Estructuras de Decisión Múltiple

Introducción a la Programación

PROBLEMAS DEL TEMA 5: Control de Flujo del Programa

Programación Estructurada

FUNDAMENTOS DE PROGRAMACIÓN TALLER No. 1 Profesor: Alvaro Ospina Sanjuan

LABORATORIO 3 ESTRUCTURAS REPETITIVAS WHILE / DO WHILE

TEMA 2. LENGUAJE C. CONCEPTOS BÁSICOS Y PROGRAMACIÓN ELEMENTAL.

Actividad Algoritmos, Estructura y Programación I. FOR, DO-WHILE

Estructuras de Repetición (Repita para)

Lenguaje de programación C. Introducción

Ejercicios aplicando estructuras de asignación.

BOLETÍN DE EJERCICIOS: PROGRAMACIÓN EN C++ Ejercicio 1.- escribir un programa que calcule el factorial de un número:

Trabajo Práctico 5 Estructura Repetitiva

Nota: Se entiende que el usuario no introducirá un divisor igual a cero.

Taller 2: Condicionales python

for(i = 0; i <= 45; i+=5) { x = (i*3.1416)/180; printf( seno(%d) = %f\n,i,seno(x));

= RETURN =3 7-. ELSE K

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

Hoja de ejercicios del Tema 3

Variables y tipos básicos 1. Definir una variable de tipo char. Convertirla a una variable de tipo entera e imprimir su valor asociado.

PROBLEMAS DEL TEMA 8: Estructuras de Datos Complejas

ESCUELA POLITÉCNICA SUPERIOR PRÁCTICA 2: EXPRESIONES, PRINTF Y SCANF

EJEMPLOS Y EJERCICIOS

Tema: Estructuras de Repetición en C# [While y Dowhile].

Examen Fundamentos de Programación 15 de enero de 2016 Curso 2015/16

CAPITULO 4: ENTRADA Y SALIDA DE DATOS.

Tipos de Arreglos. Notación Algoritmica de los Arreglos multidimensionales tipo_dato nombre[dim 1. , dim 2. ,..., dim n

Ejemplo 1: Ejemplo 2:

Al igual que las instrucciones alternativas, las instrucciones repetitivas también se pueden anidar, permitiendo las siguientes combinaciones de

Estructuras de Repetición (Hacer-Mientras)

BREAK: FORZAR SALIDA BUCLES FOR, WHILE, DO EN C. LOOP. STATEMENT NOT WITHIN LOOP OR SWITCH (CU00545F)

GUIÓN DE PRÁCTICAS 3: ESTRUCTURAS CONDICIONALES

Actividad colaborativa Ejercicios de programación Programación básica C++

Ampliación Tema 3: Múltiplo y divisores

Algoritmo, Estructuras y Programación I Ing. Marglorie Colina

GUIA DE EJERCICICIOS. 1.- Escribir un algoritmo que lea cuatro números e indique cual es el mayor

En este artículo vamos a conocer los tipos de datos que podemos manejar programando en C.

Sección III CRITERIOS DE DIVISIBILIDAD I (Criterios Habituales)

Práctica 5. Contenido: Subprogramas (funciones y procedimientos). Parámetros por valor y por referencia.

Funciones: Pasos por Referencia Recursividad

Formatos para prácticas de laboratorio

Algoritmos y Estructura de datos:

Universidad Autónoma del Estado de México Facultad de Medicina

RECORDAR TIPOS DE DATOS

Programación. Ejercicios Tema 6 Tipos de Datos Estructurados: Vectores y Matrices

PROBLEMAS DEL TEMA 7 SUBPROGRAMAS Y MODULARIDAD

Fundamentos de Informática 1º IIND

1. ESQUEMA - RESUMEN Página EJERCICIOS DE INICIACIÓN Página EJERCICIOS DE DESARROLLO Página EJERCICIOS DE AMPLIACIÓN Página 21

Ejercicios de C. 1. Estructura de un programa. Objetivos: Practicar con el editor - usar el editor emacs emacs nombre.c

UNIDAD DE APRENDIZAJE II

Laboratorio de Arquitectura de Redes. Entrada y salida estándar

Trabajo Práctico Nro. 1

INSTITUTO POLITECNICO NACIONAL CENTRO DE ESTUDIOS CIENTIFICOS Y TECNOLOGICOS " GONZALO VAZQUEZ VELA "

Sentencias DO-WHILE EN C++

Realizar el ejercicio anterior utilizando Punteros

Informática Ingeniería en Electrónica y Automática Industrial

Objetivos. El alumno conocerá y aplicará el concepto de archivo para el almacenamiento y recuperación de datos persistentes.

Estructura de datos y de la información Boletín de problemas - Tema 9

EQUIVALENCIAS EN C DE CONSTRUCCIONES SECUENICIALES EN PSEUDOCÓDIGO

Ejercicios sobre tuberías

Tipos de datos y Operadores Básicos

Cadenas de caracteres

Ejercicios sobre recursividad

Fundamentos de Informática

DIVISIBILIDAD NÚMEROS NATURALES

D L M M J V S

Realiza el algoritmo de cada situación problemática y el programa en lenguaje C correspondiente.

UNIDAD II: ESTRUCTURAS SECUENCIALES

Estructuras de Decisión Simples y Dobles

Ficheros conceptos. Manejo de ficheros en C. Apertura del fichero Función fopen: nombre del fichero. Apertura del fichero Función fopen

SOLUCIONARIO. UNIDAD 1: Números y fracciones EJERCICIOS Y ACTIVIDADES - PÁG Calcula:

Estructuras Secuénciales

PROGRAMACIÓN ESTRUCTURADA

Examen de Programación II (Ingeniería Informática)

Entrada de ejemplo

1. Para los siguientes ejercicios haga una prueba de escritorio de los fragmentos de código y responda las preguntas cuál es la salida?

Cuales son los tipos de instrucciones que se utilizan en la programación?

TEMA 4: Programación estructurada

Tipos de Datos en C. Palabras reservadas en C

6. Haga E igual (11G Z - X) módulo 30 Si E le da negativo, súmele 30 Si (E = 25 y G es mayor que 11), o si E = 24 entonces incremente E en 1

LENGUAJE DE PROGRAMACION UNO.

Transcripción:

Boletín de ejercicios de la asignatura de INFORMÁTICA para la realización de las prácticas de laboratorio Ejercicios de Estructuras de Control Escuela Técnica Superior de Ingeniería Geodésica, Cartográfica y Topográfica (UPV) Pedro Alonso Jordá Fernando García Granada Laura Sebastiá Tarín Miguel Vicente Ripollés {palonso,fgarcia,lstarin,mvicente@dsic.upv.es Curso 2007-2008 Ejercicio 1. Escribir un programa que lea un número entero y diga si es par o impar. Ejercicio 2. Implementar un programa en C que permita resolver el siguiente problema: determinar la cantidad total a pagar por una llamada telefónica, teniendo en cuenta lo siguiente: toda llamada que dure menos de 1 minuto tiene un coste de 10 céntimos, cada minuto adicional a partir del primero cuesta 5 céntimos. Ejercicio 3. Implementar un programa en C que dados tres números enteros calcule el máximo y el mínimo. Ejercicio 4. Escribir un programa que lea un año y diga si es o no bisiesto. Un año es bisiesto cuando es divisible por 4 y no lo es por 100. Alternativamente, tambié es bisiesto cuando es divisible por 400. Ejercicio 5. Escribir un programa que determine si un atleta es seleccionado para correr una maratón. Para ser seleccionado, los tiempos de clasificación son 150 minutos para hombres menores de 40 años, 175 minutos para hombres mayores de 40 años, y 180 minutos para mujeres. Los datos a introducir son: sexo (valores posibles: H, M), edad y tiempo. El programa visualizará el mensaje Seleccionado o No seleccionado. NOTA: Recordad que las constantes de tipo caracter se representan entre comillas simples, por ejemplo, h. Repasad también el Ejercicio 13 del Boletín1 para la introducción de caracteres por teclado. 1

2 Ejercicio 6. Escribir un programa en C que sea equivalente al siguiente fragmento de programa, pero sin utilizar la estructura de control de selección múltiple switch: scanf ("%d", &a); switch (a) { case 2: case 5: case 8: case 11: printf ("A\n"); break; case 3: case 6: case 9: case 12: printf ("B\n"); break; case 4: case 7: case 10: case 13: printf ("C\n"); break; Ejercicio 7. Dado el siguiente programa en C: int a,b,i,aux,resultado; printf ("Introduce dos numeros enteros "); scanf ("%d%d", &a, &b); if (a > b) { aux=a; a=b; b=aux; resultado=1; for (i=a+1; i<=b; i=i+1) { resultado=resultado*i; printf ("El resultado es: %d \n", resultado); responder a las siguientes cuestiones: Cuál sería el resultado del programa si los datos introducidos fuesen 3 y 6?. Demostrarlo con una traza. Y si los datos introducidos fuesen 7 y 7?. No se pide traza. El resultado del programa depende del orden en que son introducidos los datos?. Responder SI o NO y explicar brevemente por qué. Expresar con una fórmula qué cálculo hace este programa cuando a <= b.

3 Ejercicio 8. Qué se visualiza en los siguientes programas? i=0; while (i<6) { printf ("El valor de i es %d \n", i); i=i+1; i=0; while (i<6) { i=i+1; printf ("El valor de i es %d \n", i); Ejercicio 9. Implementar un programa en C que lea un número entero correspondiente a un mes del año, validando la corrección del mismo. El programa debe solicitar un nuevo número si el valor introducido no está en el intervalo [1, 12]. Cuando el valor sea correcto, el programa mostrará el nombre del mes correspondiente. Ejercicio 10. Escribir un programa en C para calcular el cociente y resto de la división entera de dos números enteros, utilizando para ello la operación de resta o sustracción. Ejercicio 11. Escribir un programa en C para determinar si un número entero es primo o no. Ejercicio 12. Escribir un programa en C para calcular la suma de los números enteros comprendidos entre N y M, siendo N y M valores introducidos por el usuario. Ejercicio 13. Realizar un programa en C para leer 10 números y calcular, independientemente, la suma de los números pares e impares. Ejercicio 14. Dado un número N, escribir un programa en C que genere todos los números múltiplos de 7 que hay entre 1 y N. Modificar el programa anterior para que visualize sólo aquellos múltiplos de 7 entre 1 y N que no son divisibles entre 3. Ejercicio 15. Escribir un programa que genere la secuencia de números: 1, 2, 1, 2, 3, 1, 2, 3, 4, 1, 2, 3, 4, 5,..., 1, 2, 3,... Ejercicio 16. Escribir un programa en C que lea una serie de números positivos y distintos de 0 y obtenga el mayor de ellos. Introducir un número negativo para detectar el final de la serie numérica. Ejercicio 17. Escribir un programa en C que lea un conjunto de 100 números naturales almacenados en un fichero y determine:

4 Cuántos son menores o iguales que 15? Cuántos son mayores o iguales que 50? Cuántos están comprendidos entre 25 y 45, ambos inclusive? Para gerenar dicho fichero se puede utilizar el siguiente código: FILE *fp; fp = fopen("fichero.txt","w"); srand(1234); for( i=0; i<100; i++ ) { fprintf(fp,"%d\n",rand()%100); fclose(fp); que crea el fichero Fichero.txt con 100 números enteros comprendidos entre 0 y 100 (es necesario incluir los ficheros de cabecera stdio.h y stdlib.h). Tomando ese fichero como entrada, el resultado del ejercicio es: Menores de 15 = 23 Mayores de 50 = 45 Entre 25 y 45 = 17 Ejercicio 18. Implementar un programa en C que lea 100 números reales almacenados en un fichero y calcule la media de los números positivos y la de los negativos. Para gerenar dicho fichero se puede utilizar el siguiente código: FILE *fp; fp = fopen("fichero.txt","w"); srand(1234); for( i=0; i<100; i++ ) { fprintf(fp,"%lf\n",((double) rand())/((double) RAND_MAX) - 0.5); fclose(fp); que crea el fichero Fichero.txt con 100 números reales comprendidos entre -0.5 y 0.5. (es necesario incluir los ficheros de cabecera stdio.h y stdlib.h). El resultado en este caso es de 0.233231 de media para los positivos y -0.260781 de media para los negativos. Ejercicio 19. Implementar un programa en C que, dados dos números enteros, devuelva si uno es divisor del otro. (Hay que detectar cual es el más pequeño; no se puede utilizar la operación de división ni de resto; se suponen que los dos números son > 0). La salida del algoritmo debe ser del tipo: xxx [no] es divisor de yyy Ejercicio 20. Escribir un programa que encuentre el primer valor N para el que la suma 1 + 2 + 3 +... + N exceda a un valor LIMITE que se introduce por teclado.

5 Ejercicio 21. El siguiente programa en C lee un número N y devuelve un número M. Describir en dos líneas cuál es la relación que existe entre N y M y poner un ejemplo de un dato de entrada y otro de salida. Realizar una traza para N = 2341. int A, B, D, N, M=0, i=0, j, k; printf ("Introduce un numero entero: "); scanf ("%d", &N); A=N; while ((A/10)!= 0) { A=A/10; i=i+1; B=N; for (j=i; j>= 0; j--) { D=1; for (k=0; k<j; k++ ) D=D*10; M=M+(B%10)*D; B=B/10; printf (" El resultado es %d", M); Ejercicio 22. Escribir un programa en C que lea las calificaciones de los alumnos de una determinada asignatura hasta que el usuario introduzca una calificación negativa, y al final escriba el número de aprobados, el número de suspendidos, y la calificación media. Ejercicio 23. Escribir un programa en C que dado un número entero N 1, devuelva otro número entero N 2 que sea el resultado de eliminar la primera y última cifra de N 1. (Nota: Si N 1 tiene 2 cifras o una sola, entonces N2 deberá ser 0) Ejemplos: N1=42635 N2=263; N1=23 N2=0 Ejercicio 24. Una persona dispone de una cantidad de X euros que quiere repartir a un conjunto de personas. A cada persona le da una cantidad de dinero proporcional a la edad de la misma; así por ejemplo, si una persona tiene 17 años recibirá 1.700 euros y si tiene 32 años, recibirá 3.200 euros. El problema consiste en hacer un programa que devuelva el número de personas que podrán recibir una cantidad de dinero. Nota: Cuando la cantidad de dinero ya no es suficiente para dársela a una persona, se supone que no existen más personas y que, por tanto, el algoritmo finaliza. Ejercicio 25. Un número se dice que es capicúa si leído de derecha a izquierda da el mismo resultado que leído de izquierda a derecha. Por ejemplo, los números 22, 343, 5665 o 12321 son capicúas. Implementar un programa en C que lea desde teclado un número entero mayor de 9 y devuelva si el número es capicúa o no. Ejercicio 26. Implementar un programa en C que calcule el máximo, el mínimo y la media de una lista indefinida de números enteros positivos introducidos desde el teclado. En el caso de introducir un número negativo dicho número deberá ser rechazado indicando el motivo (a través de la pantalla) por el que ha sido rechazado ( es negativo ). La entrada de datos finalizará cuando se introduzca el valor 0.

6 Ejercicio 27. Implementar un programa en C que, dado un número entero N mayor que cero, calcule los múltiplos de 3 que hay entre 3 y N y, para cada múltiplo, calcule los divisores del mismo. Ejemplo: para N = 10 el resultado será múltiplo=3 divisores del 3 = {1,3 múltiplo=6 divisores del 6 = {1,2,3,6 múltiplo=9 divisores del 9 = {1,3,9 Ejercicio 28. Se dispone de un conjunto de N alumnos y para cada uno de ellos las calificaciones correspondientes a 7 asignaturas (numeradas del 1 al 7). Implementar un programa en C para calcular el tanto por ciento de aprobados de cada asignatura. Ejercicio 29. Se dispone de un conjunto de N familias, cada una de las cuales tiene un número de hijos. Escribir un programa en C capaz de averiguar la media de edad de los hijos de todas las familias. Ejercicio 30. Un número entero se puede descomponer en una suma de números primos. Por ejemplo el número 8 se puede poner como 7+1, el número 9 como 7+2, el número 6 como 5+1 y un número primo se descompone únicamente en sí mismo. Escribe un programa en C que devuelva los números primos en los que se puede descomponer un número entero. Nota: Algunos números como el número 9 también se podría descomponer como 3+3+3 o 5+3+1, pero el algoritmo debe usar siempre los números primos mayores posibles y el menor número de ellos.