introduccion a lenguaje_c

46
Introducción a la Programación ISC-206 Prof. Clariza Rosario

Upload: clariza

Post on 12-Jul-2015

2.336 views

Category:

Education


0 download

TRANSCRIPT

Introducción a la Programación

ISC-206

Prof. Clariza Rosario

Unidad I Introducción

1.1 Breve historia sobre la Computación

A lo largo de la historia el hombre fue resolviendo sus necesidades de registro, para llevar la cuenta de sus bienes y efectuar las operaciones necesarias para la permuta o la venta de los mismos. Fue ideando métodos ágiles de cálculos, tales como contar con los elementos que les proporcionaba la naturaleza, por ejemplo: dedos, piedras, nudos en la soga, etc. Partiendo de la idea de contar con los dedos, los pueblos primitivos tomaron como base de sus cálculos el número 10, pero no todos tomaron el mismo sistema, los mayas calculaban en base al 20, los babilonios en base al 60, y los esquimales en base al 5, etc. En la medida que el hombre acumulaba un mayor número de posesiones, aumentaba la tarea de contar. El mundo antiguo iniciaba su expansión y los comerciantes compraban, vendían, efectuaban trueques, inventariaban, necesitaban un dispositivo para recoger información y obtener resultados exactos.

Uno de los dispositivos mecánicos primitivos de cálculos fue el contador de arena de los egipcios, que consistía en surco en la arena donde colocaban piedras o guijarros.

Todo el desarrollo de las computadoras suele divisarse

por generaciones y el criterio que se determinó para

determinar el cambio de generación no está muy

bien definido, pero resulta aparente que deben

cumplirse al menos los siguientes requisitos:

– La forma en que están construidas.

– Forma en que el ser humano se comunica con

ellas.

Primera Generación de Computadores

En esta generación había un

gran desconocimiento de las

capacidades de las

computadoras, puesto que

se realizó un estudio en esta

época que determinó que

con veinte computadoras se

saturaría el mercado de los

Estados Unidos en el campo

de procesamiento de datos.

Esta generación abarco la

década de los cincuenta.

Características:

Estaban construidas por

medio de tubos de vacío.

Eran programadas en

lenguaje de máquina.

Grandes y costosas (aprox.

de ciento de miles de

dólares).

Computadoras: IBM 701, IBM 650, UNIVAC 80 y 90, las IBM 704 y 709,

Burroughs 220 y UNIVAC 1105.

Segunda Generación de Computadores.

Cerca de la década de 1960, las computadoras seguían evolucionando, se reducía su tamaño y crecía su capacidad de procesamiento. También en esta época se empezó a definir la forma de comunicarse con las computadoras, que recibía el nombre de programación de sistemas.

Las computadoras representativas de esta generación fueron: la Philco 212, UNIVAC M460, la Control Data Corporation modelo 1604, seguida por la serie 3000, la IBM 7090 y la NCR 315.

Características : Están construidas con circuitos de

transistores.

Se programan en nuevos lenguajes llamados lenguajes de alto nivel.

Mayor adaptación al equipo.

Posibilidad de obtener la máxima velocidad con mínimo uso de memoria

Tercera generación de Computadores

Tecnológicamente, la tercera generación de computadores se caracteriza por la utilización de circuitos integrados SSI (pequeña escala de integración) y MSI (media escala de integración), reemplazando a los circuitos de transistores directos, y consiguiéndose así una reducción significativa en coste y tamaño físico. También poco a poco se fueron imponiendo las memorias realizadas con circuitos integrados, desplazando a las memorias de núcleos de ferrita.

Características :

Su fabricación electrónica esta basada en circuitos integrados (chips).

Su manejo es por medio de los lenguajes de control de los sistemas operativos.

Cuarta Generación de Computadores

La época se refiere principalmente a las computadoras de 1980 y continúa hasta la fecha. Aparecen los microprocesadores, un gran adelanto de la microelectrónica, que son circuitos integrados de alta densidad y con una velocidad impresionante.

Surge el concepto de <sistemas abiertos>, donde el usuario puede configurar su sistema prácticamente a medida, adquiriendo software, impresoras, unidades de disco, etc. de <terceros> fabricantes.

Características : Microchips

Difusión de sistemas operativos estándar, no dependientes directamente de los constructores del hardware (Unix, MS-DOS y OS-DOS)

Quinta Generación de Computadores.

El termino quinta generación fue acuñado por los japoneses para describir las potentes e "inteligentes" computadoras que deseaban producir a mediados de los noventa. La meta es organizar sistemas de computación que produzcan inferencias y no solamente realicen cálculos. En el proceso se han incorporado muchos campos de investigación en la industria de la computación, como la inteligencia artificial, los sistemas expertos y el lenguaje natural.

Características :

Procesamiento en paralelo mediante arquitecturas y diseños especiales y circuitos de gran velocidad.

Manejo de lenguaje natural y sistemas de inteligencia artificial.

1.2 Evolución de los lenguajes de programación

Con la llegada de las computadoras aparecen las secuencias de posiciones de llaves eléctricas que debían conectarse para obtener una acción determinada, una llave conectada era un 1 y una llave desconectada era un 0. Una sucesión de llaves en cualquiera de sus dos posiciones definía una secuencia de ceros y unos (por ejemplo: 0100011010011101...) que venía a representar una instrucción o un conjunto de instrucciones (programa) para el computador en el que se estaba trabajando.

A esta primera forma de especificar programas para una computadora se la denomina lenguaje máquina.

La necesidad de recordar secuencias de programación para las acciones usuales llevó a denominarlas con nombres fáciles de memorizar y asociar: ADD (sumar), SUB (restar), MUL (multiplicar), CALL (ejectuar subrutina), etc.

A esta secuencia de posiciones se le denominó "instrucciones", y a este conjunto de instrucciones se le llamó lenguaje ensamblador.

Posteriormente aparecieron diferentes lenguajes de programación, los cuales reciben su denominación porque tienen una estructura sintáctica similar a los lenguajes escritos por los humanos.

Las cinco generaciones de lenguajes de programación

e

l

e

n

g

u

a

j

e

s

d

e

p

r

o

g

r

a

m

a

c

i

ó

e

l

e

n

g

u

a

j

e

s

d

e

p

r

o

g

r

a

m

a

c

i

ó

e

l

e

n

g

u

a

j

e

s

d

e

p

r

o

g

r

a

m

a

c

i

ó

Generación Nombre Particularidad

Primera De máquinaEspecífico para cada microprocesador, uso de

código binario

Segunda EnsambladorUso de nemotécnicos que abstraen del

lenguaje máquina.

Tercera De procedimientosLenguajes estructurados con comandos

cercanos al lenguaje común.

Cuarta Orientados a objetosProgramas orientados a problemas

específicos.

Quinta NaturalIncluye inteligencia artificial y sistemas

expertos.

Muestra de código de máquina y lenguaje assembler del Intel 8088. El código de máquina se resalta en rojo, el código assembler en magenta y

las direcciones de memoria donde se encuentra el código, en azul.

Entre los lenguajes de tercera generación se incluyen:

FORTRAN (Formula TRANslator), diseñado específicamente para programas matemáticos y de ingeniería.

COBOL (Common Business Oriented Languaje) desarrollado en 1960, ganó amplia aceptación como lenguaje estandarizado llegándose a utilizar ampliamente en los negocios.

BASIC (Begginners Allpurpose Symbolic Instruction Code) Fue desarrollado por Jhon Kemeny y Thomas Kurtz en 1964. Por su simplicidad se volvió ampliamente popular y usado en educación y entre los programadores aficionados.

PASCAL, nombrado en honor del inventor francés Blas Pascal, es introducido por Niklaus Wirth en 1971. El Pascal, buscaba superar las limitaciones de los otros lenguajes de programación y demostrar la manera adecuada de implementar un lenguaje de cómputo.

C, desarrollado a principios de los sesenta por Brian Kernighan y Dennis Ritchie. El C es poderoso, puesto que brinda la libertad de conseguir que se realice casi cualquier cosa en una computadora.

C++, Es un lenguaje de principios de los ochenta desarrollado por Bjarne Stroustrup. Es extremadamente poderoso y eficiente igual que el C.

Java (1991) es desarrollado por Sun Microsistema. Cuando Internet comenzó a ganar popularidad como red de comunicaciones a mediados de los noventa, Sun redirige a Java para convertirlo en un ambiente de programación que permitiese crear sistemas interactivos y dinámicos (denominados applets) para las páginas Web.

Entre los programas de cuarta generación se tienen:

Los programas de ambientes visuales:

Existen versiones de programas populares

como el Visual BASIC o el Visual

C, PHP, Java, los cuales, soportan

características y métodos orientados a

objetos y que permiten crear programas en

un ambiente visual.

Clasificación de los lenguajes de programación

Según el nivel de abstracción,

Según la forma de ejecución, y

Según el paradigma de programación que

poseen cada uno de ellos.

Según su nivel de abstracción

Lenguajes de bajo nivel

Los lenguajes de bajo nivel son lenguajes de programación que se acercan al funcionamiento de una computadora. El lenguaje de más bajo nivel es, por excelencia, el código máquina. A éste le sigue el lenguaje ensamblador.

Lenguajes de medio nivel

Tal es el caso del lenguaje C, entre otros, que tiene ciertas características que lo acercan a los lenguajes de bajo nivel pero, al mismo tiempo, ciertas cualidades que lo hacen un lenguaje más cercano al humano y, por tanto, de alto nivel.

Lenguajes de alto nivel

Los lenguajes de alto nivel son normalmente fáciles de aprender porque están formados por elementos de lenguajes naturales, como el inglés.

En BASIC, el lenguaje de alto nivel más conocido, los comandos como "IF CONTADOR = 10 THEN STOP" pueden utilizarse para pedir a la computadora que pare si CONTADOR es igual a 10.

Ejemplo Lenguaje de Alto nivel

Según la forma de ejecución

Lenguajes compilados

Los compiladores son aquellos cuya función es traducir un programa escrito en un determinado lenguaje a un idioma que la computadora entienda (lenguaje máquina con código binario).

Al usar un lenguaje compilado (p. e. los lenguajes del popular Visual Studio de Microsoft), el programa desarrollado nunca se ejecuta mientras haya errores.

Lenguajes interpretados

Una alternativa diferente para traducir lenguajes de alto nivel. En vez de traducir el programa fuente y grabar en forma permanente el código objeto que se produce durante la corrida de compilación para utilizarlo en una corrida de producción futura, el programador sólo carga el programa fuente en la computadora junto con los datos que se van a procesar.

A continuación, un programa intérprete, almacenado en el sistema operativo del disco, convierte cada proposición del programa fuente en lenguaje de máquina conforme vaya siendo necesario durante el proceso de los datos. No se graba el código objeto para utilizarlo posteriormente.

La siguiente vez que se utilice una instrucción, se le debe interpretar otra vez y traducir a lenguaje máquina. lo cual hace que el programa sea más lento en tiempo de ejecución (porque se va revisando el código en tiempo de ejecución) pero más rápido en tiempo de diseño (porque no se tiene que estar compilando a cada momento el código completo).

Proceso de compilación

Según el paradigma de programación

Un paradigma de programación representa un enfoque particular o filosofía para la construcción del software.

No es mejor uno que otro sino que cada uno tiene ventajas y desventajas. También hay situaciones donde un paradigma resulta más apropiado que otro.

Atendiendo al paradigma de programación, se pueden clasificar los lenguajes en :

Lenguajes imperativos

BASIC,C ,C++ ,Java ,C# ,Perl

Lenguajes Funcionales

– Puros: Haskell ,Miranda

– Híbridos: Lisp ,Scheme ,Ocaml ,Standard ML ,ML

Lenguajes Logicos

Prolog

Lenguajes orientados a objetos

Action Script, Ada ,C++ , C# , VB.NET ,Visual FoxPro , Clarion , Delphi , Harbour , Eiffel ,Java , JavaScript , Lexico (en castellano) , Objective-C, Ocaml , Oz , Perl ,PHP, PowerBuilder , Python.

1.4 Origen del Lenguaje C. El sistema operativo UNIX

C es un lenguaje de programación creado en 1969 por Ken Thompson y Dennis M. Ritchie en los Laboratorios Bell como evolución del anterior lenguaje B, a su vez basado en BCPL. Al igual que B, es un lenguaje orientado a la implementación de Sistemas Operativos, concretamente Unix. C es apreciado por la eficiencia del código que produce y es el lenguaje de programación más popular para crear software de sistemas, aunque también se utiliza para crear aplicaciones.

Se trata de un lenguaje débilmente tipado de medio nivel pero con muchas características de bajo nivel. Dispone de las estructuras típicas de los lenguajes de alto nivel pero, a su vez, dispone de construcciones del lenguaje que permiten un control a muy bajo nivel. Los compiladores suelen ofrecer extensiones al lenguaje que posibilitan mezclar código en ensamblador con código C o acceder directamente a memoria o dispositivos periféricos.

C se desarrolló originalmente (conjuntamente con el sistema operativo Unix, con el que ha estado asociado mucho tiempo) por programadores para programadores. Sin embargo, ha alcanzado una popularidad enorme, y se ha usado en contextos muy alejados de la programación de sistemas, para la que se diseñó originalmente.

La versión original de Unix se desarrolló en lenguaje ensamblador. Más tarde, el lenguaje C se desarrolló para poder reescribir el sistema operativo.

En 1973, el lenguaje C se había vuelto tan potente que la mayor parte del kernel Unix, originalmente escrito en el lenguaje ensamblador PDP-11/20, fue reescrita en C. Éste fue uno de los primeros núcleos de sistema operativo implementados en un lenguaje distinto al ensamblador.

Programación

Se conoce como programación de computadoras a

la implementación de un algoritmo en un

determinado lenguaje de

programación, conformando un programa.

Mientras que un algoritmo se ejecuta en una máquina

abstracta que no tiene limitaciones de memoria o

tiempo, un programa se ejecuta en una máquina

real, que sí tiene esas limitaciones.

Objetivos de la programación

Corrección: un programa es correcto si hace lo que debe hacer. Para determinar si un programa hace lo que debe es muy importante especificar claramente qué debe hacer el programa antes de desarrollarlo y una vez acabado compararlo con lo que realmente hace.

Claridad: es muy importante que el programa sea lo más claro y legible posible para mejorar el mantenimiento del software.

Cuando se acaba de escribir el código del programa, se deben buscar errores y corregirlos. Más luego, cuando el programa está concluido, es necesario hacerle ampliaciones o modificaciones, según la demanda de los usuarios.

Eficiencia: debe consumir la menor cantidad de recursos posible. Normalmente al hablar de eficiencia se suele hacer referencia al consumo de tiempo y/o memoria.

La eficiencia y la claridad de un programa pueden ser objetivos contrapuestos: se puede conseguir mayor claridad sacrificando parte de la eficiencia o viceversa. Pero hay que tener en cuenta que el tiempo del programador es caro, y que hoy en día el precio de los ordenadores es razonable y cada vez son más baratos.

¿Qué es un programador de computadoras?

Existen muchas definiciones para los programadores de computadoras, la mayoría de las cuales tienen que ver con conocimientos técnicos para diseñar, escribir, probar y documentar programas de software orientados a resolver problemas usando un lenguaje de programación y una computadora como herramientas.

Pero además, él o ella poseen la capacidad de resolver problemasy se deleitan al buscar soluciones particulares y toman como reto o juego intelectual el hacerlo. Explotan al máximo las capacidades de las computadoras, convirtiéndose en agentes de cambio en sus ambientes de trabajo al automatizar tareas manuales, repetitivas, tediosas, lentas o complejas.

Características de un buen programador

Capacidad analítica para comprender los problemas que se le planteen.

Lógica y buen sentido común.

Capacidad de observación.

Espíritu autodidacta e investigativo.

Habilidad para estructurar una serie de pasos que conduzcan a la solución de los problemas tomando en cuenta las capacidades y limitantes de la computadora.

Podemos mencionar además de las anteriores otras características adicionales igualmente importantes que un programador debe poseer, tales como la constancia, la dedicación, la disciplina y el deseo de superación.

La actitud del programador es vital, pero las habilidades lo son más. Tener la actitud no es lo mismo que ser competente, por tanto existen un cierto

conjunto de herramientas básicas que debes dominar

Conocer y dominar conceptos básicos de informática (ordenador, hardware, software y su clasificaciones, datos, información, sus unidades de medida y los diferentes medios de almacenamiento de datos ).

Aprender cómo aprovechar al máximo tu sistema operativo, sus capacidades y las del ordenador, en particular cómo administrar archivos, cómo ejecutar programas y utilizar los periféricos; debes además conocer cómo utilizar sus herramientas (utilerías de discos, editores de texto, calculadoras, programas de gráficos, administradores de impresión, etc.) y las facilidades que ofrece (multitarea, modos gráficos y modo texto, uso de ventanas, etc.).

Consigue un inglés funcional, la mayoría de los lenguajes de programación incorporan en su sintaxis una gran cantidad de palabras inglesas, además, más de la mitad del contenido de la Red se encuentra en este idioma.

conocer y dominar conceptos teóricos fundamentales de la programación tales como variables, constantes, tipos de datos, algoritmo, sentencias de control, flujogramación, programa, lenguajes de programación, estructuras de datos, compilación, traducción, además de tópicos relacionados tales como el ciclo de vida de los programas, estrategias de diseño y métodos de prueba de programas.

Obtén el compilador de un lenguaje y aprende a programar en él. Estudia un lenguaje de programación. Aprende a programar en él. Usa las herramientas que ofrece y los conceptos de programación que implementa. Lee los ejemplos que traen los libros para comprenderlos y practica modificándolos.

Características de un buen programa.

Confiabilidad, es decir, el programa debe funcionar en prácticamente cualquier situación.

Debe advertir los errores de entrada comunes y obvios.

Debe ser bien estructurado, es decir, que utilicen organizaciones de la programación estructurada.

Estar adecuadamente documentado y ser comprensible, no sólo para quien lo crea, sino para otros programadores. Esto es para facilitar las futuras y muy posibles modificaciones que requiera.

Pasos para la creación de programas

Pasos de la Programación

Pasos Descripción

1. EspecificaciónDeterminar objetivos, salida, entrada y

requerimientos del programa

2. DiseñoDelinear los componentes y sus

interfaces

3. CodificaciónGenerar el programa en un lenguaje

de programación

4. Prueba

Verificar desempeño del programa,

determinar errores de sintaxis y lógica

5. Documentación

Redactar documentación para

usuarios y programadores

6. MantenimientoCorrección de errores, ajustes por

nuevos cambios

Unidad II: Conceptos Básicos de Programación.

Definición y descripción de algoritmos

Se denomina algoritmo a una serie finita de pasos o instrucciones mediante los cuales se resuelve un problema o se ejecuta una tarea específica. Más formalmente los algoritmos se caracterizan por:

• Ser finitos, porque tienen un número determinado de pasos.• Ser definidos, lo que implica que cada vez que se siga se obtendrá

invariablemente el mismo resultado.• Ser precisos, pues cada paso tiene un orden a seguir.

Los algoritmos especifican los pasos (instrucciones) que permiten llegar a la solución de un problema, sin importar si el proceso es manual o automatizado. De modo que no se encuentran exclusivamente relacionados con la computación.

En la vida cotidiana son empleados en diversas ocasiones. Por ejemplo, los pasos seguidos para retirar dinero de un cajero automático de un banco o cuando se sigue una receta de cocina. Se puede entenderlos entonces, como una especie de “receta” que indica los pasos que permiten alcanzar la solución de un problema.

Diagrama de flujo

"Es un esquema para representar gráficamente un

algoritmo. Se basan en la utilización de diversos

símbolos para representar operaciones específicas.

Se les llama diagramas de flujo porque los símbolos

utilizados se conectan por medio de flechas para

indicar la secuencia de operación.

Se utiliza principalmente en programación, economía y

procesos industriales.

Simbología

Inicio / Terminación. Este símbolo se utiliza para señalar el

comienzo así como el final de un diagrama. Tradicionalmente

se colocan las palabras “INICIO” ó “FIN” dentro de la figura para

hacerlo más explícito.

Es el único símbolo que solamente tiene una conexión (flecha)

ya sea de salida, en el de inicio, o de entrada, para el de fin.

Entrada de datos. En este símbolo se indican los valores

iniciales que deberá recibir el proceso. Esto se hace

asignándoles letras o nombres de variables para cada uno de

los valores y anotando estas letras en el interior de la figura.

Este símbolo siempre deberá tener al menos una conexión

entrante (generalmente del inicio) y una de salida.

Proceso de datos. Este símbolo lo utilizaremos para señalar operaciones matemáticas, aritméticas o procesos específicos que se realicen con nuestros datos.

La manera de anotar dichos procesos, puede ser mediante una descripción breve de la operación o mediante una asignación de dicha operación hacia una variable como por ejemplo: R ← A + B

Este símbolo siempre deberá tener al menos una conexión de entrada y una de salida.

Decisión. Este símbolo nos representa una disyuntiva lógica o decisión. En su interior se anota una instrucción o pregunta que pueda ser evaluada como cierta o falsa y que determine el flujo del programa.

Este símbolo es el único que puede contener dos salidas y en cada una de las salidas se suele poner un rótulo de “si/no” o “cierto/falso” indicando con esto cual de ellas se tomará según el resultado de la evaluación de la función.

Es una buena práctica de diagramación utilizar siempre el mismo lado para los positivos siempre que esto sea posible.

Desplegado de información. Este símbolo se utiliza para mostrar un resultado, el cual puede representar la solución al problema que se pretende resolver y que fue conseguida a través del resto del diagrama.

Dentro de su interior se anotará la variable con el resultado final o el mensaje que represente el resultado del algoritmo.

Generalmente veremos este símbolo muy cerca del final del proceso y precedido por el símbolo de terminación.

Este símbolo siempre deberá tener al menos una conexión de entrada y una de salida.

Ejemplo de un diagrama de flujo simple

diferentes

Ejercicios propuestos

1. Hacer un diagrama para calcular el área de un triángulo.

2. Hacer un diagrama para convertir de grados centígrados a grados Fahrenheit.

3. Hacer un diagrama para imprimir la suma de los números del 1 al 100.

4. Hacer un diagrama que te pida un número y te diga si es par, es non y/o es primo.

5. Hacer un diagrama para imprimir la sucesión de Fibonacci.

6. Hacer un diagrama que pida 10 números y muestre el promedio.

7. Hacer un diagrama que pida 3 números y diga cual es el mayor.

8. Hacer un diagrama que pida la edad y despliegue si es menor de edad (<18), mayor (>=18) o si pertenece a la 3ª edad.(>=60)

Ejercicios propuestos (cont.)

Hacer un diagrama para calcular el factorial de un número.

Hacer un diagrama que calcule e imprima N números primos.

Hacer un diagrama que solicite 4 calificaciones y diga si está reprobado o no, según las reglas de tu escuela.

Hacer un diagrama que pida un número N y despliegue todas las combinaciones de dos números que sumados den N.

Hacer un diagrama que despliegue la tabla de multiplicar de un número X.

Ejercicio No. 1

Diseñar un diagrama de flujo para calcular y mostrar el área de un triángulo. El diagrama deberá de solicitar los datos necesarios y mostrar el resultado.

Ejercicio No. 2

Diseñar un diagrama de flujo para convertir de grados centígrados a grados Fahrenheit. El diagrama deberá de solicitar los datos necesarios y mostrar el resultado.

Ejercicio No. 4

Diseñar un diagrama de flujo que solicite un número y determine si este es par o es non.

Variables

Las variables son los “contenedores” de los datos que se van a procesar, son un elemento común en la mayor parte de los lenguajes de computación. Físicamente, las variables son áreas designadas de memoria en donde se guarda el valor del dato. Supongamos que se escribe un programa en el cual se solicitan sueldos de empleados. Se debe contar con una variable que guarde ese dato. Puede escogerse nombrarla, por ejemplo, v_sueldo.

Cuando, a solicitud del programa, el usuario introduce un número, ese dato se convierte en el valor de la variable v_sueldo. Entonces de manera semejante como en álgebra o física, las variables pueden ser usadas en programación para realizar operaciones de informática. Si el programa indica la declaración v_sueldo + 500 y el valor en v_sueldo = 1.000, el resultado para esta declaración va a ser 1.500.

A continuación se presenta como ejemplo un sencillo programa fuente, escrito en C, y justo al lado se explica la acción que realizará la computadora en respuesta a los comandos del programa.

El programa tiene como finalidad el cálculo del promedio de una lista de cinco números.

c

i

ó

n

q

u

e

r

e

a

l

i

z

a

r

á

l

a

c

o

m

p

Instrucciones en Lenguaje C Acción de la computadora

int datos[ ] = { 25, 88, 20, 75, 62 };1.- Define una matriz (datos) de números enteros y le asigna los

valores 25, 88, 20, 75, 62.

int nDatos = 5; 2.- Define la variable (nDatos) de tipo entero y le asigna el valor 5.

int promedio () 3.- Define la función (promedio) que devuelve un número entero.

{

int suma; 4.- Define la variable (suma) de tipo entero.

int prom; 5.- Define la variable (prom) de tipo entero.

int cont; 6.- Define la variable (cont) de tipo entero.

suma = 0; 7.- Asigna a suma el valor 0.

for (cont=0; cont<nDatos; cont++)8.- Para cada elemento de la matriz datos, añade su valor a la

variable suma.

{

suma += datos [cont];

}

prom=suma/nDatos;9.- Asigna a prom el resultado de dividir la variable suma por la

variable nDatos.

return (prom);10.- Devuelve como resultado de la función el contenido de la variable

prom.

}