Sunteți pe pagina 1din 49

Aprendizaje de la

Programacin
Estructurada y orientada a objetos

con aplicaciones en C++

Lev Astul Castro Ordez

0
ndice
Introduccin .................................................................................... 1
Flujograma: Lenguaje algortmico .................................................. 6
El ejecutor de algoritmos en flujograma ............................................... 7
El lenguaje flujograma .......................................................................... 8
Smbolos grficos ............................................................................. 8
Reglas para construir algoritmos ...................................................... 9
Sintaxis de las sentencias ................................................................ 11
Ejemplos ......................................................................................... 13
La ejecucin de un algoritmo .......................................................... 16
ZinjaI: Entorno de desarrollo integrado para C/C++ .................... 19
ZinjaI................................................................................................... 20
Instalacin ....................................................................................... 20
Ejecutar y trabajar con ZinjaI ......................................................... 22
El lenguaje C++ ............................................................................ 25
El alfabeto de C++ .............................................................................. 26
Tipos de datos ................................................................................. 26
Nmeros ...................................................................................... 26
1. Subconjuntos de nmeros enteros ................................... 26
2. Subconjuntos de nmeros reales ..................................... 27
Caracteres.................................................................................... 27
Lgico ......................................................................................... 27
Lgicos........................................................................................ 27
Operadores ...................................................................................... 27
Operadores Numricos................................................................ 27
Operadores Lgicos .................................................................... 27
Operadores Relacionales............................................................. 28
Operador de Asignacin ............................................................. 28
Identificadores ................................................................................ 29
Expresiones ..................................................................................... 29
Sentencias ....................................................................................... 30

i
Sentencia de asignacin .............................................................. 31
Sentencias de decisin ................................................................ 31
Sentencias repetitivas .................................................................. 32
Relacin diseodesarrollo (algoritmoprograma) ...................... 35
Aprendiendo mediante ejemplos................................................... 42
Bibliografa ................................................................................... 45
Sitios web ...................................................................................... 46

ii
Introduccin OBJETIVOS DE APRENDIZAJE

1. Conocer la metodologa para


el estudio de la estadstica
aplicada a la investigacin
cuantitativa.
2. Conocer los elementos bsicos
de MS Excel 2007.

CONTENIDOS

1. Metodologa General.
2. Elementos de MS Excel

1
Debido a que la palabra programar es de uso frecuente tanto en la Suele suceder que
vida comn y corriente como en la vida acadmica y profesional, es algunas palabras tienen
muy probable que el lector haya utilizado esta palabra. En la significado similar en su
siguiente actividad se le pide que mencione algunos contextos en uso cotidiano con su uso
que ha utilizado esta palabra: a nivel acadmico o
profesional, pero en
Actividad 1 La palabra programar
Escriba tres situaciones en las que ha utilizado la palabra programar a lo largo de estos dos ltimos
su vida. aparece de forma ms
1. refinada y casi siempre
sin ambigedades; la
2. palabra programacin
es una de ellas
3.

Tambin, es muy probable que, por el uso, el lector tenga una idea de lo
que es programar, por ello se le solicita escribir un concepto
Actividad 2 Programar significa:
Para cada una de las situaciones que list en la actividad anterior, escriba el significado
con que utiliz la palabra programacin:
1.

2.

3.

El diccionario de la Real Academia Espaola presenta varias acepciones


para la palabra programar, entre ellas:
Formar programas, previa declaracin de lo que se piensa
hacer y anuncio de las partes de que se ha de componer un acto
o espectculo o una serie de ellos
Preparar ciertas mquinas por anticipado para que empiecen a
funcionar en el momento previsto
Elaborar programas para la resolucin de problemas mediante
ordenadores
Y la palabra programacin la define como accin y efecto de
programar. Esta breve referencia al significado de estas palabras nos da
una idea de lo que trata este material; sin embargo, como suele suceder
con muchos trminos tomados del ambiente cotidiano, es necesario
precisarlo ms.
Actividad 3
Busque en Internet o en algn libro la definicin de programacin en el contexto
de la Ciencias de la Computacin. Se parece su concepto con el que acaba de
encontrar? Comente.

2
Ahora se presenta una definicin tomada de un libro sobre lenguajes de
programacin y una derivacin hecha por el autor

Definicin 1 Programa y programar


Programa Es la especificacin de una tarea de computadora (Sethi, 1991)
Programar es escribir la especificacin de la tarea de computadora

Segn lo anterior, para entender qu es un programa y qu es programar


es necesario entender que es especificacin y que es una computadora.

En primer lugar especificar es describir algo con detalle y sin


ambigedades. En segundo lugar una computadora es un objeto (fsico o
ideal) que es capaz de realizar tareas que le han sido especificadas en un
lenguaje apropiado.

Una computadora puede ser un objeto fsico o ideal (imaginario), pero en


ambos casos estn compuestos por los mismos elementos fundamentales:

Procesador
Dispositivo de entrada
Dispositivo de salida
Unidad de almacenamiento

Tambin, la computadora se conoce como el ejecutor del programa,


porque es ella quien realiza o ejecuta lo que se especifica en el programa.
De hecho, cada cosa que se especifica en el programa afecta al menos a
uno de los elementos de la computadora.

Ahora bien quin crea el programa o especificacin? cmo lo crea?


para qu lo crea? por qu lo crea? Estas y otras preguntas sern
contestadas pronto, sin embargo se pide al lector que trate de contestarlas
ya sea a partir de sus conocimientos o investigando con otras personas,
en internet o libros.

3
Actividad 3
Conteste las siguientes preguntas:
1. Quin crea el programa o especificacin?

2. Cmo lo crea?

3. Para qu lo crearlo?

4. Por qu lo crea?

Para comprender mejor la tarea que llamamos programar se presenta la


siguiente situacin general acompaada
de la figura de la derecha en la cual se
8
han enumerado algunos elementos, los
cuales sern citados en la descripcin
siguiente. 7
6
1
Considere un ambiente, al cual
llamaremos mundo real (por ejemplo:
nuestro mundo, nuestra escuela, nuestro
trabajo, nuestra casa, nuestra
universidad, nuestra oficina, etc.). En
3
este ambiente (8) existen objetos,
ocurren hechos, se establecen relaciones,
se ejecutan procesos, se presentan 2

obstculos, distinguimos caractersticas


5
constantes o variables, etc.

Suponga ahora que reconocemos cuatro


tipos de situaciones (1): problemas,
tareas rutinarias, tareas peligrosas, tareas
laboriosas. De hecho, el ser humano se 4
ha enfrentado a este tipo de situaciones
desde los comienzos de su existencia, y
uno de sus anhelos ha sido liberarse de
ellos. En ocasiones lo ha logrado
9
teniendo a alguien o algo que lo haga
por l (desafortunadamente esto ha
implicado la esclavitud en algunas ocasiones). A este alguien o algo que
recin mencionamos podramos darles un nombre: ejecutores (6); pero
debe existir alguien o algo que indique a los ejecutores qu hacer;
podramos llamar a estos programadores (2) y a la lista de cosas que
debe hacer el ejecutor podramos llamarle instrucciones (4). En
ocasiones algunos conjuntos de instrucciones tienen ciertas
caractersticas que las diferencias de otros conjuntos de instrucciones y

4
las llamamos algoritmos o programas (4). Estos algoritmos o programas
son creados en un ambiente artificial (9) tambin llamado mundo
abstracto. Todo lo que all se especifica debe hacerse en un lenguaje de
especificacin llamado lenguaje algortmico o lenguaje de
programacin. Entonces, la tarea del programador es, mediante un
proceso de abstraccin (3), construir un modelo en el mundo abstracto
que realice la tarea o resuelva el problema identificado en un mundo real.
Este modelo debe ser llevado a un sistema (6), el cual consta de ejecutor
y algoritmo (hardware y software). Una vez implantado este sistema en
el mundo real (5), el usuario (7) puede utilizarlo para realizar la tarea o
resolver el problema.

Este esquema general recin explicado servir de base para orientar los
conocimientos y habilidades que el lector desarrollar a lo largo de este
material. Es de suma importancia que el lector identifique en que mundo
est en cada momento: real o abstracto; pues esto implicar una mejor
comprensin de su tarea como programador.

En este escrito se tratarn dos lenguajes: Lenguaje Algortmico de


Flujograma (LAF) y C++. Tambin se abordarn los paradigmas de
programacin Estructurada y Orientada a Objetos.

5
Flujograma: OBJETIVOS DE APRENDIZAJE

Lenguaje
algortmico 3. Conocer la metodologa para
el estudio de la estadstica
aplicada a la investigacin
cuantitativa.
4. Conocer los elementos bsicos
de MS Excel 2007.

CONTENIDOS

3. Metodologa General.
4. Elementos de MS Excel

6
Para construir algoritmos existen varios lenguajes; estos pueden ser
formales o no formales. El lenguaje algortmico flujograma es un
lenguaje no formal diseado para ejecutores imaginarios. El propsito de
este lenguaje es especificar cmo funciona un algoritmo sin hacer
referencia a un ejecutor especfico o a algn lenguaje de programacin
en particular.

Actividad
Investigar qu es un lenguaje formal y no formal.

El ejecutor de algoritmos en flujograma


Antes de definir el lenguaje en cuestin se presentan las caractersticas
del ejecutor:

1. Es imaginario.
2. Tiene mecanismos para:
a. capturar datos del entorno.
b. devolver datos al entorno.
c. Procesar datos
3. Admite datos de tipo:
a. Numrico (nmeros reales)
b. Cadena (texto o combinaciones de texto y nmeros)
c. Carcter (a partir de cada smbolo del alfabeto, cada
dgito y algunos smbolos especiales como {, }, [, ], (, ),
+, , etc.)
d. Lgico (verdadero o falso, los cuales se pueden
representar como V y F respectivamente)
4. Se pueden definir identificadores variables, las cuales almacenan
datos de los tipos listados en 3. Estas variables tienen una
memoria asociada a la cual se hace referencia por medio del
identificador de variable.
5. Admite operaciones entre identificadores de variables o literales
a. Operaciones aritmticas, las cuales actan sobre
nmeros:
i. Adicin: +
ii. Sustraccin:
iii. Multiplicacin:
iv. Divisin: /
b. Operaciones relacionales, las cuales actan sobre
nmeros, o sobre caracteres, o sobre cadenas, o sobre
valores lgicos; pero no se pueden mezclar los tipos de
valor:
i. Igual que: =
ii. Menor que: <

7
iii. Mayor qu: >
iv. Menor o igual que:
v. Mayor o igual qu:
vi. Diferente de:
c. Operaciones lgicas:
i. Negacin: No
ii. Disyuncin: O
iii. Conjuncin: Y
d. Operaciones de cadena:
i. Longitud: Long(e), donde e es una expresin de
cadena.
ii. Concatenacin: +

Se aceptan las siguientes afirmaciones:

1. El vaco o ausencia de smbolo es un carcter de longitud cero.


2. Todo carcter es cadena. Su longitud es 1, excepto para el vaco.
3. Toda operacin aritmtica produce valores numricos.
4. Toda operacin relacional produce valores lgicos.
5. Toda operacin lgica produce valores lgicos.

El lenguaje flujograma
Este es un lenguaje no formal que utiliza, principalmente, smbolos
grficos para especificar un algoritmo.

Smbolos grficos
La siguiente lista de smbolos es una adaptacin de algunos estndares
internacionales:

Smbolo Significado
Inicio o Fin
Se utiliza para indicar al ejecutor el inicio o el
fin de un algoritmo.
Asignacin
Se utiliza para indicar que el ejecutor debe
realizar una asignacin.

Entrada
Se utiliza para indicar al algoritmo que debe
capturar una entrada o valor desde el entorno

Salida
Se utiliza para indicar al ejecutor que debe
mostrar un valor al entorno.

8
Smbolo Significado
Decisin
Indica al ejecutor que inicia un proceso de
decisin.

Subproceso o mdulo
Indica una llamada o invocacin a otro
algoritmo.

Lneas de flujo
Indican al ejecutor cul sentencia se debe
ejecutar.

Conector en la pgina
Se utiliza para conectar fragmentos de un
algoritmo en una misma pgina.
Conector entre pginas
Se utiliza para conectar fragmentos de
algoritmos entre pginas.

A parte de los smbolos grficos se cuenta con otros smbolos; juntos


forman el alfabeto del lenguaje:

1. El abecedario castellano en mayscula y en minscula.


2. Los dgitos
3. Smbolos especiales: +, /, *, , ^, (, ), {, }, entre otros.

Reglas para construir algoritmos


Los smbolos que se listaron en la seccin anterior se deben utilizar
adecuadamente para construir flujogramas. A continuacin se presentan
las reglas para la construccin de los diferentes elementos que podran
componen un flujograma:

1. Los valores numricos se construyen a partir de los dgitos, tal


como ocurre en matemtica.
2. Los valores de cadena se construyen concatenando smbolos del
abecedario, dgitos o smbolos especiales.
3. Valores literales. Un valor literal es aquel cuyo valor se obtiene
a simple vista pues el valor es representado directamente; por
ejemplo: 12, 56.09, V, Hola. Estos valores suelen llamarse
constantes.
4. Los identificadores de variables se construyen utilizando
smbolos del abecedario, dgitos y guion bajo, pero deben
empezar con una letra. Todo identificador de variable tiene una
memoria asociada en donde se guardan los valores (uno a la

9
vez); estos valores pueden cambiar. El identificador de variable
debera representar un atributo en el dominio del problema.
5. Un identificador de constante cumple las mismas caractersticas
de un identificador de variable, excepto que el contenido de su
memoria no cambia.
6. Una expresin se forma mediante alguno de los siguientes casos
a. Un valor literal
b. Un identificador de variable.
c. Un identificador de constante.
d. Una operacin vlida entre valores literales,
identificadores de constante y/o identificadores de
variables.
7. Una sentencia es una orden. Existen sentencias simples:
a. entrada
b. asignacin
c. salida
d. inicio
e. fin
y existen sentencias compuestas:
a. decisin
b. repeticin
c. llamada
8. Un algoritmo es un conjunto de sentencias debidamente
enlazadas. Este conjunto debe cumplir con la definicin vista al
inicio. Adems:
a. Todo algoritmo tiene un inicio
b. Todo algoritmo tiene un fin.
c. Su estructura es:
i. Encabezado. Tambin llamado nombre, debe ser
un identificador con o sin parmetros.
ii. Descripcin. Se escribe entre llaves y explica el
propsito del algoritmo, describe de manera
general su funcionamiento, lista los
identificadores que utiliza, indica la fecha en que
fue construido y el autor.
iii. Cuerpo (al cuerpo es a lo que usualmente se le
llama flujograma, abusando del trmino).
d. Del smbolo de inicio debe salir una lnea de flujo.
e. Al smbolo de fin debe llegar una lnea de flujo.
f. De los smbolos de entrada, asignacin y salida debe
salir una lnea de flujo y debe llegar una lnea de flujo.
g. Del smbolo de decisin deben salir dos lneas de flujo y
debe llegar una lnea de flujo.

10
h. Las lneas de flujo pueden parecer en forma horizontal,
vertical o quebrada.

Sintaxis de las sentencias


Suponga que:

1. iv, con o sin subndices significa identificador de variable.


2. e, con o sin subndices significa expresin.
3. s, con o sin subndices significa una sentencia cualquiera.
4. el, con o sin subndices significa expresin lgica.
5. iP, con o sin subndices significa identificador de proceso.
6. p, con o sin subndices significa identificador de parmetro.

A continuacin se presenta la sintaxis y la interpretacin de las


sentencias en flujograma

Sentencia Explicacin
Sentencia de Inicio
Inicio
El algoritmo indica al ejecutor el inicio. Se
puede interpretar como Encender el
ejecutor
Sentencia de Entrada
El algoritmo le indica al ejecutor que
capture o reciba datos del entorno y los
iv1, iv2, , ivn
guarde, uno en cada identificador de
variable.
Mientras los datos no sean ingresados
desde el entorno, el algoritmo estar a la
espera.
iv1=e1
Sentencia de Asignacin
iv2=e2 El algoritmo indica al ejecutor que
resuelva la expresin y almacene el
ivn=en resultado en el identificador.

11
Sentencia Explicacin
Sentencia de Decisin
El algoritmo indica al ejecutor que evale
la expresin lgica (el), si sta resulta
el No
verdadera entonces el algoritmo pide al
ejecutor que ejecute todas las sentencias
Si en la ruta Si, de lo contrario pide al
ejecutor que ejecute todas las sentencias
S1 S1 de la ruta No.

Sn Sm

Sentencia de Decisin
El algoritmo indica al ejecutor que evale
la expresin lgica (el), si sta resulta
el No
verdadera entonces el algoritmo pide al
ejecutor que ejecute todas las sentencias
Si en la ruta Si. Cuando la expresin lgica es
falsa el algoritmo indica al ejecutor pasar
S1 por la ruta No sin ejecutar sentencias.

Sn

Sentencia de Repeticin (de una o ms


iteraciones)
El algoritmo indica al ejecutor que ejecute
S1 un conjunto de sentencias, luego le pide
que evale la expresin lgica (el). Si sta
resulta verdadera entonces el algoritmo
pide al ejecutor que vuelva a ejecutar las
Sn sentencias. Esto se repite hasta que la
evaluacin de la expresin lgica resuelta
Falso

Si el

No

12
Sentencia Explicacin
Sentencia de Repeticin (de cero o ms
iteraciones)
El algoritmo le indica al ejecutor que
el No evale la expresin lgica (el). Si esta
resulta verdadera el algoritmo pide al
ejecutor que ejecute las sentencias en la
Si
ruta Si. Luego le pide que vuelva a evaluar
le expresin lgica (el). Este proceso se
S1
repite mientras la expresin lgica resulta
Verdadero.

Sn

Sentencia de Llamada o Invocacin


El algoritmo pide al ejecutor que ejecute
iP(p1, p2 ,, pn) un proceso (funcin, procedimiento,
mtodo, mdulo, entre otros) pasando
valores para los parmetros.
Sentencia de salida
e1, , en El algoritmo le indica al ejecutor que
muestre al entorno los valores de las
expresiones e1, , en.
Sentencia de Finalizacin
Fin
El algoritmo indica al ejecutor que los
procesos han finalizado. Se puede
interpretar como Apagar el ejecutor

Ejemplos
A continuacin se presenta una serie de ejemplos. Es conveniente que el
lector repase todo lo anterior acerca de flujogramas para identificarlo en
los ejemplos

Ejemplo 1
Se desea escribir un algoritmo permite capturar cuatro nmeros reales, calcula su
media aritmtica y muestra el resultado

Para ello se definen los identificadores:


Los cuatro nmeros reales: Num1, Num2, Num3, Num4.
La media aritmtica de los cuatro nmeros: Prom.

Escriba el algoritmo del mtodo mPromedio.

Un algoritmo para la situacin planteada puede ser:

MediaAritmetica
{Este algoritmo captura cuatro nmeros reales, calcula su promedio y luego lo

13
muestra.
Num1, Num2, Num3 y Num4 son los cuatro nmeros reales
Prom es la media aritmtica de los cuatro nmeros
Autor: Lev Castro}
Inicio

Num1, Num2,
Num3, Num4

Prom=(Num1+Num2+Num3+Num4)/4

Prom

Fin

Ejemplo 2
Se desea escribir un algoritmo que permita mostrar las races reales de un polinomio de
grado dos en una variable.

Se definen los siguientes identificadores:


A, B, C como los coeficientes principal, medio e independiente
respectivamente.
D como el discriminante del polinomio
R1, R2 como las races reales del polinomio.

Un algoritmo para la situacin propuesta es:

Raices
{Este algoritmo calcula y muestra las races reales de un polinomio de grado dos a partir
del valor de los coeficientes.
A, B, C son los coeficientes principal, medio e independiente respectivamente.
D es el discriminante
R1, R2 son las races
Autor: Lev Castro }

14
Inicio

A, B, C

A<>0 No

Si

D=B2-4AC

Si D<0 No D=0 No
l coeficiente principal
no puede ser cero
No tiene races
reales Si

R1=-B/(2A) R1=(-B+Raiz(D))/(2A)
R1=(-B-Raiz(D))/(2A)
Primera raz: , R1
Segunda raz: , R1
Primera raz: , R1
Segunda raz: , R2

Fin

15
La ejecucin de un algoritmo
A continuacin se presenta un ejemplo detallado de lo que ocurre cuando un algoritmo se ejecuta. Para ello se considerar en un entorno al
algoritmo, al ejecutor y al usuario. Para efectos de este ejercicios se supone que el algoritmo Raices se ejecuta para encontrar las races de
x2 x 2 .

Algoritmo Explicacin Memoria Salida


El algoritmo indica al ejecutor que inicie. Se
Inicio crea la memoria del algoritmo. Luego la lnea de A B C D R1 R2
flujo lleva el control de ejecucin a la siguiente
sentencia.
El algoritmo indica al ejecutor que realice una
captora de datos mediante la sentencia de A B C D R1 R2
A, B, C
entrada. Cuando el usuario ingresa los 1 1 -2
coeficientes, stos son almacenados en la
memoria de los identificadores. Luego el flujo
para a la siguiente sentencia
El algoritmo pide al ejecutor que resuelva la
A<>0 expresin lgica A<>0. Como esta resulta A B C D R1 R2
verdadera, el flujo pasa al bloque Si. 1 1 -2
El algoritmo indica al ejecutor que resuelva la
expresin B2-4AC y que almacene el resultado A B C D R1 R2
D=B2-4AC en el identificador D. Luego el flujo lleva a la 1 1 -2 9
siguiente sentencia.

16
Algoritmo Explicacin Memoria Salida
Si D<0 No D=0 No
En la sentencia de decisin, el algoritmo pide al
ejecutor que evale la expresin D<0. Dado que
No tiene races
reales Si en la memoria de D est almacenado el valor 9,
D<0 es Falso. Entonces se ejecuta el bloque de A B C D R1 R2
R1=-B/(2A) R1=(-B+Raiz(D))/(2A)
R1=(-B-Raiz(D))/(2A)
sentencias en la ruta No. La lnea de flujo pasa 1 1 -2 9
Primera raz: , R1
el control de ejecucin hacia ese bloque.
Segunda raz: , R1
Primera raz: , R1
Segunda raz: , R2

El algoritmo pide al ejecutor que evale la


D=0 No
expresin lgica D=0. Dado que en la memoria
Si
de D est almacenado el valor 9, D<0 es Falso. A B C D R1 R2
Entonces se ejecuta el bloque de sentencias en la 1 1 -2 9
R1=-B/(2A) R1=(-B+Raiz(D))/(2A) ruta No. La lnea de flujo pasa el control de
R1=(-B-Raiz(D))/(2A)
ejecucin hacia ese bloque.
Primera raz: , R1
Segunda raz: , R1
Primera raz: , R1
Segunda raz: , R2

El algoritmo pide al ejecutor que evale la


expresin (-B+Raiz(D))/(2*A) y que almacene A B C D R1 R2
R1=(-B+Raiz(D))/(2A)
R1=(-B-Raiz(D))/(2A) el resultado en la memoria del identificador R1. 1 1 -2 9 1 -2
Luego algoritmo pide al ejecutor que evale la
expresin (-B-Raiz(D))/(2*A) y que almacene el

17
Algoritmo Explicacin Memoria Salida
resultado en la memoria del identificador R2.
Luego el control de ejecucin pasa a la siguiente
sentencia.
El algoritmo pide al ejecutor que enve como Primera raz: 1
salida la cadena literal Primera raz: seguida A B C D R1 R2 Segunda raz: -2
del contenido del identificador R1, y Segunda 1 1 -2 9 1 -2
raz: seguida del contenido del identificador R2
Primera raz: , R1 Luego el control de ejecucin cierra la sentencia
Segunda raz: , R2
de decisin.
Luego el control de ejecucin cierra la otra
sentencia de decisin.
Luego el control de ejecucin pasa a la siguiente
sentencia.
Fin El algoritmo pide al ejecutor que se apague y Primera raz: 1
se destruye la memoria del algoritmo. Segunda raz: -2

Con relacin al seguimiento de la ejecucin del algoritmo anterior observe lo siguiente:

1. En la sentencia de salida Primera raz aparece entre apstrofos


2. En la columna de la tabla rotulada como Salida, Primera raz no aparece entre apstrofos

Por qu ocurre lo anterior?

18
ZinjaI: Entorno OBJETIVOS DE APRENDIZAJE

de desarrollo
integrado para 5. Conocer la metodologa para
el estudio de la estadstica

C/C++
aplicada a la investigacin
cuantitativa.
6. Conocer los elementos bsicos
de MS Excel 2007.

CONTENIDOS

5. Metodologa General.
6. Elementos de MS Excel

19
En esta seccin se explicar brevemente el entorno de desarrollo
integrado ZinjaI para que el lector pueda escribir, depurar y ejecutar los
programas de C++ que se proponen en captulos posteriores.

ZinjaI
En la pgina Web oficial de ZinjaI se afirma que:

ZinjaI es un IDE (entorno de desarrollo integrado) libre y gratuito


para programar en C/C++. Pensado originalmente para ser utilizado por
estudiantes de programacin durante el aprendizaje, presenta una
interfaz incial muy sencilla, pero sin dejar de incluir funcionalidades
avanzadas que permiten el desarrollo de proyectos tan complejos como
el propio ZinjaI.

Un Entorno de Desarrollo Integrado es un conjunto de herramientas que


facilitan la escritura, depuracin y compilacin de programas.

Instalacin
Para instalar ZinjaI debe descargar el archivo de instalacin desde la
pgina Web oficial http://zinjai.sourceforge.net/, all encontrar
distribuciones para varios sistemas operativos e indicaciones para su
instalacin.

Al momento de escribir este libro la pgina luca as:

Para descargar la versin para Windows de pulsar clic en la opcin

Que se encuentra en dicha pgina. Esto le llevar a la pgina:

20
en donde podr encontrar una simple instruccin de instalacin. Si pulse
clic en

lo llevar a otra pgina. Debe esperar unos instantes hasta que aparezca
la ventana de descarga

Debe pulsar clic en Guardar archivo para que inicie la descarga.

Una vez descargado el archivo de instalacin debe abrir la carpeta en que


fue guardado (usualmente Descargas) y pulsar doble clic en el archivo
para que inicie el proceso de instalacin. Si desea instalarlo en otra
computadora puede hacer una copia del archivo de instalacin en algn
dispositivo de memoria porttil (tal como una memoria USB), para luego
ejecutarlo en la computadora en la cual desea realizar la instalacin.

Por omisin ZinjaI se instala en la carpeta Archivos de programa(x86) y


se puede crear un acceso directo en el escritorio de Windows.

21
Ejecutar y trabajar con ZinjaI
Para ejecutar ZinjaI puede entrar a la carpeta en que se instal y pulsar
doble clic en el archivo zinjai.exe o pulsar doble clic en el acceso directo
que se cre en el escritorio (esto ltimo es lo ms cmodo)

Entonces se ejecutar el programa y aparecer una ventana como la


siguiente:

Para empezar a escribir programas existen dos opciones Crear un


programa simple o Crear un nuevo proyecto; en nuestro caso, de
momento trabajaremos nicamente con programas simples.

Al pulsar clic en Crear un programa simple aparece la ventana siguiente:

22
En nuestro caso seleccionaremos la primera opcin, Programa C++ en
blanco, y luego pulsaremos clic en Crear. Entonces aparecer una
ventana como la siguiente:

Barra de ttulo
Barra de men

Plantilla de
Barra de herramientas
programa simple
de ttulo
Nombre Externo del
programa

Nmero de lnea de
cdigo

rea para escritura


del cdigo

En esta ventana se distinguen varias reas, las cuales estn rotuladas en


la figura anterior. Tambin al lado izquierdo de la ventana se pueden
abrir algunos paneles que brindan informacin adicional acerca del
programa que se est escribiendo. En la parte inferior de la ventana,
cuando se ejecuta un programa, aparece una ventana que informa acerca
del proceso de compilacin; si en el proceso ocurre algn error, en esta
ventana se presenta un registro de los errores detectados. A continuacin
se muestra un ejemplo de la ventada con resultados de compilacin con
algunos errores:

Cuando un programa se ejecuta aparece una ventana tipo consola, la cual


sirve de interfaz entre el programa y el usuario:

23
En las ventanas de Windows, en la barra de ttulo, suelen aparecer
algunos botones en la parte superior derecha; a continuacin se describe
su uso:

(a) Maximizar:
(b) Minimizar:
(c) Cerrar:

24
El lenguaje C++ OBJETIVOS DE APRENDIZAJE

7. Conocer la metodologa para


el estudio de la estadstica
aplicada a la investigacin
cuantitativa.
8. Conocer los elementos bsicos
de MS Excel 2007.

CONTENIDOS

7. Metodologa General.
8. Elementos de MS Excel

25
Es un lenguaje de multiparadigma; es decir que implementa varios
paradigmas de programacin: estructurado, orientado a objetos, etc:

C++ es un lenguaje de programacin diseado a mediados de los aos


1980 por Bjarne Stroustrup. La intencin de su creacin fue el extender
al lenguaje de programacin C mecanismos que permiten la
manipulacin de objetos. En ese sentido, desde el punto de vista de los
lenguajes orientados a objetos, el C++ es un lenguaje hbrido.

Posteriormente se aadieron facilidades de programacin genrica, que


se sumaron a los paradigmas de programacin estructurada y
programacin orientada a objetos. Por esto se suele decir que el C++ es
un lenguaje de programacin multiparadigma.

Wikipedia

El alfabeto de C++
El alfabeto de C++ incluye:

1. Letras del alfabeto ingls, maysculas y minsculas:


A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R,
S, T, U, V, W, X, Y, Z
a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r,
s, t, u, v, w, x, y, z

2. Los dgitos:
0, 1, 2, 3, 4, 5, 6, 7, 8, 9
3. Smbolos especiales, entre ellos:
+, -, *, /, %, &, |, {, }

Con estos smbolos ms un conjunto de reglas se escriben todas las


dems cosas en el lenguaje.

Tipos de datos
En C++ se definen algunos tipos de datos. Estos son importantes porque
especifican los conjuntos de datos con sus operaciones. Estos conjuntos
de datos sirven para representar magnitudes de la realidad en el lenguaje:

Nmeros
En Smalltalk se tienen varias tipos de datos que corresponden a
subconjuntos de nmeros conocidos en la aritmtica:

1. Subconjuntos de nmeros enteros


short
int
long
long long

26
2. Subconjuntos de nmeros reales
float
double
long double

Con el modificador unsigned se pueden obtener nmeros enteros sin


signo; de esta manera se obtienen subconjunto de nmeros naturales ms
amplio.

Caracteres
Un carcter es cualquiera de los caracteres ASCII. En C++ el tipo de dato
asociado se llama char.

Lgico
En C++ el tipo de dato asociado a los valores lgicos verdadero y falso
es bool; cuyos valores son true y false.

Lgicos
En C++ El tipo de dato asociado a las cadenas se llama string, pero
para utilizarlo se debe incluir una librera adicional. Tambin se puede
utilizar el tipo de dato char para declarar algunas cadenas con una
longitud especfica. Ambas cosas se estudiarn en detalle ms adelante.

Operadores
Los operadores permiten generar datos a partir de otros. Existen un gran
nmero de operadores pero a continuacin se listan los que utilizaremos
con mayor frecuencia

Operadores Numricos
Actan sobre los tipos numricos y pueden verse como equivalentes a las
operaciones sobre nmeros reales de las matemticas. Los que se listan a
continuacin devuelven valores de algn tipo numrico:

Operacin Smbolo Ejemplo


Adicin + 23+45 devuelve 68
Sustraccin - 23-45 devuelve -22
Multiplicacin * 23*45 devuelve 1035
Divisin / 23/45 devuelve 0.511111111
Residuo % 23//45 devuelve 23

Operadores Lgicos
Permiten comparar objetos de tipo lgico devuelven valores lgicos.

Operacin Smbolo Ejemplo


Conjuncin && true && false devuelve false
Disyuncin || true || false devuelve true

27
Negacin ! !true devuelve false

Los primeros operadores son binarios mientras que ! es unario, es decir


acta nicamente sobre un operando.

Para conocer los valores que devuelven los operadores se puede utilizar
la siguiente tabla de verdad. Para el operador &&.

Operacin Valor
true && true true
true && false false
false && false false
false && true false

Pata el operador ||

Operacin Valor
true || true true
true || false True
false || false false
false || true true

Para el operador !

Operacin Valor
!true false
!false true

Operadores Relacionales
Sirven para comparar elementos de un mismo tipo y devuelven valores
bool.

Operacin Smbolo Ejemplo


Menor < 23<11 devuelve false
Mayor > 23>11 devuelve true
Menor o igual <= 23<=11 devuelve false
Mayor o igual >= 23>=11 devuelve true
Igual == 23==11 devuelve false
Distinto != 23!=11 devuelve true

Operador de Asignacin
Se puede realizar una asignacin de varias formas; una de ellas es
mediante el operador =. Por ejemplo, si x es una variable numrica (por
ejemplo int) entonces la siguiente es una asignacin:

28
x = 34;

La sintaxis general es

iv = e;

Donde iv es un identificador de variable y e es una expresin. Adems,


iv y e deben ser de tipos de datos compatibles.

Identificadores
Un identificador es una palabra escrita en C++ que sirve para
representar algo. Usualmente un identificador representa algo de la
realidad.

Para escribir un identificador podemos seguir las mismas reglas que para
el lenguaje flujograma; aunque en C++ existen otros detalles acerca de
los identificadores, estos no sern estudiados en este libro.

A diferencia del lenguaje algortmico, en C++ un identificador


nicamente debe cumplir con su sintaxis, aunque no se indique qu est
identificando; por supuesto no especificarlo es una mala prctica de
programacin.

Para declara un identificador de variable en C++ se debe indicar el tipo


de dato que tendr asociado. Tambin, este debe ser declarado en
secciones especficas del programa, pero esto determinar su alcance;
concepto que se estudiar posteriormente.

A continuacin se presenta ejemplos de declaracin de identificadores de


variable:

int x, y;

bool primo;

float a, b, raz;

string Nom, Apell;

Tambin, como C++ es un lenguaje sensible a las maysculas, las


declaraciones siguientes generan dos identificadores diferentes:

float Edad, edad;

Expresiones
Es una secuencia de smbolos que puede ser evaluada, es decir toma un
valor. Existen varias formas de clasificar las expresiones:

29
1. Por la manera como expresa su valor
a. Literal
b. Variable
2. Por el tipo de valor que toma
a. int
b. float
c. bool
d. string
e. char
f. entre otros

Las expresiones se construyen a partir de literales, identificadores u


operadores.

Las expresiones literales, al igual que en flujograma, son aquellas cuyo


valor se expresa directamente, por ejemplo:

Expresin Explicacin
67 Es un valor literal tipo int
d Es un valor literal tipo char
Sol Es un valor literal tipo string
true Es un valor literal tipo bool
78.09 Es un valor literal tipo float

Suponga que se cuenta con la declaracin de identificadores variables


siguiente:

int a, b;
float x, y;
char r;
string cod;

Entonces las siguientes son expresiones:

b
b*a
3*x - y/2
cod!=r
44
Revisado
M
Muy bien
56 + 67

Sentencias
Las sentencias son rdenes; en este caso rdenes del programa a la
computadora. A continuacin se listan las sentencias que utilizaremos
con ms frecuencia.

30
Sentencia de asignacin
Tiene la siguiente sintaxis

iv = e;

Al ejecutar una sentencia de asignacin primero se evala la expresin,


e, y luego el resultado se asigna al identificador de variable iv. Tanto iv
como e deben ser de tipos de datos compatibles; por ejemplo, si iv es de
tipo string entonces expresin, e, puede ser string o char.

Sentencias de decisin
La sentencia de decisin permite modelar los procesos que en la vida real
requieren de seleccin de alternativas para la realizacin de tareas. Por
ejemplo, en una fbrica se puede tener la siguiente situacin:

Si el motor alcanza una temperatura de riesgo, entonces se debe


detener el proceso y darle mantenimiento al motor, de lo
contrario se contina con la produccin.

A propsito se resaltaron algunos elementos del texto anterior. Las que


estn en negrita son las que vinculan las que estn en cursiva:

el motor alcanza una temperatura de riesgo

Es una condicin; en lenguaje algortmico o de programacin esto


corresponde a una expresin lgica, por tanto puede tomar valor
verdadero o falso.

se debe detener el proceso y darle mantenimiento al motor

Son dos acciones que se deben realizar si la condicin es verdadera; en


lenguaje algortmico o de programacin estas seran sentencias.

se contina con la produccin

Es una accin que se debe realizar si la condicin es falsa; en lenguaje


algortmico esta sera una sentencia.

En C++ las condiciones se traducen mediante sentencias de decisin.


Para ello tenemos tres dos:

C++ Flujograma

31
el No

Si
if (el){
sentencias
}
else{
sentencias
};

el No

Si

if (el){
sentencias
};

Sentencias repetitivas
En la vida real algunas tareas requieren la ejecucin repetida de ciertos
pasos; a esto llamamos repeticiones o ciclos. Para implementar esto en
un lenguaje algortmico o de programacin existen las sentencias
repetitivas.
Los ciclos que ocurren en la vida real no son todos de la misma
naturaleza interno o estructura. Por ejemplo:

1. Si una persona tiene una venta de garaje, cuando llegue un


cliente a comprar un artculo debe: decirle el precio, si el cliente
lo desea comprar entonces tomar el dinero, si esta cantidad
excede al precio le dar cambio, le entregar el artculo. Esto lo
debe realizar por cada persona que compre algn artculo.

32
2. Cuando una persona lleva los productos que desea comparar al
cajero del supermercado la persona que est en caja debe: tomar
un producto, marcar la cantidad de unidades (si es necesario),
pasarlo por el lector, verificar que los datos coincidan con el
producto. Pero si hay ms productos debe repetir estos pasos
para cada uno de los productos restantes.
3. Si un profesor desea calcular la nota final de sus alumnos
despus de aplicar cuatro exmenes deber: sumar las notas de
los exmenes, dividir el resultado entre la cantidad de exmenes,
registrar el resultado.

Si analizamos estos problemas, veremos que son de naturaleza diferente.

1. En el primer caso, es posible que no se realice ninguna venta, en


cuyo caso no realizar los pasos; entonces los pasos se realizan
al menos cero veces.
2. En el segundo caso, el cajero debe realizar los pasos al menos
una vez; ya que el cliente lleva al menos un producto.
3. En el tercer caso, el profesor realizar los clculos y
asignaciones un nmero conocido de veces; exactamente igual a
la cantidad de alumnos.

Si a una ejecucin de un conjunto de pasos le llamamos iteracin,


entonces, de lo anterior deducimos que los ciclos finitos pueden ser:

1. Cero o ms iteraciones.
2. Una o ms iteraciones:
1. Cantidad de iteraciones desconocida
2. Cantidad de iteraciones conocida

En C++ se cuenta con varias sentencias repetitivas que permiten modelar


estos procesos de la vida real:

Para ciclos de cero o ms iteraciones en los que se realizan


iteraciones si alguna condicin (expresin lgica en C++) es
verdadera

while (el){
sentencias
};

Para ciclos de una o ms iteraciones con la cantidad conocida:

for (iv=valor inicial; el; mtodo de cambio){


sentencias
};

En este caso la expresin lgica, el, debe ser una comparacin de iv


con un valor de referencia el cual determina el nmero de

33
iteraciones; de hecho el total de iteraciones cuando el mtodo de
cambio es iv++ y el valor de referencia es e est dado por:
|e valor inicial| + 1.

34
Relacin OBJETIVOS DE APRENDIZAJE

diseodesarrollo
(algoritmoprogr 9. Conocer la metodologa para
el estudio de la estadstica
aplicada a la investigacin
ama) cuantitativa.
10. Conocer los elementos bsicos
de MS Excel 2007.

CONTENIDOS

9. Metodologa General.
10. Elementos de MS Excel

35
La etapa de desarrollo implica la escritura de programas a partir de los
algoritmos y de las interfaces diseados. Sin embargo, se debe enfatizar
que no existe una traduccin directa del diseo al desarrollo debido a las
caractersticas particulares de los lenguajes (algortmico y de alto nivel) y
a los requerimientos de hardware y software del programa.

No obstante lo anterior, es conveniente tener presente la equivalencia de


un lenguaje a otro y del algoritmo al programa. El propsito de esta
seccin es presentar tal equivalencia y sugerir algunas ideas para pasar
del diseo al desarrollo.

Diseo Desarrollo
Ejecutor
Es Imaginario o ideal Es real y consta de: computadora+Sistema
operativo+bibliotecas
El lenguaje
Flujograma C++

El alfabeto
1. Abecedario 1. Abecedario
2. Dgitos Dgitos
3. Smbolos especiales (no existe una lista 2. Smbolos especiales (existe una lista
exhaustiva) exhaustiva)
4. Smbolos grficos

Tipos de datos
1. Nmero 1. int
long
float
long double
Entre otros.
2. Carcter
2. char
3. Cadena
3. string
4. Lgico
4. bool

Literales

36
Diseo Desarrollo
1. Numricos, por ejemplo: 1. Numricos, por ejemplo:
17 17
89.14
89.14
4/3

2. Carcter, por ejemplo: 2. char, por ejemplo:


2
2 h
h

3. Cadena, por ejemplo: 3. string, por ejemplo:


Ana Sofa Ana Sofa
67 + 11
67 + 11
Identificadores
1. Deben iniciar con una letra 1. Deben iniciar con una letra
2. Pueden contener letras, dgitos y _ 2. Pueden contener letras, dgitos, _ y otros
smbolos.
3. Es sensible a las maysculas
Operaciones y sus operadores
1. Numricos (producen valores numricos): 1. Numrico:
Adicin: + Adicin: +
Substraccin: - Substraccin: -
Multiplicacin: Multiplicacin: *
Divisin: / Divisin: /
Residuo: %
2. Relacionales (producen valores lgicos): 2. Relacionales (producen valores Boolean):
Igual que: = Igual que: =
Menor que: < Menor que: <
Mayor que: > Mayor que: >
Menor o igual que: Menor o igual que: <=
Mayor o igual que: Mayor o igual que: >=
Distinto de: Distinto de: !=

3. Cadena 3. string
Concatenacin: + Concatenacin: +=
.append()
Longitud: Lon Longitud: .length()
.size()
4. Lgicos (producen valores lgicos): 4. Boolean (producen valores Boolean)
Negacin: No Negacin: !
Conjuncin: Y Conjuncin: &&
Disyuncin: O Disyuncin: ||
Otros

Expresiones

37
Diseo Desarrollo
1. Numricas 1. Numrico:
Variables o literales de tipo numrico. Variables o literales tipo short, int,
Resultan de operaciones entre long, long long, float, double, long
variables y/o literales numricos. double.
Para evaluar la expresin, son vlidas Resultan de operaciones entre variables
las reglas de prioridad de las y/o literales numricos.
operaciones aritmticas Para evaluar la expresin, son vlidas las
reglas de prioridad de las operaciones
aritmticas.
2. Cadena 2. string
Variables o literales de tipo cadena. Resultan de operaciones entre variables
Resultan de operaciones entre y/o literales de string.
variables y/o literales de cadena. Es vlido el orden ascendente del
Es vlido el orden ascendente del alfabeto en el cual todas las maysculas
alfabeto en el cual todas las son menores que las minsculas, a es
maysculas son menores que las menor que z y los dgitos son
minsculas, a es menor que z y los menores que las letras.
dgitos son menores que las letras.
3. Lgicas 3. bool
Variables o literales de tipo lgico. Variables o identificadores de tipo bool.
Resultan de operaciones lgicas entre Resultan de operaciones bool entre
variables y/o literales lgicos. variables y/o literales bool.
Resultan de operaciones relacionales Resultan de operaciones relacionales
entre variables y/o literales de un entre variables y/o literales de un mismo
mismo tipo. tipo.
4. Carcter 4. char
Variables o literales de tipo carcter. Variables o literales de tipo char.
Resultan de algunas operaciones sobre Resultan de algunas operaciones sobre
cadenas. string.

Sentencias
1. Entrada 1. Entrada
cin>> iv;
iv1, iv2, , ivn

2. Asignacin
2. Asignacin iv = e;

iv1=e1
iv2=e2

ivn=en

38
Diseo Desarrollo
3. Decisin 3. Decisin
if(el){
sentencias;
}
el No else{
sentencias;
}
Si

if(el){
sentencias;
};
el No

Si

39
Diseo Desarrollo
4. Repeticin 4. Repeticin
n0 n0

while(el){
sentencias;
};
el No

Si

n 1, n conocido o desconocido n 1, n desconocido


no tiene equivalente, se debe traducir
mediante whileTrue haciendo verdadera la
expresin lgica inicial

n conocido
for(iv=valor inicial; el; iv++){
sentencias;
};

n desconocido
do{
sentencias;
Si el }while(el);

No

5. Salida 5. Salida
cout<<e;
e1, , en

Algoritmo
nombre #include <bibliotecas>
using namespace std;
{descripcin} //Descripcin
flujograma Declaraciones
int main(){
sentencias;
return 0;
}

40
RaicesEcuacionCuadratica #include<iostream>
{Encontrar las races reales de una ecuacin de grado dos con coeficientes reales #include<cmath>
El coeficiente principal: a using namespace std;
El coeficiente del trmino medio: b /*Este programa recibe los coeficientes de una ecuacin de grado dos ordenada
El trmino independiente: c de mayor a menor
El discriminante: d a es el coeficiente principal
Una raz: x1 b es el coeficiente del trmino medio
Otra raz: x2
c es el coeficiente independiente
resp toma el valor S si se desea encontrar las races de una ecuacin cuadrtica o N en caso contrario}
d es el discriminante
Inicio
x1 es una raz
x2 es una raz
Resp resp toma el valor 'S' si desea continuar*/

float a, b, c, d, x1, x2;


No
char resp;
Resp=S int main(){
cout<<Este programa encuentra las races reales de una ecuacin
Si cuadrtica\n;
cout<<Desea continuar? (S/N): ;
a, b, c cin>>resp;
while(resp=='s' || resp=='S'){
cout<<Ingrese el coeficiente principal: ; cin>>a;
Si a<>0 No cout<<Ingrese el coeficiente medio: ; cin>>b;
cout<<Ingrese el coeficiente independiente: ; cin>>c;
d=b*b-4*a*c No es ecuacin de
grado dos
if(a!=0){
d = b*b-4*a*c;
if(d<0){
d<0 N0 d=0 No
cout<<La ecuacin no tiene races reales<<endl;
}
Si Si else{
if(d==0){
No tiene races
reales
x1=-b/2a x1=(-b+sqrt(d))/2a x1= -b/(2*a);
x2=(-b-sqrt(d))/2a
cout<<x1<< es raz de multiplicidad dos<<endl;
}
Multiplicidad dos else{
x1,x2
x1 x1 = (-b + sqrt(d))/(2*a);
x2 = (-b sqrt(d))/(2*a);
cout<<Las races son: \n;
cout<<x1=<<x1<<endl;
cout<<x2=<<x2<<endl;
};
Resp };
}
else{
cout<<No ingres una ecuacin cuadrtica. El coeficiente principal
debe ser distinto de cero<<endl;
Fin };
cout<<Desea resolver otra ecuacin de grado dos? (S/N): ;
cin>>resp;
}
}

41
Aprendiendo OBJETIVOS DE APRENDIZAJE

mediante
ejemplos 11. Conocer la metodologa para
el estudio de la estadstica
aplicada a la investigacin
cuantitativa.
12. Conocer los elementos bsicos
de MS Excel 2007.

CONTENIDOS

11. Metodologa General.


12. Elementos de MS Excel

42
En esta seccin el lector aprender como aplicar conceptos de
programacin a nivel de diseo y desarrollo mediante ejemplos.
Asimismo se introducirn paulatinamente nuevos conceptos y
herramientas.

Como ver el lector, cuando se desea escribir un algoritmo para


automatizar tareas conocidas es preciso asegurarse de conocer bien la
tarea y las condiciones en que estas ocurren. Tambin es necesario
conocer si existen casos atpicos y excepciones.

Ejemplo 2
Escribir un algoritmo que reciba un nmero y diga si es natural, entero o
racional
Solucin
Primero identificaremos los elementos del enunciado, sean estos implcitos
o explcitos, que son importantes para la construccin del algoritmo:
Anlisis
Atributos
Un nmero: n
Tipo de dato: Numrico
Valores vlidos:
Valores crticos: 0
Tipo de nmero: Natural, Entero, Racional
Tipo de dato: Cadena
Valores vlidos: Natural, Entero, Real
Valores crticos: No hay

Hechos
n<0
=

Procesos
Entrada: n
Salida: Un mensaje indicando el tipo de nmero
Escribir Racional
Si = , entonces
escribir Entero
Si n>0, entonces escribir Natural

En el proceso para determinar el tipo de nmero ntese que cualquier


nmero que ingrese el usuario ser real, por eso parte de la salida ser la
cadena literal Racional. Adems, la expresin lgica = sirve
determinar si el nmero es entero; de manera que si sta resulta verdadera
tambin aparecer como salida la cadena literal Entero. Finalmente, si,
adems, entonces el nmero es natural y por tanto se incluir la salida
Natural.
Ntese, entonces, que en este caso un nmero ingresado por el usuario
podra ser de los tres tipos o solo racional o de dos tipos. Este hecho
determina la manera como se escriben las sentencias de decisin.

Diseo
Tipo_de_numero
{Este algoritmo recibe un nmero y luego muestra un
mensaje indicando si ste es racional, entero o natural
n, es el nmero

43
Autor: Lev Castro}

44
Bibliografa
Sethi, R. (1991). Lenguajes de Programacin. Wilmington: Addison
Wesley.

Watt, D. A. (1990). Programming Language Concepts And Paradigms.


London: Prentice Hall.

45
Sitios web
http://www.cplusplus.com/

46

S-ar putea să vă placă și