Tema VI. Diseño de programas
para la resolución de problemas
de ingeniería
Objetivo: El alumno aplicará el método de
Diseñ...
6.1 Teoría del diseño de
programas
Programación
Cuando se está construyendo software,
una de las fases más importantes, y ...
6.1 Teoría del diseño de
programas
Paradigmas de programación
La evolución de los lenguajes de programación ha ido
paralel...
6.1 Teoría del diseño de
programas
Existen ciertas características que un programa debe
cumplir:





Fiable: debe fun...
6.1 Teoría del diseño de
programas
Tipos de programación
Existen diferentes técnicas de programación
que se pueden ordenar...
6.1 Teoría del diseño de
programas
Programación Convencional
Es el primer programa realizado por alguien que empieza a pro...
6.1 Teoría del diseño de
programas
Programación Estructurada
Cuando los programas se vuelven más grandes, cosa que
lógicam...
6.1 Teoría del diseño de
programas
Fases en la resolución de problemas
El proceso de resolución de un problema con una com...
6.1 Teoría del diseño de
programas
Fases en la resolución de problemas
Las fases de resolución de un problema con computad...
6.1 Teoría del diseño de
programas
Análisis El problema se analiza teniendo presente la especificación
de los requisitos d...
6.1 Teoría del diseño de
programas
Ejecución, verificación y depuración
EL programa se ejecuta, se comprueba rigurosamente...
6.1 Teoría del diseño de
programas
Calidad
Las sentencias de un programa, también
llamadas código del programa o código fu...
6.1 Teoría del diseño de
programas
Documentación
La documentación ayudará a comprender
un programa para así saber utilizar...
6.1 Teoría del diseño de
programas
Interna
Son los comentarios o aclaraciones que van junto al código fuente para clarific...
6.2 Vinculación del diseño de
programas al conocimiento
algorítmico

Lenguaje C
Dennis Ritchie inventó y escribió el prime...
6.2 Vinculación del diseño de
programas al conocimiento
algorítmico
Historia del Lenguaje C
La historia del lenguaje C com...
6.2 Vinculación del diseño de
programas al conocimiento
algorítmico
Características del Lenguaje C
En definitiva, el lengu...
6.2 Vinculación del diseño de
programas al conocimiento
algorítmico

La función main( )
El lenguaje C está basado en el co...
6.2 Vinculación del diseño de
programas al conocimiento
algorítmico
Estructura general de un programa C:

Directivas para ...
6.2 Vinculación del diseño de
programas al conocimiento
algorítmico
Función principal main()



Declaración de variables...
6.2 Vinculación del diseño de
programas al conocimiento
algorítmico
Ejemplo:
Escribir un programa que imprima las palabras...
6.2 Vinculación del diseño de
programas al conocimiento
algorítmico
6.2 Vinculación del diseño de
programas al conocimiento
algorítmico
Observaciones
/* */ son símbolos que engloban a los c...
6.2 Vinculación del diseño de
programas al conocimiento
algorítmico
Observaciones
“void” indica al compilador que la func...
6.2 Vinculación del diseño de
programas al conocimiento
algorítmico
…Recordatorio
Aprender a programar es semejante a apre...
6.2 Vinculación del diseño de
programas al conocimiento
algorítmico
Rangos mínimos para los tipos de datos en lenguaje C
6.2 Vinculación del diseño de
programas al conocimiento
algorítmico

Precisión de los tipos de datos
6.2 Vinculación del diseño de
programas al conocimiento
algorítmico
Formato de un programa en C
Después de presentar la es...
6.2 Vinculación del diseño de
programas al conocimiento
algorítmico
El conjunto de caracteres de C
Del mismo modo que en n...
6.2 Vinculación del diseño de
programas al conocimiento
algorítmico
El conjunto de caracteres de C


Las 26 letras minúsc...
6.3 Características básicas de un
programa en lenguaje C
Identificadores
Los identificadores son los nombres que utilizamo...
6.4 Elementos y estructuras del
lenguaje C en el diseño de
programas
Sentencias de Control
En muchas ocasiones, los progra...
6.4 Elementos y estructuras del
lenguaje C en el diseño de
programas

Clasificación de las sentencias de control
6.4 Elementos y estructuras del
lenguaje C en el diseño de
programas
Elabore un programa que resuelva el área de un triáng...
6.4 Elementos y estructuras del
lenguaje C en el diseño de
programas
Sentencia IF/ELSE
Su forma básica sería la siguiente:...
6.4 Elementos y estructuras del
lenguaje C en el diseño de
programas
Sentencia SWITCH
En este caso se evalúa una expresión...
6.4 Elementos y estructuras del
lenguaje C en el diseño de
programas
Sentencia WHILE (Iteración)
Esta sentencia se conside...
6.4 Elementos y estructuras del
lenguaje C en el diseño de
programas
Sentencia DO..WHILE (Iteración)
Se considera una sent...
6.4 Elementos y estructuras del
lenguaje C en el diseño de
programas
Sentencia FOR (Iteración)
La sentencia de control for...
6.5 Elaboración de programas
básicos de ingeniería
Arreglos Unidimensionales
Un arreglo es una colección de variables del ...
6.5 Elaboración de programas
básicos de ingeniería
6.5 Elaboración de programas
básicos de ingeniería
Ejemplo:
Hacer un programa que lea una cadena y una letra desde el
tecl...
6.5 Elaboración de programas
básicos de ingeniería
#include <stdio.h>
#include <string.h>
void main(void)
{
char szCadena[...
6.5 Elaboración de programas
básicos de ingeniería
/*Preparacion de los contadores */
iLongCadena=strlen(szCadena);
iConta...
6.5 Elaboración de programas
básicos de ingeniería
6.5 Elaboración de programas
básicos de ingeniería
Hacer un programa que lea una cadena y determine cuántas
palabras exist...
 
6.5 Elaboración de programas
básicos de ingeniería

 
6.5 Elaboración de programas
básicos de ingeniería
Arreglos Bidimensionales
Un arreglo bidimensional es una colección fini...
6.5 Elaboración de
programas básicos de
ingeniería
Arreglos Multidimensionales
Un arreglo puede tener más de una dimensión...
6.5 Elaboración de programas
básicos de ingeniería
Funciones
¿Qué es una función?
Secuencias de operaciones que se utiliza...
6.5 Elaboración de programas
básicos de ingeniería
Diseño modular de programas
En “fragmentos” independientes es más fácil...
6.5 Elaboración de
programas básicos de
ingeniería
Esos “fragmentos” de
programa son lo que
se
suele
llamar
“subrutinas”,
...
6.5 Elaboración de
programas básicos de
ingeniería
Declaración La forma básica de definir una función es:


indicar el no...
6.5 Elaboración de
programas básicos de
ingeniería
Declaración La forma básica de definir una función es:


después, entr...
6.5 Elaboración de
programas básicos de
ingeniería
Ahora desde dentro del cuerpo del programa, es
posible “llamar” o “util...
6.5 Elaboración de
programas básicos de
ingeniería
Parámetros de una función
Si nos interesa además indicarle a nuestra fu...
6.5 Elaboración de
programas básicos de
ingeniería
La función se llamaría desde el cuerpo de nuestro programa así:
float x...
6.5 Elaboración de
programas básicos de
ingeniería
Valor devuelto por una función
También es posible que la función realic...
6.5 Elaboración de
programas básicos de
ingeniería
Variables locales y Variables globales
Las variables se pueden declarar...
6.5 Elaboración de
programas básicos de
ingeniería
#include<stdio.h>
void hola(void){
printf(“nnEsta es la función hola”);...
6.5 Elaboración de
programas básicos de
ingeniería
Este es el programa principal
Realiza la llamada a la función HOLA
Esta...
6.5 Elaboración de
programas básicos de
ingeniería
Tema vi
Tema vi
Tema vi
Tema vi
Próxima SlideShare
Cargando en…5
×

Tema vi

220 visualizaciones

Publicado el

0 comentarios
0 recomendaciones
Estadísticas
Notas
  • Sé el primero en comentar

  • Sé el primero en recomendar esto

Sin descargas
Visualizaciones
Visualizaciones totales
220
En SlideShare
0
De insertados
0
Número de insertados
40
Acciones
Compartido
0
Descargas
7
Comentarios
0
Recomendaciones
0
Insertados 0
No insertados

No hay notas en la diapositiva.

Tema vi

  1. 1. Tema VI. Diseño de programas para la resolución de problemas de ingeniería Objetivo: El alumno aplicará el método de Diseño de Programas en la elaboración de programas que resuelvan problemas básicos de ingeniería.
  2. 2. 6.1 Teoría del diseño de programas Programación Cuando se está construyendo software, una de las fases más importantes, y en la que se invierte más tiempo, es la fase de desarrollo en la que se utilizan lenguajes y técnicas de programación para escribir el programa que resuelve el problema
  3. 3. 6.1 Teoría del diseño de programas Paradigmas de programación La evolución de los lenguajes de programación ha ido paralela a la idea de paradigma de programación: enfoques alternativos a los procesos de programación. En realidad un paradigma de programación representa fundamentalmente enfoques diferentes para la construcción de soluciones a problemas y por consiguiente afectan al proceso completo de desarrollo de software.
  4. 4. 6.1 Teoría del diseño de programas Existen ciertas características que un programa debe cumplir:     Fiable: debe funcionar correctamente y sin fallos Adaptable: fácil de incorporar en otros sistemas con modificaciones mínimas Reutilizable: total o parcialmente, para reducir costos y reutilizar componentes cuya fiabilidad está comprobada Mantenible: los programas son construidos por muchas personas agrupadas en equipos de trabajo
  5. 5. 6.1 Teoría del diseño de programas Tipos de programación Existen diferentes técnicas de programación que se pueden ordenar según su complejidad. Debido a esta complejidad, el aprendizaje debería seguir el siguiente orden propuesto.
  6. 6. 6.1 Teoría del diseño de programas Programación Convencional Es el primer programa realizado por alguien que empieza a programar, será un único “programa principal” constituido por una serie de comandos o instrucciones escritos secuencialmente. Programación Modular Da un paso más a la estructuración de un programa agrupando partes del mismo en módulos de una funcionalidad similar. Programación orientada a objetos Resuelve algunos de los problemas que surgen con la programación modular y estructurada.
  7. 7. 6.1 Teoría del diseño de programas Programación Estructurada Cuando los programas se vuelven más grandes, cosa que lógicamente sucede cuando aumenta la complejidad del problema a resolver, la lista de instrucciones aumenta considerablemente , de modo tal que el programador tiene muchas dificultades para controlar ese gran número de instrucciones. Para resolver este problema los programas se descompusieron en unidades mas pequeñas que adoptaron el nombre de funciones (procedimientos, subprogramas o subrutinas)
  8. 8. 6.1 Teoría del diseño de programas Fases en la resolución de problemas El proceso de resolución de un problema con una computadora conduce a la escritura de un programa y a su ejecución en la misma. Aunque el proceso de diseñar programas es –esencialmente– un proceso creativo, se puede considerar una serie de fases o pasos comunes, que generalmente deben seguir todos los programadores.
  9. 9. 6.1 Teoría del diseño de programas Fases en la resolución de problemas Las fases de resolución de un problema con computadora son:  Análisis del problema  Diseño del algoritmo  Codificación  Compilación y ejecución  Verificación  Depuración  Mantenimiento  Documentación
  10. 10. 6.1 Teoría del diseño de programas Análisis El problema se analiza teniendo presente la especificación de los requisitos dados por el cliente de la empresa o por la persona que encarga el programa. Diseño Una vez analizado el problema, se diseña una solución que conducirá a un algoritmo que resuelva el problema. Codificación La solución se escribe en la sintaxis del lenguaje de alto nivel y se obtiene un programa fuente que se compila a continuación.
  11. 11. 6.1 Teoría del diseño de programas Ejecución, verificación y depuración EL programa se ejecuta, se comprueba rigurosamente y se eliminan todos los errores que puedan aparecer. Mantenimiento El programa se actualiza y modifica, cada vez que sea necesario, de modo que se cumplan todas las necesidades de cambio de sus usuarios. Documentación Escritura de las diferentes fases del ciclo de vida del software, esencialmente el análisis, diseño y codificación, unidos a manuales de usuario y de referencia, así como normas para el mantenimiento.
  12. 12. 6.1 Teoría del diseño de programas Calidad Las sentencias de un programa, también llamadas código del programa o código fuente, pueden ser leídas por muchas personas a lo largo de su ciclo de vida, por tanto es fundamental que estén bien redactadas, con un estilo determinado para que su significado sea claro y no lleve a ambigüedades.
  13. 13. 6.1 Teoría del diseño de programas Documentación La documentación ayudará a comprender un programa para así saber utilizarlo y poder realizar futuras modificaciones.
  14. 14. 6.1 Teoría del diseño de programas Interna Son los comentarios o aclaraciones que van junto al código fuente para clarificar los pasos seguidos en un programa. Externa Es un documento donde se define: la descripción del problema, nombre del autor, el algoritmo utilizado para la resolución del problema, expresado en pseudocódigo o diagrama de flujo, el diccionario de datos, en el que se especifica dónde y cómo se almacenan los datos del sistema y los lugares donde se utilizan, el código fuente o programa. Manual de usuario Describe los pasos que debe seguir el usuario para utilizar el programa y conseguir los resultados esperados.
  15. 15. 6.2 Vinculación del diseño de programas al conocimiento algorítmico Lenguaje C Dennis Ritchie inventó y escribió el primer compilador para el lenguaje C en un DEC PDP-11 Variantes de C     Turbo C C++ Visual C++ C#
  16. 16. 6.2 Vinculación del diseño de programas al conocimiento algorítmico Historia del Lenguaje C La historia del lenguaje C comienza a finales de los años 60 en los Laboratorios Bell propiedad de la empresa americana AT&T. Uno de los proyectos que ahí se desarrollaban era la escritura de un sistema operativo con características multitarea y multiproceso llamado UNIX. La primera versión del lenguaje de programación creado para desarrollar el SO UNIX fue el lenguaje B, escrito por Ken Thompson. En 1972, Dennis Ritchie, toma el relevo y realiza algunas modificaciones en el lenguaje B, convirtiéndose en el lenguaje C. Ese mismo año, se reescribe el código de UNIX en lenguaje C y, a partir de 1973, se convierte en el lenguaje oficial de UNIX.
  17. 17. 6.2 Vinculación del diseño de programas al conocimiento algorítmico Características del Lenguaje C En definitiva, el lenguaje C tiene las siguientes características: Portabilidad Código binario altamente optimizado Lenguaje general y pensado para la programación estructurada
  18. 18. 6.2 Vinculación del diseño de programas al conocimiento algorítmico La función main( ) El lenguaje C está basado en el concepto de funciones. Un programa C es una colección de una o más funciones, en donde cada una tiene un nombre y una lista de argumentos.
  19. 19. 6.2 Vinculación del diseño de programas al conocimiento algorítmico Estructura general de un programa C: Directivas para el procesador   Archivos include Constantes define Declaraciones globales   Declaraciones de funciones Declaraciones de variables globales
  20. 20. 6.2 Vinculación del diseño de programas al conocimiento algorítmico Función principal main()   Declaración de variables locales Finalización del programa exit() Sentencias ejecutables Funciones   Cabecera de la función Sentencias Ejecutables Declaración de variables locales Sentencia de salida de la función: return
  21. 21. 6.2 Vinculación del diseño de programas al conocimiento algorítmico Ejemplo: Escribir un programa que imprima las palabras “¡Hola mundo!” en el dispositivo de salida. /*Programa saludo*/ #include <stdio.h> void main(void) { printf(“n ¡Hola mundo!”); }
  22. 22. 6.2 Vinculación del diseño de programas al conocimiento algorítmico
  23. 23. 6.2 Vinculación del diseño de programas al conocimiento algorítmico Observaciones /* */ son símbolos que engloban a los comentarios de un programa escrito en C. main() es el nombre de la función que en este momento no requiere ningún tipo de parámetros de entrada y salida. { } delimitan el alcance de la función printf() es una función llamada por main() a la cual se le pasa el parámetro “n ¡Hola mundo!” n Indica un salto de línea
  24. 24. 6.2 Vinculación del diseño de programas al conocimiento algorítmico Observaciones “void” indica al compilador que la función no retornará un valor al terminar de ejecutarse y que tampoco requiere de un argumento de entrada La directiva #include indica que se hará uso de la lista de encabezados que se encuentran en el archivo descrito entre < > Directivas para el preprocesador Las directivas para el preprocesador aparecen siempre al comienzo de los programas. Se identifican por su primer carácter, que es el carácter almohadilla (#). Estas directivas le indican al compilador que incluya en el código fuente, el código fuente contenido en los archivos dentro de ‘<‘ y ‘>’
  25. 25. 6.2 Vinculación del diseño de programas al conocimiento algorítmico …Recordatorio Aprender a programar es semejante a aprender a conducir, solamente se logra frente a la computadora.
  26. 26. 6.2 Vinculación del diseño de programas al conocimiento algorítmico Rangos mínimos para los tipos de datos en lenguaje C
  27. 27. 6.2 Vinculación del diseño de programas al conocimiento algorítmico Precisión de los tipos de datos
  28. 28. 6.2 Vinculación del diseño de programas al conocimiento algorítmico Formato de un programa en C Después de presentar la estructura de un programa en C mediante un ejemplo real, donde se observa la manera que tienen los diferentes elementos del lenguaje de encajar en el programa, es necesario, al igual que en cualquier otro lenguaje de programación, llevar a cabo un análisis pormenorizado de dichos elementos. Éstos, combinándolos de forma apropiada, no permitirán elaborar los programas deseados.
  29. 29. 6.2 Vinculación del diseño de programas al conocimiento algorítmico El conjunto de caracteres de C Del mismo modo que en nuestro lenguaje habitual utilizamos un conjunto de caracteres para construir instrucciones que tengan significado, los programas que se realicen en C se escriben utilizando un conjunto de caracteres formado por:
  30. 30. 6.2 Vinculación del diseño de programas al conocimiento algorítmico El conjunto de caracteres de C  Las 26 letras minúsculas del alfabeto inglés ( a b c d e f g h i j k l m n o p q r s t u v w x y z)  Las 26 letras mayúsculas (A B C D E F G H I J K L M N O P Q R S T U V W X Y Z)  Los 10 dígitos (1 2 3 4 5 6 7 8 9 0)  Los símbolos especiales (@ ^ { } [ ] ( ) & $ % # ~ ‘ “ / ? ; : _ . , = / * +) El espacio en blanco o barra espaciadora 
  31. 31. 6.3 Características básicas de un programa en lenguaje C Identificadores Los identificadores son los nombres que utilizamos para representar los diferentes elementos de nuestro programa (tipos de datos, constantes, variables, funciones y etiquetas). Los identificadores se crean especificándolos en las declaraciones, de este modo, se puede utilizar dicho identificador en las sentencias posteriores del programa para referirnos al elementos asociado a él.
  32. 32. 6.4 Elementos y estructuras del lenguaje C en el diseño de programas Sentencias de Control En muchas ocasiones, los programas requieren que un conjunto de instrucciones se ejecute de forma repetida hasta que se cumpla una condición. En otras ocasiones, los programas requieren que se realice un test o comprobación lógica en algún punto concreto, realizándose a continuación alguna acción que dependerá del resultado de la comprobación. Todas estas operaciones se pueden realizar mediante las sentencias de control de C.
  33. 33. 6.4 Elementos y estructuras del lenguaje C en el diseño de programas Clasificación de las sentencias de control
  34. 34. 6.4 Elementos y estructuras del lenguaje C en el diseño de programas Elabore un programa que resuelva el área de un triángulo (la base y la altura son valores fijos)
  35. 35. 6.4 Elementos y estructuras del lenguaje C en el diseño de programas Sentencia IF/ELSE Su forma básica sería la siguiente: If (expresión) sentencia; En esta sentencia se evalúa expresión. Si el resultado es verdadero, se ejecuta sentencia; si el resultado es falso, se salta a sentencia y se prosigue en la línea siguiente. Hay que recordar que sentencia puede ser una sentencia simple o un conjunto de sentencias (en caso de que fueran varias deberían ir contenidas en bloque entre llaves {…})
  36. 36. 6.4 Elementos y estructuras del lenguaje C en el diseño de programas Sentencia SWITCH En este caso se evalúa una expresión (condición) y dependiendo del valor que devuelva, que pueden ser múltiples valores, se ejecutará un bloque de sentencias y otro. En el caso de la sentencia if/else, se evaluaba una condición y sólo podían ejecutarse dos bloques de sentencias dependiendo de si esa condición se cumplía o no. La forma general de switch es la siguiente:
  37. 37. 6.4 Elementos y estructuras del lenguaje C en el diseño de programas Sentencia WHILE (Iteración) Esta sentencia se considera una sentencia de tipo bucle que permite repetir una serie de veces la ejecución de un bloque de código. Esta repetición se realiza hasta que se cumpla una determinada condición de tipo lógico o aritmético. En su forma general seria:
  38. 38. 6.4 Elementos y estructuras del lenguaje C en el diseño de programas Sentencia DO..WHILE (Iteración) Se considera una sentencia de tipo bucle que se comporta exactamente igual que la sentencia while, con la diferencia de que dicha evaluación se realiza al final de cada pasada en lugar de al principio, por lo que se asegura que, al menos, se ejecutará una vez el bloque de sentencias. Su forma general es la siguiente:
  39. 39. 6.4 Elementos y estructuras del lenguaje C en el diseño de programas Sentencia FOR (Iteración) La sentencia de control for permite repetir una serie de veces la ejecución de un bloque de código. La ventaja de la sentencia for sobre while está en que en la cabecera de la construcción for se tiene toda la información sobre cómo se inicializan, controlan y actualizan las variables de bucle. La evaluación de la condición se realiza al principio de la ejecución. La forma general de esta sentencia es la siguiente:
  40. 40. 6.5 Elaboración de programas básicos de ingeniería Arreglos Unidimensionales Un arreglo es una colección de variables del mismo tipo, con el mismo nombre, y que se diferencian unos de otros a través de un subíndice. La forma general de un arreglo es: Tipo Nombre_Variable[Número_de_elementos] Cuando el compilador encuentra una declaración de tipo para un arreglo, reserva una cantidad de espacio suficiente en la memoria para poder contenerlo. Todo el arreglo es asignado en localidades contiguas de memoria.
  41. 41. 6.5 Elaboración de programas básicos de ingeniería
  42. 42. 6.5 Elaboración de programas básicos de ingeniería Ejemplo: Hacer un programa que lea una cadena y una letra desde el teclado. El programa debe indicar si la letra se encuentra presente en la cadena o no. Digite una cadena HOLA CHICOS LISTOS Digite una letra C
  43. 43. 6.5 Elaboración de programas básicos de ingeniería #include <stdio.h> #include <string.h> void main(void) { char szCadena[80]; char cLetra; int lExisteLetra; int iContador; int iLongCadena; /*Lectura de la cadena*/ printf("nDigite una cadena: "); gets(szCadena); /*Lectura de la letra*/ printf("Digite una letra: "); scanf("%c",&cLetra);
  44. 44. 6.5 Elaboración de programas básicos de ingeniería /*Preparacion de los contadores */ iLongCadena=strlen(szCadena); iContador=0; /* No existe la letra por omision */ lExisteLetra=0; /* Mientras no se llegue al fin de cadena y no se encuentre la letra*/ while(iContador < iLongCadena && !lExisteLetra) { /* verificar si existe la letra */ if (szCadena[iContador] == cLetra) lExisteLetra=1; iContador++; } if (lExisteLetra) printf("nLa letra %c si existe en la cadenan",cLetra); Else printf("nLa letra %c no existe en la cadenan",cLetra); }
  45. 45. 6.5 Elaboración de programas básicos de ingeniería
  46. 46. 6.5 Elaboración de programas básicos de ingeniería Hacer un programa que lea una cadena y determine cuántas palabras existen en ella.
  47. 47.  
  48. 48. 6.5 Elaboración de programas básicos de ingeniería  
  49. 49. 6.5 Elaboración de programas básicos de ingeniería Arreglos Bidimensionales Un arreglo bidimensional es una colección finita, homogénea y ordenada de datos, en la que se hace referencia a cada elemento del arreglo por medio de dos índices. El primero de los índices se utiliza para indicar la fila, y el segundo, para indicar la columna.
  50. 50. 6.5 Elaboración de programas básicos de ingeniería Arreglos Multidimensionales Un arreglo puede tener más de una dimensión, de tal manera que forme matrices de dos, tres o aun más dimensiones. Tipo nombre_arreglo[d1][d2][d3]…. [dn] Donde dn es la longitud del arreglo en la n-ésima dimensión.
  51. 51. 6.5 Elaboración de programas básicos de ingeniería Funciones ¿Qué es una función? Secuencias de operaciones que se utilizarán en varios puntos de un programa y que permitirán reutilizar dicha secuencia de operaciones mediante una llamada a la misma a través del nombre que se le dé a la función. Hay dos tipos de funciones, las funciones propias de librerías de C y las definidas por el programador.
  52. 52. 6.5 Elaboración de programas básicos de ingeniería Diseño modular de programas En “fragmentos” independientes es más fácil de programar. El “programa principal” será más fácil de leer, porque no necesitará contener todos los detalles de cómo se hace cada cosa. Podremos repartir el trabajo, para que cada persona se encargue de realizar un “trozo de programa”, y finalmente se integrará el trabajo individual de cada persona.
  53. 53. 6.5 Elaboración de programas básicos de ingeniería Esos “fragmentos” de programa son lo que se suele llamar “subrutinas”, “procedimientos” o “funciones”. En el lenguaje C, el nombre que más se usa es el de funciones.
  54. 54. 6.5 Elaboración de programas básicos de ingeniería Declaración La forma básica de definir una función es:  indicar el nombre de la función  seguido de unos paréntesis, como se hace con “main”.
  55. 55. 6.5 Elaboración de programas básicos de ingeniería Declaración La forma básica de definir una función es:  después, entre llaves indicaremos todos los pasos que queremos que dé ese “fragmento de programa”. saludar() { printf("Bienvenido al programan"); printf("de ejemplon"); printf("Bienvenido al programan"); }
  56. 56. 6.5 Elaboración de programas básicos de ingeniería Ahora desde dentro del cuerpo del programa, es posible “llamar” o “utilizar” a esa función: main() { … saludar(); … }
  57. 57. 6.5 Elaboración de programas básicos de ingeniería Parámetros de una función Si nos interesa además indicarle a nuestra función ciertos datos especiales con los que queremos que trabaje. Por ejemplo, si escribimos en pantalla números reales con frecuencia, puede resultar útil que los muestre con el formato que nos interese. Lo podríamos hacer así: escribeNumeroReal( float n ){ printf("%4.2f", n); }
  58. 58. 6.5 Elaboración de programas básicos de ingeniería La función se llamaría desde el cuerpo de nuestro programa así: float x; main() { x= 5.1; printf("El primer numero real es: "); escribeNumeroReal(x); printf(" y otro distinto es: "); escribeNumeroReal(2.3); } Los datos adicionales que indicamos a la función es lo que llamaremos “parámetros”.
  59. 59. 6.5 Elaboración de programas básicos de ingeniería Valor devuelto por una función También es posible que la función realice una serie de cálculos y nos “devuelva” el resultado de esos cálculos main() { int resultado, numero= 5; resultado = cuadrado(numero); printf(“El cuadrado del numero es %d“, resultado); printf(“nY el de 3 es %d", cuadrado(3)); } int cuadrado (int n) { return n*n; }
  60. 60. 6.5 Elaboración de programas básicos de ingeniería Variables locales y Variables globales Las variables se pueden declarar dentro de un bloque (una función), y entonces sólo ese bloque las conocerá, no se podrán usar desde ningún otro bloque del programa. Es lo que se llaman “variables locales”. Si se declara una variable al comienzo del programa, fuera de todos los “bloques” de programa, será una “variable global”, a la que se podrá acceder desde cualquier parte.
  61. 61. 6.5 Elaboración de programas básicos de ingeniería #include<stdio.h> void hola(void){ printf(“nnEsta es la función hola”); printf(“n *** Hola Amigos ***”); } void adios(void){ printf(“nnEsta es la función adios”); printf(“n *** Adios Amigos ***”); } void main(void){ printf(“nEste es el programa principal”); printf(“nRealiza la llamada a la función HOLA”); hola(); printf(“nRealiza la llamada a la función ADIOS”); adios(); printf(“nnFin del programa.n Fin de programa principal”); }
  62. 62. 6.5 Elaboración de programas básicos de ingeniería Este es el programa principal Realiza la llamada a la función HOLA Esta es la función hola *** Hola amigos *** Realiza la llamada a la función ADIOS Esta es la función adiós *** Adiós amigos *** Fin de programa. En el programa principal
  63. 63. 6.5 Elaboración de programas básicos de ingeniería

×