Tema VI. Diseño de programaspara la resolución de problemasde ingenieríaObjetivo: El alumno aplicará elmétodo de Diseño de...
6.1 Teoría del diseño deprogramasProgramaciónCuando se está construyendo software,una de las fases más importantes, y enla...
6.1 Teoría del diseño deprogramasParadigmas de programaciónLa evolución de los lenguajes de programación ha idoparalela a ...
6.1 Teoría del diseño deprogramasExisten ciertas características que un programa debecumplir: Fiable: debe funcionar corr...
Tipos de programaciónExisten diferentes técnicas de programaciónque se pueden ordenar según sucomplejidad. Debido a esta c...
6.1 Teoría del diseño deprogramasProgramación ConvencionalEs el primer programa realizado por alguien que empieza a progra...
6.1 Teoría del diseño deprogramasProgramación EstructuradaCuando los programas se vuelven más grandes, cosa quelógicamente...
6.1 Teoría del diseño deprogramasFases en la resolución de problemasEl proceso de resolución de un problema con una comput...
Análisis El problema se analiza teniendo presente laespecificación de los requisitos dados por el cliente de laempresa o p...
6.1 Teoría del diseño deprogramasEjecución, verificación y depuraciónEL programa se ejecuta, se comprueba rigurosamente y ...
CalidadLas sentencias de un programa, tambiénllamadas código del programa o código fuente,pueden ser leídas por muchas per...
DocumentaciónLa documentación ayudará a comprenderun programa para así saber utilizarlo ypoder realizar futuras modificaci...
6.1 Teoría del diseño deprogramasInternaManual de usuarioExternaSon los comentarios o aclaraciones que van junto al código...
Lenguaje CDennis Ritchie inventó y escribió el primercompilador para el lenguaje C en un DEC PDP-11Variantes de C Turbo C...
6.2 Vinculación del diseño deprogramas al conocimiento algorítmicoHistoria del Lenguaje CLa historia del lenguaje C comien...
6.2 Vinculación del diseño deprogramas al conocimiento algorítmicoCaracterísticas del Lenguaje CEn definitiva, el lenguaje...
La función main( )El lenguaje C está basado en el concepto defunciones. Un programa C es una colección deuna o más funcion...
Estructura general de un programa C:Directivas para el procesador Archivos include Constantes defineDeclaraciones global...
Ejemplo:Escribir un programa que imprima las palabras “¡Hola mundo!” en eldispositivo de salida./*Programa saludo*/#includ...
6.2 Vinculación del diseño deprogramas al conocimientoalgorítmicoObservaciones/* */ son símbolos que engloban a los comen...
6.2 Vinculación del diseño deprogramas al conocimientoalgorítmicoObservaciones“void” indica al compilador que la función ...
…RecordatorioAprender a programar es semejante a aprender a conducir,solamente se logra frente a la computadora.6.2 Vincul...
Rangos mínimos para los tipos de datos en lenguaje C6.2 Vinculación del diseño deprogramas al conocimientoalgorítmico
Precisión de los tipos de datos6.2 Vinculación del diseño deprogramas al conocimientoalgorítmico
Formato de un programa en CDespués de presentar la estructura de un programaen C mediante un ejemplo real, donde se observ...
El conjunto de caracteres de CDel mismo modo que en nuestro lenguaje habitualutilizamos un conjunto de caracteres para con...
IdentificadoresLos identificadores son los nombres que utilizamos pararepresentar los diferentes elementos de nuestroprogr...
Sentencias de ControlEn muchas ocasiones, los programas requieren que unconjunto de instrucciones se ejecute de forma repe...
Clasificación de las sentencias de control6.4 Elementos y estructuras dellenguaje C en el diseño deprogramas
Elabore un programa que resuelva el área de un triángulo (la base yla altura son valores fijos)6.4 Elementos y estructuras...
Sentencia IF/ELSESu forma básica sería la siguiente:If (expresión) sentencia;En esta sentencia se evalúa expresión.Si el r...
6.4 Elementos y estructuras dellenguaje C en el diseño de programasSentencia SWITCHEn este caso se evalúa una expresión(co...
Sentencia WHILE (Iteración)Esta sentencia se considera una sentencia de tipo bucle quepermite repetir una serie de veces l...
Sentencia DO..WHILE (Iteración)Se considera una sentencia de tipo bucle que se comportaexactamente igual que la sentencia ...
Sentencia FOR (Iteración)La sentencia de control for permite repetir una serie de vecesla ejecución de un bloque de código...
Arreglos UnidimensionalesUn arreglo es una colección de variables del mismo tipo, conel mismo nombre, y que se diferencian...
6.5 Elaboración de programasbásicos de ingeniería
Ejemplo:Hacer un programa que lea una cadena y una letra desde elteclado. El programa debe indicar si la letra se encuentr...
#include <stdio.h>#include <string.h>void main(void){char szCadena[80];char cLetra;int lExisteLetra;int iContador;int iLon...
/*Preparacion de los contadores */iLongCadena=strlen(szCadena); iContador=0; /* No existe laletra por omision */lExisteLet...
6.5 Elaboración de programas básicos deingeniería
6.5 Elaboración de programas básicosde ingenieríaHacer un programa que lea una cadena y determine cuántaspalabras existen ...
6.5 Elaboración de programasbásicos de ingeniería 
6.5 Elaboración de programas básicos deingeniería 
Arreglos BidimensionalesUn arreglo bidimensional es una colección finita, homogénea yordenada de datos, en la que se hace ...
Arreglos MultidimensionalesUn arreglo puede tener más de una dimensión, detal manera que forme matrices de dos, tres o aun...
6.5 Elaboración de programasbásicos de ingeniería
6.5 Elaboración de programasbásicos de ingeniería
6.5 Elaboración de programasbásicos de ingeniería
6.5 Elaboración de programas básicos deingeniería
6.5 Elaboración de programasbásicos de ingenieríaFunciones¿Qué es una función?Secuencias de operaciones que se utilizarán ...
6.5 Elaboración de programasbásicos de ingenieríaDiseño modular de programasEn “fragmentos” independientes es más fácil de...
6.5 Elaboración de programasbásicos de ingenieríaEsos “fragmentos” deprograma son lo quese suele llamar“subrutinas”,“proce...
6.5 Elaboración de programasbásicos de ingenieríaDeclaración La forma básica de definir una función es: indicar el nombre...
Ahora desde dentro del cuerpo del programa,es posible “llamar” o “utilizar” a esa función:main() {…saludar();…}6.5 Elabora...
6.5 Elaboración de programasbásicos de ingenieríaParámetros de una funciónSi nos interesa además indicarle a nuestra funci...
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: ");...
6.5 Elaboración de programasbásicos de ingenieríaValor devuelto por una funciónTambién es posible que la función realice u...
6.5 Elaboración de programasbásicos de ingenieríaVariables locales y Variables globalesLas variables se pueden declarar de...
#include<stdio.h>void hola(void){printf(“nnEsta es la función hola”);printf(“n *** Hola Amigos ***”);}void adios(void){pri...
6.5 Elaboración de programasbásicos de ingenieríaEste es el programa principalRealiza la llamada a la función HOLAEsta es ...
6.5 Elaboración de programasbásicos de ingeniería
6.5 Elaboración de programas básicos deingeniería
6.5 Elaboración de programasbásicos de ingeniería
Upcoming SlideShare
Loading in …5
×

Tema vi

1,783 views
1,730 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,783
On SlideShare
0
From Embeds
0
Number of Embeds
1,642
Actions
Shares
0
Downloads
7
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Tema vi

  1. 1. Tema VI. Diseño de programaspara la resolución de problemasde ingenieríaObjetivo: El alumno aplicará elmétodo de Diseño de Programas enla elaboración de programas queresuelvan problemas básicos deingeniería.
  2. 2. 6.1 Teoría del diseño deprogramasProgramaciónCuando se está construyendo software,una de las fases más importantes, y enla que se invierte más tiempo, es lafase de desarrollo en la que se utilizanlenguajes y técnicas de programaciónpara escribir el programa que resuelveel problema
  3. 3. 6.1 Teoría del diseño deprogramasParadigmas de programaciónLa evolución de los lenguajes de programación ha idoparalela a la idea de paradigma de programación:enfoques alternativos a los procesos deprogramación.En realidad un paradigma de programaciónrepresenta fundamentalmente enfoques diferentespara la construcción de soluciones a problemas y porconsiguiente afectan al proceso completo dedesarrollo de software.
  4. 4. 6.1 Teoría del diseño deprogramasExisten ciertas características que un programa debecumplir: Fiable: debe funcionar correctamente y sin fallos Adaptable: fácil de incorporar en otros sistemas conmodificaciones mínimas Reutilizable: total o parcialmente, para reducir costos yreutilizar componentes cuya fiabilidad está comprobada Mantenible: los programas son construidos por muchaspersonas agrupadas en equipos de trabajo
  5. 5. Tipos de programaciónExisten diferentes técnicas de programaciónque se pueden ordenar según sucomplejidad. Debido a esta complejidad, elaprendizaje debería seguir el siguienteorden propuesto.6.1 Teoría del diseño deprogramas
  6. 6. 6.1 Teoría del diseño deprogramasProgramación ConvencionalEs el primer programa realizado por alguien que empieza a programar, será un único“programa principal” constituido por una serie de comandos o instrucciones escritossecuencialmente.Programación ModularDa un paso más a la estructuración de un programa agrupando partes delmismo en módulos de una funcionalidad similar.Programación orientada a objetosResuelve algunos de los problemas que surgen con la programaciónmodular y estructurada.
  7. 7. 6.1 Teoría del diseño deprogramasProgramación EstructuradaCuando los programas se vuelven más grandes, cosa quelógicamente sucede cuando aumenta la complejidad delproblema a resolver, la lista de instrucciones aumentaconsiderablemente , de modo tal que el programador tienemuchas dificultades para controlar ese gran número deinstrucciones.Para resolver este problema los programas sedescompusieron en unidades mas pequeñas que adoptaron elnombre de funciones (procedimientos, subprogramas osubrutinas)
  8. 8. 6.1 Teoría del diseño deprogramasFases en la resolución de problemasEl proceso de resolución de un problema con una computadora conduce ala escritura de un programa y a su ejecución en la misma. Aunque elproceso de diseñar programas es –esencialmente– un proceso creativo, sepuede considerar una serie de fases o pasos comunes, que generalmentedeben seguir todos los programadores. Las fases de resolución de unproblema 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
  9. 9. Análisis El problema se analiza teniendo presente laespecificación de los requisitos dados por el cliente de laempresa o por la persona que encarga el programa.Diseño Una vez analizado el problema, se diseña una soluciónque conducirá a un algoritmo que resuelva el problema.Codificación La solución se escribe en la sintaxis del lenguaje dealto nivel y se obtiene un programa fuente que se compila acontinuación.6.1 Teoría del diseño deprogramas
  10. 10. 6.1 Teoría del diseño deprogramasEjecución, verificación y depuraciónEL programa se ejecuta, se comprueba rigurosamente y se eliminan todoslos errores que puedan aparecer.MantenimientoEl programa se actualiza y modifica, cada vez que sea necesario, de modoque se cumplan todas las necesidades de cambio de sus usuarios.DocumentaciónEscritura de las diferentes fases del ciclo de vida del software,esencialmente el análisis, diseño y codificación, unidos a manuales deusuario y de referencia, así como normas para el mantenimiento.
  11. 11. CalidadLas sentencias de un programa, tambiénllamadas código del programa o código fuente,pueden ser leídas por muchas personas a lolargo de su ciclo de vida, por tanto esfundamental que estén bien redactadas, con unestilo determinado para que su significado seaclaro y no lleve a ambigüedades.6.1 Teoría del diseño deprogramas
  12. 12. DocumentaciónLa documentación ayudará a comprenderun programa para así saber utilizarlo ypoder realizar futuras modificaciones.6.1 Teoría del diseño deprogramas
  13. 13. 6.1 Teoría del diseño deprogramasInternaManual de usuarioExternaSon los comentarios o aclaraciones que van junto al código fuente para clarificarlos pasos seguidos en un programa.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ódigoo diagrama de flujo, el diccionario de datos, en el que se especifica dónde y cómose almacenan los datos del sistema y los lugares donde se utilizan, el código fuenteo programa.Describe los pasos que debe seguir el usuario para utilizar el programa y conseguirlos resultados esperados.
  14. 14. Lenguaje CDennis Ritchie inventó y escribió el primercompilador para el lenguaje C en un DEC PDP-11Variantes de C Turbo C C++ Visual C++ C#6.2 Vinculación del diseño deprogramas al conocimiento algorítmico
  15. 15. 6.2 Vinculación del diseño deprogramas al conocimiento algorítmicoHistoria del Lenguaje CLa historia del lenguaje C comienza a finales de los años 60 en losLaboratorios Bell propiedad de la empresa americana AT&T. Uno de losproyectos que ahí se desarrollaban era la escritura de un sistema operativocon características multitarea y multiproceso llamado UNIX.La primera versión del lenguaje de programación creado para desarrollar elSO UNIX fue el lenguaje B, escrito por Ken Thompson.En 1972, Dennis Ritchie, toma el relevo y realiza algunas modificaciones enel lenguaje B, convirtiéndose en el lenguaje C. Ese mismo año, sereescribe el código de UNIX en lenguaje C y, a partir de 1973, se convierteen el lenguaje oficial de UNIX.
  16. 16. 6.2 Vinculación del diseño deprogramas al conocimiento algorítmicoCaracterísticas del Lenguaje CEn definitiva, el lenguaje C tiene las siguientescaracterísticas:PortabilidadCódigo binario altamente optimizadoLenguaje general y pensado para la programaciónestructurada
  17. 17. La función main( )El lenguaje C está basado en el concepto defunciones. Un programa C es una colección deuna o más funciones, en donde cada una tieneun nombre y una lista de argumentos.6.2 Vinculación del diseño deprogramas al conocimientoalgorítmico
  18. 18. Estructura general de un programa C:Directivas para el procesador Archivos include Constantes defineDeclaraciones globales Declaraciones de funciones Declaraciones de variables globalesFunción principal main() Declaración de variables locales Finalización del programa exit(() Sentencias ejecutablesFunciones Cabecera de la función Sentencias Ejecutables Declaración de variables locales Sentencia de salida de la función: return6.2 Vinculación del diseño deprogramas al conocimientoalgorítmico
  19. 19. Ejemplo:Escribir un programa que imprima las palabras “¡Hola mundo!” en eldispositivo de salida./*Programa saludo*/#include <stdio.h>void main(void){printf(“n ¡Hola mundo!”);}6.2 Vinculación del diseño deprogramas al conocimientoalgorítmico
  20. 20. 6.2 Vinculación del diseño deprogramas al conocimientoalgorítmicoObservaciones/* */ son símbolos que engloban a los comentarios de unprograma escrito en C.main() es el nombre de la función que en este momentono requiere ningún tipo de parámetros de entrada ysalida.{ } delimitan el alcance de la funciónprintf() es una función llamada por main() a la cual sele pasa el parámetro “n ¡Hola mundo!”n Indica un salto de línea
  21. 21. 6.2 Vinculación del diseño deprogramas al conocimientoalgorítmicoObservaciones“void” indica al compilador que la función no retornará un valor alterminar de ejecutarse y que tampoco requiere de un argumento deentradaLa directiva #include indica que se hará uso de la lista deencabezados que se encuentran en el archivo descrito entre < >Directivas para el preprocesadorLas directivas para el preprocesador aparecen siempre al comienzo delos programas. Se identifican por su primer carácter, que es el carácteralmohadilla (#). Estas directivas le indican al compilador que incluyaen el código fuente, el código fuente contenido en los archivos dentrode ‘<‘ y ‘>’
  22. 22. …RecordatorioAprender a programar es semejante a aprender a conducir,solamente se logra frente a la computadora.6.2 Vinculación del diseño deprogramas al conocimientoalgorítmico
  23. 23. Rangos mínimos para los tipos de datos en lenguaje C6.2 Vinculación del diseño deprogramas al conocimientoalgorítmico
  24. 24. Precisión de los tipos de datos6.2 Vinculación del diseño deprogramas al conocimientoalgorítmico
  25. 25. Formato de un programa en CDespués de presentar la estructura de un programaen C mediante un ejemplo real, donde se observa lamanera que tienen los diferentes elementos dellenguaje de encajar en el programa, es necesario,al igual que en cualquier otro lenguaje deprogramación, llevar a cabo un análisispormenorizado de dichos elementos. Éstos,combinándolos de forma apropiada, no permitiránelaborar los programas deseados.6.2 Vinculación del diseño deprogramas al conocimientoalgorítmico
  26. 26. El conjunto de caracteres de CDel mismo modo que en nuestro lenguaje habitualutilizamos un conjunto de caracteres para construirinstrucciones que tengan significado, los programas quese realicen en C se escriben utilizando un conjunto decaracteres formado por: Las 26 letras minúsculas del alfabeto inglés ( a b c d e f g h i j k l mn 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 VW 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 espaciadora6.2 Vinculación del diseño deprogramas al conocimientoalgorítmico
  27. 27. IdentificadoresLos identificadores son los nombres que utilizamos pararepresentar los diferentes elementos de nuestroprograma (tipos de datos, constantes, variables,funciones y etiquetas). Los identificadores se creanespecificándolos en las declaraciones, de este modo, sepuede utilizar dicho identificador en las sentenciasposteriores del programa para referirnos al elementosasociado a él.6.3 Características básicas de unprograma en lenguaje C
  28. 28. Sentencias de ControlEn muchas ocasiones, los programas requieren que unconjunto de instrucciones se ejecute de forma repetidahasta que se cumpla una condición.En otras ocasiones, los programas requieren que serealice un test o comprobación lógica en algún puntoconcreto, realizándose a continuación alguna acción quedependerá del resultado de la comprobación.Todas estas operaciones se pueden realizar mediante lassentencias de control de C.6.4 Elementos y estructuras dellenguaje C en el diseño de programas
  29. 29. Clasificación de las sentencias de control6.4 Elementos y estructuras dellenguaje C en el diseño deprogramas
  30. 30. Elabore un programa que resuelva el área de un triángulo (la base yla altura son valores fijos)6.4 Elementos y estructuras dellenguaje C en el diseño deprogramas
  31. 31. Sentencia IF/ELSESu 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 ejecutasentencia; si el resultado es falso, se salta asentencia y se prosigue en la línea siguiente.Hay que recordar que sentencia puede ser unasentencia simple o un conjunto de sentencias (encaso de que fueran varias deberían ir contenidasen bloque entre llaves {…})6.4 Elementos y estructuras dellenguaje C en el diseño deprogramas
  32. 32. 6.4 Elementos y estructuras dellenguaje C en el diseño de programasSentencia SWITCHEn este caso se evalúa una expresión(condición) y dependiendo del valorque devuelva, que pueden sermúltiples valores, se ejecutará unbloque de sentencias y otro.En el caso de la sentencia if/else, seevaluaba una condición y sólo podíanejecutarse dos bloques de sentenciasdependiendo de si esa condición secumplía o no. La forma general deswitch es la siguiente:
  33. 33. Sentencia WHILE (Iteración)Esta sentencia se considera una sentencia de tipo bucle quepermite repetir una serie de veces la ejecución de un bloque decódigo. Esta repetición se realiza hasta que se cumpla unadeterminada condición de tipo lógico o aritmético. En su formageneral seria:6.4 Elementos y estructuras dellenguaje C en el diseño de programas
  34. 34. Sentencia DO..WHILE (Iteración)Se considera una sentencia de tipo bucle que se comportaexactamente igual que la sentencia while, con ladiferencia de que dicha evaluación se realiza al final decada pasada en lugar de al principio, por lo que se aseguraque, al menos, se ejecutará una vez el bloque desentencias. Su forma general es la siguiente:6.4 Elementos y estructuras dellenguaje C en el diseño de programas
  35. 35. Sentencia FOR (Iteración)La sentencia de control for permite repetir una serie de vecesla ejecución de un bloque de código. La ventaja de lasentencia for sobre while está en que en la cabecera de laconstrucción for se tiene toda la información sobre cómo seinicializan, controlan y actualizan las variables de bucle. Laevaluación de la condición se realiza al principio de laejecución. La forma general de esta sentencia es la siguiente:6.4 Elementos y estructuras dellenguaje C en el diseño deprogramas
  36. 36. Arreglos UnidimensionalesUn arreglo es una colección de variables del mismo tipo, conel mismo nombre, y que se diferencian unos de otros a travésde 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 paraun arreglo, reserva una cantidad de espacio suficiente en lamemoria para poder contenerlo. Todo el arreglo es asignadoen localidades contiguas de memoria.6.5 Elaboración de programas básicosde ingeniería
  37. 37. 6.5 Elaboración de programasbásicos de ingeniería
  38. 38. Ejemplo:Hacer un programa que lea una cadena y una letra desde elteclado. El programa debe indicar si la letra se encuentrapresente en la cadena o no.Digite una cadenaHOLA CHICOS LISTOSDigite una letraC6.5 Elaboración de programasbásicos de ingeniería
  39. 39. #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);6.5 Elaboración de programasbásicos de ingeniería
  40. 40. /*Preparacion de los contadores */iLongCadena=strlen(szCadena); iContador=0; /* No existe laletra por omision */lExisteLetra=0; /* Mientras no se llegue al fin de cadena y nose 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);}6.5 Elaboración de programas básicosde ingeniería
  41. 41. 6.5 Elaboración de programas básicos deingeniería
  42. 42. 6.5 Elaboración de programas básicosde ingenieríaHacer un programa que lea una cadena y determine cuántaspalabras existen en ella.
  43. 43. 6.5 Elaboración de programasbásicos de ingeniería 
  44. 44. 6.5 Elaboración de programas básicos deingeniería 
  45. 45. Arreglos BidimensionalesUn arreglo bidimensional es una colección finita, homogénea yordenada de datos, en la que se hace referencia a cadaelemento del arreglo por medio de dos índices. El primero delos índices se utiliza para indicar la fila, y el segundo, paraindicar la columna.6.5 Elaboración de programas básicos deingeniería
  46. 46. Arreglos MultidimensionalesUn arreglo puede tener más de una dimensión, detal manera que forme matrices de dos, tres o aunmás dimensiones.Tipo nombre_arreglo[d1][d2][d3]…. [dn]Donde dn es la longitud del arreglo en la n-ésimadimensión.6.5 Elaboración de programasbásicos de ingeniería
  47. 47. 6.5 Elaboración de programasbásicos de ingeniería
  48. 48. 6.5 Elaboración de programasbásicos de ingeniería
  49. 49. 6.5 Elaboración de programasbásicos de ingeniería
  50. 50. 6.5 Elaboración de programas básicos deingeniería
  51. 51. 6.5 Elaboración de programasbásicos de ingenieríaFunciones¿Qué es una función?Secuencias de operaciones que se utilizarán en variospuntos de un programa y que permitirán reutilizardicha secuencia de operaciones mediante una llamadaa la misma a través del nombre que se le dé a lafunción.Hay dos tipos de funciones, las funciones propias delibrerías de C y las definidas por el programador.
  52. 52. 6.5 Elaboración de programasbásicos de ingenieríaDiseño modular de programasEn “fragmentos” independientes es más fácil deprogramar.El “programa principal” será más fácil de leer,porque no necesitará contener todos los detalles decómo se hace cada cosa.Podremos repartir el trabajo, para que cada personase encargue de realizar un “trozo de programa”, yfinalmente se integrará el trabajo individual de cadapersona.
  53. 53. 6.5 Elaboración de programasbásicos de ingenieríaEsos “fragmentos” deprograma son lo quese suele llamar“subrutinas”,“procedimientos” o“funciones”.En el lenguaje C, elnombre que más seusa es el de funciones.
  54. 54. 6.5 Elaboración de programasbásicos de ingenieríaDeclaració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”. después, entre llaves indicaremos todos los pasosque queremos que dé ese “fragmento deprograma”.saludar(){ printf("Bienvenido al programan");printf("de ejemplon");printf("Bienvenido al programan"); }
  55. 55. Ahora desde dentro del cuerpo del programa,es posible “llamar” o “utilizar” a esa función:main() {…saludar();…}6.5 Elaboración de programasbásicos de ingeniería
  56. 56. 6.5 Elaboración de programasbásicos de ingenieríaParámetros de una funciónSi nos interesa además indicarle a nuestra funciónciertos datos especiales con los que queremos quetrabaje.Por ejemplo, si escribimos en pantalla números realescon frecuencia, puede resultar útil que los muestre conel formato que nos interese. Lo podríamos hacer así:escribeNumeroReal( float n ){ printf("%4.2f", n); }
  57. 57. 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 quellamaremos “parámetros”.6.5 Elaboración de programasbásicos de ingeniería
  58. 58. 6.5 Elaboración de programasbásicos de ingenieríaValor devuelto por una funciónTambién es posible que la función realice una serie de cálculos ynos “devuelva” el resultado de esos cálculosmain() {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;}
  59. 59. 6.5 Elaboración de programasbásicos de ingenieríaVariables locales y Variables globalesLas variables se pueden declarar dentro de un bloque(una función), y entonces sólo ese bloque lasconocerá, no se podrán usar desde ningún otro bloquedel 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 desdecualquier parte.
  60. 60. #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”);}6.5 Elaboración de programasbásicos de ingeniería
  61. 61. 6.5 Elaboración de programasbásicos de ingenieríaEste es el programa principalRealiza la llamada a la función HOLAEsta es la función hola*** Hola amigos ***Realiza la llamada a la función ADIOSEsta es la función adiós*** Adiós amigos ***Fin de programa.En el programa principal
  62. 62. 6.5 Elaboración de programasbásicos de ingeniería
  63. 63. 6.5 Elaboración de programas básicos deingeniería
  64. 64. 6.5 Elaboración de programasbásicos de ingeniería

×