Sei sulla pagina 1di 97

+

+


INSTITUTO POLITECNICO NACIONAL
2011
FUNDAMENTOS DE
PROGRAMACION
Lenguaje de programacin C
ing. Rodrigo Aviles Villareal.
E S C U E L A S U P E R I O R D E I N G E N I E R I A ME C A N I C A Y E L E C T R I C A U P T

2


I
n
g
.

R
o
d
r
i
g
o

A
v
i
l
e
s

V
i
l
l
a
r
e
a
l
.


Fundamentos de Programacin
Unidad I. Introduccin a la Programacin

1. Definicin, caractersticas y funcin de un Sistema Operativo
Mapa de conceptos



Introduccin.
Cuando se enciende una computadora comienza a trabajar en ella un conjunto de programas de
aplicacin. Para que este conjunto de programas trabajen ordenadamente se requiere de un Sistema
Operativo.
El Sistema Operativo es un programa que proporciona el ambiente sobre el cual los dems
programas funcionarn, adems de brindar una interfaz entre el usuario y la computadora.
Para todo programador es necesario identificar el concepto, caractersticas y funcin de un sistema
operativo ya que los programas que desarrollars en esta unidad de aprendizaje y en otras unidades,
se ejecutarn dentro de un sistema operativo, por lo tanto es necesario conocer el ambiente sobre el
cual se trabaja.
Comentamos en lneas anteriores, acerca de un Sistema Operativo, pero veamos exactamente a que
nos referimos.

Qu es un Sistema Operativo?

Un Sistema Operativo (SO) es el programa encargado de controlar y administrar tanto el software
como el hardware y todos los recursos en una computadora.

Por ejemplo Windows es el SO en el cul se pueden correr programas como Microsoft Oficiey Adobe
Reader,Windows se encarga de gestionar y brindar los recursos y herramientas que estos
programas requieren para su funcionamiento.

Un SO provee un ambiente sobre el cual puedan ejecutarse otros programas los cuales se apoyan
en l para poder acceder a los recursos que necesitan como memoria o la atencin del procesador,
es decir, que el procesador le brinde un poco de tiempo ya sea a las funciones que realizan el
monitor, descargar un archivo, o utilizar un teclado, entre otras funciones.

El SO brinda a los usuarios los medios necesarios para que pueda establecerse una comunicacin
con l, para dar rdenes e instrucciones a la computadora, con el objetivo principal de lograr que
tanto el software (los programas) como el hardware (los componentes fsicos de la computadora) se
empleen eficientemente.

Ntese que un error comn es denominar al conjunto completo de herramientas y programas
sistema operativo, por ejemplo pensar que Microsoft Office, Internet Explorer, WinRAR, etc., son
parte del SO, esto es un error ya que solamente Microsoft Windows es el sistema operativo y los
otros mencionados son aplicaciones de propsito especfico.
En otras palabras un SO es el software (Windows, Linux) sobre el cual se instalan y ejecutan otros
programas (office, adobe Reader, AutoCad, etc.).

3


I
n
g
.

R
o
d
r
i
g
o

A
v
i
l
e
s

V
i
l
l
a
r
e
a
l
.



Cules son las caractersticas ms importantes de un Sistema Operativo?

En general, un Sistema Operativo tiene las siguientes caractersticas:

Conveniente.

Un SO hace ms sencillo el uso de una computadora cuando el sistema operativo brinda una interfaz
grfica. Por ejemplo: el escritorio de una computadora cuando la encendemos.

Eficiente.

Un Sistema Operativo hace que todos los recursos de una computadora trabajen lo ms
eficientemente posible.

Flexible.

Un SO permite el desarrollo, prueba o introduccin efectiva de nuevas funciones del sistema sin
interferir con el correcto funcionamiento del equipo de cmputo. Por ejemplo, Instalar una
actualizacin sin interferir con el trabajo que se est realizando en un documento Word.

Administrador eficiente.

El SO es encargado de administrar y manejar eficientemente todos los recursos de una
computadora, por ejemplo: la memoria RAM, el disco duro, el procesador, la tarjeta de video y los
puertos.

Gestor de dispositivos

El SO se encarga de controlar la comunicacin entre los dispositivos perifricos, cuando el usuario
as lo requiera, por ejemplo, se encarga de comunicar al teclado o al mouse de una computadora
cuando estos son accionados por el usuario.

Facilitador.

El SO facilita la entrada y salida de datos as como el acceso y manejo de los dispositivos de
Entrada/Salida de la computadora, por ejemplo observamos la facilidad con que podemos enviar un
archivo desde Mis documentos hacia una memoria USB instalada en nuestra computadora.


Qu hace un Sistema Operativo?

Las funciones bsicas de un Sistema Operativo son:

Interpretar los comandos que permiten al usuario comunicarse con la
computadora, a travs de la interfaz.
Coordinar y manipular el hardware de la computadora, como la
memoria RAM, las impresoras, las unidades de disco, el teclado o el
Mouse.

4


I
n
g
.

R
o
d
r
i
g
o

A
v
i
l
e
s

V
i
l
l
a
r
e
a
l
.

Organizar los archivos en diversos dispositivos de almacenamiento, como discos duros,
discos compactos o memorias USB.
Gestionar los errores del hardware y la prdida de datos, es decir, enva mensajes de error
cuando se da una orden que no se puede ejecutar y da opciones de solucin.
Organizar datos para acceso rpido y seguro, es decir, permite generar y administrar un
directorio de carpetas para organizar los archivos, por ejemplo: las carpetas mis
documentos, system, Archivos de Programa, etc.
Permite al usuario manejar las comunicaciones en red con gran facilidad todo lo referente a la
instalacin y uso de redes, por ejemplo, en un cibercaf todas las computadoras comparten el
internet y el SO es el encargado de hacer esto posible.

Para saber ms:

Los Sistemas Operativos ms utilizados son Windows, Linux y Mac. Algunos SO ya vienen con un
navegador integrado, como Windows que trae el navegador Internet Explorer.
En Linux el navegador es FireFox.

Hasta aqu has aprendido La importancia del SO y que gracias a l se pueden ejecutar otros
programas que ayudan a realizar trabajos en las computadoras, ahora es momento de que pongas
en prctica los conocimientos adquiridos en este apartado.

Actividad de aprendizaje 1. SO

El objetivo de esta actividad es que conozcas e identifiques los elementos bsicos de los sistemas
operativos.

Instrucciones:

En esta actividad debers responder con tus palabras un breve cuestionario, mismo que se te
presenta a continuacin.

Actividad de aprendizaje 1. S.O.

Cuestionario

1. Qu es un S.O.?

2. Cules son las caractersticas ms importantes de un sistema operativo?

3. Qu funciones realiza un sistema operativo?

4. Cual Sistema Operativo es el ms utilizado?

5. Qu diferencia hay entre un S.O. y un programa de aplicacin?

Cabe aclarar que si tu asesor detecta que copiaste y pegaste la informacin de una pgina de
internet, se anular esta actividad.

Cuida tu ortografa, sintaxis y redaccin ya que tambin se te tomar en cuenta para la calificacin.

5


I
n
g
.

R
o
d
r
i
g
o

A
v
i
l
e
s

V
i
l
l
a
r
e
a
l
.

Al terminar de responder el cuestionario gurdalo en tu PC y envalo con tus datos en el siguiente
formato: apellidopaterno_materno_nombre_actividadnumero. Ala siguiente direccin de correo
electrnico: ingeaviles@hotmail.com

La comparacin de los sistemas operativos Microsoft Windows y Linux es un tema muy comn entre
los usuarios. Windows es el sistema operativo ms utilizado bajo una licencia propietaria de
software, esto quiere decir que tenemos que pagar por el uso de este SO, mientras que Linux es el
sistema operativo ms importante bajo una licencia libre de software, esto quiere decir que el usuario
no tiene que pagar por el uso de este SO.

1.1 Anlisis comparativo de Sistemas Operativos. Linux y Windows.

Qu es Linux?

Linux es un sistema operativo construido por un equipo de desarrolladores de todo
el mundo. Contiene todas las aplicaciones que necesitas: un navegador web,
aplicaciones ofimticas, de mensajera y muchas otras ms.
Existen muchas distribuciones diferentes de GNU/Linux: Debian, Gentoo, RedHat o
Mandriva son algunos ejemplos.

Por otra parte, casi todos hemos utilizado alguna vez el sistema operativo de Microsoft Windows en
alguna de sus versiones, hemos descubierto y experimentado las herramientas y aplicaciones que
nos brinda este SO, realizamos nuestras tareas, navegamos por el internet, chateamos, vemos
videos, escuchamos msica, digitalizamos e imprimimos nuestros archivos, grabamos msica, en fin
nos es muy cotidiano el uso de este SO.

A continuacin se muestra una pequea comparacin entre algunas caractersticas de Windows y de
Linux

Instalacin:

En Linux la instalacin no es sencilla, pero te permite personalizar totalmente los paquetes
que quieras instalar.
En Windows la instalacin es mnimamente configurable aunque es muy sencilla.
Compatibilidad:

Ninguno de los dos sistemas operativos son totalmente compatibles con la totalidad del
Hardware existente en el mercado.
Linux gracias a su popularidad ofrece una alta compatibilidad ofreciendo, adems,
actualizaciones frecuentes.
Windows ofrece una gran cantidad de drivers.

Programas:

Linux posee menos software y en algunos campos, por ejemplo las industrias, tiene una
menor aceptacin, aunque gracias a los apoyos de empresas como Sun Microsystems o IBM
ha logrado muchos avances.

6


I
n
g
.

R
o
d
r
i
g
o

A
v
i
l
e
s

V
i
l
l
a
r
e
a
l
.

Windows al ser el ms usado, posee una gran cantidad de software.
Robustez:

En Linux puede pasar mucho tiempo e incluso aos sin la necesidad de apagar o reiniciar el
equipo, si una aplicacin falla este error no bloquea totalmente al equipo.
En Windows siempre hay que reiniciar cuando se cambia la configuracin del sistema, y se
bloquea fcilmente.
Ya que conoces algunas caractersticas importantes de ambos sistemas operativos se te invita a
probar lo que millones de personas alrededor del mundo han denominado como El mejor Sistema
Operativo del Mundo, Linux:
En el siguiente video tutorial se muestran los pasos que necesitas seguir para descargar e instalar
Ubuntu 10.10 Maverick Meerkat en tu computadora, se te recomienda observar la totalidad del video
antes de comenzar.

Nota importante: La instalacin de Ubuntu 10.10 se realiza como la instalacin de
cualquier otro programa bajo Windows, esta instalacin no borrar ni daara tus
archivos, tampoco descompondr tu computadora y puedes trabajar con cualquiera
de los dos SO Windows o Linux.
Puedes visualizar el video tutorial a travs de la pagina de You tube, con el nombre de
LINUX_ESIME_TICOMAN.mp4.

O consultando la pgina web. http://www.youtube.com/watch?v=mEk6ABBHTAY

Actividad de aprendizaje 2 Instalacin de Linux (Ubuntu 10.10)

Ya conoces algunas caractersticas tanto de Windows como de Linux, ahora es tiempo de que
realices algunas pruebas con el programa que acabas de instalar en tu PC, el objetivo de esta
actividad es que utilices los elementos bsicos del Sistema Operativo Linux (Ubuntu), de manera
analtica y reflexiva para descubrir el uso, caractersticas, ventajas y desventajas de este sistema
operativo en su modo grfico y compararlo con el Sistema Operativo Windows.

Para realizar la actividad necesitas un cronometro (puedes ocupar tu reloj o tu celular), lpiz y una
hoja de papel

A continuacin se te dan las instrucciones para realizar esta actividad, de las cuales en un primer
momento vas a ir registrando los resultados en una hoja de papel y posteriormente en una tabla que
elaborars con OpenOffice.org Writer, que es un programa de Linux.


Para saber ms:

OpenOffice.org Writer es un procesador de texto que forma parte del
conjunto de aplicaciones de la suite ofimtica OpenOffice.org. Adems de
otros formatos estndares y ampliamente utilizados de documentos, puede
abrir y grabar el formato propietario .doc de Microsoft Word casi en su
totalidad. El formato nativo (por defecto) para exportar documentos es XML.

7


I
n
g
.

R
o
d
r
i
g
o

A
v
i
l
e
s

V
i
l
l
a
r
e
a
l
.

Tambin puede exportar a ficheros PDF nativamente sin usar otros programas intermedios

Instrucciones:

1. Dibuja la siguiente tabla en una hoja de papel, en ella vas a ir registrando los resultados de
esta actividad, no la copies, ya que las vas a elaborar posteriormente.
Caractersticas WINDOWS(Especifica tu
versin)
LINUX (UBUNTU 10.10)
Tiempo de apagado
Tiempo de Encendido
Respuesta Inmediata
Rapidez al abrir un
programa


2. Estando dentro de Windows apaga el sistema operativo y registra el tiempo que tarda en
hacerlo, mide el tiempo a partir del momento en que des clic sobre el botn apagar y antalo
en la tabla de tu hoja de papel.
3. Enciende nuevamente tu computadora e inicia en Windows, registra el tiempo que tarda en
cargar todos los programas, hasta el momento en que se muestra el escritorio por primera
vez.
4. Inmediatamente despus de que se muestra el escritorio da clic sobre el botn inicio y ve a la
opcin Mi PC o Equipo (dependiendo de la versin de tu SO). y da clic sobre ella, observa
si la respuesta es inmediata, es decir si aparece de inmediato la ventana de esta opcin. tu
anotacin en la hoja de papel ser si o no dependiendo de tu resultado.
Nota: Es importante que sea inmediatamente despus de que se muestra por primera vez el
escritorio al encender la computadora.

5. En este momento registrars en la hoja de papel si el proceso de abrir un programa, es rpido
o lento, ve al men inicio y abre Microsoft Office Word, observa la rapidez con que se abre el
programa y registra tu observacin, tu respuesta en la hoja de papel ser si o no
dependiendo de tu resultado.

6. Ahora cierra todos los programas que se estn ejecutando en Windows y apaga el equipo.

7. Vuelve a encender tu computadora e inicia en Ubuntu, registra el tiempo que tarda en cargar
todos los programas, hasta el momento en que se muestra el escritorio por primera vez.

8. Inmediatamente despus de que se muestra el escritorio por primera vez da clic sobre el
botn Lugares luego da clic sobre Equipo, Observa si la respuesta es inmediata, tu
anotacin en la hoja de papel ser si o no dependiendo de tu resultado.
Nota: Es importante que sea inmediatamente despus de que se muestra por primera vez el
escritorio al encender la computadora.

8


I
n
g
.

R
o
d
r
i
g
o

A
v
i
l
e
s

V
i
l
l
a
r
e
a
l
.

9. Ahora registra si el proceso de abrir un programa, es rpido o lento, ve al men aplicaciones y
abre la pestaa Oficina, da clic sobre OpenOffice.org Writer, procesador de textos, y
observa la rapidez con que se abre el programa, registra tu observacin, tu respuesta ser si
o no.

10. En el programa OpenOffice.org Writer (procesador de textos) elabora la tabla que copiaste en
la hoja de papel con los resultados que obtuviste, gurdala con extensin .doc y .XML, (esta
aplicacin puede guardar los archivos en estas dos extensiones) el archivo que subirs a la
plataforma para tu evaluacin ser el archivo con extensin .XML
Al terminar de responder el cuestionario gurdalo en tu PC y envalo con tus datos en el siguiente
formato: apellidopaterno_materno_nombre_actividadnumero

Conclusin

Hemos terminado el primer tema de la Unidad por lo que haremos una pequea sntesis de lo visto.
Un Sistema Operativo es un programa software encargado de administrar y gestionar todos los
recursos que integran a una computadora, tanto de software como de hardware, para que estos
trabajen en conjunto eficientemente, adems de proveer de un ambiente sobre el cual, otros
programas pueden instalarse y ejecutarse sin ningn problema; tambin se encarga de brindar al
usuario una interfaz o medio de comunicacin entre el propio Sistema Operativo y el usuario.
Tanto Windows como Linux poseen ventajas y desventajas, aunque desde un punto de vista ms
tcnico Linux es mejor. Linux es ms rpido y estable, adems de ser gratuito, aunque en
comparacin con Windows no tiene la misma cantidad de software ni tampoco el mismo numero de
usuarios a nivel mundial.
Avancemos al Tema 2

























9


I
n
g
.

R
o
d
r
i
g
o

A
v
i
l
e
s

V
i
l
l
a
r
e
a
l
.

Fundamentos de Programacin
Unidad I. Introduccin a la Programacin

2. Definicin de caractersticas de los Lenguajes de programacin. Visual Basic, J ava y Lenguaje
C.

Introduccin.

En este apartado conocers lo que son los Lenguajes de Programacin, los cuales se pueden definir
como un idioma creado por el hombre, para que ste pueda dar rdenes a una computadora, sin
necesidad de hablar el mismo idioma o lenguaje que la mquina (ceros y unos, Lenguaje
Mquina).

Qu es un Lenguaje de Programacin?


Un lenguaje de programacin es un conjunto de smbolos, reglas
sintcticas y semnticas, mismas que definen concretamente la
estructura, la escritura y relacin entre los comandos, de instrucciones,
diseado para expresar operaciones, mismas que pueden ser
ejecutadas por computadoras.
Tambin puede usarse para crear programas que controlen el
comportamiento fsico y lgico de cualquier mquina electrnica, para
expresar algoritmos, o para el desarrollo de un SO.


Para saber ms:

Al proceso por el cual se escribe, se depura y se compila el cdigo fuente
(instrucciones escritas) de un programa se le llama programacin.
Cabe aclarar que la palabra programacin tambin se define como el
proceso de creacin de un programa de computadora, mediante la aplicacin
de procedimientos lgicos.



Qu Lenguaje de Programacin es el ms utilizado?

Actualmente existen varios lenguajes de programacin con los que se pueden trabajar, pero los ms
utilizados son: Visual Basic, J ava y desde luego el Lenguaje C, a continuacin se te describen
brevemente cada uno de ellos.

Visual Basic

Visual Basic es un lenguaje de programacin desarrollado por el alemn Alan
Cooper para Microsoft. Su primera versin fue presentada en 1991, con la
ventaja principal de simplificar la programacin utilizando un ambiente de
desarrollo completamente grfico.

1
0


I
n
g
.

R
o
d
r
i
g
o

A
v
i
l
e
s

V
i
l
l
a
r
e
a
l
.

Visual Basic constituye un IDE (entorno de desarrollo
integrado, o en ingls, Integrated Development Enviroment)
que ha sido empaquetado como un programa de aplicacin,
es decir, consiste en un editor de cdigo que es un programa
donde se escribe el cdigo fuente, un depurador que es un
programa que encuentra errores en el cdigo fuente para que
pueda ser compilado correctamente, un compilador que es
un programa que traduce el cdigo fuente a lenguaje
mquina.

Este Lenguaje se emplea comnmente en el desarrollo de
aplicaciones de Internet y de propsito general como un
diccionario, una base de datos para una biblioteca, un editor de texto, entre otras.


J AVA

J ava es un lenguaje de programacin orientado a objetos,
desarrollado por la empresa Sun Microsystems a principios de los
aos 90.

Este lenguaje toma mucha de la sintaxis propia de los lenguajes C
y de C++, pero tiene un modelo de objetos ms simple pero te
restringe la manipulacin de punteros, que es caracterstico de los
lenguajes de bajo nivel.


Nota importante:

No confundas C++con C, C++es un lenguaje, solo que es una mejora de lenguaje C y el
modelo de programacion es orientado a objetos.

Lenguaje de programacin C

C es un lenguaje de programacin creado en el ao de 1972 por Dennis M. Ritchie en los
Laboratorios Bell como evolucin del anterior lenguaje B.
Al igual que el lenguaje B, el Lenguaje C es un lenguaje orientado a la implementacin de Sistemas
Operativos y C est caracterizado por la eficiencia del cdigo que produce.
El lenguaje C es un lenguaje clasificado como un lenguaje de medio nivel pero con muchas
caractersticas de bajo nivel. Dispone de las estructuras tpicas de los lenguajes de alto nivel pero, a
su vez, dispone de construcciones del lenguaje que permiten un control de medio nivel. En otras
palabras es un Lenguaje muy completo.
Pero exactamente cuando hablamos de lenguaje de medio nivel, bajo y de alto nivel nos referimos a
lo siguiente.


Lenguaje de bajo nivel

Un lenguaje de programacin de bajo nivel es el que proporciona un set de instrucciones aritmticas
sin la capacidad de encapsular dichas instrucciones en funciones que no estn ya contempladas en
la arquitectura del hardware.

1
1


I
n
g
.

R
o
d
r
i
g
o

A
v
i
l
e
s

V
i
l
l
a
r
e
a
l
.

Lenguaje de medio nivel

Suelen ser clasificados de alto nivel, pero permiten ciertos manejos de bajo nivel. Son precisos para
ciertas aplicaciones como la creacin de sistemas operativos, ya que permiten un manejo abstracto
(independiente de la mquina, a diferencia del lenguaje ensamblador), pero sin perder mucho del
poder y eficiencia que tienen los lenguajes de bajo nivel.

Lenguaje de alto nivel

Un lenguaje de programacin de alto nivel se caracteriza por expresar los algoritmos de una manera
adecuada a la capacidad cognitiva humana, a diferencia de lo que es comprender el lenguaje
mquina para una persona.
Te invito a que redobles esfuerzos en tu afn por aprender a programar en Lenguaje C, ya que si
dominas este arte podrs desarrollar cualquier cosa que imagines.
Es momento de aplicar lo aprendido, resuelve la siguiente actividad de aprendizaje.

Actividad de aprendizaje 3. Lenguajes de programacin.
Ahora que ya sabes lo que es un lenguaje de programacin, as como cules son los ms utilizados,
se te invita a realizar la siguiente actividad, la cual tiene por objetivo que conozcas e identifiques los
elementos bsicos de los lenguajes de programacin.

Instrucciones:

A continuacin se te presenta un cuestionario con 10 preguntas, cada una presenta tres
respuestas pero solo una es correcta, elige la que consideras adecuada para cada pregunta.


Cuestionario:

1.- Qu es un lenguaje de programacin?

a) Es un conjunto de smbolos, reglas sintcticas y semnticas que pueden ser ejecutadas por
computadoras.
b) Es el software encargado de ejercer el control y coordinar el uso del hardware en una
computadora.
c) Es un IDE ((entorno de desarrollo integrado).

2.- Para qu sirve un Lenguaje de Programacin?

a) Para interpretar los comandos que permiten al usuario comunicarse con la computadora.
b) Para gestionar los errores del hardware y la prdida de datos.
c) Para crear programas que controlen el comportamiento fsico y lgico de cualquier mquina
electrnica, para expresar algoritmos o para el desarrollo de un SO


1
2


I
n
g
.

R
o
d
r
i
g
o

A
v
i
l
e
s

V
i
l
l
a
r
e
a
l
.

3.- Al proceso por el cual se escribe, se depura y se compila el cdigo fuente de un programa se
le llama?:

a) Configuracin.
b) Programacin.
c) Compilacin.
4.- Es un lenguaje de programacin desarrollado por el alemn Alan Cooper para Microsoft?

a) J ava
b) Linux
c) Visual Basic
5.- Cul es la principal ventaja de Visual Basic?

a) Rapidez.
b) Simplificar la programacin utilizando un ambiente de desarrollo completamente grfico.
c) Flexibilidad.

6.- Qu es J ava?.

a) Es un lenguaje de programacin orientado a objetos.
b) Es un compilador.
c) Es un constructor de interfaz grfica.
7.- Qu Lenguaje de Programacin no permite la manipulacin directa de las direcciones de
memoria por medio de punteros?

a) Linux
b) Unix
c) J ava
8.- De qu otros Lenguajes toma gran parte de su sintaxis el lenguaje J ava?

a) Visual Basic.
b) Microsoft Windows.
c) C y C++.

9.- Es un lenguaje de programacin creado en el ao de 1972 por Dennis M. Ritchie en los
Laboratorios Bell como evolucin del anterior lenguaje B?

a) Lenguaje C.
b) Lenguaje Ensamblador.
c) Lenjuage C++.



1
3


I
n
g
.

R
o
d
r
i
g
o

A
v
i
l
e
s

V
i
l
l
a
r
e
a
l
.

10.- El lenguaje de programacin C se caracteriza por?:

a) Ser un lenguaje de de alto nivel.
b) Su eficiencia del cdigo que produce.
c) Su capacidad para crear aplicaciones graficas.

Al terminar de responder el cuestionario gurdalo en tu PC y envalo con tus datos en el siguiente
formato: apellidopaterno_materno_nombre_actividadnumero.


Conclusin.

Como pudiste observar un lenguaje de programacin es un conjunto de smbolos, reglas e
instrucciones que es diseado por el hombre para dar instrucciones a una computadora.
Actualmente existen muchos lenguajes de programacin pero los ms utilizados son: Visual Basic,
J ava y desde luego el Lenguaje C, siendo este ultimo uno de los ms robustos.

Muy bien, terminaste el segundo tema!
Sigue adelante!
































1
4


I
n
g
.

R
o
d
r
i
g
o

A
v
i
l
e
s

V
i
l
l
a
r
e
a
l
.

Fundamentos de Programacin
Unidad I. Introduccin a la Programacin

3. Compilador (Dev C++)

Introduccin.

El cdigo maquina es muy difcil de entender para una persona, es necesario implementar una
herramienta que se encargue de traducir un Lenguaje de programacin a cdigo maquina, que es el
lenguaje que entiende una computadora.
A este trabajo de traduccin se le llama compilar un programa, trabajo que realiza un programa
llamado compilador.

Qu es un Compilador?

Un compilador es un programa que traduce un lenguaje de programacin a lenguaje mquina.
Es un programa informtico que traduce un programa escrito en un lenguaje de programacin a otro
lenguaje que generalmente es el lenguaje mquina (ceros y unos), pero tambin puede ser
simplemente texto. Generando un programa equivalente que la mquina ser capaz de interpretar.
Este proceso de traduccin se conoce como compilacin.

Existen diferentes compiladores como Turbo C, Turbo Pascal, Borland y GCC, pero en esta unidad
de aprendizaje utilizaremos el compilador que est integrado en el IDE Dev C++
En el proceso de la programacin no se necesita solamente un compilador, sino que tambin, es
necesario, un programa que nos permita editar el cdigo fuente, un programa que se encargue de
depurarlo y un compilador que se encargue de traducir el cdigo fuente en cdigo maquina, a este
tipo de programas que cuentan con estas tres herramientas se les conoce como IDE.

Qu es un IDE?

Un IDE (Entorno de Desarrollo Integrado, por sus siglas en ingls: Integrated Development
Environment) es un programa compuesto por un conjunto de herramientas de programacin.


IDE Dev C++, (Bloodshed Dev C++ que es su nombre completo), es un entorno de desarrollo
integrado para programar en lenguaje C y C++. Cuenta con un editor de cdigo que es un programa
donde se escribe el cdigo fuente, un depurador (programa que encuentra errores en el cdigo
fuente para que pueda ser compilado correctamente) y un compilador (programa que traduce el
cdigo fuente a lenguaje mquina).

Te preguntars: Dnde lo consigo?, Cmo lo instalo?
Espera, se paciente, estas dos preguntas se respondern en este apartado.
Observa el siguiente video que te mostrar como descargar e instalar el Dev C++. Este video lo
puedes visualizar desde You Tube, buscalo con el nombre: DEV ESIME TICOMAN o directamente
en la pagina:
http://www.youtube.com/watch?v=A3-tB0eRrEQ&safety_mode=true&persist_safety_mode=1


Nota importante: Es muy importante que descargues este IDE ya que a lo largo de toda
la unidad de aprendizaje se utilizar para realizar los programas que generars.


1
5


I
n
g
.

R
o
d
r
i
g
o

A
v
i
l
e
s

V
i
l
l
a
r
e
a
l
.


Instrucciones:

Despus de observar en su totalidad el video tutorial descarga e instala en tu computadora el IDE
Dev C++.

Una vez instalado el programa Dev C++captura la imagen del escritorio donde se encuentra el
acceso directo a este programa, a continuacin se te muestra un ejemplo.

Para obtener esta imagen del escritorio presiona el
siguiente botn Impr Pant/Petsis, la imagen de toda la
pantalla se guardara en el portapapeles, pgala en un
documento en Word y recrtala de ser necesario.


Ahora captura la imagen del programa
Dev C++abierto en tu computadora de la
misma forma que la imagen anterior,
Aqu hay otro ejemplo.





Pega estas dos imgenes en un documento en Word,
gurdalas y enva tu archivo con el siguiente formato:
apellidopaterno_materno_nombre_actividadnumero


Conclusin:

En el proceso de elaboracin de un programa escrito en Lenguaje C es necesario utilizar una
aplicacin que le permita al programador escribir su cdigo fuente, un depurador que le permitir
encontrar los errores en el mismo y un compilador que traduzca este programa a un lenguaje
mquina dando como resultado un archivo con extensin exe, a las aplicaciones que cuentan con
este tipo de herramientas se les conoce como Entorno de Desarrollo Integrado (IDE).


Excelente!
Terminaste la primera unidad.












1
6


I
n
g
.

R
o
d
r
i
g
o

A
v
i
l
e
s

V
i
l
l
a
r
e
a
l
.


Fundamentos de Programacin

Unidad Il. Fundamentos de programacin estructurada


Introduccin.
A lo largo de este tema conocers la estructura general de un programa escrito en Lenguaje C y se
te explicar detalladamente el trabajo que realiza cada una de las lneas de cdigo, se te explican los
tipos de variables que admite el Lenguaje C as como la declaracin y uso de estas variables y
tambin aprenders a utilizar los distintos tipos de datos con que cuenta el Lenguaje C.
Se te invita a redoblar esfuerzos y a poner toda tu atencin ya que la informacin que a continuacin
se muestra te ser de gran utilidad para la realizacin de todos los programas que efectuaras a lo
largo de esta unidad de aprendizaje.

1. Estructura general de un programa.
Tu primer programa en lenguaje C: Hola mundo

Ahora vas a conocer la estructura de un programa escrito en Lenguaje C, es muy sencillo ya que
muestra en pantalla un mensaje con el texto Hola mundo y se te har la explicacin de cada uno de
sus elementos que te permitir aprender la estructura general de cualquier programa escrito en
Lenguaje C.

Ya que hayas conocido las partes de este programa vas a realizarlo y a probarlo, para lo cual vas a
utilizar el IDE Bloodshed Dev-C++que instalaste anteriormente.

A continuacin se te muestra una imagen del resultado de editar, depurar y compilar el programa
Hola mundo






Cdigo fuente del programa Hola Mundo
Se le llama cdigo fuente a las instrucciones escritas por un programador en un lenguaje de
programacin, estas instrucciones no pueden ser ejecutadas por la computadora, ya que la
computadora solo entiende el Lenguaje maquina (ceros y unos), por lo que es necesario traducir el
cdigo fuente escrito por el programador a cdigo maquina y para hacer la traduccin para que lo
ejecute la computadora se necesita un compilador.

Este es el cdigo fuente del programa Hola mundo:








1
7


I
n
g
.

R
o
d
r
i
g
o

A
v
i
l
e
s

V
i
l
l
a
r
e
a
l
.

A continuacin se explica cada una de las lneas de cdigo que lo componen, pon mucha atencin.

#include<stdio.h>

Cuando el compilador se encuentra con esta directiva la sustituye por el contenido del archivo
indicado (En este caso es el archivo stdio.h). En otras palabras esta directiva del preprocesador abre
el archivo stdio.h selecciona todo el contenido de este archivo, lo copia en el portapapeles y lo pega
en lugar la directiva #include<>.

La sintaxis de esta directiva es #include<>, dentro de los operadores <>se escribe el nombre de
una librera, (en el caso del ejemplo se utiliz stdio.h) generalmente es esta directiva la que se debe
incluir porque en ella se encuentran declaradas las funciones ms bsicas, por ejemplo: las
funciones aritmticas que te permitirn sumar, restar, multiplicar o dividir nmeros y las funciones
necesarias para mostrar datos por la pantalla o solicitar informacin por el teclado, entre otras.
stdio.h Se escribe en medio de los operadores <>, para indicar a la directiva del preprocesador
#include que este es el nombre de la librera que se debe incluir, ya que se buscan por nombre.


Para saber que es una librera.

Te preguntars que es una librera, pues es un conjunto de recursos
(algoritmos) prefabricados que pueden ser utilizados por el programador para
realizar determinadas operaciones.

Por ejemplo: Si creas un programa en el cual necesitas obtener el coseno de un
ngulo (cos ), debes incluir la librera math.h, que es la librera dentro de la
cual est declarada y definida la funcin cos( ).

Int main( )

Todos los programas escritos en Lenguaje C deben tener una funcin llamada main( ) para poder ser
catalogados como un programa, si el cdigo fuente no tiene declarada y definida esta funcin se
puede considerar como una librera o simplemente cdigo.
La funcin principal main( ) es la primera en ejecutarse. El int que tiene al principio indica que,
cuando la funcin main( ) finalice, esta devolver un nmero, mismo que ser entero. Si el valor
devuelto es cero indica que el programa termino sin errores, en caso de devolver un valor distinto de
cero, esto indicar que ha ocurrido algn error durante la ejecucin del programa.


Nota importante: La explicacin de cmo una funcin devuelve un tipo de dato se ver
ms adelante.



Un ejemplo de que ha ocurrido un error sera este: todas las personas que han utilizado Windows
han observado alguna vez cuadros de dialogo o pantallas de error, estos cuadros muestran un
mensaje al usuario en el que se hace referencia a un nmero y a un evento de error asignado al
mismo, como muestra la imagen:


1
8


I
n
g
.

R
o
d
r
i
g
o

A
v
i
l
e
s

V
i
l
l
a
r
e
a
l
.

El nmero que se observa est escrito en
notacin hexadecimal









Nota: El tema referente a declaracin y definicin de funciones se te explicara a detalle
posteriormente.



{ Llave de apertura

La llave de apertura delimita las lneas de cdigo que pertenecen a una funcin.
En el caso del ejemplo anterior, se comienza a escribir el trabajo que realizar esta funcin a partir
de la llave.

/* Aqu va el cuerpo del programa */

Esto es un comentario y no se ejecuta, sirve para describir el programa. Se te recomienda comentar
el cdigo fuente, esto te ayudara a recordar ms tarde el funcionamiento del programa, o si alguna
otra persona lee tu cdigo fuente lo va a poder entender fcilmente auxilindose de estas notas.
Cuando el compilador detecta el operador /* (diagonal asterisco) ignora todo lo que este despus de
este, hasta encontrar */ (asterisco diagonal) que le indica al compilador el final del comentario.
Un comentario puede ocupar ms de una lnea de cdigo y ser vlido. Un ejemplo se te presenta a
continuacin:
/* Este es un comentario
que ocupa dos filas */

Recuerda que es necesario colocar el operador /* (diagonal asterisco) para indicar al compilador
donde comienza el comentario y el operador */ (asterisco diagonal) para indicar dnde termina.

Para saber ms:
Los comentarios se pueden poner casi en cualquier parte. Excepto en medio
de una instruccin. Por ejemplo lo siguiente no es vlido:

pri/* Esto es un comentario */ntf( "Hola mundo" );
printf( /* Esto es un comentario */ "Hola mundo" );


Si escribimos estas lneas el depurador del IDE nos mostrara en pantalla un mensaje de error. Otro
ejemplo errneo de la utilizacin de mensajes es el siguiente:

printf( "Hola/* Esto es un comentario */ mundo" );

La lnea de cdigo anterior no dara ningn error, pero al ejecutar tendramos en pantalla:

1
9


I
n
g
.

R
o
d
r
i
g
o

A
v
i
l
e
s

V
i
l
l
a
r
e
a
l
.




Porque /* Esto es un comentario */ queda dentro de las comillas y C lo interpreta como texto, no
como un comentario.

printf( "Hola mundo\n" );
Esta lnea de cdigo realiza una accin que podemos ver al ejecutar el programa, en este caso el
mensaje Hola mundo.
Todo lo que se escribe dentro de los parntesis y entre comillas dobles ( ) se interpreta como una
cadena de texto.
Como puedes observar al final del mensaje aparece escrita la sentencia de escape \n (Se pronuncia
diagonal invertida ene.) esta hace que despus de imprimir en pantalla el mensaje se realice un salto
de lnea, es decir, como un enter.


Notas importantes:
El operador \n no se muestra en pantalla, esta sentencia de escape
solamente ejecuta un salto de lnea.
Una cadena de texto es una secuencia de caracteres, que pueden ser
visualizados (aunque no necesariamente) en la pantalla de la computadora, este es su
uso ms comn, crear mensajes de texto.
El operador ; (punto y coma) del final de la lnea de cdigo, se utiliza en el
Lenguaje C para separar una instruccin de otra. Se pueden poner varias instrucciones
en la misma lnea siempre que se separen por un punto y coma.
system ("PAUSE");
Esta funcin ocasiona que el programa haga una pausa en su ejecucin y es la responsable de que
en pantalla se muestre la cadena de texto: Presione una tecla para continuar sin esta funcin el
programa no realizara una pausa, y debido a que el programa se ejecuta a gran velocidad no
podramos observar la ejecucin del mismo.

return 0;
Como se ha indicado anteriormente al finalizar la ejecucin de la funcin main( ), esta devuelve un
valor entero, con la instruccin return 0, lo cual indica que no se produjo ningn error.


} Llave de cierre
La llave de cierre delimita las lneas de cdigo que pertenecen a la funcin, en este caso a la funcin
main(), en otras palabras las lneas que se escriban dentro de las llaves de apertura y de cierre
pertenecen a la funcin main().

Realizando el programa
Ya que se te explicaron los componentes del programa Hola mundo, se te presenta un video en el
que se muestra la forma de utilizar el Dev C++, as como editar, deparar y compilar el mismo. Pon
mucha atencin ya que en la actividad de aprendizaje siguiente vas a realizar el programa.




2
0


I
n
g
.

R
o
d
r
i
g
o

A
v
i
l
e
s

V
i
l
l
a
r
e
a
l
.

Como abras observado el cdigo fuente de un programa escrito en Lenguaje C est compuesto por
palabras o instrucciones escritas en el idioma ingls, a estas instrucciones se les conoce como
palabras reservadas, ya que ests tienen una funcin preestablecida y especfica para el compilador.
Estas palabras se escriben tal y como se muestran en las explicaciones que se te dan.
El cdigo fuente adems de estar compuesto por palabras reservadas est integrado por smbolos
como ( ) ; { } si no sabes cmo escribir alguno de estos smbolos puedes consultar la
tabla del cdigo ASCII.

Para saber ms:
Un ejemplo de cmo apoyarte en esta tabla es el siguiente, si tienes que
escribir una llave de apertura, ubica en la tabla del cdigo ASCII el smbolo y
observa el nmero que tiene asignado en la columna Dec. Para escribir el
smbolo mantn presionada la tecla Alt y presiona en seguida el nmero
123 que aparece en la columna Dec, despus suelta la tecla Alt y se
escribir el smbolo {
Ya que se te ha explicado el cdigo fuente del programa Hola Mundo ahora
se te pide que realices la siguiente actividad, la cual tiene por objetivo que
practiques la sintaxis del programa, adems de lo aprendido.

Actividad de aprendizaje 5. Mi primer programa
Ahora que conoces la estructura general de un programa creado en Lenguaje C, realiza la siguiente
actividad, la cual tiene por objetivo que reconozcas la estructura de un programa y lo construyas,
adems de que pondrs en prctica el conocimiento que acabas de adquirir.

Instrucciones:

1. Edita el cdigo fuente del programa hola mundo que acabas de revisar, depralo y complalo en
el compilador Dev C++
2. Debes enviar tu archivo hasta que haya sido compilado, es decir que Dev C++ no te haya
marcado error, de lo contrario no se tomar esta actividad como vlida. El archivo que debes enviar
es el cdigo fuente, es decir el archivo con extensin .c que se realiz.
Cuando tengas listo tu archivo gurdalo en tu PC y envalo con tus datos en el siguiente formato:
apellidopaterno_materno_nombre_actividadnumero

Actividad de autoevaluacin 1. Buscando errores.

Ya se te han dado las bases para conocer la estructura general de un cdigo fuente y acabas de
realizar tu primer programa, ahora realiza lo que se te pide.

Instrucciones:

1. Analiza el siguiente programa y detecta los errores
que tiene.







2
1


I
n
g
.

R
o
d
r
i
g
o

A
v
i
l
e
s

V
i
l
l
a
r
e
a
l
.

Solucin:
Si se escribe y compila este cdigo fuente se obtendr un error, el cual indica que la funcin printf
esta indeclarada. Esto es porque no se incluy la directiva #include<stdio.h>.
En la imagen siguiente se muestra el mensaje de error que arroja el depurador del Dev C++.
El cual indica claramente que el error est en la funcin int main(), exactamente en la lnea numero
4, y adems muestra un mensaje indicando la posible causa del error.
Como podrs darte cuenta gracias a este depurador es cmo se puede corregir el cdigo fuente que
se escribi.









Actividad de aprendizaje 6. Mi nombre en pantalla

Para continuar demostrando tu aprendizaje, realiza la siguiente actividad, en la cual reconocers y
construirs un programa escrito en Lenguaje C, a travs de la programacin estructurada.

Instrucciones:

1. Realiza un cdigo fuente en el que se muestre tu nombre completo en pantalla.
2. Cuando tengas listo tu programa, edtalo, depralo y complalo en el compilador Dev C++
3. El archivo que debes enviar es el cdigo fuente, es decir el archivo con extensin .c que se cre.
4. Recuerda que si tienes alguna duda puedes pedir la ayuda de tu asesor.
Cuando tengas listo tu archivo gurdalo en tu PC y envalo con tus datos en el siguiente formato:
apellidopaterno_materno_nombre_actividadnumero

1.1 Tipos de variables

Al utilizar un programa es muy importante manipular datos. En el Lenguaje C se almacenan los datos
en variables, en este apartado conocers qu son y cules son las ms importantes.

Variables

Una variable es el lugar fsico en donde se guarda informacin, esta puede ser de distintos tipos por
ejemplo: cadenas de caracteres (Aviles), caracteres (V), nmeros (777), nmeros con una parte
decimal (5.124). El contenido de una variable se puede leer o cambiar en cualquier momento.
Este lugar fsico se encuentra en la memoria RAM de la computadora, fsicamente ste es el
aspecto de una memoria RAM:








2
2


I
n
g
.

R
o
d
r
i
g
o

A
v
i
l
e
s

V
i
l
l
a
r
e
a
l
.

El espacio de almacenamiento de una memoria RAM est estructurado de la siguiente manera.









Nota: La informacin dentro de una memoria RAM se guarda en sistema binario (ceros y
unos), cada direccin es de un tamao de 8 bits, lo que es igual a 1 byte.




Los nombres de las variables

Para dar nombre a las variables se deben seguir las siguientes reglas:

Se pueden utilizar casi todas las letras del alfabeto, excepto la .
Se pueden utilizar los nmeros del 0 al 9.
No se pueden utilizar caracteres especiales (puntos, comas, signos de admiracin o de
interrogacin, etc.,) el nico carcter que es aceptado es el guin bajo ( _ ).
El nombre de una variable se puede formar con nmeros y letras pero no se puede iniciar con
un nmero.
No se pueden utilizar como nombres de variables las palabras reservadas que usa el
compilador, por ejemplo: for, main, do, while, etc.
El Lenguaje C distingue entre maysculas y minsculas. Por lo tanto: nombre, Nombre y
NOMBRE, son tres variables distintas.
Los nombres de las variables deben ser cadenas de caracteres, es decir, un carcter despus
de otro sin espacios entre ellos.

a) Variables de tipo int
En una variable de este tipo se almacenan nmeros enteros (sin decimales).
El rango de valores que admite es -2,147,483,648 a 2,147,483,647. Aunque el rango de valores de
esta variable es amplio, solo se puede almacenar un nmero a la vez. Para guardar este tipo de
variable en la memoria RAM se necesitan 16 bits, es decir 2 bytes.

Declaracin de una variable
Es importante que sepas que para poder usar una variable primero hay que declararla, es decir,
indicarle al compilador que queremos crear una variable para que nos reserve un espacio de la
memoria para almacenar los datos de la misma, tambin hay que indicarle el tipo de variable.
Por ejemplo:

int numero;
numero =4;
0 0 1 1 0 0 1 1 Direccin
0 0 0 0 0 0 0 0 0x 0000
1 1 1 1 1 1 1 1 0x 0000
1 1 1 0 0 1 0 1 0x 0000

2
3


I
n
g
.

R
o
d
r
i
g
o

A
v
i
l
e
s

V
i
l
l
a
r
e
a
l
.

Donde la palabra numero es el nombre de la variable.

La primer lnea de cdigo indica la declaracin de una variable llamada nmero que va a contener
un nmero de tipo entero, en la segunda lnea se indica que la variable llamada numero guardar un
numero 4.

La siguiente imagen muestra su representacin en Lenguaje maquina dentro de la memoria RAM.


As es como se representa el nmero 4 a 16 bits en Lenguaje maquina (sistema binario).
Tambin se puede declarar y definir el valor que guardar esta variable en una sola lnea:

int numero =4;

Nota:
Si no se asigna el valor que guardara la variable, el compilador de manera automtica
guardara un dato aleatorio del mismo tipo del cual la variable ha sido declarada. Por
ejemplo si no se define un valor para la variable numero esta podra guardar un numero 5
o cualquier otro numero de tipo int.


Cmo se pueden declarar las variables
Hay dos posibilidades, una es declararla como global y otra como local.
La variable global es aquella variable que se declara fuera de cualquier funcin, por ejemplo la
funcin main() y la variable local se declara dentro de cualquier funcin.
A continuacin se muestra el ejemplo de las dos formas de declarar las variables:

Variable Global Variable Local
#include <stdio.h>

int x=0;

intmain()
{
}
#include <stdio.h>

int main()
{
int x=0;
}
La diferencia entre ambas declaraciones es que la variable global se puede usar en cualquier funcin
del programa y la variable local slo puede usarse en la funcin en la cual ha sido declarada.
En seguida se muestra un ejemplo de estas dos variables en un programa:

Nota: En el siguiente cdigo fuente se encuentra una funcin llamada otrafuncion la
cual se est utilizando como apoyo en el ejemplo de las variables que se estn
explicando, no trates de comprenderla


0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 numero

2
4


I
n
g
.

R
o
d
r
i
g
o

A
v
i
l
e
s

V
i
l
l
a
r
e
a
l
.































Este sera el resultado de editar, depurar y compilar este programa:






Explicacin:

Como puedes observar el programa est compuesto por dos funciones, la funcin llamada
otrafuncion() y la funcin principal main()
Observa que desde dentro de la funcin main es posible mostrar por pantalla el valor de la variable
int A=20;, esta variable no la declaraste dentro de la funcin main(), pero como est declarada como
global es que es posible que main() pueda utilizarla.
De igual manera la variable int a=2; es accesible desde main(), ya que es una variable local para la
funcin main(), es decir la funcin main() conoce a la variable a, ya que esta fue declarada dentro de
{}que delimitan a esta funcin.
Por otro lado, si desde main() quisiramos mostrar por pantalla a la variable int b=-82, esto no sera
posible ya que aunque int b=-82 es una variable local para la funcin llamada otrafuncion(), y no es
una variable local para main() esto quiere decir que main() no conoce a int b=-82 porque no es local
de main().

2
5


I
n
g
.

R
o
d
r
i
g
o

A
v
i
l
e
s

V
i
l
l
a
r
e
a
l
.

Enseguida se muestra el mensaje de error que mostrara el Dev C++si en lugar de la lnea de
cdigo:
printf("Y el valor de a es %i \n", a);
Escribiramos:
printf("Y el valor de b es %i \n", b);
El depurador indica que int b=-82 no ha sido declarada dentro de main(). Por lo tanto main() no
conoce a esta variable








Mostrar variables por pantalla:
Imagina que quieres mostrar el contenido de la variable x de tipo int por pantalla, para lo cual tienes
que indicar lo siguiente: Funcin printf( )

Un ejemplo del uso de esta funcin es el siguiente:

printf( "%i", x );

Si por ejemplo x vale 1 (x=1) en la pantalla tendramos: 1
El operador "%i" (tanto por ciento letra i, la letra i viene de integer =entero ) es un modificador de
formato, no se muestra en pantalla, se sustituye por el valor de la variable que va despus de las
comillas dobles y el operador coma ( , ) y sirve para indicarle a la funcin printf() que el nmero que
se mostrar por pantalla es de tipo entero.
Para ver el contenido de dos variables, por ejemplo x e y, podemos realizar lo siguiente:

printf( "%i ", x );
printf( "%i", y );

Si por ejemplo x =10 e y =20, entonces el resultado en pantalla ser: 1020.
Aunque como sabes, se puede obtener el mismo resultado utilizando una lnea de cdigo en lugar de
dos. Con una lnea de cdigo se puede mostrar en pantalla el nmero de variables que quieras:

printf( "%i %i", x, y );

Como puedes ver por cada variable hay que poner un %i dentro de las comillas dobles.
Tambin se puede combinar texto con el contenido que guardan las variables:

printf( "El valor de x es %i, que bien!\n", x );



2
6


I
n
g
.

R
o
d
r
i
g
o

A
v
i
l
e
s

V
i
l
l
a
r
e
a
l
.

Si por ejemplo x =10 la lnea de cdigo anterior mostrara en pantalla el siguiente resultado:

El valor de x es 10, que bien!

Como ves, el modificador %i al imprimir en pantalla se sustituye por el valor de la variable.
Es tiempo de poner en prctica lo aprendido hasta el momento acerca de variables, realiza la
siguiente actividad para que sigas practicando.

Actividad de aprendizaje 7. Declarando variables

Ya sabes que es una variable, como se nombran y como se deben declarar.
Es tiempo de seguir practicando los nuevos conocimientos adquiridos, realiza la siguiente actividad
la cual tiene como finalidad que reconozcas el lugar en dnde debe declararse una variable de
acuerdo a su tipo, (global o local) y construyas la estructura de un programa escrito en Lenguaje C.

Instrucciones:

1. Edita, depura y compila en el compilador Dev C++, el cdigo fuente que se te presenta a
continuacin.


2. El resultado de esta programacin tiene que ser igual al mostrado en la siguiente imagen.




2
7


I
n
g
.

R
o
d
r
i
g
o

A
v
i
l
e
s

V
i
l
l
a
r
e
a
l
.

3. Una vez que hayas obtenido el resultado, envia el archivo del cdigo fuente para que se te
evalu (recuerda que es el archivo con extensin .c que se cre) con el siguiente formato:
apellidopaterno_materno_nombre_actividadnumero.

b) Variables de tipo char
Las variables de tipo char sirven para almacenar un carcter, estos se almacenan como nmeros del
0 al 255. Los 128 primeros (0 a 127) corresponden al cdigo ASCII estndar.
Para declarar una variable de tipo char se realiza lo siguiente:
char letra ;
En una variable char slo se puede almacenar un carcter, no almacena cadenas de caracteres
(frases ni palabras), esto se te explicar en un apartado posterior.
Ya que est declarada la variable char, para guardar un dato se tienen dos posibilidades, mismas
que se te muestran a continuacin:
letra ='a';
letra =97;
En ambos casos se est asignando (guardando) la letra 'a' en la variable llamada letra de tipo char.
En el primer rengln es ms que obvio, pero en el segundo se tecleo el nmero 97, esto es porque el
cdigo ASCII de la letra a es el nmero 97.
Observa que para asignar directamente el carcter a se utilizan comillas simples ( '' )

Impresin en pantalla de una variable char
Para imprimir en pantalla una variable de tipo char se utiliza el modificador de formato %c (c de
carcter, caracter en ingls) Enseguida se muestra un ejemplo de esto:
char B ='A';
printf( "La variable B de tipo char guarda una: %c.", B );
El resultado que se obtendr en pantalla ser el siguiente:
La variable B de tipo char guarda una: A
Tambin se puede imprimir en pantalla el valor en cdigo ASCII, de la variable, usando el
modificador %i en lugar del modificador %c, ejemplo:
char B ='A';
printf("El nmero ASCII de la variable %c es: %i.", B, B);
El resultado que obtendr en pantalla ser el siguiente:
El nmero ASCII de la variable A es: 65
Observa que dentro de la funcin printf en lugar de utilizar el modificador %c se utiliz el modificador
%i, por lo cual la funcin printf() interpreta a ala variable B como el nmero entero que corresponde a
dicho carcter en el cdigo ASCII.
Observa que, aunque la variable de tipo char es llamada B, guarda un carcter A, el nombre de la
variable nicamente sirve para identificarla y no afecta el contenido que almacena la variable.
Si tienes dudas acerca de los nombres de las variables consulta el apartado Los nombres de las
variables visto anteriormente.

Nota: Las variables de tipo char se pueden usar para guardar nmeros enteros. Si se
necesita almacenar un nmero pequeo (entre -128 y 127) se puede usar una variable
de tipo char que ocupa nicamente 8 bits de la memoria, en lugar de una variable de
tipo int que ocupa 16 bits de la memoria, con el consiguiente ahorro de memoria.
Todo lo anteriormente explicado para las variables de tipo int, aplica tambin para las
variables de tipo char.


2
8


I
n
g
.

R
o
d
r
i
g
o

A
v
i
l
e
s

V
i
l
l
a
r
e
a
l
.

Actividad de autoevaluacin 2. Explicando resultados

Es momento de que evales tu aprendizaje
Realiza la siguiente actividad que tiene como objetivo el reforzar tu aprendizaje adquirido hasta el
momento, aunque no tiene valor en tu calificacin, es importante que la realices.

Instrucciones:

1. Revisa y analiza el siguiente cdigo fuente que se te va a presentar.
2. Revisa la imagen del resultado que despliega el cdigo fuente que vas a analizar
3. Explica porqu a partir del cdigo fuente se obtuvo este resultado.
4. Ya que hayas terminado la actividad lee el apartado llamado Solucin para que compares el
anlisis que realizaste con el resultado que se te muestra.

















El resultado de editar, depurar y compilar este programa es el siguiente:







Explicacin:

Inicialmente se declar la variable llamada CARACTeR de tipo char, a la cual se le asigno una
carcter A (almacena una letra A), mismo que equivale al cdigo ASCII 65.
Despus de mostrar el contenido de la variable CARACTeR por pantalla, se incremento en una
unidad a la variable CARACTeR, en otras palabras se le sumo 1 a la variable carcter y el resultado
de esta operacin aritmtica que es 66, se guardo en la misma variable CARACTeR, por esto al
volver a mostrar por pantalla el contenido de la variable CARACTeR se muestra una letra B que
corresponde al cdigo ASCII 66.




2
9


I
n
g
.

R
o
d
r
i
g
o

A
v
i
l
e
s

V
i
l
l
a
r
e
a
l
.

c) El modificador unsigned
Este modificador, que significa sin signo, cambia el rango de valores que puede contener una
variable y slo admite valores positivos, es decir, cambia valores de signo negativo a positivo y a
partir de esto tambin se cambia el rango de las variables.

Por ejemplo:

El rango de valores que puede aceptar normalmente una variable de tipo char es el siguiente: -128 a
127, pero si se le antepone el modificador unsigned ya no guardar nmeros negativos, con lo cual
el nuevo rango de valores que puede almacenar una variable de tipo unsigned char es: 0 a 255, es
importante mencionar que aunque el rango es amplio, solo puede guardar un solo valor de ese
rango.

Un ejemplo de esto es el siguiente:

unsigned char esime =256;

En esta lnea de cdigo la variable llamada esime de tipo unsigned char y guarda el nmero 256, y
ya no se le puede indicar que guarde nmeros negativos.

Nota: Este modificador se puede utilizar para cualquier otro tipo de variables y solo
guarda un nmero.




d) Variables de tipo float
En este tipo de variables se pueden almacenar nmeros enteros con una parte decimal, no slo
nmeros enteros como en las variables de tipo int y las de tipo char.
El rango de valores que podemos almacenar en este tipo de variable es del 3,4E-38 al 3,4E37. Al
igual que las otras variables almacenan solo un valor.
Para realizar la declaracin de una variable de tipo float, se hace lo siguiente:
float numero =0.0;
Para imprimir en pantalla el contenido de una variable de tipo float se usa el modificador %f.
Ejemplo:
float num =4060.80;
printf( "El valor de num es : %f", num);
El resultado que se observar en pantalla ser el siguiente:
El valor de num es: 4060.80
Si se quiere imprimir este valor en pantalla en notacin exponencial se usa el modificador %e, en
lugar de %f por ejemplo:
float num =4060.80;
printf( "El valor de num es: %e", num );
El resultado que se observar en pantalla ser el siguiente:
El valor de num es: 4.06080e003





3
0


I
n
g
.

R
o
d
r
i
g
o

A
v
i
l
e
s

V
i
l
l
a
r
e
a
l
.

e) Variables de tipo double
En las variables de tipo double pueden almacenarse nmeros reales (nmeros enteros con una parte
decimal) en un rango de 1,7E-307 al 1,7E306. Como puedes observar el rango de valores que puede
almacenar una variable de este tipo es mayor al de las variables de tipo float.
Para declarar una variable de este tipo se hace lo siguiente:
double num =4.85454405655;
Para imprimir en pantalla estas variables se utiliza el modificador %f al igual que en las variables de
tipo float. Ejemplo:
printf( "El valor de num es: %f", num );
El resultado que se observar en pantalla es:
El valor de num es: 4.85454405655
Si se quiere imprimir este valor en pantalla en notacin exponencial se usa el modificador %e, en
lugar de %f.


Para saber ms:

Si quieres conocer el mximo rango de valores que puede almacenar una
variable, debes hacer lo siguiente:
Primero tienes que conocer el tamao de bytes de la variable, para esto
vas a ocupar la funcin sizeof().
Esta funcin devuelve el tamao en bytes de su argumento (el argumento
es el nombre de la variable, constante o tipo de datos que se coloca entre
parntesis).
Enseguida se te muestra un ejemplo de cmo utilizar esta funcin a travs del siguiente cdigo
fuente:

El resultado de editar, depurar y compilar este programa ser el siguiente:












3
1


I
n
g
.

R
o
d
r
i
g
o

A
v
i
l
e
s

V
i
l
l
a
r
e
a
l
.

Explicacin:

Observa que como argumento de la funcin sizeof() se coloco el tipo de datos int, con lo cual la
funcin sizeof() devuelve el tamao en bytes de este tipo de dato.
De lo explicado anteriormente sabes que el tipo int ocupa 4 bytes. Como sabemos 1byte =8 bits. Por
lo tanto el tipo int ocupa (4x8)=32 bits.
No solamente se puede obtener el tamao en bytes de las variables de tipo int, sino tambin de
cualquiera de los tipos de variables vistos, para esto nicamente tendras que cambiar el argumento,
por ejemplo en lugar de colocar el argumento int se puede colocar los argumentos char, float y
double.
Ahora para calcular el mximo nmero que puede almacenar una variable de tipo int se debe elevar
la constante 2 (que es el nmero que hace referencia al sistema binario) al nmero de bits obtenidos.
En nuestro ejemplo: (2
32
)=4 294967296. Es decir en una variable de tipo int se podra almacenar un
nmero entre 0 y 4.294.967.296 si solo almacenramos nmeros positivos.
Sin embargo lo anterior slo aplica si se usa el modificador unsigned, aunque regularmente se
almacenan nmeros positivos y negativos.
As que de los 4294967296 posibles nmeros la mitad sern positivos y la mitad negativos.
Por lo tanto se tiene que dividir el nmero anterior entre dos, 4294967296 / 2 =2147483648. Como
el 0 se considera positivo el rango de nmeros posibles que se pueden almacenar en una variable de
tipo int sera: -2147483648 a 2147483647.

Actividad de autoevaluacin 3. Buscando ms errores.

Es momento de poner a prueba tu capacidad de anlisis, realiza la siguiente actividad. La
actividad no tiene valor en tu calificacin pero es importante que la realices, recuerda que la
prctica hace al maestro.
Instrucciones:
1. Revisa el siguiente programa y detecta los errores que tiene, esto te va a servir como prctica y
para reafirmar tus conocimientos.
2. Cuando hayas terminado tu anlisis y hayas encontrado los errores del cdigo fuente, lee el
aparetado llamado solucin para que compares tus resultados y veas los aciertos que tuviste.

Solucin:
Falta la coma despus de "El valor es %i".
Adems la segunda vez numero est escrito con maysculas, esta sera un variable diferente, la cual
no ha sido declarada.

3
2


I
n
g
.

R
o
d
r
i
g
o

A
v
i
l
e
s

V
i
l
l
a
r
e
a
l
.

En la funcin printf() hay otro error, se intenta imprimir en pantalla a la variable Numero, nota la N al
principio del nombre, esta variable no ha sido declara, se declara a la variable llamada numero con
minsculas
Y por ltimo, los nombres de variables no pueden llevar acentos.

1.2 Constantes (uso de #define)

Las constantes son aquellos datos que no pueden cambiar su valor a lo largo de la ejecucin de un
programa.
Estas constantes se definen de la siguiente manera:
#define nombre_de_la_constante valor_de_la_constante
Como puedes observar no es necesario utilizar el operador de asignacin (=) para dar un valor a la
constante, nicamente se deja un espacio en blanco entre el nombre de la constante y el valor que
desea asignarse a ella, tampoco es necesario escribir el punto y coma (;) que llevan al final todas las
instrucciones en Lenguaje C.
Por ltimo observa que no se indic el tipo de datos de la constante (por ejemplo char, float, etc.)
esta puede ser una comodidad al momento de declarar constantes.
La palabra reservada #define indica que los datos que se escriben despus en ella no cambian a lo
largo del programa.
Se te muestra un cdigo fuente en el cul no se utiliza la declaracin de constantes (#define), en el
cual si se utilizara varias veces el valor 3.1416, lo que podra ocasionar que hubiera un error de
dedo en el cual se escribiera mal algn nmero por ejemplo: 3.1516.


Explicacin:
En este cdigo fuente radio y permetro son variables, su valor puede cambiar a lo largo del
programa, sin embargo 2 y 3.1416 son constantes, no hay manera de cambiarlas. La nica manera
de hacerlo es editando el programa.
Ahora se muestra el mismo ejemplo en el que est declarada la constante PI utilizando la palabra
reservada #define:

3
3


I
n
g
.

R
o
d
r
i
g
o

A
v
i
l
e
s

V
i
l
l
a
r
e
a
l
.


Con este cdigo fuente, cada vez que el compilador encuentre el nombre PI lo sustituir por el valor
3.1416, lo cual puede ayudar a que no haya errores.

Nota: A una constante no se le puede dar un valor mientras se ejecuta el programa,
es decir, no se puede hacer lo siguiente:
#define PI 3.1416
Pi =3.20;
Slo se le puede dar un valor con #define, y una vez.

Actividad de aprendizaje 8 Practicando las constantes

Ya sabes lo que son las constantes y como se declaran, ahora vas a practicar la utilizacin e
implementacin de las mismas a travs de esta actividad, el objetivo es que reconozcas y construyas
la estructura de un programa.

Instrucciones:
1. Edita, depura y compila el siguiente programa en Dev C++



3
4


I
n
g
.

R
o
d
r
i
g
o

A
v
i
l
e
s

V
i
l
l
a
r
e
a
l
.

2. En un archivo en Word explica el funcionamiento del cdigo fuente y gurdalo en tu PC.

3. Ya que hayas terminado tu actividad, envia el archivo del cdigo fuente con extensin .c (siempre
y cuando no te haya marcado error el compilador) y el documento en Word en el que explicaste el
funcionamiento del mismo, guarda ambos documentos con el siguiente formato:
apellidopaterno_materno_nombre_actividadnumero.

1.3 Operadores
Durante el proceso de la programacin en Lenguaje C surge la necesidad de manipular datos, para
llevar a cabo esta tarea el Lenguaje proporciona una herramienta sencilla y eficaz para tal propsito,
esta herramienta son los operadores.
Un operador es un smbolo que sirve para manipular datos. Los hay de varios tipos: de asignacin,
de relacin, lgicos, aritmticos y de manipulacin de bits, enseguida se te explica cada uno.

a) Operador de asignacin =
( =) Es un operador que ya has visto y utilizado en programas pasados, sirve para asignar un valor a
una variable. Este valor puede ser un nmero u otra variable introducido por el teclado.
Las formas de utilizar el operador de asignacin son las siguientes:

a =3; /* Se asigna o guarda un 3 en la variable a */

a =b; /* Se asigna el valor de una variable, es decir el valor de b se guarda en a */
Recuerda que en una misma lnea de cdigo se puede dar valores a diferentes variables:
a =b =c =100; /* Se asigna a las variables a,b,c el valor de 100 */

Tambin se puede asignar el valor de una variable a otras diferentes en la misma lnea de cdigo:
a =b =c =d; /* a, b y c toman el valor de d */


Nota: En el Lenguaje C la asignacin es asimtrica, un ejemplo de esto es el siguiente:
A=B;

El valor que est guardado en la variable de la derecha es decir B se copia y se guarda
en la variable de la izquierda en este caso A.
En ningn caso se indica que lo que est guardado en la variable A se copia y se guarda en la
variable B.
Tampoco se indica que la variable A y la variable B son iguales. Para indicar que dos variables son
iguales en el Lenguaje C se utiliza al operador de comparacin ==que se ver ms adelante.

b) Operadores aritmticos

Los operadores aritmticos son aquellos smbolos que sirven para realizar operaciones tales como
suma, resta, divisin y multiplicacin, a continuacin se te explica cada uno de ellos.




3
5


I
n
g
.

R
o
d
r
i
g
o

A
v
i
l
e
s

V
i
l
l
a
r
e
a
l
.

Operador Suma +
Este operador permite sumar entre s variables y constantes. Un ejemplo de la implementacin de
este operador se muestra enseguida:


El resultado de editar, depurar y compilar este cdigo es el siguiente:








Explicacin:

En este programa se declaran tres variables a =2, b =3 y c =0.
Se suman las variables a y b y el resultado de esta suma se guarda en la variable c, para despus
por medio de la funcin printf() mostrar el resultado de esta suma en la pantalla. Observa que el valor
guardado previamente en c, en este caso un cero fue borrado y remplazado por el valor de la suma
al momento de realizar la asignacin:
c =a+b;
Se pueden sumar muchas variables, o variables y constantes (recuerda que se consideran
constantes porque nunca cambiaran su valor).
Observa el siguiente cdigo fuente en el cual se suman constantes y variables:


3
6


I
n
g
.

R
o
d
r
i
g
o

A
v
i
l
e
s

V
i
l
l
a
r
e
a
l
.


El resultado de editar, depurar y compilar este cdigo es el siguiente:







Explicacin:
En este programa se declararon cuatro variables, a=2, b=3, c=1 y d a esta ltima no se asigno
ningn valor inicial, (recuerda que cuando no inicias una variable el compilador asigna un valor
aleatoria en forma automtica), se sumaron los valores de las variables a, b y c con el valor de la
constante 4, el resultado que en este caso es 10 mismo que se guardo en la variable llamada d (el
valor aleatorio asignado por el compilador inicialmente fue borrado y en su lugar se guardo un
numero 10 al momento de realizar la asignacin d=a+b+c+4; )
Tambin es posible utilizar al operador de suma (+) para incrementar el valor de una variable, por
ejemplo:

int x=0;
x =x +5; /* se incrementa el valor de x al sumarle 5 y guarda el resultado de la suma en x */

Lo que se hace con la lnea de cdigo anterior es sumar cinco a la variable llamada x y el resultado
que en este caso es cinco (0+5=5), se guarda en la misma variable llamada x, el cero que se asigno
en la primer lnea es sustituido por el nuevo valor que es cinco, ya que una variable solo puede
contener un solo valor.







3
7


I
n
g
.

R
o
d
r
i
g
o

A
v
i
l
e
s

V
i
l
l
a
r
e
a
l
.

Este es otro ejemplo:


El resultado de editar, depurar y compilar este cdigo es el siguiente:








Explicacin:
En este programa escrito en Lenguaje C se declaran dos variables x e y, se asignan los valores 3 y 5
respectivamente, en la misma lnea se incremente el valor que guarda la variable x en dos, as: x+=2;
(esto sera igual que hacer x=x+2;). Para corroborar que esto es cierto se muestra por pantalla el
valor de la variable x.
Despus se incrementa nuevamente el valor de la variable x, esta vez se le suma el valor de la
variable llamada y, guardando el resultado de esta operacin aritmtica en la variable x. para
corroborar que lo explicado es cierto se muestra nuevamente el valor de la variable x por pantalla.















3
8


I
n
g
.

R
o
d
r
i
g
o

A
v
i
l
e
s

V
i
l
l
a
r
e
a
l
.

Operador Incremento:++
La funcin de este operador es sumar 1 a una variable y guardar el resultado de esta suma en la
misma variable. Ejemplo:


El resultado de editar, depurar y compilar este cdigo es el siguiente:






Explicacin:
En este programa se declara a la variable llamada x de tipo entero, se le asigna un 5 (x=5) y se
muestra a esta variable por pantalla utilizando la funcin printf(), esto para mostrar el contenido de
esta variable, que evidentemente es 5.
Enseguida incrementamos a la variable x en una unidad realizando x++; (es lo mismo que realizar x
=x+1;) y enseguida se muestra por pantalla el nuevo valor que guarda la variable x.

Operador Resta o Negativo -
El operador - permite restar entre s variables o constantes.
Por ejemplo:
int z =0, x=8;
z =x- 5;








3
9


I
n
g
.

R
o
d
r
i
g
o

A
v
i
l
e
s

V
i
l
l
a
r
e
a
l
.

Un ejemplo de la implementacin de este operador:


El resultado de editar, depurar y compilar este cdigo es el siguiente:










Explicacin:

En este programa se realiza la declaracin de dos variables de tipo entero llamadas A y B, a las
cuales, se les asigna el valor de las constantes 20 y 5 respectivamente.
Enseguida se realiza la resta de las variables A y B (A-B), guardando el resultado de esta operacin
aritmtica en la variable llamada A, despus de esto se muestra el valor guardado en la variable A
para demostrar lo explicado anteriormente.
Despus se realiza la declaracin de dos nuevas variables llamadas a y b, a la variable de tipo
entero llamada a se le asigna el valor de la constante 1, enseguida a la variable del mismo tipo
llamada b se le asigna el valor de la variable a pero con signo negativo, es decir en b se guarda un -
1, y se imprime en pantalla el valor de b.

Nota:
Al realizar la lnea de cdigo b = -a; el valor de la variable llamada a asignado
previamente, no se ve afectado, es decir a sigue guardando un 1 positivo.


4
0


I
n
g
.

R
o
d
r
i
g
o

A
v
i
l
e
s

V
i
l
l
a
r
e
a
l
.

Aclarando lo anterior, al realizar la lnea de cdigo b =-a; se multiplica un -1 por el valor de la
variable a(-1*(a)) y el resultado de esta operacin algebraica se guarda en la variable llamada b.
Despus de esto se declaro y defini con 5 otra variable de tipo entero llamada x, enseguida se
mostro por pantalla dicha variable por medio de la funcin printf(), para demostrar que es posible en
el Lenguaje C decrementar el valor de una variable se realizo la lnea de cdigo x--; con lo que se
resto 1 a la variable x guardando el resultado de esta operacin aritmtica en la misma variable
llamada x.
Para corroborar que se realizo la resta adecuadamente se imprimi en pantalla nuevamente el valor
de x.

Operador Multiplicacin y puntero *
El operador *sirve para multiplicar entre si variables o constantes. Por ejemplo:


El resultado de editar, depurar y compilar este cdigo es el siguiente:






Explicacin:
En este programa se declararon dos variables de tipo float x y y a las cuales se les asignaron los
valores -5.0460 y 2.00987 respectivamente.
Se declaro una tercera variable llamada R del mismo tipo a la cual se le asigno el resultado de la
multiplicacin de los valores que guardan las variables x e y en la lnea de cdigo R =x*y; para
despus por medio de la funcin printf() mostrar el resultado por pantalla.
El operador * Tambin sirve para definir y utilizar punteros, pero eso lo vers a detalle ms
adelante.






4
1


I
n
g
.

R
o
d
r
i
g
o

A
v
i
l
e
s

V
i
l
l
a
r
e
a
l
.

Operador Divisin /

El operador / sirve para dividir entre si variables o constantes. Por ejemplo:


El resultado de editar, depurar y compilar este cdigo es el siguiente:






Explicacin:

En este programa se declararon dos variables de tipo float x y y a las cuales se les asignaron los
valores: -5.0460 y 2.00987 respectivamente.

Se declaro una tercera variable llamada R del mismo tipo a la cual se le asigno el resultado de la
divisin de los valores que guardan las variables x y y en la lnea de cdigo R =x/y; para despus
por medio de la funcin printf() mostrar el resultado por pantalla.++















4
2


I
n
g
.

R
o
d
r
i
g
o

A
v
i
l
e
s

V
i
l
l
a
r
e
a
l
.

Operador Modulo %
El operador % sirve para dividir entre si variables o constantes, pero a diferencia del operador de
divisin (/) este devuelve el modulo de la divisin. Por ejemplo:


El resultado de editar, depurar y compilar este cdigo es el siguiente:






Explicacin:

En este programa se declararon dos variables de tipo entero llamadas a y b a las cuales se les
asigno el valor de las constantes 18 y 5 respectivamente, por medio de la funcin printf() se imprime
en pantalla el residuo de la divisin entre a y b.


















4
3


I
n
g
.

R
o
d
r
i
g
o

A
v
i
l
e
s

V
i
l
l
a
r
e
a
l
.


Actividad de aprendizaje 9. Operadores aritmticos

Ya se te han mostrado los diferentes operadores aritmticos con que cuenta el Lenguaje C, sabes
cuales son y para qu sirve cada uno de ellos, con base en este conocimiento realiza la siguiente
actividad, la cual tiene como objetivo que comprendas el uso y aplicacin de los operadores, tipos de
variables y palabras reservadas del lenguaje de programacin.


Ya que hayas realizado la actividad, guarda el archivo Word en tu PC y envalo con el siguiente
formato: apellidopaterno_materno_nombre_actividadnumero.









































4
4


I
n
g
.

R
o
d
r
i
g
o

A
v
i
l
e
s

V
i
l
l
a
r
e
a
l
.

c) Operadores de comparacin
Los operadores de comparacin se utilizan para comparar cmo son entre s variables o constantes.
Cuando se realiza esta comparacin se obtiene un resultado, el cual puede ser 0 si no se cumple la
comparacin satisfactoriamente o 1 si la comparacin se cumple satisfactoriamente.
Los operadores de comparacin son:
Operador Nombre Evaluacin
== igual que se cumple si son iguales
!= distinto que se cumple si son diferentes
> mayor que se cumple si el primero es mayor que el segundo
< menor que se cumple si el primero es menor que el segundo
>= mayor o igual que se cumple si el primero es mayor o igual que el segundo
<= menor o igual que se cumple si el primero es menor o igual que el segundo

Por ejemplo:


El resultado de editar, depurar y compilar este cdigo es el siguiente:








Explicacin:
En este cdigo fuente se compara a las constantes 10 y 5. En la primer lnea de la funcin main() se
compara si 10 es mayor que 5, lo cual devuelve un 1 al cumplirse esta comparacin, enseguida se
compara si 10 es menor que 5, dicha comparacin devuelve un 0 al no cumplirse satisfactoriamente,
ms adelante se compara si 5 es igual que 5, tal comparacin devuelve un 1 y por ltimo se compara
si 10 es igual que 5, para tal comparacin devuelve un 0 ya que no se cumple la comparacin
anterior.



4
5


I
n
g
.

R
o
d
r
i
g
o

A
v
i
l
e
s

V
i
l
l
a
r
e
a
l
.


Nota: No slo se pueden comparar constantes, tambin se pueden comparar
variables.

d) Operadores lgicos
Los operadores lgicos nos permiten unir varias comparaciones, por ejemplo 10>5 y 6==6.
Los operadores lgicos son: AND (&&), OR (||) y NOT(!).

Operador && (AND, en espaol Y): Devuelve un 1 si se cumplen dos comparaciones.
La tabla de verdad es la siguiente:

Comparacin 1

Comparacin 2 Resultado que devuelve
AND (&&)
1 1 1
1 0 0
0 1 0
0 0 0

Un ejemplo de lo explicado anteriormente sera el siguiente:
printf( "Resultado: %i", (10==10 && 5>2 ));
Lo cual devolvera un 1 ya que ambas condiciones se cumplen, ya que 10 es igual que 10 y 5 es
mayor que 2

Operador || (OR, en espaol O)

El operador || devuelve un 1 si se cumple una de las dos comparaciones.
La tabla de verdad es la siguiente:

Comparacin 1 Comparacin 2 Resultado que devuelve
OR (||)
1 1 1
1 0 1
0 1 1
0 0 0


4
6


I
n
g
.

R
o
d
r
i
g
o

A
v
i
l
e
s

V
i
l
l
a
r
e
a
l
.

Un ejemplo de lo explicado anteriormente es el siguiente:
printf( "Resultado: %i", (10==10 || 5<2 );
La lnea de cdigo anterior devolvera un 1 ya que se cumple una de las dos condiciones en este
ejemplo se cumple que 10 es igual que 10, de hecho la segunda comparacin ya no se realiza.
Ahora si en este ejemplo se le cambia la primera comparacin de la siguiente forma:
printf( "Resultado: %i", (10==0 || 5<2 );
Al realizar este cambio en la lnea anterior sta devolvera un 0, ya que ninguna de las dos
comparaciones se cumple satisfactoriamente 10 no es igual que 0 y tampoco 5 es menor que dos.

Operador ! (NOT, negacin): Este operador lgico realiza el siguiente trabajo, si la
comparacin se cumple NOT hace que no se cumpla y viceversa.
La tabla de verdad es la siguiente:

Comparacin Resultado que
devuelve NOT (!)
1 0
0 1

Un ejemplo de lo explicado sera el siguiente:
printf( "Resultado: %i", ( ! 5>2 );
Esta lnea devolvera 0 ya que aunque la comparacin se cumple satisfactoriamente el operador !
invierte esa situacin y devuelve lo contrario.
Si cambiamos los operadores de comparacin de la siguiente manera:
printf( "Resultado: %i", (! 5<2 );
Este cambio har que el operador NOT devuelva un 1 ya que aunque la condicin se cumple
satisfactoriamente el operador NOT hace que esta no se cumpla.

Operadores a nivel de bits
Ya has visto que un byte est compuesto por ocho bits. Pues bien, con los operadores a nivel de bits
podemos manipular bit a bit los valores que almacenan las variables.
Los diferentes operadores a nivel de bits son:

Operador Descripcin
| OR (O)
& AND (Y)
^ XOR (O exclusivo)
~
Complemento a uno o
negacin
>>
Desplazamiento a la
derecha
<<
Desplazamiento a la
izquierda


4
7


I
n
g
.

R
o
d
r
i
g
o

A
v
i
l
e
s

V
i
l
l
a
r
e
a
l
.

Operador | (OR a nivel de bits):
Toma los valores y hace con ellos la operacin OR a nivel de bits. Ve el siguiente ejemplo:


El resultado de editar, depurar y compilar este cdigo es el siguiente:




Explicacin:
Esta es la operacin a nivel de bits:
235 ->11101011
143 ->10001111|
239 ->11101111
La operacin OR funciona de la siguiente manera: se toma el bit de menor peso del primer operando
y el bit de menor peso del segundo operando, los compara, si alguno de ellos es uno, se obtiene un
uno. Si ambos son cero el resultado es cero.
En el ejemplo anterior se compararon los dos primeros bits de derecha a izquierda (el primero de
cada uno de los nmeros, 1 y 1 =1), luego la segunda pareja (1 y 0 =1) y as sucesivamente hasta
terminar con el valor.







4
8


I
n
g
.

R
o
d
r
i
g
o

A
v
i
l
e
s

V
i
l
l
a
r
e
a
l
.

Operador & (AND a nivel de bits):
Este operador compara los bits tambin dos a dos. Si ambos son 1 el resultado es 1. Si no, el
resultado es cero. Ve el siguiente ejemplo:

El resultado de editar, depurar y compilar este cdigo es el siguiente:





Explicacin:
Esta es la operacin a nivel de bits:
170 ->10101010
155 -> 10011011&
138 ->10001010

El operador AND funciona de la siguiente manera: Tomamos los bits dos a dos y los comparamos si
ambos son uno, se obtiene un uno.
Si alguno es cero el resultado es cero. Si ambos son cero el resultado es cero. Primero se compara
los dos primeros (el primero de cada uno de los nmeros, 0 y 1 ->0), luego la segunda pareja (1 y 1 -
>1) y as sucesivamente.












4
9


I
n
g
.

R
o
d
r
i
g
o

A
v
i
l
e
s

V
i
l
l
a
r
e
a
l
.

Operador ^(XOR a nivel de bits):
El operador ^ Compara los bits y los pone a unos si son distintos. Ve el siguiente ejemplo:

El resultado de editar, depurar y compilar este cdigo es el siguiente:


Explicacin:
Esta es la operacin a nivel de bits:
235 ->11101011
143 -> 10001111^
100 ->01100100
El operador XOR funciona de la siguiente manera: revisa los bits dos a dos y los compara si ambos
son uno, se obtiene un cero. Si ambos son cero se obtiene cero. Si ambos son distintos el resultado
es uno.
Primero se compara los dos primeros (el primero de cada uno de los nmeros, 0 y 1 ->0), luego la
segunda pareja (1 y 1 ->1) y as sucesivamente.








5
0


I
n
g
.

R
o
d
r
i
g
o

A
v
i
l
e
s

V
i
l
l
a
r
e
a
l
.

Operador ~(Complemento a uno):
Este operador acepta un slo dato (un solo operando) y cambia los ceros por unos y los unos por
ceros, es decir los invierte.
Esta operacin afecta tambin al signo del operando (positivo o negativo), mismo que se indica antes
del operando.
Ve el siguiente ejemplo:

El resultado de editar, depurar y compilar este cdigo es el siguiente:




Explicacin:
Esta es la operacin a nivel de bits:
152 -> 10011000~
-153 ->01100111

El operador complemento a uno, evala bit a bit e invierte el valor del bit evaluado, como el bit de
mayor peso en una variable numrica representa el signo (positivo o negativo) este bit tambin es
invertido, por tal motivo el signo del nuevo numero obtenido es ahora negativo.

Operador >>(Desplazamiento a la derecha):
Este operador mueve cada bit a la derecha. El bit de la izquierda se pone a cero, el de la derecha se
pierde. Si realizamos la operacin inversa no recuperamos el nmero original. El formato es el
siguiente:
variable o constante>>nmero de posiciones a desplazar
El nmero de posiciones a desplazar indica cuantas veces hay que mover los bits hacia la derecha.

5
1


I
n
g
.

R
o
d
r
i
g
o

A
v
i
l
e
s

V
i
l
l
a
r
e
a
l
.

Ve el siguiente ejemplo:


El resultado de editar, depurar y compilar este cdigo fuente es el siguiente:



Explicacin:
Esta es la operacin a nivel de bits y equivale a hacer dos desplazamientos a la derecha:
152 ->10011000 Nmero original
76 -> 01001100 Primer desplazamiento. Entra un cero por la izquierda,
el cero de la derecha se pierde y los dems se mueven a la derecha.
38 -> 00100110 Segundo desplazamiento. Entra un cero por la izquierda,
el cero de la derecha se pierde y los dems se mueven a la derecha.


Nota:
Un desplazamiento a la derecha equivale a dividir entre dos. Esto es un dato muy
importante ya que el desplazamiento a la derecha es ms rpido que la divisin.
Slo sirve para dividir entre dos. Si hacemos dos desplazamientos sera dividir entre
dos veces, no dividir entre tres.







5
2


I
n
g
.

R
o
d
r
i
g
o

A
v
i
l
e
s

V
i
l
l
a
r
e
a
l
.

Operador <<(Desplazamiento a la izquierda):
Este operador mueve cada bit a la izquierda. El bit de la derecha se pone a cero, el de la izquierda
se pierde. Si realizamos la operacin inversa no recuperamos el nmero original Esta operacin
equivale a multiplicar por 2.
Vamos a ver un ejemplo:



El resultado de editar, depurar y compilar este cdigo fuente es el siguiente:



Esta es la operacin a nivel de bits y equivale a hacer dos desplazamientos a la izquierda:
50 ->00110010 Nmero original
100->01100100 Primer desplazamiento. Entra un cero por la derecha,
el cero de la izquierda se pierde y los dems se mueven a la izquierda.
200->11001000 Segundo desplazamiento.Entra un cero por la derecha,
el cero de la izquierda se pierde y los dems se mueven a la izquierda.

Nota:
Un desplazamiento a la izquierda equivale a multiplicar por dos.
Esto es un dato muy importante ya que el desplazamiento a la izquierda es ms rpido
que la multiplicacin. Slo sirve para multiplicar por dos. Si hacemos dos
desplazamientos sera igual que multiplicar por dos, dos veces, no multiplicar por tres.
Actividad de Aprendizaje 10. Operadores lgicos a nivel de Bits.
Ya conoces todas las operaciones lgicas a nivel de bits que se manejan en Lenguaje C, ahora vas a
practicar con ellas en la siguiente actividad, el objetivo es que comprendas el uso y aplicacin de los
operadores con que cuenta el Lenguaje de programacin C.

5
3


I
n
g
.

R
o
d
r
i
g
o

A
v
i
l
e
s

V
i
l
l
a
r
e
a
l
.

Instrucciones:
1. Realiza el cdigo fuente escrito en Lenguaje C que te permita realizar las operaciones lgicas a
nivel de bits OR, AND y XOR para los siguientes operandos: operando 1 =100 y operando 2 =
200, tambin realiza las operaciones de complemento a uno o negacin, desplazamiento a la
derecha y desplazamiento a la izquierda para los operandos 3 y 125, el >>se har por 2, es
decir, dos desplazamientos a la derecha y el <<se har por uno, es decir un desplazamiento a la
izquierda.
2. Todos los resultados de estas operaciones lgicas a nivel de bits se deben mostrar en pantalla.
3. Ya que tengas el cdigo fuente realizado depralo y complalo en Dev C++
4. Debes enviar tu archivo hasta que haya sido compilado, es decir que Dev C++ no te haya
marcado error, de lo contrario no se tomar esta actividad como vlida. El archivo que debes
enviar es el cdigo fuente, es decir el archivo con extensin .c que se cre.
5. Cuando hayas terminado sube el archivo del cdigo fuente a la plataforma con el siguiente
formato: apellidopaterno_materno_nombre_actividadnumero.
Conclusin:
La estructura general de un programa escrito en Lenguaje C es la siguiente:
#include<>
Int main()
{
}
#include<>Es la directiva del preprocesador. Se encarga de incluir el contenido de las libreras en el
cdigo fuente del programa, no olvides que en las libreras se encuentran declaradas y definidas las
funciones ms comunes con que cuenta el Lenguaje C, tales como pritf().
Todo programa escrito en Lenguaje C debe tener una funcin llamada main(), esta es siempre la
primer funcin en ejecutarse y es por medio de esta que se llaman o invocan a las dems funciones.
Las {}delimitan tanto el comienzo como el final del programa as como las lneas de cdigo que
pertenecen a la funcin main.
Como te abras dado cuenta es imprescindible utilizar variables en un programa en Lenguaje C, as
que es necesario que recuerdes que el contenido de las variables se puede ver o cambiar en
cualquier momento.
Estas variables pueden ser de distintos tipos dependiendo de la clase de informacin que
almacenen.
No es lo mismo guardar un nombre que un nmero, ya que un nombre puede estar compuesto por
letras y nmeros, por ejemplo Rodrigo, Lucy254, etc., y un nmero es una constante por ejemplo 0,-
1,2,10.25, etc.
Hay que recordar tambin que la memoria RAM de la computadora es limitada, as que cuando
guardamos un dato, debemos usar slo la memoria necesaria, ya que es en la memoria RAM donde
se cargaran y ejecutaran nuestros programas.

5
4


I
n
g
.

R
o
d
r
i
g
o

A
v
i
l
e
s

V
i
l
l
a
r
e
a
l
.

Recuerda tambin que los operadores son smbolos que le indicaran al compilador como manipular
la informacin, por ejemplo cuando escribimos a+2, en este caso el operador es el smbolo de +
(ms) el cual tiene vinculada una funcin que le dice al compilador exactamente lo que tiene que
hacer con los operandos a y 2 (sumarlos), existen operadores para manipular casi todo tipo de
informacin.
Excelente, terminaste el primer tema!
Sigue adelante con tu trabajo!






















5
5


I
n
g
.

R
o
d
r
i
g
o

A
v
i
l
e
s

V
i
l
l
a
r
e
a
l
.

2. Funciones de entrada
Introduccin
Como recordars en las libreras (por ejemplo conio.h) se encuentran declaradas y definidas
funciones, estas funciones desarrollan un trabajo especfico y resuelven la mayora de necesidades
que se suscitan durante el proceso de la programacin, por ejemplo estas funciones nos permiten
introducir datos por el teclado, mostrar informacin en pantalla, obtener el coseno de un ngulo, etc.
De manera general, podemos decir, que existen funciones dentro de las libreras casi para cualquier
necesidad, pero qu pasa cuando necesitamos realizar una tarea muy especializada o simplemente
no existe ninguna funcin prefabricada?, pues surge entonces la necesidad de generar nuestras
propias funciones y que el Lenguaje C nos permita generar nuestras propias funciones es una
herramienta muy potente.
2.1 La funcin scanf()
Esta funcin permite que el usuario introduzca informacin a travs de la entrada estndar de la
computadora (el teclado).

A continuacin un ejemplo:


El resultado de editar, depurar y compilar este cdigo fuente es el siguiente:




Explicacin:
En el cdigo fuente anterior se declara una variable de tipo char llamada le, por medio de la funcin
printf() se escribe en pantalla el mensaje Introduce un carcter, nota que la instruccin es introducir

5
6


I
n
g
.

R
o
d
r
i
g
o

A
v
i
l
e
s

V
i
l
l
a
r
e
a
l
.

un carcter no dos o ms, en la siguiente lnea por medio de la implementacin de la funcin
scanf() el usuario puede teclear un carcter y este ser guardado en la variable llamada le.
Es necesario colocar el modificador %c para indicar explcitamente al compilador que el tipo de datos
que se va a introducir por el teclado es de tipo char, as mismo, es necesario escribir el operador
&(direccin de ) antes del nombre de la variable donde se desea que se guarde la informacin
introducida por el usuario a travs del teclado.
Observa que el usuario tecleo equivocadamente una palabra en lugar de un carcter, debido a que la
variable llamada le de tipo char solo puede almacenar un carcter, ya que solamente se guarda el
primer carcter, en este caso la E.
La dems informacin tecleada por el usuario se pierde ya que no existe variable que pueda
almacenarla.
Para corroborar que el primer carcter ha sido guardado nuevamente se utiliza la funcin printf() para
mostrar el contenido de la variable llamada le.
Es posible introducir ms de un dato por el teclado con una sola funcin scanf(), es necesario colocar
un modificador % por cada variable declarada y escribir explcitamente por medio de el operador
direccin de (&) el orden y lugar donde se guardara la informacin.
Por ejemplo:

El resultado de editar, depurar y compilar las lneas de cdigo anteriores dentro de una funcin
main() ser el siguiente:



2.2 Las funciones getch() y getche()
Estas dos funciones permiten al usuario introducir un carcter por el teclado. La diferencia entre
getche() y getch() es que la primera imprime en pantalla la tecla que se ha pulsado y la segunda no.
Ambas funciones se encuentran declaradas y definidas en la librera llamada conio.h. Enseguida se
te da un ejemplo:


5
7


I
n
g
.

R
o
d
r
i
g
o

A
v
i
l
e
s

V
i
l
l
a
r
e
a
l
.


El resultado de editar, depurar y compilar este cdigo fuente es el siguiente:





Explicacin:
Observa que al utilizar a la funcin getch() se tecleo una R, pero al momento de teclearla no se
imprime este carcter en pantalla, se imprime nicamente al mostrarla por medio de la funcin
printf(), en cambio con la funcin getche() al momento de presionar en el teclado el carcter o este
se imprime en la pantalla automticamente.
Para corroborar que los datos se guardaron correctamente se utiliza a la funcin printf() para mostrar
el contenido de la variable.






5
8


I
n
g
.

R
o
d
r
i
g
o

A
v
i
l
e
s

V
i
l
l
a
r
e
a
l
.

Actividad Integradora 1. Introduciendo datos por el teclado
Ya conoces la estructura general de un programa, los tipos de variables con que cuenta el lenguaje
C, adems sabes cmo implementar las funciones de entrada y de salida estndar con que cuenta
este Lenguaje, es momento de poner en prctica todos estos conocimientos.
Instrucciones:
1. Realiza un cdigo fuente escrito en Lenguaje C que te permita introducir el RFC de cualquier
persona fsica.

2. Se debe introducir el RFC carcter por carcter sin espacios en blanco entre ellos.

3. Despus de introducir el ltimo carcter, al presionar la tecla Enter, en la pantalla de tu PC
se debe desglosar la informacin correspondiente a cada uno de los elementos que componen el
R.F.C. la imagen siguiente muestra el resultado que debes obtener:









4. El Programa debe funcionar correctamente para cualquier RFC que introduzcas.
Cuando hayas terminado t programa, lo hayas depurado, compilado y funcione correctamente,
enva tu archivo del cdigo fuente y la imagen del programa en ejecucin, con el siguiente formato:
apellidopaterno_materno_nombre_actividadnumero.
Antes de comenzar lee la siguiente nota informativa en la que te puedes apoyar para realizar tu
cdigo fuente, en ellas se te explica qu es el RFC, y como se determina.
Qu es el RFC?
El Registro Federal de Contribuyentes (RFC) es una clave que debe tener cualquier persona en
Mxico que realice alguna actividad laboral lcita y est registrada ante Hacienda, El RFC se forma
con los datos personales del contribuyente, su nombre y fecha de nacimiento. El registro se debe
hacer en las oficinas del Servicio de Administracin Tributaria de la Secretaria de Hacienda y Crdito
Pblico, esta instancia otorga una homoclave diferente para cada registro y es obligatorio para todas
las personas.
Cmo se determina?
Para explicarte como elaborar el RFC se va a tomar como ejemplo los datos de la siguiente persona:

5
9


I
n
g
.

R
o
d
r
i
g
o

A
v
i
l
e
s

V
i
l
l
a
r
e
a
l
.

El Sr. J os Vlez Cuevas, naci el 26 de marzo de 1986.
Partiendo de estos datos, se toman las dos primeras letras del apellido paterno (VE), la primera letra
de apellido materno (C), la primera letra del nombre (J ), posteriormente se agrega a la clave la fecha
de nacimiento, comenzando con el ao, el mes y el da, todo con nmeros (aa, mm, dd): 860326,
finalmente, el RFC del Sr. J os Vlez es el siguiente: VECJ 860326, ya que se tiene el R.F.C., la
Secretara de Hacienda designa una homoclave.
Conclusin.
Las funciones estndar para introducir informacin por el teclado son: scanf(), getch() y getche()
La primera permite introducir cualquier cantidad de informacin en una sola lnea y de cualquier tipo,
siempre y cuando se indique en forma explcita con el operador %i, %c, o %f de acuerdo al tipo de
variable que se desea introducir.
En cambio las funciones getch() y getche() nicamente permiten introducir un solo dato, adems de
que getch() no muestra en pantalla la informacin tecleada desde la entrada estndar de la
computadora (el teclado) y la funcin getche() si lo hace.
Buen trabajo!
Contina con el Tema 3!






























6
0


I
n
g
.

R
o
d
r
i
g
o

A
v
i
l
e
s

V
i
l
l
a
r
e
a
l
.

Fundamentos de Programacin
Unidad III. Sentencias de control

Introduccin:

Durante el proceso de la programacin pueden surgir algunas necesidades a la hora de crear un
programa, por ejemplo puede ser necesario que alguna o algunas instrucciones se repitan ms de
una vez, o un nmero determinado de veces, o quiz por un nmero ilimitado de veces o hasta que
se cumpla alguna condicin.

Para satisfacer tales necesidades el Lenguaje de programacin C brinda al programador
herramientas sencillas y eficaces, estas herramientas se llaman sentencias de control y sirven para
manipular y re direccionar el flujo de ejecucin de un programa.

Para poder utilizar cualquiera de las sentencias de control basta con incluir la librera stdio.h y en
esta unidad temtica se te van a explicar todas las sentencias del Lenguaje C.

1. Sentencia de control for

La sentencia de control for, se utiliza para repetir un nmero determinado de veces, una o varias
instrucciones que se encuentren escritas dentro de las llaves de apertura y cierre ( { }) que delimitan
el cuerpo de esta sentencia de control, su interpretacin en espaol puede ser ciclo.
La sintaxis de esta sentencia de control es la siguiente:





{
/*Sentencias o bloque de instrucciones; */
}


1. sentencia de control for
2. asignacin inicial: En esta instruccin se asigna un valor cualquiera (el que se necesite) a una
variable declarada previamente, esta variable puede ser de cualquier tipo.
3. condicin: en este lugar se indican los requisitos necesarios para que las instrucciones escritas
dentro de las llaves de apertura y cierre se ejecuten continuamente el nmero de veces establecido
por esta condicin, mientras la condicin se cumpla las instrucciones se ejecutaran, cuando la
condicin no se cumpla las instrucciones dejarn de realizarse.
Para realizar esta accin puedes auxiliarte de los operadores lgicos aprendidos anteriormente, por
ejemplo, cuando la condicin sea verdadera (regrese un 1) el ciclo for se ejecutar continuamente
cuando la condicin sea falsa (regrese un 0), se dejar de ejecutar (puedes agregar ms de una
condicin).
4. incremento_o_decremento: Aqu se puede realizar tanto un incremento como un decremento
segn sea la necesidad, regularmente se incrementa una variable (esta debe ser declarada
previamente) la cual interviene en la condicin de esta sentencia de control. Para realizar los
incrementos te puedes apoyar en el operador ++o para los decrementos te puedes apoyar en el
operador - - .
for(asignacin inicial ; condicin ; incremento_o_decremento )

2 3 4 1
5
6

6
1


I
n
g
.

R
o
d
r
i
g
o

A
v
i
l
e
s

V
i
l
l
a
r
e
a
l
.

5. llave de apertura
6. llave de cierre

La ejecucin de la sentencia de control for se efecta de la siguiente manera:

1. Se realiza la asignacin inicial en la variable que se escribe despus de la palabra reservada for y
el operador parntesis de apertura (, terminando esta instruccin con un punto y coma.
2. Se evala la condicin que se encuentra despus de la asignacin inicial, obtenindose un
resultado verdadero o falso (0 1).
3. Si el resultado es falso (cero) la(s) sentencia(s) no se ejecuta(n), y se ejecuta la siguiente
instruccin situada despus de la llave de cierre ( }).
4. Si el resultado es verdadero (distinto de cero) se ejecuta(n) la(s) sentencia(s) una vez,
despus se realiza la parte de los incrementos o decrementos que se hayan escrito, despus este
mismo proceso se repite desde el punto 2.

Notas: El nmero de veces que se repetirn las instrucciones est en funcin del
nmero de veces que se cumpla la(s) condicin(es).
Observa que en la sintaxis de la lnea de cdigo de for, al final de los parntesis, no
se escribi punto y coma (;).


A continuacin se te mostrar un ejemplo en el que se utiliza la sentencia for en un programa donde
se calcula las coordenadas de un proyectil, el cual realiza un movimiento parablico, este programa
va a calcular 10 puntos de la trayectoria.

Analzalo y despus edtalo, depralo y complalo porque lo vas a necesitar para la siguiente
actividad que realices.

Para realizar el programa se ocuparn las siguientes frmulas, mismas que sirven para calcular la
trayectoria de un mvil en tiro parablico:


Donde Vi es la velocidad inicial del proyectil, es el
ngulo de lanzamiento del proyectil, t es el tiempo y g
es la gravedad.

















6
2


I
n
g
.

R
o
d
r
i
g
o

A
v
i
l
e
s

V
i
l
l
a
r
e
a
l
.

Este es el cdigo fuente del programa:


Este es el resultado que debes de obtener al editar, depurar y compilar el cdigo fuente anterior:
















6
3


I
n
g
.

R
o
d
r
i
g
o

A
v
i
l
e
s

V
i
l
l
a
r
e
a
l
.

Foro 1. PoR qU Lo HaCe?

Ahora que se te explic la sentencia de control for y analizaste el cdigo fuente que se te mostro
como ejemplo, adems de que lo trabajaste, estas en condiciones de participar en el siguiente foro , la cual tiene
como objetivo que razones el aprendizaje que has adquirido hasta este momento y realices lo que se
te pide a continuacin:
Instrucciones:

1. Responde las siguientes preguntas con base al cdigo fuente que trabajaste:
En qu lnea de cdigo se encuentran la asignacin inicial, la condicin y los incrementos que
cumplen la sintaxis de la sentencia de control for:

Por qu la sentencia de control for, implementada en el cdigo, calcul 11 posiciones
(coordenadas) y no 10 como se indic?

Cmo solucionaras esta falla en el programa para lograr que calcule nicamente 10 posiciones?

Por qu se incluy la siguiente lnea de cdigo antes de la sentencia de control for?
ang =((ang*PI)/180);

Comenta qu modificaciones realizaras al programa para que ste calculara 359854 posiciones
(coordenadas en x y y) del proyectil en tiro parablico.

Conclusin:

En este tema, se expuso la sentencia for. Esta sentencia se utiliza para ejecutar un nmero
determinado de lneas de cdigo (instrucciones), ya sea una o ms veces, y esto ayuda a ahorrar
trabajo al realizar un programa.

Buen trabajo, sigue adelante con tus temas!



















6
4


I
n
g
.

R
o
d
r
i
g
o

A
v
i
l
e
s

V
i
l
l
a
r
e
a
l
.

Fundamentos de Programacin
Unidad III. Sentencias de control

2. Sentencias de control while y do while

Introduccin:

Como ya se menciono anteriormente durante el proceso de programacin surgen necesidades muy
especificas, como repetir una o ms instrucciones (o lneas de cdigo) en lo que se cumple una
condicin, por ejemplo si un programa se encarga de verificar los sistemas de control de un vehculo
(la computadora de un auto), se le puede indicar que nicamente lo haga cuando el auto este
encendido, si el auto est apagado no verificara nada, en este contexto es conveniente utilizar una
sentencia de control while o una sentencia de control do while, en este tema se te explicar cada
una, as como la diferencia entre ambas.

while

La sentencia de control while, puede ejecutar una o varias instrucciones (lneas de cdigo) cero o
ms veces, dependiendo de una condicin especfica, para realizar esta sentencia te puedes apoyar
en los operadores lgicos. La interpretacin que se le puede dar en espaol a esta sentencia es
mientras (mientras se cumple la condicin).

Su sintaxis es la siguiente:

while (condicin)
{
/* Sentencia(s); */
}

Descripcin:

La condicin indicada despus de la sentencia while puede ser cualquier condicin numrica,
relacional o lgica.
Si la condicin se cumple se realizan las sentencias que se encuentran entre las llaves de
apertura y cierre hasta que la condicin deje de cumplirse.
La ejecucin de la sentencia de control while se efecta de la siguiente manera:

1. Se evala la condicin que se encuentra despus de la sentencia while, obtenindose un
resultado verdadero o falso (0 1).
2. Si el resultado es falso (cero) la(s) sentencia(s) no se ejecuta(n), y se ejecuta la siguiente
instruccin situada despus de la llave de cierre ( }).
3. Si el resultado es verdadero (distinto de cero) se ejecuta(n) la(s) sentencia(s) y el proceso
descrito se repite desde el punto 1.

Nota: observa que en la sintaxis de la lnea de cdigo de while al final de los
parntesis no se escribi punto y coma (;).




6
5


I
n
g
.

R
o
d
r
i
g
o

A
v
i
l
e
s

V
i
l
l
a
r
e
a
l
.

A continuacin se te mostrar un ejemplo en el que se utiliza la sentencia while en un programa
escrito en Lenguaje C.

Debes editarlo, depurarlo y compilarlo. Este programa te permitir incrementar una variable de forma
ininterrumpida, el valor inicial de la variable es 3, el incremento debe realizarse de uno en uno y la
variable dejar de incrementarse cuando su valor sea igual a 300, cada incremento debe mostrarse
en pantalla a partir del valor inicial hasta llegar al valor final.

El siguiente es el cdigo fuente que permite realizar la accin descrita anteriormente:



En la imagen siguiente se muestra el resultado de editar, depurar y compilar el cdigo fuente
anterior.


















No funcion el programa?

6
6


I
n
g
.

R
o
d
r
i
g
o

A
v
i
l
e
s

V
i
l
l
a
r
e
a
l
.

Si editaste, depuraste y compilaste el cdigo fuente anterior pudiste constatar que el programa no
funciono como se requera.

No te preocupes los errores son muy comunes en la programacin, se te invita a volver a leer el
cdigo fuente, pero ahora con ms atencin, busca el posible error y recuerda que puedes ponerte
en contacto con tu asesor, el puede ayudarte y aclarar tus dudas.

Explicacin:

El error no es de sintaxis ya que se compilo exitosamente el programa, sin embargo, observa
detalladamente las instrucciones en la quinta y sexta lneas de cdigo:

int contador =301;
while ( contador==300 )

Es en estas lneas en las que se encuentra el problema, como puedes ver, en la quinta lnea de
cdigo a la variable de tipo entero llamada contador se le asign un valor de 301 al momento de
declararla, ahora revisa la sexta lnea de cdigo, en ella se ordena ejecutar las instrucciones escritas
dentro de las llaves de inicio y cierre ({ }), siempre y cuando se cumpla la condicin entre parntesis
( contador==300 ), es decir que la variable contador sea igual al valor 300, como ya observaste la
variable contador fue declarada con un valor de 301, por lo que no se cumple la condicin ya que al
hacer la comparacin el operador (==) devuelve un valor de cero y las instrucciones no se ejecutan.

Ahora que ya sabes dnde estuvo el error, responde la siguiente pregunta:

Qu crees que pas si en lugar iniciar a la variable contador con valor de 301 se inicia con valor 0
(cero)?

Prueba esta sugerencia en el cdigo fuente y se vuelve a editar, depurar y compilar el programa, no
contines con la lectura hasta que realices esto que se te pide.

Si ya realizaste el cambio de la variable contador a cero y ya compilaste el programa, revisa el texto
del apartado llamado botn nuevo resultado es importante que no revises esta informacin si no
has compilado el programa con el cambio que se te indic, ya que tu aprendizaje ser mejor si
experimentas lo que se te indica.
Nuevo resultado

El resultado de editar depurar y compilar el cdigo fuente ya corregido es el siguiente:













6
7


I
n
g
.

R
o
d
r
i
g
o

A
v
i
l
e
s

V
i
l
l
a
r
e
a
l
.

Upss! Aun no funciona?

El programa sigue sin funcionar, lo cual indica que existe otro error en el cdigo fuente, no te
desesperes solo tienes que revisar con mucho detalle tu cdigo fuente, recuerda que a la
computadora se le debe indicar exactamente lo que tiene que hacer, ese es el problema, alguna
instruccin que se le est dando a la computadora est mal.

Observa nuevamente la sexta lnea de cdigo: while ( contador==300 ) el operador de comparacin
que se est utilizando compara si la variable contador es igual que 300 (esto ya lo sabes), pues
bien, la condicin solamente se cumplir si contador almacena un valor igual a 300, entonces no se
est utilizando el operador de comparacin adecuado a las necesidades de este programa, el
operador ms apropiado para este caso es el operador <(menor que) , por lo que la correccin al
cdigo fuente debe ser de la siguiente manera:

while ( contador <300 )
{
contador++;
printf( "La variable contiene un: %i,.\n", contador );
}

De esta forma las instrucciones escritas dentro de las llaves de apertura y cierre se ejecutarn
ininterrumpidamente mientras la variable contador sea menor que 300.

Observa el siguiente ejemplo del resultado de compilar el cdigo fuente ya corregido.

















Explicacin:

En el cdigo fuente anterior dentro de la funcin principal main() se declaro una variable de tipo int
llamada contador, la cual fue iniciada con cero, enseguida se implemento la sentencia de control
while, dentro de la cual se escribi la comparacin siguiente: (contador <300), aqu se le indica a la
computadora que las instrucciones escritas dentro de {y }se ejecutarn de forma ininterrumpida
mientras se cumpla que contador sea menor que trescientos
Dentro de la sentencia while lo primero que realizar la computadora es incrementar el valor de
contador en uno, para enseguida mostrar el contenido de esta variable por pantalla y despus de

6
8


I
n
g
.

R
o
d
r
i
g
o

A
v
i
l
e
s

V
i
l
l
a
r
e
a
l
.

esto volver a evaluar si contador es menor que trescientos, ahora contador ya no guarda un 0 sino
un 1 (ya que fue incrementado), pero sigue siendo menor que 300 entonces las instrucciones dentro
de las llaves de apertura y cierre se vuelven a ejecutar 299 veces ms.
Recuerda: cualquier duda que tengas, puedes consultar a tu asesor.

do while

La sentencia de control do while es muy similar a la sentencia de control while, con la diferencia de
que en la sentencia do while las instrucciones escritas dentro de {y }se ejecutan por lo menos una
vez, esto se debe a su sintaxis:

Nota: la interpretacin que se le puede dar en espaol a estas palabras reservadas
es:

do: hacer y while: mientras




Esta es la sintaxis:

do
{
/* Sentencia(s); */
}
while (condicin);

Descripcin:

Despus de la palabra reservada do se escriben las instrucciones dentro de las llaves de apertura y
cierre que se ejecutarn una vez, para despus evaluar la(s) condicin(es) escrita(s) dentro de los
parntesis escritos delante de la palabra reservada while.

Si la(s) condicin(es) no se cumplen no se volvern a ejecutar las instrucciones que estn escritas
dentro de las llaves de apertura y de cierre, si las condiciones se cumplen, las instrucciones antes
mencionadas se ejecutaran continuamente hasta que la condicin deje de cumplirse, es decir, sea
falsa.

La ejecucin de la sentencia de control do while se efecta de la siguiente manera:

Se ejecutan una vez las instrucciones escritas dentro de las llaves de apertura y cierre ( {})
Se evala la condicin, obtenindose un resultado verdadero o falso (0 1).
Si el resultado es falso (cero) la(s) sentencia(s) no vuelven a ejecutarse, y se ejecuta la
siguiente instruccin situada despus del parntesis final de la sentencia while.
Si el resultado es verdadero (distinto de cero) se vuelven a ejecutar la(s) sentencia(s) y el
proceso descrito se repite desde el punto 1.

IT: se requiere insertar la siguiente imagen:

6
9


I
n
g
.

R
o
d
r
i
g
o

A
v
i
l
e
s

V
i
l
l
a
r
e
a
l
.

Nota: La condicin es cualquier condicin numrica, relacional o lgica. Observa que
despus del parntesis de cierre de la condicin se escribe punto y coma (;)




Se te presenta el ejemplo de un programa en el que se utiliza la sentencia de control do while, al
revisarlo podrs notar la diferencia entre las sentencias while y do while
Este es el cdigo fuente:



Aparentemente se volvi a cometer el error de iniciar a la variable contador con 301, pero esta vez
las instrucciones escritas dentro de {y }se ejecutaran por lo menos una vez, debido a la sentencia
de control do while. El resultado de editar, depurar y compilar este programa es el siguiente:
















7
0


I
n
g
.

R
o
d
r
i
g
o

A
v
i
l
e
s

V
i
l
l
a
r
e
a
l
.

Conclusin:

La sentencia de control while sirve para repetir una o ms lneas de cdigo (instrucciones), mientras
se cumpla una condicin, existiendo la posibilidad de que no se ejecuten ni una sola vez si la
condicin no se cumple.
Mientras tanto en la sentencia de control do while las instrucciones escritas entre {y }se ejecutan
por lo menos una vez an sin cumplirse la condicin.

Bien hecho!
Adelante con el tema 3










































7
1


I
n
g
.

R
o
d
r
i
g
o

A
v
i
l
e
s

V
i
l
l
a
r
e
a
l
.

Fundamentos de Programacin
Unidad III. Sentencias de control

3. Sentencia de control if else

Introduccin:

En ocasiones durante el proceso de la programacin es necesario (de acuerdo a las necesidades y
al contexto especifico) re direccionar la ejecucin de un programa escrito en Lenguaje C, es decir,
inducir la ejecucin del programa por un camino u otro.

En este punto es necesario que la computadora tome una decisin y el programador es el encargado
de darle a la computadora los elementos necesarios para que se lleve a cabo esta decisin, esto se
hace con ayuda de la sentencia if else. Su traduccin aproximada es: If (si) / Else (de lo contrario).

La sentencia de control if else permite re-direccionar la ejecucin de un programa, a partir de un
resultado obtenido, es decir, si el programa detecta un resultado verdadero (1) se ejecutan cierto
bloque de instrucciones, pero si detecta un resultado falso (0) se ejecutara otro bloque de
instrucciones distinto, para la realizacin de esta sentencia el programador se apoya en los
operadores lgicos, estudiados en la unidad temtica 2.

La sintaxis de la sentencia de control if else es la siguiente:

if ( condicin )
{
/* bloque que se ejecuta si se cumple la condicin /*
}
else
{
/* bloque que se ejecuta si no se cumple la condicin */
}

Descripcin:

La condicin indicada despus de la sentencia if puede ser numrica, relacional o lgica.
Las instrucciones que se escriben dentro de las llaves de apertura y cierre que se encuentran
inmediatamente despus de la sentencia if(condicion), son el bloque de instrucciones que se
ejecutarn si la condicin escrita dentro de los parntesis de la sentencia se cumple.

Las instrucciones que se escriben dentro de las llaves de apertura y cierre ( {}) que se encuentran
inmediatamente despus de la palabra reservada else, son el bloque de instrucciones que se
ejecutaran si la condicin escrita dentro de los parntesis de la sentencia if no se cumple.

La ejecucin de la sentencia de control if else se realiza de la siguiente manera:
1. Se evala la condicin, obtenindose un resultado verdadero o falso (0 1).
2. Si el resultado es falso (cero) el bloque de instrucciones que se ejecuta es el que se encuentra
inmediatamente despus de la palabra reservada else y dentro de las llaves de apertura y cierre. Ya
que se hayan ejecutado las instrucciones de este bloque, el programa ejecutar la instruccin que se
encuentre inmediatamente despus de la llave de cierre ( }), de este mismo bloque.

7
2


I
n
g
.

R
o
d
r
i
g
o

A
v
i
l
e
s

V
i
l
l
a
r
e
a
l
.

3. Si el resultado es verdadero (distinto de cero) el bloque de instrucciones que se ejecutara ser
el que est situado inmediatamente despus de la lnea de cdigo if(condicion). y dentro de las llaves
de apertura y cierre. Una vez ejecutado este bloque de instrucciones el programa seguir ejecutando
las instrucciones que se encuentran despus de la llave de cierre ( }) que se sitan al final del
bloque de instrucciones de la palabra reservada else

A continuacin se te muestra un programa escrito en Lenguaje C en el que se utiliza la sentencia if
else, el cual debes editar depurar y compilar, este programa debe indicar al usuario que introduzca
un nmero entero cualquiera y despus presione la tecla enter, ya que se haya hecho lo solicitado el
programa indicar con un mensaje en pantalla si el nmero introducido es par o no par.

El programa escrito en Lenguaje C que ejecuta las instrucciones anteriormente mencionadas es el
siguiente:



El resultado de editar, depurar y compilar este cdigo fuente es el siguiente, en el caso de que se
introduzca un nmero entero par.













7
3


I
n
g
.

R
o
d
r
i
g
o

A
v
i
l
e
s

V
i
l
l
a
r
e
a
l
.

Y en el caso de que se introduzca un nmero entero no par:










Explicacin:

En este programa se incluyo la librera conio.h, ya que dentro de la funcin principal main() se utiliza
la funcin scanf().

La primer instruccin en ejecutarse dentro de la funcin main() declara e inicia una variable de tipo
entero que es indicada con cero, enseguida se muestra en pantalla la cadena de texto "Introduce un
numero entero cualquiera: " para despus almacenar el numero tecleado en la variable numero. Esto
ya sabes cmo hacerlo.

Enseguida se encuentra la sentencia de control if la cual evala la condicin (numero%2 ==0) y
observa que se est utilizando al operador % (modulo) el cual divide entre dos el contenido que
almacena la variable numero y devuelve el residuo de esta divisin, si en este caso el usuario
introduce un numero 56554 el operador % divide entre dos y devuelve como resultado de esta
divisin un 0, ya que 56554/2 =28277.0 y %(modulo) devuelve nicamente el residuo de la divisin
no la parte entera.

El residuo, en este caso es cero y se compara por medio del operador de comparacin ==(igual
que) si el residuo es igual que cero esta nueva comparacin es verdadera, es decir se cumple, y
entonces se ejecutar la lnea de cdigo; printf( "\nEl numero es par \n"); escrita entre {y }esta lnea
debajo de la sentencia if(numero%2 ==0).

Si por el contrario el usuario del programa introduce un 9 el operador % divide entre dos y devuelve
como resultado de esta divisin un 5, ya que 9/2 =4.5 y %(modulo) devuelve nicamente el residuo
de la divisin no la parte entera.

El residuo, en este caso es cinco se compara por medio del operador de comparacin ==(igual que)
y debido a que el residuo no es igual que cero esta nueva comparacin es falsa, es decir no se
cumple, entonces se ejecutar la lnea de cdigo; printf( "\nEl numero no es par \n"); escrita entre {y
}esta lnea debajo de la palabra reservada else.

Despus de ejecutar cualquiera de los dos bloques de instrucciones se ejecuta la funcin
system(PAUSE); que es la ltima funcin en ejecutarse dentro de la funcin principal main().

If else if
Es posible anidar, es decir colocar otra sentencia if despus de la palabra reservada else, esto se
hace para evaluar ms de una condicin, por ejemplo si se necesitara el mismo programa
presentado en el ejemplo anterior con algunas variantes, es decir, ahora se necesita que el usuario
introduzca un numero entero cualquiera por el teclado y despus de presionar la tecla enter la

7
4


I
n
g
.

R
o
d
r
i
g
o

A
v
i
l
e
s

V
i
l
l
a
r
e
a
l
.

computadora debe mostrar en pantalla un mensaje indicando si el nmero que se introdujo es mayor
que 30 y menor que 60 o es un nmero mayor que 60.

El programa escrito en Lenguaje C que ejecuta las instrucciones anteriormente mencionadas es el
siguiente:



Explicacin:
Despus de introducir por el teclado el nmero solicitado se realiza la siguiente evaluacin:
if(numero <30)
si el nmero es menor que el valor 30 se ejecutar la siguiente lnea de cdigo:
{printf( "\nEl numero es menor que 30 \n");}

Cuyo resultado en pantalla ser el siguiente.







7
5


I
n
g
.

R
o
d
r
i
g
o

A
v
i
l
e
s

V
i
l
l
a
r
e
a
l
.

Si esta condicin no se cumple es decir, el nmero es mayor que 30 el programa lee la lnea de
cdigo 11 (else) y ejecuta la lnea de cdigo 12:

if(numero >30 && numero <60)

En esta lnea de cdigo hay dos condiciones, la primera que numero sea mayor que treinta y la
segunda que numero sea menor que sesenta, estas dos evaluaciones deben de cumplirse (ser
verdaderas) para que se ejecute el siguiente bloque de instrucciones:
{{printf( "\nEl numero es mayor que 30 y menor que 60\n ");}}
Cuyo resultado en pantalla ser el siguiente:
:








Nota: Para unir ms de una evaluacin, como en el caso anterior puede hacerse uso
de los operadores lgicos, en este caso el operador lgico AND (&&) visto
anteriormente.

Si esta otra condicin no se cumple (que el nmero sea mayor que 30 y menor que 60),
es decir que el nmero sea mayor de 60, se ejecuta la siguiente lnea de cdigo:
{printf( "\nEl numero es mayor que 60\n ");}

Cuyo resultado en pantalla ser el siguiente.










De esta forma es como puede anidarse ms de una sentencia de control if else.

Conclusin:

La sentencia de control if else permite al programador re-direccionar el flujo de ejecucin de un
programa, permitiendo as ejecutar un bloque de instrucciones u otro distinto de acuerdo al resultado
de una condicin especificada. Adems de ser posible la anidacin de sentencias de control if else if.

Buen trabajo!
Sigue adelante con el tema 4




7
6


I
n
g
.

R
o
d
r
i
g
o

A
v
i
l
e
s

V
i
l
l
a
r
e
a
l
.

Fundamentos de Programacin
Unidad III. Sentencias de control

4. Sentencia de control break

Introduccin

En este apartado se te explicar cmo puedes abortar (romper) la ejecucin del ciclo for en algn
momento, antes de que este termine de ejecutarse, lo cual se hace con la sentencia de control break

break

La sentencia de control break (romper en ingls) permite al programador detener la ejecucin de la
sentencia de control for, de acuerdo a una condicin dada, an cuando la condicin del ciclo for se
cumpla (sea verdadera).

Para ejemplificarte esta sentencia se retomara el programa realizado en el tema 1. Sentencia de
control for, el cual calcula y muestra en pantalla las coordenadas cartesianas de un proyectil en tiro
parablico. Pero ahora se le agregar una condicin especial, esta es: si la coordenada y alcanza
un valor igual o superior a 5000 el ciclo for que calcula las coordenadas del proyectil dejara de
ejecutarse, ya que a esta altura no es necesario monitorear al proyectil.

El programa escrito en Lenguaje C que ejecuta las instrucciones anteriormente mencionadas es el
siguiente:



#include <stdio.h>
#include <math.h>
#include <windows.h>
#define grav 9.81
#define PI 3.141592
int main ()
{
int t;
float x=0,y=0,ang,vi;
printf( " Cual es el angulo de lanzamiento: " );
scanf(" %f" ,&ang);
printf( " \n Cual es la velocidad inicial de lanzamiento: " );
scanf(" %f" ,&vi);
ang = ((ang*PI)/180);
for (t=1;t <= 10; t++)
{
x = (vi*cos(ang)*t);
y = ((vi*sin(ang)*t)*(0.5*grav*t*t));
if(y >= 5000) Si se cumple
ejecuta break;
{break; }

else
printf( " \n Coordenada %i en x = %f, coordenada en y %f. " ,t,x,y); Si no sigue la
ejecucin de for
}
system (" PAUSE" );
}

7
7


I
n
g
.

R
o
d
r
i
g
o

A
v
i
l
e
s

V
i
l
l
a
r
e
a
l
.

Explicacin:

El cdigo fuente anterior ya se explico en el tema 1 (revsalo), nicamente se detallarn las lneas de
cdigo que se agregaron:

if(y >=5000)
{break; }
else

Como se puede observar en la lnea de cdigo de la sentencia if(y >=5000), si la variable y que
corresponde a la coordenada en y en algn momento del clculo es mayor o igual a 5000 se
ejecutar la sentencia de control break, al ejecutarse esta sentencia se rompe el ciclo for (ya no se
sigue ejecutando), despus de esto la siguiente lnea de cdigo en ejecutarse es la que se encuentre
inmediatamente despus de la llave de cierre (}) del ciclo for, en esta caso esa lnea invoca a la
funcin system(PAUSE);

Si lo anterior ocurre este sera el resultado en pantalla:


En este caso nicamente se mostraron 5 coordenadas ya que debido al ngulo de lanzamiento y
alcanzo en la 6ta. ejecucin un valor mayor o igual a 5000.
Pero si el ngulo hubiese sido mucho menor, el ciclo for se hubiera ejecutado normalmente
calculando las diez coordenadas para lo cual fue declarado.









7
8


I
n
g
.

R
o
d
r
i
g
o

A
v
i
l
e
s

V
i
l
l
a
r
e
a
l
.

Este es el resultado en pantalla de lo explicado:





















Conclusin:

La sentencia de control break permite al programador romper (abortar) la ejecucin de un ciclo for
an cuando la propia condicin del ciclo for se cumpla.
break tambin es capaz de abortar la ejecucin de la sentencias de control while y Do while.

Muy bien, buen trabajo!
Sigue adelante






















7
9


I
n
g
.

R
o
d
r
i
g
o

A
v
i
l
e
s

V
i
l
l
a
r
e
a
l
.

Fundamentos de Programacin
Unidad III. Sentencias de control

Sentencia de control switch
Introduccin

Ya conoces el funcionamiento y aplicacin de la sentencia de control If else, sabes que sta permite
re-direccionar el flujo de ejecucin de un programa por un camino u otro (un bloque de instrucciones
u otro), pero y si son muchos caminos?, podras pensar que la solucin est en el anidamiento de
la sentencia if else if, pero el Lenguaje C brinda una herramienta an ms sencilla que la sentencia
de control if else, esta es la sentencia de control switch.

switch

La sentencia de control switch permite al programador re-direccionar el flujo de ejecucin de un
programa, es decir, ejecutar un bloque de instrucciones u otro, esta decisin se toma con base en la
evaluacin de una condicin, su funcionamiento es semejante al anidamiento de la sentencia de
control if else, pero su formato es ms claro, regularmente esta sentencia de control se utiliza para
elegir una opcin de varias disponibles de acuerdo a un men mostrado en pantalla.
La sintaxis de la sentencia de control switch es la siguiente:



Descripcin:

variable es una variable de cualquier tipo que almacena un valor idntico a cualquiera de las
etiquetas escritas en los diferentes casos (case).

case opcin_1: es una etiqueta (sin incluir la palabra reservada case).

8
0


I
n
g
.

R
o
d
r
i
g
o

A
v
i
l
e
s

V
i
l
l
a
r
e
a
l
.

case es una palabra reservada que se utiliza nicamente con la sentencia de control switch, la
interpretacin ms adecuada para la misma es caso, esta palabra siempre tiene que estar
acompaada por una etiqueta escrita inmediatamente despus y separada por un espacio en blanco.

Una etiqueta es una instruccin que nicamente sirven como referencia para el compilador, es decir,
no se ejecutan, no muestran nada en pantalla y no realizan ninguna operacin, para nombrar una
etiqueta se toman las mismas reglas que para nombrar una variable o una constante, al final de la
lnea de cdigo de una etiqueta se pone el operador : (dos puntos), como puedes ver en el cdigo
fuente anterior hay dos etiquetas opcin_1: y opcin_2:.

Las instrucciones que se escriban dentro de {y }debajo de la lnea de cdigo switch(variable), son
los diferentes bloques de instrucciones que se ejecutaran de acuerdo al valor que contenga variable
La ejecucin de la sentencia de control switch sucede as;

1. Se evala el contenido de variable.
2. Si el contenido de variable corresponde con alguna de las etiquetas escritas en alguno de los
casos (case), se ejecutar el bloque de instrucciones escrito despus de esta etiqueta, por ejemplo si
se tiene la siguiente sentencia de control switch:


Si variable almacena un 1, este valor almacenado corresponde con la etiqueta escrita en el primer
caso.

Entonces se ejecutar la instruccin a =a+b; despus de ejecutarse esta instruccin se realiza la
instruccin sentencia de control break; la cual como ya sabes, permite romper la accin de otra
sentencia de control, despus de esto la siguiente sentencia en llevarse a cabo ser la que est
escrita inmediatamente despus de }de la sentencia de control switch.

Pero si variable almacena un 2, este valor almacenado corresponde con la etiqueta escrita en el
segundo caso.

8
1


I
n
g
.

R
o
d
r
i
g
o

A
v
i
l
e
s

V
i
l
l
a
r
e
a
l
.

Entonces no se ejecutara el bloque de instrucciones correspondiente a la etiqueta case 1: sino el
bloque correspondiente a la etiqueta case 2: es decir la instruccin a =a-b; despus de ejecutarse
esta instruccin se realiza la instruccin sentencia de control break; y posteriormente la siguiente
sentencia en desarrollarse ser la que este escrita inmediatamente despus de }de la sentencia de
control switch.

Pero si variable almacena un nmero diferente, es decir que no corresponda con ninguna etiqueta,
se ejecutara el bloque de instrucciones escrito debajo de la etiqueta default: ejecutndose igual que
los casos anteriores.


Nota: La sentencia de control switch puede tener el nmero de casos que desees.




Para ejemplificar lo anteriormente explicado se te mostrar un programa escrito en Lenguaje C que
muestra un men de opciones en pantalla, de la siguiente forma:

Para mostrar tu nombre en pantalla presiona 1.
Para mostrar tu primer apellido en pantalla presiona 2.
Para mostrar tu segundo apellido en pantalla presiona 3.
El nmero que el usuario del programa tecle se almacenara en una variable llamada opcin de tipo
int, y de acuerdo al valor que almacene la variable opcin se ejecutar el caso que muestre
nicamente la informacin correspondiente.

El programa escrito en Lenguaje C que ejecuta las instrucciones mencionadas es el siguiente:
IT: se requiere que la siguiente informacin se presente como imagen


8
2


I
n
g
.

R
o
d
r
i
g
o

A
v
i
l
e
s

V
i
l
l
a
r
e
a
l
.



El resultado de editar, depurar y compilar este cdigo fuente es el siguiente:
Si el usuario presion 1:












#include <stdio.h>
#include <conio.h>
#include <windows.h>
int main()
{
int opcion;
printf( " Para mostrar tu nombre en pantalla presiona 1.\n " );
printf( " Para mostrar tu primer apellido en pantalla presiona 2.\n " );
printf( " Para mostrar tu segundo apellido en pantalla presiona 3.\n " );
scanf( "%i", &opcion );
switch( opcion )
{
case 1:
printf( " RoDrIgO \n" );
break;
case 2:
printf( " AvIlEs \n" );
break;
case 3:
printf( " ViLlArEaL \n" );
break;
default:
printf( " nO ES UN CASO VALIDO\n" );
}
system ("PAUSE");
}

8
3


I
n
g
.

R
o
d
r
i
g
o

A
v
i
l
e
s

V
i
l
l
a
r
e
a
l
.

Si el usuario presiono 2:









Si el usuario presiono 3:






Pero si el usuario
se equivoco o a
propsito escribi
un 10 esto es lo que ejecutara el programa:









Explicacin:

En este programa escrito en Lenguaje C, de acuerdo a el nmero que almacene la variable de tipo
entero llamada opcin (su valor se solicita por teclado) se ejecutar el bloque de instrucciones.
En este caso una funcin printf() que muestra en pantalla el nombre o el primer apellido o el segundo
apellido y si el numero tecleado no corresponde con ninguna etiqueta se ejecutara el caso llamada
default, el cual tambin muestra una cadena de texto indicando el error.

Conclusin

La sentencia de control switch permite ejecutar un bloque de instrucciones, de varios disponibles de
acuerdo al contenido de una variable de cualquier tipo, siempre y cuando corresponda a una etiqueta
previamente escrita en alguno de los casos (case) de la sentencia switch, de no coincidir el valor de
dicha variable con ninguna etiqueta se ejecutar un bloque de instrucciones escrito en un caso
llamada default.

Esta sentencia de control puede tener el nmero de casos que el programador decida.

Bien!
Sigue con el ltimo tema!


8
4


I
n
g
.

R
o
d
r
i
g
o

A
v
i
l
e
s

V
i
l
l
a
r
e
a
l
.

Fundamentos de Programacin
Unidad III. Sentencias de control

Sentencia de control goto

Introduccin:

Con este tema, finalizas el estudio de la unidad temtica III y con ella el conocimiento de las
sentencias de control.

Ahora conocers como re-direccionar el flujo de ejecucin de un programa saltando bloques enteros
de cdigo, para realizar esto el Lenguaje C brinda al programador la sentencia de control goto.

goto

La sentencia de control goto permite re-direccionar la ejecucin del programa saltando bloques de
cdigo hasta encontrar una etiqueta. La interpretacin en espaol del nombre de esta sentencia
seria: Ir a.

A continuacin se te muestran dos formas de sintaxis de esta sentencia de control:

Sintaxis 1:


Sintaxis 2:


E:

/*lneas

de codigo*/

goto E;


goto E;

/*lneas

de codigo*/

E:


Como puedes ver la etiqueta se puede escribir debajo de la instruccin goto.

Recuerda que: Una etiqueta es una instruccin que nicamente sirven como referencia para
el compilador, es decir, no se ejecutan, no muestran nada en pantalla y no realizan ninguna
operacin, para nombrar una etiqueta se toman las mismas reglas que para nombrar una
variable o una constante, al final de la lnea de cdigo de una etiqueta se escribe el operador
: (dos puntos).


Descripcin:

E: es una etiqueta, que sirve para ayudar a la instruccin goto a identificar un bloque de cdigo.
La sentencia de control goto indica al compilador que debe re-direccionar el flujo de ejecucin del
programa, es decir, debe irse y ejecutar la siguiente instruccin escrita despus de la etiqueta.




8
5


I
n
g
.

R
o
d
r
i
g
o

A
v
i
l
e
s

V
i
l
l
a
r
e
a
l
.

La ejecucin de la sentencia de control goto de los ejemplos anteriores sucede as:

En la sintaxis 1:

1. El compilador primero encuentra la etiqueta llamada E: no ejecuta ninguna accin
simplemente nota la existencia de esta etiqueta.
2. Ejecuta la(s) siguiente(s) instruccin(es) que se encuentren escritas despus de la etiqueta.
3. Al ejecutarse la sentencia goto el flujo de ejecucin del programa ser re-direccionada, es
decir se volver(n) a ejecutar la(s) siguiente(s) instruccin(es) que se encuentren escritas
despus de la etiqueta E: de forma indefinida.
En la sintaxis 2:

1. El compilador primero ejecuta la sentencia de control goto el flujo de ejecucin del programa
ser re-direccionado, es decir, ya no se ejecutarn las instrucciones que se encuentran
escritas en entre la instruccin goto E; y E: sino que se van a ejecutar la(s) siguiente(s)
instruccin(es) que se encuentren escritas despus de la etiqueta.
A continuacin se te presenta un cdigo fuente en el que se te explicar el funcionamiento de esta
sentencia:

#include <stdio.h>
int main()
{
printf( " RoDrIgO \n" );
goto Aqui;
printf( " AvIlEs \n" ); Re direccionamiento, salto de la instruccin.
Aqui:
system ("PAUSE");
}

Explicacin:

En este cdigo fuente se muestra por pantalla la palabra RoDrIgO por medio de la funcin printf(),
enseguida se encuentra la sentencia de control goto la cual re-direcciona el flujo de ejecucin del
programa y salta la siguiente lnea de cdigo: printf( " AvIlEs \n" ); para ejecutar la instruccin escrita
despus de la etiqueta Aqui: que es la invocacin a la funcin system (PAUSE);

Para ejemplificar el uso de esta sentencia de control se utilizar el programa realizado en el tema
anterior, se desea que este programa se repita continuamente en forma infinita, es decir, que se
pregunte en pantalla una y otra vez la opcin a elegir.

El programa escrito en Lenguaje C que ejecuta las instrucciones anteriormente mencionadas es el
siguiente:



8
6


I
n
g
.

R
o
d
r
i
g
o

A
v
i
l
e
s

V
i
l
l
a
r
e
a
l
.









#include <stdio.h>
#include <conio.h>
#include <windows.h>
int main()
{
int opcion;
INICIO: /*etiqueta*/
printf( " Para mostrar tu nombre en pantalla presiona 1.\n " );
printf( " Para mostrar tu primer apellido en pantalla presiona 2.\n " );
printf( " Para mostrar tu segundo apellido en pantalla presiona 3.\n " );
scanf( " %i" , &opcion );
switch( opcion )
{
case 1:
printf( " RoDrIgO \n" );
break;
case 2:
printf( " AvIlEs \n" );
break;
case 3:
printf( " ViLl ArEaL \n" );
break;
default:
printf( " nO ES UN CASO VALIDO\n" );
}
goto INICIO;/*te vas a etiqueta y nunca termina el programa*/

8
7


I
n
g
.

R
o
d
r
i
g
o

A
v
i
l
e
s

V
i
l
l
a
r
e
a
l
.

El resultado de editar depurar y compilar este cdigo fuente es el siguiente.




















Explicacin:

Al colocar la sentencia de control goto INICIO; se le indica a la computadora que debe volver a
ejecutar todas las instrucciones que se encuentran escritas debajo de la etiqueta llamada INICIO: de
esta forma el programa se repetir en un ciclo infinito, es decir nunca terminara.
Muy bien, es momento de aplicar tu aprendizaje mediante la realizacin de una actividad integradora,
cuyo objetivo es que desarrolles software (un programa) eficiente que aplique las sentencias de
control con que cuenta el lenguaje C para dar solucin a problemas de ingeniera.

Actividad integradora 2. Aplicando las sentencias de control

Instrucciones:

1. Realiza un programa escrito en Lenguaje C a travs de la programacin estructurada capaz
de controlar el movimiento de un motor a pasos de tipo unipolar, este motor debe mover el
alern de un avin en un rango de 90 grados, (45 grados hacia arriba y 45 grados hacia
abajo). El ngulo de giro de este motor a pasos es de 1.8 grados por paso, este motor
proporcionara el impuso necesario para que se mueva un alern. En el siguiente video se te
muestra como debe ser el movimiento de los alerones:
2. El usuario del programa debe escoger de un men de opciones la direccin en que se mover
el alern, hacia arriba o hacia abajo. De esta forma:


3. Si se elijen las opciones 1 2, el programa debe preguntar el nmero de pasos que se
mover el alern, recuerda que no deben ser mas de 45 grados (hacia arriba o hacia abajo)
los que se mueva o de lo contrario podra haber alguna avera mecnica, por lo anterior debes

8
8


I
n
g
.

R
o
d
r
i
g
o

A
v
i
l
e
s

V
i
l
l
a
r
e
a
l
.

asegurar que el programa no acepte un nmero de pasos que sobrepase este rango de
movimiento.
El programa tambin debe mostrar en pantalla el nmero de paso que se est ejecutando y el
ngulo en el que se encuentra el eje del motor, esto en la prctica real le ayudara al piloto
para saber la posicin exacta del alern en cuestin.

Observa la siguiente imagen la cual te muestra el resultado que se obtiene.


4. Observa que se eligi la opcin 1 y se decidi mover el alern 7 pasos (esto no sobrepasa el
rango de giro del alern), el programa nicamente ejecuta 7 pasos, y en pantalla se muestra
el ngulo de giro en el que se encuentra el eje del motor y el dato enviado al puerto, como
puedes observar los datos enviados son 1, 2, 4, 8, 1, 2 y 4 que justamente harn que el motor
se mueva 7 pasos y este queda esttico a un ngulo de giro de 12.6 grados.

5. Si se escoge la opcin nmero 2, el programa se comportar de forma similar que en la
opcin nmero 1, con la diferencia de que ahora el alern se mover hacia abajo, por este
motivo los datos enviados al puerto deben ser invertidos, observa la siguiente imagen:


6. Como puedes observar se repiti 3 veces el ciclo de 4 pasos para que el motor girara
exactamente 12 pasos, que fue lo que el usuario tecleo, el rotor del motor giro exactamente
21.6 grados y se quedo en esta posicin (esttico).


8
9


I
n
g
.

R
o
d
r
i
g
o

A
v
i
l
e
s

V
i
l
l
a
r
e
a
l
.

7. Si despus de elegir una opcin el usuario desea elegir otra diferente, el programa debe
permitirlo sin tener que volver a ejecutarse, es decir, el programa despus de ejecutar los
pasos indicados debe volver a mostrar el men de opciones y permitir se vuelva a repetir el
proceso de nuevo, hasta que el usuario elija la opcin correspondiente a salir, de esta forma:


8. Como apoyo puedes descargar y probar el archivo ejecutable que da solucin a esta actividad
as sabrs exactamente lo que tienes que hacer, es decir el resultado a donde debes llegar.
Da clic en el siguiente ttulo para que se te muestre el ejecutable.
9. Si no conoces el funcionamiento de un motor a pasos puedes revisar la informacin que se te
muestra a continuacin, la cual te lo explicar, da clic en el siguiente ttulo para que te
aparezca dicha informacin:
10. Ya que hayas terminado de leer la informacin referente a los motores a pasos por favor
revisa el siguiente archivo (Material de apoyo), el cual te va a ayudar mucho para la
realizacin de esta actividad.
Material de apoyo:

Para controlar el motor a pasos unipolar es necesario que la computadora envi a la pantalla de la
computadora los datos precisos para moverlo y estos datos son los siguientes:

1. Para que un motor se mueva un primer paso es decir nicamente se mueva 1.8 grados y se
quede esttico en esa posicin es necesario que el programa envi un numero 1 a la salida
estndar de la computadora (la pantalla).
2. Para que el motor se mueva un segundo paso es decir, se mueva nuevamente 1.8 grados y
se quede esttico en esa posicin (hasta ahora abra girado 3.6 grados) es necesario que el
programa envi un numero 2 a la pantalla de la computadora.
3. Para que el motor se mueva un tercer paso es decir, nuevamente se mueva 1.8 grados y se
quede esttico en esa posicin (hasta ahora abra girado 5.4 grados) es necesario que el
programa envi un numero 4 a la pantalla de la computadora.

9
0


I
n
g
.

R
o
d
r
i
g
o

A
v
i
l
e
s

V
i
l
l
a
r
e
a
l
.

4. Para que el motor se mueva un cuarto paso es decir, se mueva nuevamente 1.8 grados y se
quede esttico en esa posicin (hasta ahora abra girado 7.2 grados) es necesario que el
programa envi un numero 8 a la pantalla de la computadora.
5. Para que el motor se siga moviendo es necesario repetir los pasos anteriores, comenzando
por el punto 1, lo que hara un ciclo.
Recuerda que:
Para que un motor a pasos que posee un ngulo de giro de 1.8 grados por paso gire una vuelta
completa, ste tendr que dar 200 pasos, en otras palabras tendras que repetir la siguiente
secuencia 50 veces.

Numero de
paso
Dato
enviado
Paso 1 1
Paso 2 2
Paso 3 4
Paso 4 8

Si deseas que el motor se mueva en sentido contrario se invierte el orden de los datos enviados, de
esta forma:

Numero de
paso
Dato
enviado
Paso 1 8
Paso 2 4
Paso 3 2
Paso 4 1

11. Ya tengas listo tu programa, edtalo, depralo y complalo en el compilador Dev C++
12. El archivo que debes subir a la plataforma para que se te evale es el cdigo fuente, es decir
el archivo con extensin .c que se cre.
13. Recuerda que si tienes alguna duda puedes pedir la ayuda de tu asesor.
Cuando tengas listo t archivo gurdalo en tu PC y envalo con tus datos en el siguiente formato:
apellidopaterno_materno_nombre_actividadnumero

Conclusin:

Muy bien, acabas de terminar la unidad temtica III, y con ella has adquirido ms conocimientos que
te van a ser tiles al realizar programas en Lenguaje C, hasta el momento sabes cmo repetir un
bloque de instrucciones determinado nmero de veces utilizando a la sentencia for.
Tambin sabes cmo repetir de forma indefinida un bloque de instrucciones en funcin de una
condicin gracias a la sentencia while. Aunado a esto aprendiste a re-direccionar el flujo de la
ejecucin de un programa con la implementacin de las sentencias if else o switch
Finalmente aprendiste a re-direccionar el flujo de ejecucin de un programa saltando lneas de
cdigo con la sentencia goto.
Solo falta una unidad para que concluyas esta unidad de aprendizaje.

Sigue adelante con la unidad 4!

9
1


I
n
g
.

R
o
d
r
i
g
o

A
v
i
l
e
s

V
i
l
l
a
r
e
a
l
.

Programacin grafica en DEV-C++ usando la librera no estndar WINBGIM
La librera winbgim.h a sido creada originalmente por Konstantin Knizhnik's winbgi shareware y
posteriormente modificada por Mark Richardson y Michael Main, esta librera tiene como objetivo
emular la librera graphics.h de Borland C++y facilitar algunas funciones del Mouse. La ventaja de
esta librera es que nos permite crear aplicaciones grficas con compiladores GNU tales como el
ambiente de desarrollo Dev C++de la misma manera como se crean en el compilador comercial
Borland C++.
Originalmente el autor nos ofreca una coleccin de archivos que se deban ubicar en carpetas
especiales e incluir ciertos comandos al la configuracin del linker y del compilador, esta operacin
tena cierta complejidad y para muchos se convirti en un dolor de cabeza.
Con el fin de facilitar el uso de esta librera me tome la libertad de realizar un instalador para la
versin 4.9.9.2 del Dev C++que realiza todas las configuraciones necesarias.
Ahora cada vez que queramos realizar un programa con soporte para grficos solo es necesario
seguir los siguientes pasos:
1 - Crear un nuevo proyecto








2 - Seleccionar una aplicacin de consola con grficos






9
2


I
n
g
.

R
o
d
r
i
g
o

A
v
i
l
e
s

V
i
l
l
a
r
e
a
l
.

Y listo!. A continuacin algunos ejemplos
Para iniciar el modo grfico se usa la funcin void initwindow (int width, int height);
Ejemplo:
initwindow(400,300); // Abre una ventana grfica de 400x300 color rgb
Para cerrar el modo grfico se usa la funcin closegraph();
Exemplos
Programa que muestra una lnea en la ventana grafica:
Este es el resultado de editar, depurar y compilar este cdigo fuente:
Esta librera no solo soporta los 16 colores de la librera graphics.h de Borland mediante las
constantes BLACK BLUE GREEN CYAN RED MAGENTA BROWN LIGHTGRAY DARKGRAY
LIGHTBLUE LIGHTGREEN LIGHTCYAN LIGHTRED LIGHTMAGENTA YELLOW WHITE

9
3


I
n
g
.

R
o
d
r
i
g
o

A
v
i
l
e
s

V
i
l
l
a
r
e
a
l
.

Sino que es posible usar colores rgb, lo cual nos da al rededor de 16 millones de colores
incrustando el macro COLOR(r,g,b) en donde originalmente estara el indicado el color.
El resto de las funciones grficas funcionan igual que en la librera original graphics.h y pueden
encontrarse en la ayuda del Turbo C++de Borland o e cualquier manual de este mismo.
Funciones principales de la librera winbgim.h
Funcin Tarea
void circle (int x, int y, int radius); Dibuja un circulo en x,y de radio radius
void cleardevice (void); Borra la pantalla
void line (int x1, int y1, int x2, int y2); Traza una lnea desde x1,y1 hasta x2,y2
void lineto (int x, int y) Traza una lnea desde la posicin actual de cursor hasta x,y
void putpixel (int x, int y, int color); Dibuja un pixel en x,y de color color
void rectangle (int left, int top, int right, int bottom); Dibuja un rectangulo de esquenas top,left y right,bottom
void setcolor (int color); Establece el color actual.
int mousex(void) Retorna la coordenada x del Mouse relativa a la esquina superior izquierda
int mousey(void) Retorna la coordenada y del Mouse relativa a la esquina superior izquierda
Programa que grafica la funcin sen x:











Este es el resultado de ditar, depurar y compilar este cdigo fuente.






9
4


I
n
g
.

R
o
d
r
i
g
o

A
v
i
l
e
s

V
i
l
l
a
r
e
a
l
.

El siguiente programa dibuja algunas figuras geomtricas:






















El resultado de editar, depurar y compilar este cdigo fuente es el siguiente:

















9
5


I
n
g
.

R
o
d
r
i
g
o

A
v
i
l
e
s

V
i
l
l
a
r
e
a
l
.

Este programa dibuja lneas a mano alzada por medio del mouse:


























Este es el resultado de editar, depurar y compilar el programa:























Modifica este programa para que puedas dibujar lneas especificando el punto de inicio y de fin de estas.

9
6


I
n
g
.

R
o
d
r
i
g
o

A
v
i
l
e
s

V
i
l
l
a
r
e
a
l
.




















































Caracteres no imprimibles Carcteres imprimibles

9
7


I
n
g
.

R
o
d
r
i
g
o

A
v
i
l
e
s

V
i
l
l
a
r
e
a
l
.

ASCII










Nombre Dec Hex Car. Dec Hex Car.

Dec Hex Car.

Dec Hex Car.
Nulo 0 00 NUL 32 20 Espacio 64 40 @ 96 60 `
Inicio de cabecera 1 01 SOH 33 21 ! 65 41 A 97 61 a
Inicio de texto 2 02 STX 34 22 " 66 42 B 98 62 b
Fin de texto 3 03 ETX 35 23 # 67 43 C 99 63 c
Fin de transmisin 4 04 EOT 36 24 $ 68 44 D 100 64 d
enquiry 5 05 ENQ 37 25 % 69 45 E 101 65 e
acknowledge 6 06 ACK 38 26 & 70 46 F 102 66 f
Campanilla (beep) 7 07 BEL 39 27 ' 71 47 G 103 67 g
backspace 8 08 BS 40 28 ( 72 48 H 104 68 h
Tabulador horizontal 9 09 HT 41 29 ) 73 49 I 105 69 i
Salto de lnea 10 0A LF 42 2A * 74 4A J 106 6A j
Tabulador vertical 11 0B VT 43 2B + 75 4B K 107 6B k
Salto de pgina 12 0C FF 44 2C , 76 4C L 108 6C l
Retorno de carro 13 0D CR 45 2D - 77 4D M 109 6D m
Shift fuera 14 0E SO 46 2E . 78 4E N 110 6E n
Shift dentro 15 0F SI 47 2F / 79 4F O 111 6F o
Escape lnea de datos 16 10 DLE 48 30 0 80 50 P 112 70 p
Control dispositivo 1 17 11 DC1 49 31 1 81 51 Q 113 71 q
Control dispositivo 2 18 12 DC2 50 32 2 82 52 R 114 72 r
Control dispositivo 3 19 13 DC3 51 33 3 83 53 S 115 73 s
Control dispositivo 4 20 14 DC4 52 34 4 84 54 T 116 74 t
neg acknowledge 21 15 NAK 53 35 5 85 55 U 117 75 u
Sincronismo 22 16 SYN 54 36 6 86 56 V 118 76 v
Fin bloque transmitido 23 17 ETB 55 37 7 87 57 W 119 77 w
Cancelar 24 18 CAN 56 38 8 88 58 X 120 78 x
Fin medio 25 19 EM 57 39 9 89 59 Y 121 79 y
Sustituto 26 1A SUB 58 3A : 90 5A Z 122 7A z
Escape 27 1B ESC 59 3B ; 91 5B [ 123 7B {
Separador archivos 28 1C FS 60 3C < 92 5C \ 124 7C |
Separador grupos 29 1D GS 61 3D = 93 5D ] 125 7D }
Separador registros 30 1E RS 62 3E > 94 5E ^ 126 7E ~
Separador unidades 31 1F US 63 3F ? 95 5F _ 127 7F DEL

Potrebbero piacerti anche