En esta asignatura soy responsable de un grupo de teoría y
de un grupo de prácticas, aquí irán apareciendo
materiales para los alumnos de esos grupos.
En mis grupos de
prácticas utilizamos dev-cpp
como Entorno Integrado de Desarrollo. He preparado unos apuntes
que explican a nivel introductorio el funcionamiento de este
programa.
Marta Fernández ha escrito unos apuntes para
la asignatura, disponibles aquí.
Por
otra parte, los boletines de ejercicios propuestos son los
siguientes:
Estructuras de
control.
Arrays.
Funciones.
Los
exámenes tienen una parte de problemas y otra de test o
cuestiones breves. La parte de problemas está disponible a
continuación, la otra no la publicamos (de momento).
NUEVO 2009:Febrero
Exámenes de prácticas. De
cara al examen final, usar para auto-evaluarse: intentar hacerlos sin
mirar la solución.
Examen
de if-else-switch modelo
1, modelo
2, solución
1, solución
2
Examen de bucles modelo 1, modelo 2, solución 1, solución 2
Examen de arrays y funciones, sólo hay un modelo, solución
Prácticas:
Bloque 2 y medio, switch.
Bloque 3, while, Esquemas autoexplicativos. while_I.cpp, while_II.cpp.
Bloque 5, basándose en la solución al segundo ejercicio del bloque anterior, modificar el programa de modo que:
El usuario/a no pueda introducir un entero que no sea una cifra, repitiéndose la petición del dato hasta que sea correcto. Entregar este programa en un fichero fuente con el nombre do_whileI.cpp.
El usuario/a no pueda introducir un intervalo en el que el extremo izquierdo sea mayor que el derecho, repitiéndose la petición del dato hasta que sea correcto. Entregar este programa en un fichero fuente con el nombre do_whileII.cpp.
Ambas cosas al mismo tiempo. Entregar este programa en un fichero fuente con el nombre do_whileIII.cpp.
NOTA: utilizar un bucle do while para validar la entrada de los datos.
Ejemplo: Este programa pide un número por el teclado mientras sea mayor que un límite.
#include<stdio.h> int main() { int valor, limite=10; do{ printf("\nIntroduce un entero menor que %d: ", limite); scanf("%d",&valor); if (valor>limite) printf("\nNo valido"); }while(valor>limite); printf("\nEl valor introducido es %d", valor); }
Ejemplo de ejecución:
Introduce un entero menor que 10: 23
No valido
Introduce un entero menor que 10: 33
No valido
Introduce un entero menor que 10: 2
El valor introducido es 2
Bloque 6, for.Esquemas autoexplicativos. buclesIII_1.cpp, buclesIII_2.cpp. Ejercicio de referencia: "Mostrar los n primeros números que contienen la cifra x, n y x se piden por el teclado". contienex.cpp
Bloque 7 funciones.. Mostrar los n primeros números primos. guion_nprimos_f.cpp. Mostrar los n primeros números perfectos (buscar en la wikipedia la definición). guion_nperfectos_f.cpp. Como ejercicio, relacionados con estos y sin guión: mostrar las parejas de números amigos menores de 3000 (dos números son amigos si la suma de los divisores de uno es el otro y recíprocamente). Mostrar los n primeros primos gemelos. Dos primos son gemelos si su diferencia es igual a 2.
NUEVO Bloque 8. Arrays unidimensionales. Ejercicio 1 del examen de Septiembre de 2007. Trata de la sucesión de Fibonacci, ver artículo correspondiente de la Wikipedia.
Usar estos guiones, primero sin funciones, después con funciones.
Transparencias para la introducción: para ver en el ordenador, para imprimir.
Transparencias para el primer bloque de C: para ver en el ordenador, para imprimir.
Transparencias para el segundo bloque de C: para ver en el ordenador, para imprimir.
Transparencias para el tercer bloque de C: para ver en el ordenador, para imprimir.
NUEVO Transparencias para el cuarto (y último) bloque de C: para ver en el ordenador, para imprimir.
Problemas:
Ejemplos de clase para if,
if-else, switch.
Sistema
lineal de dos ecuaciones.
Instante
siguiente a uno dado
Día
siguiente a una fecha dada
Ejemplos de clase para bucles.
Suma
de las cifras de un número
Factorial
de un número
Calculadora
de complejos con la entrada de la operación blindada
Volver
del revés un número
Analizar
si un número es o no capicúa
Aproximar
e elevado a x mediante su desarrollo en serie, apartado b
Mostrar
los n primeros números que contienen la cifra x, n y x se
piden por el teclado
Ejercicios de examen de bucles.
Ejercicio 1 del 6/9/2001
Ejercicio 1 del 13/2/2004
Ejercicio 1 del examen del 5/9/2003
Más ejercicios de examen de bucles y un clásico.
Ejercicio 1 de Junio del 2004, solución 1 y solución 2
Descomponer un número en factores primos
Todos los ejercicios anteriores en un mismo pdf a dos columnas.
Aún mas ejercicios de bucles.
Ejercicio 1 del examen de Febrero de 2006. febrero2006_1.c
Sucesión de Fibonacci, ejercicio 1 del examen de Septiembre de 2007. fibonacci.c
Números narcisistas, ejercicio 1 del examen de Junio de 2007. narcisista_p.c
Elevar un número entero a otro, positivo o negativo, jercicio 2 de Septiembre de 2007. potencia.c
Números perfectos. perfectos.c
Números automórficos. automorficos.c
Estos ejercicios en un mismo pdf a dos columnas.
Ejercicios de funciones:
Más bien los hice en clase directamente, pero dejo aquí algunos para que los consultéis.
Mostrar los n primeros números primos.nprimos.cpp
Mostrar los n primeros números tales que contienen la cifra x.ncontienex_f.cpp
Escribir una función que calcule a elevado a b, ambos de tipo entero, considerando la posibilidad de que b sea negativo. Ejercicio de examen (Septiembre 2007). potencia.cpp
Escribir un programa que muestre los n primeros números narcisistas, estructurándolo de forma adecuada en distintas funciones. Un número es narcisista si es igual a la suma de las potencias de cada una de sus cifras elevadas al número de cifras del propio número. Ejemplo: 153=1^3+5^3+3^3. narcisistas.cpp
Ejemplos de vectores y matrices (arrays)
Ejemplo de vectores. ejemplo_vectores.cpp
Ejemplo de arrays. ejemplo_matrices.cpp
Ejemplos de paso de arrays unidimensionales (vectores). ejemplo_vectores_f.cpp
Ejemplos de paso de arrays bidimensionals (matrices). ejemplo_matrices_f.cpp
Ejercicios de examen. examen_matrices1.cpp
NUEVO Problemas de los dos últimos exámenes (ver más arriba la actualización de los exámenes de otros años)
Ejercicio 1 Febrero 2008
Ejercicio 2 Febrero 2008
Ejercicio 3 Febrero 2008
Ejercicio 1 Junio 2008
Ejercicio 2 Junio 2008
Ejercicio 3 Junio 2008