PROBLEMAS DEL TEMA 7 SUBPROGRAMAS Y MODULARIDAD

Documentos relacionados
PROBLEMAS DEL TEMA 7: Subprogramas y Modularidad

EJERCICIOS DE TEORIA FUNDAMENTOS DE INFORMATICA

TEMA 4. ESTRUCTURAS DE CONTROL

PROGRAMACIÓN ESTRUCTURADA

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

Caracteres y Cadenas Conversión de Datos Funciones y procedimientos Archivos cabecera. Fundamentos de programación

Funciones Tipos de funciones y Recursividad

Funciones. Parámetros por valor

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

TEMA 4. ELEMENTOS BÁSICOS DE PROGRAMACIÓN

Funciones en Lenguaje C

Tema: FUNCIONES, PROCEDIMIENTOS Y RECURSIVIDAD.

Estructuras de Repetición (Repita para)

ESTRUCTURAS CONDICIONALES SIMPLES: ESTRUCTURAS CONDICIONALES DOBLES: ESTRUCTURAS CONDICIONALES ANIDADAS:

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

EQUIVALENCIAS EN C DE CONSTRUCCIONES SECUENICIALES EN PSEUDOCÓDIGO

ANGULOS. La unidad de medida es el grado sexagesimal. La "circunferencia completa " mide 360º (grados sexagesimales). Además considere que.

Bloque 4. La descomposición funcional y el diseño descendente

Programación. Ejercicios Tema 3. Elementos Básicos del Lenguaje C

BOLETÍN 5: Algoritmos II

Tema ADQUISICIÓN Y TRATAMIENTO DE DATOS. Departamento de Ciencias de la Computación e IA. Subprogramas en C

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

Hoja de ejercicios del Tema 3

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

Informática I. While & do While

Hoja de problemas Estructuras de Control

Programación. Test Autoevaluación Tema 3

A l g o r i t m o y E s t r u c t u r a d e D a t o s Ing. en Sistemas de Información 1º año Docente: Gabriela Ribotta Ayudante: María Laura López

LENGUAJE DE PROGRAMACION UNO.

Relación de prácticas de la asignatura METODOLOGÍA DE LA PROGRAMACIÓN Segundo Cuatrimestre Curso º Grado en Informática

1. Ejemplo de clase : La clase Cuenta 2. Uso de la clase Cuenta. 3. Métodos y objetos receptores de mensajes (Importante)

Ampliación Tema 3: Múltiplo y divisores

Estructuras de Repetición (Hacer-Mientras)

Programación. Ejercicios Tema 5. Funciones

Práctica 3. Paso de parámetros entre subrutinas. 3. Consideraciones sobre el paso de parámetros

Ciclos. Recordando Estructuras de Control Básicas: SELECCIÓN (condición) SECUENCIAL

Elabore un programa que permita el ingreso de un número calcular el cubo

Titulo: Calculo de PI

Tema 7.- Fundamentos de la Programación Orientada a Objetos

RAZONAMIENTO GEOMÉTRICO

Estructuras de Control en C

PASO DE PARÁMETROS O ARGUMENTOS EN C. POR DEFECTO, POR VALOR O POR REFERENCIA. SIZEOF MEMORIA (CU00550F)

Ejercicios de programación Luis Francisco García Martínez Ingeniería de Sistemas Programa de Ingeniería de Sistemas

Programación Estructurada

Cuestiones: Ejercicios 2: 1) Qué imprimen los siguientes bucles?

Prof. Dr. Paul Bustamante

Metodología y Tecnología de la Programación

GUIA DE TRABAJO Materia: Matemáticas. Tema: Geometría-8a- Soluciones de relaciones métricas en los triángulos Fecha: Profesor: Fernando Viso

C on este CD-ROM Anaya Educación ofrece al profesorado

Titulo: Suma de N primeros números

Lenguaje C Funciones. Omar Andrés Zapata Mesa Grupo de Fenomenología de Interacciones Fundamentales, (Gfif) Universidad de Antioquia

Tema: Clases y Objetos en C#. Parte II.

5. Subprogramas Fundamentos de Informática

Programación. Ejercicios Tema 4 Estructuras de Control Repetitivas

Funciones en Lenguaje C.

Funciones en C. En esta unidad aprenderás a: Comprender el desarrollo de un programa utilizando funciones

TEMA 5. CONTROL DE FLUJO DEL PROGRAMA. Sentencia Instrucción Expresión Operadores + Operandos Sintaxis: Sentencia ;

POLIGONOS. Nº DE LADOS NOMBRE 3 Triángulos 4 Cuadriláteros 5 Pentágonos 6 Hexágonos 7 Heptágonos 8 Octógonos 9 Eneágonos 10 Decágonos

PRÁCTICA ALGORÍTMICA: EJERCICIOS PROPUESTOS

#include <stdio.h> /* Factorial de un número - versión 1- */

1. GENERALIDADES SOBRE LOS POLINOMIOS.

Escuela Politécnica Superior de Elche

Tema 3. Aplicaciones de Tipo Consola

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

EJERCICIOS DE INICIACIÓN A LA PROGRAMACIÓN EN LENGUAJE C

3. Dado un monto calcular el descuento considerando que por encima de 100 el descuento es el 10% y por debajo de 100 el descuento es el 2%.

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

1.- Para cada uno de los siguientes problemas escribir el diagrama de flujo y el pseudocódigo de un programa que lo resuelva:

Cuaderno de trabajo Geometría y Trigonometría 2do.

FICHA DE TRABAJO Nº 17

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

Prof. Dr. Paul Bustamante

INSTITUTO DE FORMACIÓN DOCENTE DE CANELONES REPARTIDO Nº 6. 3) Calcular la diagonal de un cuadrado de 7 cm de lado.

LENGUAJE C Programación de Computadores

1: INTRODUCCIÓN AL USO DE LA HOJA DE CALCULO EXCEL COMO HERRAMIENTA PARA DESARROLLAR PROBLEMAS EN INGENIERÍA. SOLVER, REGRESION LINEAL MULTIPLE

1. Cuántas sentencias hay en la secuencia principal del siguiente programa?

7ª Práctica. Matlab página 1 EJERCICIO 1. ORDENAR UN VECTOR CON EL MÉTODO DE LA BURBUJA...1

Programación. Ejercicios Tema 3. Elementos Básicos del Lenguaje C

Soluciones oficiales de los problemas de la Final de la XXI Olimpiada Nacional de Matemática 2009

Departamento de Informática Universidad Técnica Federico Santa María. Tema 1: Algoritmos

TEMA 8: Gestión dinámica de memoria

Algoritmos. Diagramas de Flujo. Informática IV. L. S. C. Heriberto Sánchez Costeira

Lenguaje de programación C. Introducción

Programación de Computadores 4 Iteraciones y Decisiones. Prof. Javier Cañas. Universidad Técnica Federico Santa María Departamento de Informática

PRÁCTICA 5. SENTENCIAS DE CONTROL REPETITIVAS.

Examen Principios de Programación Febrero 2012

Vectores y matrices. Fundamentos de Programación Fundamentos de Programación I

Lenguaje C. Tipos de Datos Simples y Estructuras de Control

RELACIÓN DE EJERCICIOS. Tema 5: Subprogramas (Funciones)

Esquemas algorítmicos de un nivel

Programación En Lenguaje C

SIMCE Nº 2 Educación Matemática Octavo Básico Geometría.

RESOLUCIÓN DE TRIÁNGULOS FUNCIONES TRIGONOMÉTRICAS DE UN ÁNGULO AGUDO (0º a 90º) DEFINICIÓN DE FUNCIONES TRIGONOMÉTRICAS

Estructuras de Decisión Simples y Dobles

TRABAJO DE VERANO DE MATEMÁTICAS DE 2º ESO

Materia: Matemáticas de 4to año. Tema: Logaritmos naturales y base 10. Marco Teórico

EJERCICIOS DE POLINOMIOS

Transcripción:

PROBLEMAS DEL TEMA 7 SUBPROGRAMAS Y MODULARIDAD EJERCICIOS RESUELTOS 1. Escribe una función que calcule el factorial de un número, dado como parámetro. A continuación realizar un programa que lea por teclado un número entero n y muestre por pantalla los factoriales de los números de 1 a n. El programa debe usar la función factorial previamente definida. float factorial(int n); /* prototipo de funcion */ int i, n; do { printf("introduce un nº positivo (maximo 25): "); scanf("%d", &n); while (n < 1 n > 25); for(i = 1; i <= n; i++) { printf("%d! = ", i); printf("%.0f \n", factorial(i)); // llamada a la funcion printf("pulse una tecla para terminar"); getch(); /* dado un numero n devuelve su factorial */ float factorial(int n) { int i; float fact = 1; for(i = 1; i <= n; i++) fact = fact * i; return fact; 2. Realizar un programa que calcule el número e, utilizando el siguiente desarrollo en serie: e = 1 + 1/1! + 1/2!+ + 1/10! + Departamento de Ingeniería Electrónica, de Sistemas Informáticos y Automática 1/5

El programa debe usar la función factorial definida en el ejercicio anterior. float factorial(int n); /* prototipo de funcion */ int i, j, n; float e; do { printf("programa que calcula el valor del nº e segun la formula: \n\n"); printf("e = 1 + 1/1! + 1/2! +... + 1/10! +... \n\n"); printf("introduce el nº de terminos a usar para calcular el nº e (max 10):"); scanf("%i", &n); while (n < 1 n > 10); e = 1; printf("\nformula: e = 1"); for(i = 1; i <= n - 1; i++) { printf(" + 1/%d!", i); e = e + 1 / factorial(i); printf("\n\nel numero e vale %f \n\n", e); printf("pulsa una tecla para terminar"); getch(); /* dado un numero n devuelve su factorial */ float factorial(int n) { int i; float fact = 1; for(i = 1; i <= n; i++) fact = fact * i; return fact; Departamento de Ingeniería Electrónica, de Sistemas Informáticos y Automática 2/5

3. Dos números son amigos, si cada uno de ellos es igual a la suma de los divisores del otro. Por ejemplo, 220 y 284 son amigos, ya que: Suma de divisores de 284: 1 + 2 + 4 + 71 + 142 = 220 Suma de divisores de 220: 1 + 2 + 4 + 5 + 10 + 11 + 20 + 22 + 44 + 55 + 110 = 284 Hacer una función que determine si dos números dados como parámetros son amigos o no. A continuación realizar un programa que muestre todas las parejas de números amigos menores o iguales que n, siendo n un número introducido por teclado. El programa debe usar la función amigo previamente definida. int amigo(int x, int y); /* prototipo de funcion */ int n, n1, n2; printf("introduce un numero: "); scanf("%i", &n); for(n1 = 1; n1 <= n; n1++) { for(n2 = 1; n2 <= n; n2++) { if (amigo(n1, n2)) printf("%i y %i son numeros amigos \n", n1, n2); system("pause"); /* dados dos nº x y devuelve un 1 si son amigos y 0 si no lo son */ int amigo(int x, int y) { int sumax, sumay, n; sumax = 1; sumay = 1; for(n = 2; n < x; n++) if (x % n == 0) /* es divisible */ sumax = sumax + n; for(n = 2; n < y; n++) if (y % n == 0) /* es divisible */ sumay = sumay + n; return(sumax == y && sumay == x); Departamento de Ingeniería Electrónica, de Sistemas Informáticos y Automática 3/5

EJERCICIOS PROPUESTOS: 1. Realizar una función llamada ordena3 que reciba tres parámetros enteros a, b, c, y los intercambie, en caso necesario, para que se cumpla a<=b<=c. 2. Basándose en la función anterior, escribir un programa que pida los 3 lados de un triángulo y a continuación muestre los siguientes datos: Cuanto vale la hipotenusa, cuanto el cateto mayor y cuanto el cateto menor, y si el triángulo es equilátero, isósceles o escaleno. 3. Escribe una función que resuelva una ecuación de 2º grado según la fórmula x = b ± b 2 4ac 2a según el siguiente prototipo: void ecuacion(int a; int b; int c; float *r1; float *r2; int *hay); siendo a, b, c los coeficientes de la ecuación, r1 y r2 las dos soluciones de la ecuación. La función devolverá en hay un 0 para indicar que el sistema no tiene solución y un 1 para indicar que si tiene solución. 4. Realizar un programa que pida por teclado los 3 coeficientes de una ecuación de 2º grado y a continuación muestre en pantalla la solución de dicha ecuación. Si la ecuación no tuviera solución deberá mostrar un mensaje en pantalla advirtiendo de tal circunstancia. El programa deberá preguntarnos si deseamos hallar la solución de otra ecuación, en caso afirmativo deberá volver a preguntarnos los coeficientes de otra ecuación y así sucesivamente hasta que alguna vez digamos que no; en ese caso el programa terminará. Para realizar el programa debemos basarnos en la función ecuacion implementada en el ejercicio anterior. Departamento de Ingeniería Electrónica, de Sistemas Informáticos y Automática 4/5

5. Realizar un programa que muestre por pantalla el siguiente menú: 1.- Calcular el factorial de un número. 2.- Calcular el nº e: 3.- Hallar si dos números son amigos 4.- Resolver ecuación de 2º grado 5.- Salir del programa El usuario podrá elegir cada una de las opciones del menú. Si la opción pulsada no es ninguna de las anteriores el programa debe mostrar un mensaje informando de tal error. Para cada opción el programa mostrará en pantalla la solución y esperará a que se pulse una tecla. Una vez pulsada volverá a mostrar el menú anterior. 6. Encontrar dónde están los errores en el siguiente programa: void ordena(int *a, int *b) { int c; c = a; if (a > b) *a = *b; *b = c; int main(void) { int a = 5, b = 2, c; c = invierte(a, b); printf("el valor mas pequeño es %i", c); printf("el valor mas grande es %i", *b); system("pause"); Departamento de Ingeniería Electrónica, de Sistemas Informáticos y Automática 5/5