Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Fundamentos de Progrmación (Apuntes Unidad 3)

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 25

Fundamentos de Programacin

Unidad 3. Introduccin al Lenguaje C


RICARDO RUIZ 1

Presentacin de la Unidad

En la Unidad anterior te presentamos un conjunto de instrucciones que una ardilla (ficticia) podra realizar y te mostramos
cmo, a travs de stas, la ardilla poda resolver varios problemas siempre y cuando se definiera un algoritmo.

Ahora veamos qu relacin hay entre el mundo de la ardilla y las computadoras: la ardilla representa la computadora,
que slo puede ejecutar un conjunto de instrucciones definidas; al igual que la ardilla, la computadora por s misma es
incapaz de resolver problemas, para hacerlo necesita un programa que pueda seguir (ejecutar) para obtener el resultado
deseado, as como la ardilla necesitaba un algoritmo que le indicara cmo realizar una tarea especfica.

Para comenzar a resolver problemas simples por medio de la computadora, en esta Unidad aprenderemos la forma en
que se crean los programas en el lenguaje de programacin C, desarrollado por Dennis M. Ritche en el ao de 1972 en
los laboratorios Bell de AT&T y que posteriormente fue estandarizado por un comit del ANSI (por sus siglas en ingls
American National Standard Institute) dando lugar al ANSI C, a travs del cual se garantiza que cualquier programa
creado bajo este estndar pueda ser ejecutado en cualquier computadora (Kernighan & Ritchie, 1991).

Los elementos bsicos del lenguaje de programacin C que estudiaremos en la Unidad son:

Tipos de datos, variables y constantes
Expresiones aritmticas
Funciones matemticas
Funciones de entrada y salida

Propsitos de la Unidad

Distinguirs la estructura de un programa en lenguaje C.

Declarars las variables y constantes que se utilizan en un algoritmo en lenguaje C.
Codificars expresiones matemticas en lenguaje C.
Utilizars funciones de la biblioteca estndar de C para codificar instrucciones de entrada y salida y funciones
matemticas.
Utilizars un entorno de trabajo de C para escribir, compilar y ejecutar programas escritos en C.

Competencia especfica

Utiliza el lenguaje de programacin C para resolver problemas a travs de la implementacin de algoritmos secuenciales.

3.1. Componentes de un programa

En general, un programa es una secuencia de instrucciones mediante las cuales se ejecutan diferentes acciones de
acuerdo con los datos que se estn procesando (Lpez, 2005).

En la Unidad 1 se explic que un programa puede ser ejecutado por una computadora solamente si est escrito en
lenguaje de mquina, pero escribir los programas en ese lenguaje puede resultar una labor altamente complicada, es por
eso que existen los lenguajes de programacin, que son fciles de entender para los seres humanos y a travs de ellos
se pueden escribir programas ms legibles conocidos como programas fuente en C los programas fuente tienen
extensin .c, que son traducidos a lenguaje de mquina mediante compiladores o traductores.
En el caso de C, se trata de un lenguaje compilado, por lo que se genera un programa ejecutable con extensin .exe, que
puede ser ejecutado cada vez que se desee sin necesidad de volver a compilar el programa fuente, a menos que se
realice algn cambio.
De acuerdo con su creador un programa fuente en C, cualquiera que sea su tamao, consta de funciones y variables.
Una funcin contiene un conjunto de instrucciones, tambin llamadas preposiciones o enunciados, que especifican las
operaciones que la computadora debe realizar; en tanto, las variables son los espacios de memoria donde se almacenan
los valores utilizados en dichas operaciones (Kernighan & Ritchie, 1991, p. 6).
A continuacin se explican las partes que componen un programa.
Tipos de operadores

Para explicar los componentes de un programa, analizaremos la estructura del programa hola_mundo.c, que es el
primer programa que por tradicin se realiza cuando se aprende a programar en un nuevo lenguaje de programacin. A
Fundamentos de Programacin
Unidad 3. Introduccin al Lenguaje C
RICARDO RUIZ 2

partir de este ejemplo se revisar la estructura de un programa y los elementos que lo integran. A continuacin se
muestra la estructura general:

Programa hola_mundo.c

/*Directivas de preprocesador*/
#include<stdio.h>

/* Definicin de funcin Principal */
main( )
{
printf(Hola mundo \n);
}

El programa hola_mundo.c solo tiene una funcin: main; generalmente se puede dar cualquier nombre a las funciones
que se definan en un programa, sin embargo, main es una funcin especial que siempre debe aparecer en algn lugar
del programa, ya que es el punto desde el cual se inicia la ejecucin (equivale a la instruccin de inicio de un algoritmo).
Los parntesis ( ) que aparecen despus de la palabra main indican que se trata de una funcin; las instrucciones que
forman parte de sta, llamadas cuerpo de la funcin, van encerradas entre llaves { }, sealando el inicio y fin de la
misma, respectivamente.
Las instrucciones que comienzan con /* y terminan con */, se llaman comentarios e indican que todo lo que est
escrito entre esos smbolos no son instrucciones que la computadora debe ejecutar sino informacin de inters para el
programador; por ejemplo la primera lnea de cdigo:
/*Directivas de preprocesador*/

Otro tipo de instrucciones especiales son las directivas del preprocesador, que son instrucciones que se realizan antes
de la compilacin del programa, un ejemplo es:
#include<stdio.h>
Se distinguen porque inician con el carcter gato #, en este caso esta instruccin le indica al compilador que debe
incluir la informacin que est definida en el archivo de biblioteca stdio.h, en el cual se encuentran todas las funciones de
salida y entrada, como printf.
Los compiladores de lenguaje C ofrecen distintas directivas, sin embargo las que utilizaremos son:

#define, que sirve para definir de constantes y/o macros
#include, que se utiliza para incluir otros archivos

En el cuerpo de la funcin main, del programa 3.1, slo aparece una instruccin que es la invocacin a la funcin printf
con el argumento Hola mundo \n
printf(Hola mundo \n);
Invocamos o llamamos una funcin cuando requerimos que se ejecute con un conjunto de datos especficos, a los cuales
llamamos argumentos. Una funcin se invoca o llama al nombrarla, es decir, escribiendo su nombre seguido de la lista de
argumentos, separados por comas y encerrados entre parntesis. En otras palabras, los argumentos son los valores que
una funcin necesita para realizar la tarea que tiene encomendada, por ejemplo, la funcin printf tiene como fin imprimir
la cadena de caracteres que recibe como parmetro, en este caso particular imprimir la frase Hola mundo seguida
de un salto de lnea, que es lo que representa la secuencia de caracteres \n.


Actividad 1. Introduccin al lenguaje C - Presentacin

Como sabes, la intencin de esta asignatura es que aprendas a disear programas en C que te sean de utilidad para
resolver problemas por medio de la computadora. Para lograrlo, es necesario que perseveres y practiques
constantemente hasta habituarte en el manejo de los elementos de C; con ese propsito, durante toda esta Unidad y las
que siguen, te presentaremos varios ejercicios que debers realizar como complemento de las dems Actividades y
Evidencias de Aprendizaje, los ejercicios propuestos para esta Unidad son:

Ejercicio A: Hola mundo. Debers escribir, compilar y ejecutar el programa hola_mundo.c y compartir tu experiencia
en el foro destinado para la actividad.
Ejercicio B: Estructura general de un programa. Consiste realizar lo mismo que en el anterior pero aplicado a un
programa ms complejo en el que identificars la estructura general de un programa en C.
Fundamentos de Programacin
Unidad 3. Introduccin al Lenguaje C
RICARDO RUIZ 3

Ejercicio C: Bibliotecas y funciones. Cuando estudies el tema de Bibliotecas y funciones codificars y ejecutars un
pequeo programa que implemente esos elementos.

Para publicar tus dudas y comentarios relacionados con la realizacin de esos ejercicios, cuentas con la base de datos
llamada Introduccin al lenguaje C, en donde todos (Facilitador(a) y compaeros(as) de grupo) podremos intercambiar
ideas para mejorar los programas realizados.

Para ingresar a la base de datos: En la ruta (parte superior izquierda del aula) da clic en Fundamentos. Se enlistarn las
actividades de la Unidad 3 y ah da clic en la Actividad 1. Introduccin al lenguaje C.

Actividad 1. Introduccin al lenguaje C - Ejercicio A

hola_mundo

El primer ejercicio consiste en la elaboracin del programa hola_mundo.c. Realiza lo siguiente:

1. Busca, descarga e instala el compilador DevC++, el cual es el software libre que utilizaremos durante todo lo que
resta del curso para compilar los programas que se realicen.
Para conocer cmo funciona el compilador, busca informacin al respecto.
2. Escribe, compila (con DevC++) y ejecuta el programa hola_mundo.c.
En caso de que el compilador enve errores, te sugerimos verificar que hayas copiado correctamente el
programa.
3. Ahora reflexiona:
Te qued claro todo?
Comprendiste perfectamente todo lo que hiciste y por qu?
Tienes alguna duda relacionada con alguno de los componentes del programa?
4. Ingresa a la base de datos y comparte tu reflexin con tus compaeros(as), si es el caso, expn las dudas o
preguntas que te surjan para que entre todos podamos darles respuesta. No es necesario que subas tus archivos a
menos que as lo requieras para presentar tu comentario.

3.1.1. Instrucciones

Una instruccin o enunciado en lenguaje C se puede definir como una expresin que tiene alguna consecuencia,
generalmente sta se ve reflejada en el cambio del valor que est almacenado en las variables. De acuerdo con su
estructura sintctica se pueden clasificar en dos tipos: simples y compuestas.

Instrucciones en C

Instrucciones simples y compuestas

Las instrucciones simples se distinguen porque terminan con punto y coma
La sintaxis es:
<instruccin>;
Como ejemplo de instrucciones simples tenemos la declaracin de variables, la llamada de funciones y la asignacin.
int x;
x = 2*y;
printf(Hola);

En cambio las instrucciones compuestas son un conjunto de instrucciones que se escriben entre llaves
La sintaxis es:

{

<instruccin>;

<instruccin>;


<instruccin>;
Fundamentos de Programacin
Unidad 3. Introduccin al Lenguaje C
RICARDO RUIZ 4

}
Un ejemplo de este tipo de instrucciones es el cuerpo de la funcin

main, del programa 3.1:
/*Directivas de preprocesador*/

#include
<stdio.h>
/* Definicin de funcin Principal */

main( )
{
Printf(Hola mundo \n);
}

3.1.2. Comentarios

Los comentarios son textos que sirven como informacin al programador y no son procesados por el compilador, es
decir, no son instrucciones que debe realizar la computadora y por lo tanto, no son traducidos a lenguaje de mquina.
Para que un texto sea considerado como comentario debe estar entre los smbolos /* (marca el comienzo) y */ (marca el
final del comentario).
Pueden ir en cualquier parte del programa

Un(a) buen(a) programador(a) debe comentar sus programas para que otras personas puedan entender la lgica de
stos; incluso, los comentarios pueden ser de utilidad al (a la) programador(a) cuando en un tiempo futuro requiera
realizar cambios.
Es recomendable incluir al inicio de stos:
Nombre del programa
Nombre del programador
Breve descripcin de la tarea que realiza
Fechas de creacin y de la ltima modificacin
Todo lo anterior encerrado entre comentarios.
Por ejemplo, al inicio del programa hola_mundo.c sera conveniente incluir el comentario que se muestra en la imagen
del lado derecho.
Los comentarios tambin se pueden incluir al lado de una instruccin para describir de qu se trata, por ejemplo:

printf(Hola mundo); /*
Imprime el mensaje Hola
mundo en la pantalla*/

3.1.3. Palabras reservadas

Las palabras reservadas de cualquier lenguaje de programacin, se llaman as porque tienen un significado especial
para el compilador, el lenguaje C tiene 32 palabras reservadas (27 fueron definidas en la versin original y cinco
aadidas por el comit del ANSI: enum, const, signed, void y volatile), todas ellas escritas con minsculas

En la siguiente tabla se muestran todas las palabras claves o reservadas de lenguaje C. Es importante que las tengas en
cuenta a la hora de realizar tus programas.
Fundamentos de Programacin
Unidad 3. Introduccin al Lenguaje C
RICARDO RUIZ 5



3.1.4. Estructura general de un programa

Ahora que ya se han descrito los diferentes elementos que integran un programa de lenguaje C, podemos describir su
estructura general.

Si observas el programa hola_mundo.c , vers que la primera instruccin en el programa es la directiva al
preprocesador, seguida de la funcin main y las instrucciones que la integran. Esta estructura corresponde a los
programas ms simples, pero es similar a la de cualquier programa en C. La forma general de un programa en este
lenguaje es la que se muestra en el siguiente cuadro:

Fundamentos de Programacin
Unidad 3. Introduccin al Lenguaje C
RICARDO RUIZ 6

Como se ha mencionado, se pueden incluir
comentarios en cualquier parte del cdigo.
Para dejar ms claro esto, a continuacin
se presenta un programa que calcula el
rea de una circunferencia dada la medida
de su radio.


Por el momento, basta con que observes la estructura del programa, sobre todo en la parte de los comentarios; el
significado de cada una de las lneas del cdigo se ir definiendo en las siguientes secciones.
Para cerrar esta seccin en la siguiente figura se muestra la ejecucin del programa con la entrada radio=3.


Figura 3.1: Ejecucin del programa areaCircunferencia.c utilizando Dev-C++

Actividad 1. Introduccin al lenguaje C Ejercicio B

Estructura general y ejecucin de un programa
Realiza lo siguiente:
1. Escribe el programa areaCircunferencia.c
2. Complalo con DevC++ y ejectalo dando diferentes valores para el radio.
3. Ingresa a la base de datos para comentar tu experiencia, tus dudas, o para responder a los comentarios de tus
compaeros.
Para ingresar a la base de datos: En la ruta (parte superior izquierda del aula) da clic en Fundamentos. Se enlistarn
las actividades de la Unidad 3 y ah da clic en la Actividad 1. Introduccin al lenguaje C.

Fundamentos de Programacin
Unidad 3. Introduccin al Lenguaje C
RICARDO RUIZ 7


3.2. Tipos de datos

En la Unidad 1 se mencion que todos los datos que son procesados por una computadora se almacenan en la memoria
principal y, no importa de qu tipo sean, se representan por medio de unos y ceros; sin embargo, no todos se pueden
representar con el mismo nmero de bits, esto s depende del tipo de dato que se trate. Por ejemplo, los caracteres
como: a, @, Z, entre otros, se representan utilizando 8 bits, en cambio para representar un nmero decimal se utilizan, al
menos, 32 bits; por lo que, cuando se crea un espacio de memoria, es necesario indicar qu tipo de dato se desea
almacenar ah, para que se reserve la cantidad de celdas de memoria que se necesitan y las operaciones que se pueden
realizar con ellos

En general, los tipos de datos que existen, independientemente del lenguaje de programacin utilizado, se pueden
clasificar de la siguiente forma:

Tabla 3.2: Tipos de datos
Por el momento, slo nos enfocaremos en los tipos de datos simples definidos en el estndar de C, en la Unidad 5 se
estudiarn los datos estructurados.

En la siguiente tabla se muestran los tipos de datos simples en C:





Fundamentos de Programacin
Unidad 3. Introduccin al Lenguaje C
RICARDO RUIZ 8

Es posible aumentar o disminuir la capacidad de representacin de los nmeros utilizando los modificadores long,
short y unsigned. De esta manera las combinaciones que se ajustan al estndar ANSI, junto con sus rangos
mnimos, son las que se muestran aqu

Una vez que conocemos los tipos de datos que se pueden representar en lenguaje C, es conveniente saber cmo se
reservan espacios de memoria donde son almacenados, esto es justo lo que se explica en el siguiente Tema.

3.3. Variables y constantes


Tanto las variables como las constantes en lenguaje C se utilizan para almacenar valores, la diferencia que existe entre
ellas es que en una el valor almacenado puede cambiarse en cualquier instante del programa y en la otra no. En seguida
lo explicamos.

lo largo de este tema descubrirs cmo puedes construir variables y constantes en lenguaje C. Avanza al primer
subtema para continuar.

3.3.1. Identificadores

En lenguaje C hay una serie de restricciones en cuanto a los nombres o identificadores, ya sea de variables, constantes
o funciones. stas son:
1. Los identificadores se integran por letras y dgitos pero es necesario que el nombre siempre comience con una
letra, por ejemplo: enteroA, arco3, S184.
2. No pueden contener caracteres especiales, por ejemplo, acentos (, ), la letra ee (), gato (#), guin (-), etc. El
caracter de subrayado _ es el nico caracter especial que puede utilizarse, generalmente se usa para darle una
mejor legibilidad al nombre de una variable, por ejemplo: entero_A, area_Circulo, i_elemento.
3. No pueden contener espacios en blanco.
4. No pueden ser palabras reservadas.
5. Se distingue entre letras maysculas y minsculas, esto significa que los siguientes identificadores son distintos:
area, Area, AREA.

Aunque no es una regla, se recomienda que los identificadores sean significativos, es decir, que el nombre indique qu
dato se est almacenando ah.
Fundamentos de Programacin
Unidad 3. Introduccin al Lenguaje C
RICARDO RUIZ 9

Ejemplo 3.1:
1) Se requiere una variable para almacenar el radio de un crculo.
Las opciones sugeridas son: radio, radioCirculo, radio_circulo.
2) Se requiere un identificador para una variable que almacene el promedio de ventas anuales de una tienda
departamental.
Opciones sugeridas: promedioVentas, prom_Ventas, promAnual.
3) Para almacenar el nmero telefnico de una persona.
Como opciones sugeridas tenemos: tel, telefono, nTel.
Ahora que ya conoces las reglas para escribir los nombres de las variables y las caractersticas bsicas que pueden
tener, ests listo(a) para descubrir cmo se crean las variables en lenguaje C. A esta accin se le denomina declaracin
de variables.
3.3.2. Declaracin e inicializacin de variables

La declaracin de una variable es una instruccin que proporciona informacin de la variable al compilador, para que
ste reserve en memoria el espacio adecuado y la referencia (identificador) para tener acceso a ella. Las declaraciones
en general tienen la siguiente sintaxis:

<tipo><identificador>;

Donde <tipo> se refiere a un tipo bsico de C y el <identificador> se refiere al nombre con el cual se identificar
el espacio de memoria reservado, puede ser cualquier nombre siempre y cuando se respeten las reglas vistas
previamente. Veamos los siguientes ejemplos:
int edad; /* declara una variable de tipo entero con el identificador edad*/

float area; /* declara una variable de tipo float a la cual identificar por area*/

Tambin es posible declarar una lista de variables de un mismo tipo separando los nombres con comas ,:

<tipo><identificador1>, , <identificadorN>;


Podemos ver un ejemplo de este tipo de declaracin en el programa que calcula el rea de una circunferencia (programa
3.2), cuando declaramos las variables locales a la funcin main:

float radio, area;/* declara dos variables (radio y area) de tipo float*/


Siempre es posible asignarles un valor inicial a las variables cuando las declaramos, a esta operacin se conoce
como inicializacin. La sintaxis es:
<tipo><identificador>=<valor>;
Del mismo modo, podemos inicializar varias variables:
<tipo><identificador1> = <valor1>, , <identificadorN> =<valorN>;
Para ilustrar esto, se presentan los siguientes ejemplos de variables inicializadas:
Fundamentos de Programacin
Unidad 3. Introduccin al Lenguaje C
RICARDO RUIZ 10

int edad = 18;
float radio = 3.0, area = 0.0;


En la figura 3.2 se muestra una representacin
grfica de estas declaraciones e inicializaciones
que puede ayudar a darte una idea general de lo
que sucede en la memoria: Las columnas
de Direccin representan la direccin fsica de los
registros en la memoria RAM, si ha sido asignada
una variable se escribe su identificador junto a la
direccin, en Contenido se muestra el dato que
est almacenado para esa variable. El estado de
una variable hace referencia al valor del dato que
hay almacenado en un momento determinado.

Figura 3.2: Memoria y declaracin e inicializacin de variables
De lo anterior tenemos que: a la variable edad le
corresponde la direccin de memoria 02 y su
estado es 18; a la variable radio le corresponde la
direccin 51 y su estado es 3.0; y por ltimo, a la
variable area le corresponde la direccin 54 y el
estado es 0.0.

Figura 3.2: Memoria y declaracin e inicializacin de variables
3.3.3. Tipos de constantes
Fundamentos de Programacin
Unidad 3. Introduccin al Lenguaje C
RICARDO RUIZ 11

Como ya se mencion antes, las constantes son expresiones con un significado invariable, pueden clasificarse en dos
tipos: literales y simblicas.
Las constantes literales son valores de un determinado tipo, escritos directamente en un programa y pueden ser de los
siguientes tipos:
a) Constantes numricas, que son nmeros representados en sistema decimal, algunas veces se estila escribir una
letra que indique el tamao o tipo de la constante numrica:
Enteros: Por ejemplo 123, 2006, -38
Enteros Largos: Se consideran nmeros enteros que superan un entero (int) generalmente valores mayores a 32,000;
se le agrega los sufijos l o L por ejemplo: 123456789L.
Enteros sin Signo: Aqu se define que el valor de la constante se va a considerar como un nmero positivo o mayor a
cero, en estos casos se agrega el sufijo U o u as por ejemplo podemos escribir: 123456789LU.
Flotantes: Los valores numricos que impliquen precisin decimal se pueden escribir de dos formas, la primera sera:
14324.983 3.1416. Tambin se puede expresar en representacin exponencial (e-n), por ejemplo: 1.1434E2 o 1.1432e-
5. Tambin se ocupan los sufijos f o F y l o L para especificar los tipos double.
Como puedes observar, las constantes reales con representacin exponencial, tienen como valor una parte entera o real
en forma decimal, seguida por la letra E o seguida de una constante entera, que se interpreta como exponente de la base
10.
b) Constantes carcter, se representa internamente por
el lenguaje C como un nmero entero corto (short int). Una
constante carcter siempre debe ir entre apstrofes, por
ejemplo: x, A.
Tambin existen constantes carcter que aparentan ser
compuestas pero slo son representaciones de caracteres
de formato o caracteres especiales y en C se les conoce
como secuencias de escape.
\n Salto de lnea
\t Tabulador
\b Espacio hacia atrs
\f Salto de pgina
\ Comillas
\\ Barra invertida
c) Constantes cadena, son una secuencia de caracteres entre comillas, incluyendo secuencias de escape, por ejemplo:
hola, hola mundo \n.
Las constantes simblicas representan datos permanentes que nunca cambian.
Las constantes de este tipo son representadas por un nombre (simblico) en el cdigo del programa. Del mismo modo en
que ocurre con las constantes literales stas no pueden cambiar su valor, sin embargo para utilizar el valor constante se
utiliza el nombre simblico que le ha sido otorgado.
Este tipo de constantes mantienen dos ventajas muy claras sobre las constantes literales, una es que la escritura del
cdigo es ms clara y otra que facilita la edicin de los valores contenidos en el cdigo del programa. En el siguiente
subtema ahondaremos en esto.
3.3.4. Declaracin de constantes

Fundamentos de Programacin
Unidad 3. Introduccin al Lenguaje C
RICARDO RUIZ 12

En C existen dos formas de declarar una constante simblica. La primera es utilizando la directiva de
preprocesador #define, la cual asocia un identificador a un valor constante, sin reservar espacio en memoria, por lo que
no podemos decir estrictamente que se declara, slo se define. La sintaxis general es la siguiente:

#define<identificador><valor_constante>

Por ejemplo:
#define PI 3.1416

Con esta instruccin, cada vez que en el programa se escriba el identificador PI, ste ser sustituido por el compilador
con el valor de 3.1416 (no se almacena el valor 3.1416 en ningn espacio de memoria slo se hace una sustitucin
textual en el momento de compilacin).

La segunda forma de declarar una constante simblica es reservando espacio de memoria que tenga la restriccin de
slo lectura, para impedir que el valor sea cambiado, en este caso s la declaramos. La sintaxis general es similar a la
forma de declarar una variable slo que se antepone al tipo la palabra reservada const y es obligatorio asignar un valor:

const<tipo><identificador> = <valor_constante>;

Por ejemplo:

const float PI 3.1416;


La directiva #define debe escribirse al principio del programa antes del main, en cambio, la declaracin de una
constante mediante const puede ser escrita dentro o fuera de las funciones al igual que las declaraciones de variables.

Se recomienda escribir el nombre de una constante con letras maysculas para diferenciarlas de las variables, pero las
reglas son exactamente las mismas que para los identificadores de las variables.

Evidencia de Aprendizaje: Programa en C. Anlisis del problema

Ha llegado la hora de retomar el desarrollo del programa en C que ests realizando como parte de la Evidencia de
Aprendizaje, hasta el momento ya debes contar con tu problema perfectamente delimitado.
Lo que corresponde para esta unidad es implementar la fase dos del proceso, que consiste en hacer el anlisis del
problema para que en la siguiente unidad se pueda comenzar el diseo del algoritmo en pseudocdigo o diagrama de
flujo.
Realiza lo siguiente:
1. En un archivo de Word, analiza cuidadosamente el problema planteado, para ello considera:
o Los datos que se necesitarn como entrada y salida del programa, es decir, qu necesitar ingresar el
usuario, y qu se espera que devuelva el programa como resultado final.
o La metodologa que seguirs para resolver el problema, es decir, qu elementos de programacin
necesitar el programa para resolver el problema. Por ahora no necesitas delimitarlo muy a detalle, ya
que conforme avances en el estudio de las unidades siguientes, aprenders nuevos elementos que se
pueden incorporar al programa. Lo importante en este punto es que plantees una estructura general que
podra servir para el algoritmo.
2. En el mismo documento, realiza un esbozo del algoritmo en lenguaje natural (no necesitas hacerlo en diagrama
de flujo ni pseudocdigo) para presentar la estructura general que tendr tentativamente tu programa.

Fundamentos de Programacin
Unidad 3. Introduccin al Lenguaje C
RICARDO RUIZ 13

3. Guarda tu trabajo con el nombre FPR_U3_EA_XXYZ.doc y envalo mediante el Portafolio de evidencias;
espera a que tu Facilitador(a) devuelva los comentarios a tu trabajo, atiende lo que se te indique y haz los
ajustes necesarios para mejorar tu Evidencia.
Nota: El plazo lmite para enviar la segunda versin de la Evidencia de Aprendizaje es hasta que acabe la Unidad
(consulta al (a la) Facilitador (a) para mayor informacin).
Para conocer los lineamientos de evaluacin de esta evidencia, descarga el siguiente documento.

Para enviar tu evidencia: En la ruta (parte superior izquierda del aula) da clic en Fundamentos. Se enlistarn las
actividades de la Unidad 3 y da clic en la Evidencia de Aprendizaje: Programa en C. Anlisis del problema


3.4. Expresiones matemticas
Las expresiones matemticas representan una de las partes importantes de la programacin en C, ya que a travs de
ellas se pueden resolver problemas de distintas clases. stas pueden ser un nmero, una variable, una constante o la
combinacin de operadores y todas las anteriores. Toda expresin al ser evaluada produce un valor.
Se dividen en dos tipos de acuerdo al tipo de datos que devuelven cuando son evaluadas:
Expresiones aritmticas cuando el resultado de la evaluacin es un nmero.
Expresiones booleanas cuando el resultado de la evaluacin es un valor booleano (verdadero o falso). En este punto
es importante destacar que el modo en que el lenguaje C maneja los valores booleanos es por medio de valores
enteros: cero equivale a falso y cualquier entero distinto de cero representa verdadero.

Las expresiones matemticas permiten modelar situaciones reales; por ejemplo, mediante las expresiones aritmticas
podemos modelar la forma de calcular el rea de cualquier figura, tambin podemos representar la forma de calcular las
races de un polinomio de segundo grado, o calcular el monto de una venta, etc. En cambio las expresiones booleanas
son la base para construir programas que pueden tomar decisiones.

Observa los siguientes ejemplos:
Ejemplo 3.2
a) La hipotenusa es igual a la raz cuadrada de la suma de los cuadrados de catetos.
Expresin aritmtica:
Codificacin en C: c =sqrt(a*a + b*b);
b) x es un nmero par?
Sabemos que un nmero es par si es divisible entre 2, en otras palabras, si el residuo de la divisin entre dos es cero, lo
cual se puede expresar con el operador de mdulo, que devuelve el residuo de una divisin.
Expresin booleana:
Codificacin en C: x % 2 == 0
En el prximo subtema se presentan los operadores bsicos del lenguaje C, tanto aritmticos como booleanos.
3.4.1. Tipos de operadores

Fundamentos de Programacin
Unidad 3. Introduccin al Lenguaje C
RICARDO RUIZ 14

Los operadores son palabras o smbolos que permiten realizar operaciones con los datos de un programa, para cada
tipo de datos hay una serie de operadores definidos.
Entre todos los operadores se distingue el operador de asignacin =, que se puede leer como guarda un valor en la
variable indicada, el valor puede ser una constante literal o el resultado de una expresin. Cabe sealar que este
operador en pseudocdigo o diagrama de flujo lo hemos representado con una flecha apuntado hacia la izquierda .
Veamos algunos ejemplos:
radio =3.0; /* modifica el estado de la variable radio con el valor 3.0*/
area=PI*radio*radio;/* modifica el estado de la variable por el resultado de evaluar la
expresin PI * radio * radio */
Mencionamos ya que existen dos tipos de operadores bsicos que se pueden utilizar en el lenguaje C, a continuacin los
explicamos:
Los operadores aritmticos definidos en C son: + (suma), - (resta), * (multiplicacin),/ (divisin) y %(mdulo).
Este ltimo representa el residuo de dividir dos nmeros enteros, por ejemplo si realizamos la divisin de 6 entre 15
(15/6), el cociente es 2 y el residuo es 3, al aplicar el operador mdulo a estos valores tenemos:
15 % 6 3
21 % 4 1
En C tambin existen los operadores de incremento ++ y decremento --, stos tienen el efecto de aumentar o
disminuir en una unidad el valor de una variable, supongamos que estamos trabajando con la variable x:
x++;/* equivale a hacer: x = x + 1;*/
x--; /* equivale a hacer: x = x 1;*/
Por ejemplo, si el valor de x es 5 el resultado de aplicar ++ y -- es:
x++; 6
x--; 4
Los operadores que permiten construir expresiones booleanas son:
Operadores relacionales que manipulan expresiones aritmticas y son:> (mayor que), < (menor que), >=
(mayor o igual), <= (menor o igual), == (igual), != (distinto)
Operadores booleanos tambin llamados lgicos, manipulan nicamente expresiones booleanas y son: !
(negacin), || (disyuncin) y && (conjuncin).
Observa que el operador de igualdad se escribe con dos smbolos de igualdad seguidos (==). El error ms comn es
escribir una comparacin con un slo smbolo de igualdad, recuerda que (=) es el operador de asignacin y su
significado es totalmente distinto. En cuanto a los operadores booleanos, su significado es el siguiente:

Negacin!, es un operador unario que cambia el valor de verdad de la expresin a la cual se le aplica. Por
ejemplo, si el valor de verdad de expresin es verdadero entonces devuelve falso, y viceversa. Por ejemplo, si
x=2, y=3, z=5
!(z > x ) !(5 > 2 )!(1) 0 (falso)

!(x > y ) !(2 > 3 ) !(0) 1 (falso)
Fundamentos de Programacin
Unidad 3. Introduccin al Lenguaje C
RICARDO RUIZ 15


En pseudocdigo o diagrama de flujo se representa con la palabra en ingls NOT
Conjuncin&&, es un operador binario que se evala como verdadero slo cuando las dos expresiones
involucradas son verdaderas, en caso contrario devuelve falso. Por ejemplo, si evaluamos las siguientes
expresiones en el estado las variables x=2, y=3, z=5
(x>y) && (z>y)(2 > 3) && (5 > 3) 0&&1 0 (falso)
!(x > y) && (z>y) !(2 > 3) && (5 > 3) !(0) &&1 1&&1 1 (verdadero)
En pseudocdigo y diagrama de flujo se representa con la palabra en ingls AND
Disyuncin| |, es un operador binario que devuelve nicamente falso si los dos operadores son falsos, en
caso contrario devuelve verdadero. Nuevamente, tomemos el mismo estado de las variables x=2, y=3, z=5
(x>y) | | (z>y) (2>3) | | (5>3) 0 | | 1 1 (verdadero)
(x>y) | | (y>z) (2>3) | | (3>5) 0 | | 0 0 (falso)

En pseudocdigo y diagrama de flujo se representa con la palabra en ingls OR
Adems de los operadores mencionados, en C existen otros que se pueden utilizar, sin embargo, su estudio supera los
objetivos de este curso por lo que no los revisaremos. Si deseas saber ms al respecto puedes consultar el texto
de Joyanes & Zohanero(2005).

3.4.2. Evaluacin de expresiones

La evaluacin de las expresiones depende de tres cosas, principalmente el estado de las variables que aparecen en la
expresin, el significado de los operadores y su precedencia. Esta ltima se refiere a la prioridad de los operadores, es
decir, el orden en el que se evalan, eliminando con esto la ambigedad de las expresiones, por ejemplo, si tenemos la
expresin:
2 + 3 * 5
Podramos evaluarla de dos diferentes formas: la primera es hacer primero la suma 2+3 (=5) y despus multiplicar el
resultado por 5. De tal manera obtendramos como resultado final 25.
Otra manera sera realizar primero la multiplicacin 3*5 (=15) y sumar el resultado a 2, obteniendo 17 como resultado
final. Pero sabemos que en matemticas primero se realiza la multiplicacin y despus la suma, en otras palabras, tiene
mayor prioridad la multiplicacin que la suma. Por lo tanto, el resultado correcto de la expresin 2 + 3 * 5 es 17
En la siguiente tabla se muestra la precedencia de operadores de lenguaje C que se han presentado.


Fundamentos de Programacin
Unidad 3. Introduccin al Lenguaje C
RICARDO RUIZ 16

Los operadores que se encuentran en el mismo nivel de precedencia se ejecutan de izquierda a derecha segn aparecen
en la expresin. Da clic aqu para observar un par de ejemplos.

Ejemplo 3.3: Dada la siguiente expresin matemtica para convertir grados centgrados (C) a su equivalente Fahrenheit
(F),

Su codificacin en C es:
F= (9.0/5.0)*C +32;
Se escribe 9.0 y 5.0 para que la divisin devuelva un nmero flotante, de lo contrario la divisin ser entera. En este caso
las variables F y C, deben ser declaradas como float.
Evaluando paso a paso la expresin en el estado de la variable C = 30 tenemos:


Observa que el nico operador que cambia el estado de una variable es el de asignacin "=".
Ejemplo 3.4: Ahora evaluemos la expresin:
(x % 2 == 0)
Considerando que el estado de la variable x=24

Fundamentos de Programacin
Unidad 3. Introduccin al Lenguaje C
RICARDO RUIZ 17

En este caso la evaluacin de la expresin no afecta el estado de la variable, esto es porque no contiene ningn
operador de asignacin, sin embargo podemos decir que el resultado de su evaluacin es verdadero.
Autoevaluacin de la Unidad 3

1. Realiza la siguiente actividad que te servir para autoevaluar tu conocimiento, esto con el fin de que puedas
verificar qu tanto has aprendido los temas vistos hasta ahora pues necesitars tener un buen manejo de los
mismos para comprender los temas siguientes y para realizar tus prximas actividades.
2. Ingresa al cuestionario Autoevaluacin de la Unidad 3 y contesta cada una de las preguntas que se te
plantean. Considera volver a repasar algunos temas si tus respuestas correctas son menos que las incorrectas.
Para ingresar al cuestionario: En la ruta (parte superior izquierda del aula) da clic en Fundamentos. Se enlistarn las
actividades de la Unidad, da clic en Autoevaluacin de la Unidad 3.
3.5. Bibliotecas y funciones
El lenguaje C en realidad es un lenguaje reducido, en comparacin con otros lenguajes de programacin, por ejemplo, no
tiene instrucciones de entrada y salida, tampoco cuenta con operadores o funciones para calcular la raz cuadrada de un
nmero o su potencia, entre otras.
Sin embargo, para compensar esto, el lenguaje C ofrece un vasto conjunto de bibliotecas de funciones que para fines
prcticos se pueden considerar como parte de C. Adems se pueden definir nuevas bibliotecas.
No obstante, para fines de este curso las bibliotecas de uso frecuente del lenguaje son ms que suficientes, por lo que no
se estudiarn ms que esas en esta ocasin.
Las funciones que ms se utilizan estn agrupadas en bibliotecas estndar, declaradas como archivos de cabecera, de
tal manera que para utilizarlas se debe escribir la directiva #include seguida del nombre del archivo encerrado entre
<>.
Las bibliotecas estndar que usaremos en este curso son:
stdio.h en esta biblioteca se encuentran definidas las funciones estndar de entrada y salida que representan
la tercera parte de la biblioteca, por ejemplo, declara la funcin printf que sirve para imprimir datos en
pantalla y scanf que se utiliza para leer datos ingresados mediante el teclado.
stdlib.h incluye funciones para conversin numrica, asignacin de memoria y tareas similares, llamadas
funciones de utilera. En esta biblioteca se declara la funcin system mediante la cual se envan mensajes al
sistema operativo para que ejecute una tarea.
math.h declara funciones matemticas, como la funcin sqrt que calcula la raz cuadrada de un nmero.
ctype.h declara funciones para prueba de clasificacin de caracteres, por ejemplo, si es un dgito o un carcter.
Observa que todas las bibliotecas estndar tienen extensin .h.
3.5.1. Funciones matemticas
Por el momento, conozcamos las funciones declaradas en la biblioteca math.h; si aprendes a utilizar stas, tambin
podrs utilizar otras funciones del resto de las libreras.
Observa la siguiente tabla:
Fundamentos de Programacin
Unidad 3. Introduccin al Lenguaje C
RICARDO RUIZ 18


Con esta informacin es posible codificar algoritmos que requieran este tipo de operaciones. Por ejemplo, la frmula para
calcular el rea de una circunferencia, que aparece en el programa 3.2.
area=PI * radio * radio;
Se puede codificar de la siguiente manera:
area=PI * pow(radio,2);
3.5.2. Funciones de entrada y salida
En los programas que hemos visto aparece la funcin de salida estndar printf, que se encarga de imprimir un
mensaje en la pantalla. La sintaxis general es:
printf(<cadena_de_control>, <lista_de_identificadores>);
Donde <cadena_de_control> representa el mensaje de texto que se desea desplegar en el monitor y siempre tiene
que ir en comillas, opcionalmente puede incluir secuencias de escape o especificadores de
control; <lista_de_identificadores> es una lista con los identificadores de las variables o las expresiones que
sern desplegadas, separadas por comas.
Los especificadores de conversin se utilizan para imprimir valores dentro de la cadena de control especificados por una
variable, una constante o una expresin. En la siguiente tabla se muestran los que ms se usan.
Fundamentos de Programacin
Unidad 3. Introduccin al Lenguaje C
RICARDO RUIZ 19


Da clic aqu para ver un ejemplo de uso.
Ejemplo 3.5.
Suponiendo que el estado de las variables es:
radio=3 y area=28.27,
printf (El area del circulo con radio %d es %f \n,radio,area);
La salida de la instruccin anterior sera:
El area del circulo con radio 3 es 28.27
Observa que se imprime el texto tal cual pero en vez de imprimir el especificador de conversin %d se imprime el valor
de la primera variable que es radio y en el lugar del especificador %f se imprime el valor del siguiente argumento que es
la variable area.
Ahora, si tenemos la instruccin:
printf(El perimetro es %.2f \n, PI*2*radio);
La salida sera:
El perimetro es 18.85
En este caso en el lugar del convertidor %.2f se imprime el resultado de evaluar la expresin PI*2*radio que es el
segundo argumento, el nmero .2 que aparece en el convertidor indica que slo deben imprimirse dos decimales.
En lenguaje C la lectura de datos por medio del teclado se realiza con la funcin scanf, en la cual se deben de
especificar de ante mano los tipos de datos que se desean recibir, adems de los identificadores de las variables donde
se desean almacenar.
La sintaxis de esta funcin es:
Fundamentos de Programacin
Unidad 3. Introduccin al Lenguaje C
RICARDO RUIZ 20

scanf(<cadena_de_control>,<lista_de_direcciones_de_variables>);
Donde <cadena_de_control> es una cadena con los cdigos que controlarn la forma como se recibirn los datos
desde teclado y la <lista_de_direcciones_de_variables> es una lista con las localidades de memoria de las
variables donde se almacenarn los datos que el usuario del programa introduzca a travs del teclado.
Dos observaciones importantes: en la especificacin de la cadena de control se utilizan los mismos especificadores de
conversin que para la funcin printf encerrados entre comillas y en la lista de direcciones los identificadores de las
variables, anteponindoles a cada uno un smbolo de amperson &, en el mismo orden que los especificadores de tipos
que les corresponden. Da clic aqu para observar un ejemplo.
Ejemplo 3.6.
Suponiendo que se desea leer la base y la altura de un rectngulo y guardarlas en las variables de
tipo int llamadas base y altura, de tal manera que el usuario ingrese los valores separados por una coma, digamos
5,2 entonces la instruccin sera:
scanf(%d,%d, &base, &altura);
Nota: Es frecuente que las personas olviden escribir el & antes del identificador de una variable, al utilizar la
funcin scanf, cuestin que no es supervisada por el compilador y genera un error en el momento que se ejecuta el
programa.
Actividad 2. Funciones de entrada y salida
Realiza un programa en C que resuelva el problema que te proporcionar tu Facilitador(a). Utiliza funciones de entrada y
salida.
Problema:


Calcular el nmero de pulsaciones que una persona debe tener por X cantidad de segundos de ejercicio, si la frmula es:

Nm. pulsaciones = (220 - edad)/X
1. Analiza el problema y propn una solucin en pseudocdigo o diagrama de flujo, gurdalo con el nombre
FPR_U3_A2_XXYZ, la extensin del archivo puede ser cualquiera de las siguientes, dependiendo del programa
que hayas decidido utilizar: .doc, .ppt, .pdf, .jpg, .bmp, .gif, .vsd.
2. Realiza una prueba de escritorio y posteriormente, si sta ha sido satisfactoria, escribe el programa en lenguaje
C.
Nota: Puedes ingresar al foro Introduccin al lenguaje C para compartir tus dudas o para ayudar a resolver las de tus
compaeros. Es probable que si tienes alguna dificultad en el proceso de desarrollo de tu programa alguien del grupo te
pueda ayudar a resolverla, o puede ser que t sepas la solucin al problema de otro(a).
3. Complalo y ejectalo para verificar que funciona correctamente.
o En caso de que el compilador enve errores, verifica dnde est el error y corrigelo
4. Gurdalo con el nombre FPR_U3_A2_XXYZ.c
5. Agrega los siguientes archivos a una carpeta comprimida llamada FPR_U3_A2_XXYZ.zip:
o Algoritmo en pseudocdigo o diagrama de flujo
o Programa fuente (.c)
o Archivo ejecutable (.exe)
6. Enva la carpeta comprimida a tu facilitador(a) mediante la Seccin de tareas.
Fundamentos de Programacin
Unidad 3. Introduccin al Lenguaje C
RICARDO RUIZ 21

Para enviar tu documento: En la ruta (parte superior izquierda del aula) da clic en Fundamentos. Se enlistarn
las actividades de la Unidad 3 y da clic en la Actividad 2. Funciones de entrada y salida.
3.6. Codificacin de algoritmos

Para concluir esta Unidad, desarrollemos un programa en C que incluya la implementacin de lo que hemos estudiado
hasta el momento. Veamos cmo se realiza la codificacin de los algoritmos con un poco ms de detalle. Para lo cual
realizaremos un programa que resuelva el problema que a continuacin se presenta.
3.6. Codificacin de algoritmos - Descripcin del problema
Se requiere un programa que se encargue de la venta de boletos en un cine. El sistema debe calcular el monto que se
debe pagar por una cantidad determinada de boletos tomando en cuenta que el costo de cada boleto es de 45 pesos.
Tambin se encargar de cobrar, es decir, dado el pago, debe calcular el cambio indicando el tipo y nmero de billetes o
monedas que devolver de cada denominacin. Para evitarse problemas de cambio, los ejecutivos de Cine ESAD han
decidido no aceptar monedas de denominacin menor a 1 peso y tampoco billetes de denominacin mayor a 500 pesos.
Tambin se debe suponer que siempre hay suficientes billetes y monedas de cualquier denominacin para devolver el
cambio.
Los datos de entrada son el nmero de boletos (nboletos) y el monto del pago (pago), la salida del programa es el
monto que se debe pagar por los boletos (total)y el monto del cambio(cambio), indicando el tipo y nmero de cada
uno de los billetes o monedas que se devolvern.
Notemos que el precio de los boletos siempre es el mismo, as que se puede declarar como una constante, llammosla
PRECIO. As que para calcular el monto que el cliente debe pagar tenemos la siguiente frmula:
total = nboletos * PRECIO
Y el monto del cambio se calcula con la siguiente frmula:
cambio = pago total
Para calcular cuntos billetes o monedas se tienen que devolver, se utilizarn los operadores de mdulo y divisin. Por
ejemplo, si el cambio es 360 se puede calcular el nmero de billetes de 100 dividiendo 360 entre 100, lo cual resulta ser
3 que corresponde al nmero de billetes, el resto del cambio es igual a 360 mdulo 100, en este caso es 60.
Por ltimo, los billetes slo pueden ser de $500, $200, $100, $50 y $20 y las monedas slo son de $10, $5, $2 y $1. Por
el momento supondremos que el usuario siempre ingresa datos correctos.
En la siguiente tabla se muestra el algoritmo que resuelve el problema
Fundamentos de Programacin
Unidad 3. Introduccin al Lenguaje C
RICARDO RUIZ 22

Constantes:
PRECIO = 45
Variables:
nboletos: entero, representa el nmero de boletos
que quiere el cliente.

total: entero, es la cantidad de dinero que el cliente
debe pagar.

pago: entero, monto del pago del cliente.

cambio: entero, monto del cambio.

Si quieres descargar el algoritmo da clic en el icono:
Leer documento FPR_U3_DESC5 Algoritmo Venta de boletos
Nota: Observa que no es necesario utilizar variables para el nmero de billetes o monedas de las diferentes
denominaciones, pues slo se utiliza una vez el resultado del clculo as que se puede imprimir directamente el resultado
del mismo.
Para verificar que el algoritmo funciona, a continuacin se realiza una prueba de escritorio considerando que los datos de
entrada son 5 boletos y el monto del pago son 500 pesos.
En la primera columna aparece la instruccin que se ejecuta, en la siguiente el dato que suponemos se ingresa, despus
estn las operaciones que se realizan en la ALU, en la cuarta columna se muestran los valores de las variables despus
de que se ha realizado la instruccin y en la ltima columna se indica el mensaje que se imprimir en la pantalla, cuando
sea el caso.
Por otro lado, incluimos en la tabla de estado de la memoria la constante PRECIO sombreando el espacio
correspondiente para indicar que no puede ser modificado.
Leer documento FPR_U3_DESC6_V1 Prueba de escritorio para Algoritmo Venta de boletos
Por ltimo, slo resta codificar el algoritmo en lenguaje C, compilarlo y ejecutarlo. En el siguiente documento se te
presenta el algoritmo en C.
Leer documento FPR_U3_DESC7 Programa ventaBoletos.c
Una vez compilado el resultado que se obtiene es el siguiente:
Fundamentos de Programacin
Unidad 3. Introduccin al Lenguaje C
RICARDO RUIZ 23


Actividad 1. Introduccin al lenguaje C Ejercicio C
Bibliotecas y funciones
1. Escribe, compila y ejecuta el programa ventaBoletos.c que acabamos estudiar.
Para hacerlo, considera lo siguiente:
Analiza con detalle el algoritmo en C e identifica sus componentes
Se te ocurre otra forma de hacer lo mismo? Si s, intntalo.
Se le pueden aadir nuevas funciones al programa?
Qu parte del proceso se te complic ms?
2. Piensa en un problema sencillo que podra resolverse con lo que sabemos hasta ahora, publcalo la base de datos
e intenta resolverlo. Si lo prefieres, ingresa a sta y trata de resolver alguno de los problemas propuestos por tus
compaeras(os) de grupo.
Puedes pedir ayuda para resolverlo, o bien, ayudar a otros a resolver sus problemas.
Para ingresar a la base de datos: En la ruta (parte superior izquierda del aula) da clic en Fundamentos. Se enlistarn
las actividades de la Unidad 3 y ah da clic en la Actividad 1. Introduccin al lenguaje C

Actividad 3. Anlisis, diseo y codificacin de un programa en C

Realiza un programa en C que resuelva el problema que te proporcionar tu Facilitador(a). Utiliza lo que has aprendido
hasta ahora para disear tu algoritmo.
Problema:


Desarrollar un programa que permita en la materia Fundamentos de Programacin de un grupo de N
alumnos, calcular y mostrar el porcentaje de aprobados y reprobados.

Fundamentos de Programacin
Unidad 3. Introduccin al Lenguaje C
RICARDO RUIZ 24

Por ejemplo, suponiendo que de un grupo de 35 alumnos, 26 aprobaron y 9 reprobaron. La frmula para
calcular el porcentaje sera:

Aprobados = NoAprobados * 100 / NAlumnos = 26 * 100 / 35
Reprobados = NoReprobados * 100 / NAlumnos = 9 * 100 / 35

*Hay que solicitar cuntos aprobaron y cuntos reprobaron.

1. En un archivo de Word, realiza el anlisis del problema (datos de entrada, salida y el mtodo que seguirs para
resolverlo).
2. Posteriormente, en el mismo archivo, escribe el algoritmo representado en diagrama de flujo o en
pseudocdigo. Gurdalo con el nombre FPR_U3_A3_XXYZ.doc
3. Realiza una prueba de escritorio e inclyela en el mismo archivo de Word y comprueba que tu algoritmo
entregue la salida indicada.

Nota: Puedes ingresar al foro Introduccin al lenguaje C para compartir tus dudas o para ayudar a resolver las de tus
compaeros(as). Es probable que si tienes alguna dificultad en el proceso de desarrollo de tu programa alguien del grupo
te pueda ayudar a resolverla, o puede ser que t sepas la solucin al problema de otro(a).
4. Finalmente, codifica tu algoritmo en lenguaje C utilizando DevC++ y guarda el archivo con el nombre
FPR_U3_A3_XXYZ.c. Despus complalo y ejectalo con los mismos datos de la prueba de escrito.
5. Aade a una carpeta comprimida llamada FPR_U3_A3_XXYZ.zip, el archivo de Word, el programa fuente (.c) y
el ejecutable (.exe). Envalos a tu facilitador(a) mediante el Seccin de tareas. Espera y atiende los
comentarios que te haga al respecto.

*Sustituye las XX por las dos primeras letras de tu primer nombre, la Y por la inicial de tu apellido paterno y la Z por la
inicial de tu apellido materno.
Para enviar tu documento: En la ruta (parte superior izquierda del aula) da clic en Fundamentos. Se enlistarn las
actividades de la Unidad 3 y da clic en la Actividad 3. Anlisis, diseo y codificacin de un programa en C.
Cierre de la Unidad
Excelente! Ya vamos a la mitad del curso y comenzamos a realizar programas para resolver problemas simples
haciendo uso de las funciones de C, sin embargo, an nos falta aprender varias cosas que podemos implementar para
que nuestros programas resuelvan problemas cada vez ms complejos.
En la siguiente Unidad aprenderemos a utilizar las estructuras de control para que los programas que realicemos puedan
repetir ciclos de instrucciones o slo realizarlas si se cumplen o no determinadas condiciones.
Es importante que no dejes de practicar para que puedas detectar todas las dudas o fallas que tengas a la hora de
programar con las funciones que hasta ahora conoces.
En los libros de Joyanes, L., & Zohanero, I. (2005) y Lpez. L. (2005) se encuentran disponibles ms ejercicios que
puedes realizar para practicar.
Adelante!.
Fundamentos de Programacin
Unidad 3. Introduccin al Lenguaje C
RICARDO RUIZ 25

Fuentes de consulta
Bibliografa general
Bhm, C., & Jacopini, G. (1966). Flow diagrams, Turing machines, and languages only with two formation rules.
Communications of the ACM.
Cair, O. (2005). Metodologa de la programacin: Algoritmos, diagramas de flujo y programas. Mxico:
Alfaomega.
Guerrero, F. (s.f.). mailxmail.com. Recuperado el 15 de agosto de 2010 de: http://www.mailxmail.com/curso-
introduccion-lenguaje-c
Joyanes, L., & Zohanero, I. (2005). Programacin en C. Metodologa, algoritmos y estructuras de datos. Espaa:
Mc Graw Hill.
Kernighan, B., & Ritchie, D. (1991). El lenguaje de programacin C. Mxico: Prentice-Hall Hispanoamericana.
Lpez, L. (2005). Programacin estructurada en lenguaje C. Mxico: Alfaomega.
Reyes, A., & Cruz, D. (2009). Notas de clase: Introduccin a la programacin. Mxico: UACM.
Villela, H. T. Manual de C. Recuperado el 15 de agosto de 2010 de: http://www.fismat.umich.mx/mn1/manual/

También podría gustarte