Professional Documents
Culture Documents
Evaluacin de la Materia
Evaluacin:
Exmenes
Lecciones
Deberes
50%
20%
10%
Participacin
en Clase
Bibliografa Bsica:
Joyanes Aguilar Luis (2008). Fundamentos de
Programacin: Algoritmos, Estructuras de Datos y
Objetos (4ta. Edicin) Madrid. Editorial: McGraw Hill.
Pginas: 201 243, 285 306, 519 549.
Bibliografa Recomendada:
Corona Nakamura Mara Adriana, Ancona Valdez Mara
de los ngeles (2011). Diseo de algoritmos y su
codificacin en lenguaje C (1era. Edicin) Mxico.
Editorial: McGraw Hill. Pginas: 27 127, 171 237.
Cair Battistutti Osvaldo (2006). Fundamentos de
Programacin: Piensa en C (1era. Edicin) Mxico.
Editorial: PEARSON Educacin. Pginas: 137 168, 253
281.
Proyecto
Talleres
10%
10%
LOGO
Captulo 1
Funciones y Recursividad
Introduccin a Funciones
Una de las mejores maneras de redactar un programa, es comenzar con el
objetivo general y luego dividirlas en tareas ms pequeas.
Una Funcin es un mdulo de cdigo aislado que se ejecuta y controla
desde la funcin Main(), en lugar de codificar un programa muy largo,
deber escribir varias subrutinas ms pequeas denominadas Funciones.
PROGRAMA
Objetivo General
Mdulos
Mdulo Estructurado
Mdulo Principal
main()
Ingresar
datos
1.1. Introduccin a Funciones
Validar
Decisiones
Imprimir
totales
Imprimir(i);
printf("\n\n\t El nuevo valor de i es: %d , i);
getch();
return;
Cadenas
Manejo de Cadenas
Definicin
Como un arreglo de caracteres o una variable de tipo char *
char color[] = "blue";
char *colorPtr = "blue";
Recuerde que una cadena se representa como un arreglo de
caracteres y termina con '\0'
color tiene 5 elementos
Lectura
Utilizando scanf
scanf("%s", cadena);
Ejemplos
char RandomLetra(void)
{
return (RandomInteger (A,
Z));
}
Interfaces tiles
La interfaz ctype.h
Contiene un gran nmero de funciones para determinar el tipo
de carcter, entre las principales tenemos:
islower(ch) retorna TRUE si el carcter ch es minscula
isupper(ch) retorna TRUE si el carcter ch es mayscula
isalpha(ch) retorna TRUE si ch es un valor alfabtico
isdigit(ch) retorna TRUE si ch es un dgito
isalnum(ch) retorna TRUE si ch es un valor alfanumrico
ispunct(ch) retorna TRUE si ch es un smbolo de puntuacin
isspace(ch) retorna TRUE si ch es un carcter en blanco
Description
Returns true if c is a white-space characternewline ('\n'), space (' '), form feed
('\f'), carriage return ('\r'), horizontal tab ('\t'), or vertical tab ('\v')and false
otherwise
Returns true if c is a printing character other than a space, a digit, or a letter and false
otherwise.
Returns true value if c is a printing character including space (' ') and false otherwise.
Returns true if c is a printing character other than space ( ' ') and false otherwise.
Function prototype
Function description
Function prototype
Function description
Inputs the next character from the standard input and returns it as an integer.
Function description
Funciones de bsqueda
Function prototype
Function description
Funciones Numricas
FUNCIONES MATEMTICAS Y TRIGONOMTRICAS
El archivo de cabecera <math.h> define un grupo de funciones para el manejo
numrico.
Recursividad
Las funciones recursivas son aquellas que se invocan a si mismas en algn
momento de su ejecucin.
Para poder resolver un problema de forma recursiva es necesario saber
alguna solucin no recursiva para alguno de los casos mas sencillos. "Usamos
la solucin ms simple para resolver un problema ms complejo".
As, todo mtodo recursivo debe tener al menos una sentencia que devuelva
un resultado (la solucin del caso ms sencillo) y las sentencias necesarias
para acercarse en cada invocacin a ese caso.
La recursin permite programar algoritmos aparentemente complicados con
un cdigo simple y claro, ahorrando trabajo,pero no recursosal
programador. A simple vista parece la solucin perfecta para muchos
problemas, pero hay que tener en cuenta que en ocasiones ralentizar el
programa en exceso. Por ejemplo, la funcin factorial en forma recursiva:
1.5. Recursividad
Ejercicios de Aplicacin
Ejercicio 1:
Capturar un nombre y 3 calificaciones en un procedimiento, calcular promedio
en una funcin, desplegar la respuesta en otro procedimiento.
Ejercicio 2:
Crear una tabla de multiplicar (ingresar nmero), captura y control de ciclo en
el principal, operaciones en una funcin, despliegue de resultados en el
principal.
Ejercicios varios:
3) Sacar races cuadradas aproximadas
19) Bsqueda Binaria
4) Da vuelta una palabra
20) Quicksort
5) Factorial en C
21) Torre de Hanoi
6) Nmero de dgitos de un nmero recursivo
22) Cadenas equivalentes
7) Suma de dgitos de un nmero recursivo
23) Subcadena en una cadena
8) Mximo comn divisor de 2 nmeros
9) Decimal a binario recursivo
10) Divisin entera por restas sucesivas
11) Suma recursiva con elementos de un vector
12) Suma elementos de una matriz
13) Encontrar el elemento mayor de un vector
14) Invertir un nmero
15) Potencia de varios nmeros usando recursividad (CMD)
16) Producto de dos nmeros enteros
17) Largo de una cadena de caracteres
18) Repeticin de un caracter en una cadena
Informacin en la Web 1
http://www.slideshare.net/javi2401/funciones-en-c-presentation#
http://www.slideshare.net/charlsrma/ejemplos-c
http://www.slideshare.net/solucionescip/ejercicios-resueltos-en-c-presentation
http://www.slideshare.net/serlob/ejercicios-generales-4667468
http://www.slideshare.net/ecasteloc/ejercicios-basicosi
http://www.slideshare.net/misaelcarreoncelestino/pseudocodigo-16976061
http://www.programacionfacil.com/cpp/funciones
http://www.slideshare.net/PetterBriones/captulo-6-funciones-y-procedimiento
http://www.slideshare.net/IngEsquivel/descomposicion-funcional-parte-ii-2013-2
http://www.data-2013.cl/DOCS/INFORMATICA/PROGRC/cap-c9.html
http://inodos.com/c/programando_en_c_capitulo_cinco.html
http://arco.esi.uclm.es/~david.villa/pensar_en_C++/vol1/ch03s05.html
http://www.metonymie.com/apuntes/2008/09/20/alcance-de-variables-en-c.html
http://es.wikipedia.org/wiki/%C3%81mbito_(programaci%C3%B3n)
http://www.network-theory.co.uk/docs/gccintro/gccintro_11.html (Compilar varios)
http://wiki.decom-uv.cl/index.php/Funciones_Recursivas_en_C
http://iie.fing.edu.uy/ense/asign/str/curso-c/ejemplos.htm
http://ejercicioscpp.blogspot.com/2012/09/tipos-de-datos-en-c.html
Informacin en la Web 2
http://www.slideshare.net/javi2401/caracteres-y-cadenas-en-c-presentation
http://www.nebrija.es/~abustind/Informatica/MetodologiaI/Funciones_cadena.pdf
http://www.fismat.umich.mx/mn1/manual/node1.html
http://www.fismat.umich.mx/mn1/manual/node18.html
http://
www.alciro.org/alciro/Programacion-cpp-Builder_12/funciones-cadenas-caracteres-string.h_
448.htm
http://es.wikibooks.org/wiki/Programaci%C3%B3n_en_C/Cadenas_de_caracteres
http://c.conclase.net/curso/?cap=008
http://c.conclase.net/curso/?cap=024
http://c.conclase.net/curso/?cap=902f
http://maxus.fis.usal.es/FICHAS_C.WEB/01xx_PAGS/0103.html
http://cfp401.freeservers.com/cursos/c1/manc8.htm
http://
pestructurada-uai.blogspot.com/2011/10/funciones-numericas-y-matematicas-en-el.html
http://es.wikipedia.org/wiki/Biblioteca_est%C3%A1ndar_de_C%2B%2B
http://www.zator.com/Cpp/E4_4_7.htm
http://www.zator.com/Cpp/E5_5_1a.htm
http://artemisa.unicauca.edu.co/~wpantoja/web/lab_int_inf/funciones.html
Taller de Funciones
Realizar un programa que permita calcular la
suma y el promedio de los nmeros
comprendidos entre X y Y, incluidos los
nmeros dados. Estos nmeros deben ser
ingresados por teclado (X, Y). Al finalizar el
programa deber preguntar al usuario si desea
continuar y deber salir con el dgito 777.
El ingreso, el clculo y los resultados deben
ser ejecutados en 3 funciones distintas:
Ingresar(), Calcular() y Presentar(). Las 3
funciones llevan parmetros.
LOGO
Programacin Avanzada
Preguntas?