Sunteți pe pagina 1din 43

Tecnolgico de Estudios Superiores del Oriente del

Estado de Mxico



1



INGENIERA EN SISTEMAS COMPUTACIONALES




CUADERNILLO DE APUNTES




FUNDAMENTOS DE PROGRMACIN
SCD-1008





LIC. OMAR SOSA AGUILAR

LA PAZ EDO. DE MXICO A 05 DE NOVIEMBRE DE 2012



Tecnolgico de Estudios Superiores del Oriente del
Estado de Mxico



2

NDICE
Pag.
1. CONCEPTOS BSICOS. 4
1.1 Clasificacin del software de: sistemas y aplicacin. 6
1.2 Algoritmo. 7
1.3 Lenguaje de Programacin. 7
1.4 Programa. 10
1.5 Programacin. 10
1.6 Paradigmas de programacin. 11
1.7 Editores de texto. 12
1.8 Compiladores e intrpretes. 12
1.9 Ejecutables. 14
1.10 Consola de lnea de comandos. 14
Actividad. 14

2. ALGORITMOS. 15
2.1 Anlisis de problemas. 15
2.2 Representacin de algoritmos: grfica y pseudocdigo. 16
2.3 Diseo de algoritmos aplicados a problemas. 17
2.4 Diseo algortmico de funciones. 17
Actividad. 18

3. INTRODUCCIN A LA PROGRAMACIN. 19
3.1 Caractersticas del lenguaje de programacin. 19
3.2 Estructura bsica de un programa. 20
3.3 Traduccin de un programa: compilacin, enlace de un programa,
errores en tiempo de compilacin.
21
3.4 Ejecucin de un programa. 23
3.5 Elementos del lenguaje: datos, literales y constantes,
identificadores, variables, parmetros, operadores, entrada y salida
de datos.
24
3.6 Errores en tiempo de ejecucin. 27
Actividad. 28

4. CONTROL DE FLUJO. 28
4.1 Estructuras secuenciales. 28
4.2 Estructuras selectivas: simple, doble y mltiple. 29
4.3 Estructuras iterativas: repetir mientras, hasta, desde. 31
4.4 Diseo e implementacin de funciones. 33
Actividad. 33

5. ARREGLOS. 34
5.1 Unidimensionales: conceptos bsicos, operaciones y
aplicaciones.
34
5.2 Multidimensionales: conceptos bsicos, operaciones y
aplicaciones.
35

Tecnolgico de Estudios Superiores del Oriente del
Estado de Mxico



3

Actividad. 36

Bibliografa. 37
Anexos. 38
Solucin ejercicio unidad I. 38
Solucin ejercicio unidad II. 39
Solucin ejercicio unidad III. 40
Solucin ejercicio unidad IV. 41
Solucin ejercicio unidad V. 42




Tecnolgico de Estudios Superiores del Oriente del
Estado de Mxico



4

UNIDAD 1: CONCEPTOS BSICOS.
Objetivo: Dominar los conceptos bsicos de la programacin.

Una computadora es un dispositivo electrnico utilizado para procesar
informacin y obtener resultados. Los datos y la informacin se pueden introducir
en la computadora por la entrada (input) y a continuacin se procesan para
producir una salida (output).
Los datos de entrada y los datos de salida pueden ser realmente cualquier cosa,
texto, dibujos o sonido. El sistema ms sencillo de comunicarse una persona con
la computadora es esencialmente mediante un ratn (mouse), un teclado y una
pantalla (monitor).
Hoy da existen otros dispositivos muy populares tales como escneres,
micrfonos, altavoces, cmaras de vdeo, cmaras digitales, etc.; de igual manera,
mediante mdems, es posible conectar su computadora con otras computadoras a
travs de redes, siendo la ms importante, la red Internet.
Los componentes fsicos que constituyen la computadora, junto con los
dispositivos que realizan las tareas de entrada y salida, se conocen con el trmino
hardware. El conjunto de instrucciones que hacen funcionar a la computadora se
denomina programa, que se encuentra almacenado en su memoria; a la persona
que escribe programas se llama programador y al conjunto de programas escritos
para una computadora se llama software.
La mayora de las computadoras, constan fundamentalmente de tres componentes
principales: Unidad Central de Proceso (UCP) o procesador (compuesta de la
UAL, Unidad Aritmtica y Lgica, y la UC, Unidad de Control), Fig 1.1.
La memoria central o simplemente memoria (interna o principal) se utiliza para
almacenar informacin (RAM, Random, Access Memory). En general, la
informacin almacenada en memoria puede ser de dos tipos: instrucciones, de un
programa y datos con los que operan las instrucciones.
La memoria central de una computadora es una zona de almacenamiento
organizada en centenares o millares de unidades de almacenamiento individual o
celdas.
Existen dos conceptos importantes asociados a cada celda o posicin de
memoria: su direccin y su contenido. Cada celda o byte tiene asociada una
nica direccin que indica su posicin relativa en memoria y mediante la cual se
puede acceder a la posicin para almacenar o recuperar informacin. La
informacin almacenada en una posicin de memoria es su contenido.


Tecnolgico de Estudios Superiores del Oriente del
Estado de Mxico



5


Fig.1.1 Organizacin fsica de una computadora.



Fig.1.2 Unidades de medida de almacenamiento.




Tecnolgico de Estudios Superiores del Oriente del
Estado de Mxico



6

La Unidad Central de Proceso, UCP (Central Processing Unit, CPU, en
ingls), dirige y controla el proceso de informacin realizado por la computadora.
La UCP procesa o manipula la informacin almacenada en memoria; puede
recuperar informacin desde memoria (esta informacin son datos o instrucciones:
programas). Tambin puede almacenar los resultados de estos procesos en
memoria para su uso posterior.
La UCP consta de dos componentes: unidad de control (UC) y unidad
aritmtica-lgica (UAL). La unidad de control (Control Unit, CU) coordina las
actividades de la computadora y determina qu operaciones se deben realizar y
en qu orden; asimismo controla y sincroniza todo el proceso de la computadora.
La unidad aritmtico-lgica (Arithmetic-Logic Unit, ALU) realiza operaciones
aritmticas y lgicas, tales como suma, resta, multiplicacin, divisin y
comparaciones. Los datos en la memoria central se pueden leer (recuperar) o
escribir (cambiar) por la UCP.

1.1 Clasificacin del software de: sistemas y aplicacin.
El software de una computadora es un conjunto de instrucciones de programa
detalladas que controlan y coordinan los componentes hardware de una
computadora y controlan las operaciones de un sistema informtico.
Existen dos tipos importantes de software: software del sistema y software de
aplicaciones. Cada tipo realiza una funcin diferente.
a) Software del sistema.
El software del sistema coordina las diferentes partes de un sistema de
computadora y conecta e interacta entre el software de aplicacin y el hardware
de la computadora. Otro tipo de software del sistema que gestiona controla las
actividades de la computadora y realiza tareas de proceso comunes, se denomina
utileras). El software del sistema que gestiona y controla las actividades del
computador se denomina sistema operativo. Otro software del sistema son los
programas traductores o de traduccin de lenguajes de computador que
convierten los lenguajes de programacin, entendibles por los programadores, en
lenguaje mquina que entienden las computadoras.
El software del sistema es el conjunto de programas indispensables para que la
mquina funcione; se denominan tambin programas del sistema. Estos
programas son, bsicamente, el sistema operativo, los editores de texto, los
compiladores/intrpretes (lenguajes de programacin) y los programas de utilidad.



Tecnolgico de Estudios Superiores del Oriente del
Estado de Mxico



7

b) Software de aplicaciones.
Son el conjunto de programas escritos por empresas o usuarios individuales o en
equipo y que instruyen a la computadora para que ejecute una tarea especfica.
El software de aplicacin tiene como funcin principal asistir y ayudar a un usuario
de un computador para ejecutar tareas especficas. Los programas de aplicacin
se pueden desarrollar con diferentes lenguajes y herramientas de software. Por
ejemplo, una aplicacin de procesamiento de textos tal como Word que ayuda a
crear documentos, una hoja de clculo tal como Excel que ayudan a automatizar
tareas tediosas o repetitivas de clculos matemticos o estadsticos, a generar
diagramas o grficos, presentaciones visuales como PowerPoint, o a crear bases
de datos como Acces u Oracle que ayudan a crear archivos y registros de datos.
Los lenguajes de programacin sirven para escribir programas que permitan la
comunicacin usuario/ mquina. Unos programas especiales llamados traductores
(compiladores o intrpretes) convierten las instrucciones escritas en lenguajes de
programacin en instrucciones escritas en lenguajes mquina (0 y 1, bits) que sta
pueda entender.
Los programas que realizan tareas concretas, nminas, contabilidad, anlisis
estadstico, etc., es decir, los programas que podr escribir en JAVA, se
denominan programas de aplicacin.

1.2 Algoritmo.
Es un conjunto de instrucciones (ordenadas) claramente especificadas que la
computadora debe seguir para resolver un problema.
La eficiencia de un algoritmo enfocada aun un programa tiene dos ingredientes
fundamentales: espacio y tiempo. La eficiencia en espacio es una medida de la
cantidad de memoria requerida por un programa. La eficiencia en tiempo se mide
en trminos de la cantidad de tiempo de ejecucin del programa. Ambas
dependen del tipo de computador y compilador.

1.3 Lenguaje de Programacin.
Un lenguaje de programacin es aquel elemento dentro de la informtica que
nos permite crear programas mediante un conjunto de instrucciones, operadores y
reglas de sintaxis; que pone a disposicin del programador para que este pueda
comunicarse con los dispositivos hardware y software existentes.
Existen diferentes clases o tipos de lenguajes de programacin:

Tecnolgico de Estudios Superiores del Oriente del
Estado de Mxico



8

1. El Lenguaje Mquina.
Es el lenguaje de programacin que entiende directamente la computadora o
mquina. Este lenguaje de programacin utiliza el alfabeto binario, es decir, el 0
y el 1.
Con estos dos nicos dgitos, conocidos como bits, forma lo que se conoce
como cadenas binarias (combinaciones de ceros y unos) son con las que se
escriben las instrucciones que el microprocesador de la computadora entiende
nuestra peticiones. Fue el primer lenguaje de programacin. Este tipo de
lenguaje de programacin dejo de utilizarse por su gran dificultad y por la
facilidad para cometer errores.

2. Lenguajes de programacin de bajo nivel.
Son mucho ms fciles de utilizar que el lenguaje mquina, pero dependen
mucho de la mquina o computadora como suceda con el lenguaje mquina. El
lenguaje ensamblador fue el primer lenguaje de programacin que trato de
sustituir el lenguaje mquina por otro mucho ms parecido al de los seres
humanos.
En este lenguaje se conoce como programa fuente a un programa de
instrucciones escrito en lenguaje ensamblador por el programador, y programa
objeto es la traduccin a lenguaje mquina del programa fuente.
Los lenguajes de este tipo pueden crear programas muy rpidos, pero son
difciles de aprender, son especficos de cada procesador, si nos llevamos el
programa a otro computador ser preciso re-escribir el programa desde el
comienzo.

3. Lenguajes de programacin de alto nivel.
Este tipo de lenguajes de programacin son independientes de la mquina, lo
podemos usar en cualquier computadora con muy pocas modificaciones o sin
ellas, son muy similares al lenguaje humano, pero precisan de un programa
interprete o compilador que traduzca este lenguaje de programacin de alto
nivel a uno de bajo nivel como el lenguaje de mquina que la computadora
pueda entender.


Tecnolgico de Estudios Superiores del Oriente del
Estado de Mxico



9

Los lenguajes de programacin de alto nivel son ms fciles de aprender
porque se usan palabras o comandos del lenguaje natural, como por ejemplo
del ingls. Este es el caso del BASIC, el lenguaje de programacin ms
conocido.
Existen muchos lenguajes de programacin de alto nivel con sus diferentes
versiones. Por esta razn es difcil su tipificacin, pero una clasificacin muy
extendida desde el punto de vista de trabajar de los programas y la filosofa de su
creacin es la siguiente:
Lenguajes de programacin imperativos: entre ellos tenemos el Cobol,
Pascal, C y Ada.

Lenguajes de programacin declarativos: el Lisp y el Prolog.


Lenguajes de programacin orientados a objetos: el Smalltalk, C++,
JAVA.

Lenguajes de programacin orientados al problema: son aquellos
lenguajes especficos para gestin.

Lenguajes de programacin naturales: son los nuevos lenguajes que
pretender aproximar el diseo y la construccin de programas al lenguaje de
las personas.
Otra clasificacin de los lenguajes de programacin de alto nivel, es teniendo en
cuenta el desarrollo de las computadoras segn sus diferentes generaciones:
Lenguajes de programacin de primera generacin: el lenguaje mquina
y el ensamblador.

Lenguajes de programacin de segunda generacin: los primeros
lenguajes de programacin de alto nivel imperativo (FROTRAN, COBOL).

Lenguajes de programacin de tercera generacin: son lenguajes de
programacin de alto nivel imperativo pero mucho ms utilizados y vigentes
en la actualidad (ALGOL 8, PL/I, PASCAL, MODULA, JAVA).

Tecnolgico de Estudios Superiores del Oriente del
Estado de Mxico



10


Lenguajes de programacin de cuarta generacin: usados en
aplicaciones de gestin y manejo de bases de dados (NATURAL, SQL).

Lenguajes de programacin de quinta generacin: creados para la
inteligencia artificial y para el procesamiento de lenguajes naturales (LISP,
PROLOG).

1.4 Programa.
Un programa es un conjunto de instrucciones u ordenes basadas en un lenguaje
de programacin que una computadora interpreta para resolver un problema o
una funcin especifica.
Para interpretar un programa escrito en algn lenguaje de programacin se utilizan
INTERPRETES O COMPILADORES, los cuales son los encargados de traducir
el programa (cdigo) para que el usuario pueda interactuar de forma transparente
con la computadora.

1.5 Programacin.

Al proceso por el cual se escribe, se prueba, se depura, se compila y se mantiene
el cdigo fuente de un programa informtico se le llama programacin, en otras
palabras son los pasos que se abordan para crear el cdigo fuente de un
programa informtico.
Pasos en la programacin:
1. Se escribe el cdigo del programa.
2. Se ejecuta prueba.
3. Se analizan los errores.
4. Se corrigen los errores.
5. Se perfecciona.


Tecnolgico de Estudios Superiores del Oriente del
Estado de Mxico



11

1.6 Paradigmas de programacin.
Un paradigma de programacin es un modelo bsico de diseo e implementacin
de programas, que permite desarrollar software conforme a ciertos principios o
fundamentos especficos que se aceptan como vlidos.
Principales paradigmas:
En la actualidad, los principales paradigmas, tanto por su desarrollo conceptual y
su lugar importante en las ciencias de la computacin, como por su presencia
significativa en el mercado, son los siguientes:
Paradigma Lgico.
El paradigma lgico diere de forma importante de otros paradigmas. No slo en
su sintaxis o semntica, sino que en l la lgica representa conocimiento, el cual
es manipulado mediante inferencias. A diferencia de los dems paradigmas,
trabajar en este signica especicar qu hacer y no cmo hacerlo, por ello son
llamados lenguajes de- clarativos.
Paradigma Funcional.
El paradigma funcional considera al programa como una funcin matemtica,
donde el dominio representara el conjunto de todas las entradas posibles (inputs)
y el rango sera el conjunto de todas las salidas posibles (outputs). La forma en
que funciona puede ser entendida como una caja negra
ENTRADAS ------ CAJA NEGRA ------ SALIDA
Paradigma de Imperativo.
La programacin imperativa consiste en una serie de comandos que una
computadora ejecutar. Estos comandos detallan de forma clara y especca el
cmo hacer las cosas y llevarn al programa a travs de distintos estados.
Su esencia es resolver un problema complejo mediante la ejecucin repetitiva y
paso a paso de operaciones y clculos sencillos con la asignacin de los valores
calculados a posiciones de memoria.
Paradigma de Objetos.
Programar bajo este paradigma es como tratar de simular o modelar los objetos
del mundo real.

Tecnolgico de Estudios Superiores del Oriente del
Estado de Mxico



12

1.7 Editores de texto.
Un editor de texto es un sencillo programa con las caractersticas mnimas para
editar archivos de texto, archivos de configuracin y archivos de origen. Cada
sistema operativo tiene normalmente un texto editor. La principal diferencia entre
un editor de texto y un procesador de textos se encuentra en el conjunto de
caracteres permitidos que cada uno pueda procesar. Un editor de texto utiliza
simple conjunto de caracteres ASCII, mientras que un procesador de textos utiliza
texto con formato que se ocupa de la informacin de estilo como fuentes, colores
de texto, estilos de texto y soporte para otros lenguajes como XML y HTML.
La mayora de los lenguajes de programacin tienen pleno derecho entornos
integrados de desarrollo (IDEs) que vienen cargados con un montn de
caractersticas como fragmentos de cdigo, generacin automtica de cdigo y
muchas otras tareas de automatizaciones para ayudar a los programadores
experimentados a ahorrar tiempo en tareas repetidas.

1.8 Compiladores e intrpretes.
El proceso de traduccin de un programa fuente escrito en un lenguaje de alto
nivel a un lenguaje mquina comprensible por la computadora, se realiza mediante
programas llamados traductores. Los traductores de lenguaje son programas que
traducen a su vez los programas fuente escritos en lenguajes de alto nivel a
cdigo mquina. Los traductores se dividen en compiladores e interpretes.
Un intrprete es un traductor que toma un programa fuente, lo traduce y, a
continuacin, lo ejecuta. El sistema de traduccin consiste en: traducir la primera
sentencia del programa a lenguaje mquina, se detiene la traduccin, se ejecuta la
sentencia; a continuacin, se traduce la siguiente sentencia, se detiene la
traduccin, se ejecuta la sentencia y as sucesivamente hasta terminar el
programa, Fig. 1.8.1.
Los lenguajes mas comunes que utilizan compiladores son los enfocados a
creacin de paginas web, como son: PHP, ASP, HTML, etc.


Tecnolgico de Estudios Superiores del Oriente del
Estado de Mxico



13


Fig.1.8.1 Intrprete.

Un compilador es un programa que traduce los programas fuente escritos en
lenguaje de alto nivel a lenguaje mquina. La traduccin del programa completo
se realiza en una sola operacin denominada compilacin del programa; es decir,
se traducen todas las instrucciones del programa en un solo bloque.
El programa compilado y depurado (eliminados los errores del cdigo fuente) se
denomina programa ejecutable porque ya se puede ejecutar directamente y
cuantas veces se desee; slo deber volver a compilarse de nuevo en el caso de
que se modifique alguna instruccin del programa. De este modo el programa
ejecutable no necesita del compilador para su ejecucin. Los lenguajes
compiladores tpicos ms utilizados son: C, C++, Java, C#, Pascal, FORTRAN y
COBOL, Fig. 1.8.2.


Fig.1.8.2 Compilador.

Tecnolgico de Estudios Superiores del Oriente del
Estado de Mxico



14

1.9 Ejecutables.
Un Ejecutable es el archivo resultante de la interpretacin o compilacin de un
programa, el cual nos permite ejecutar o visualizar la accin que genera el
programa.
Durante la compilacin, un programa se tienen que hacer llamadas especficas al
sistema operativo para acceder a recursos del sistema. Las llamadas del sistema
difieren de una operacin a otra, el cdigo de mquina para hacer las llamadas de
sistema tambin difieren en consecuencia. Esto demuestra que los ejecutables
son dependientes de un sistema operativo nico o una familia de sistemas
operativos, los ejecutables tienen extensin .exe con un formato de archivo
especfico, dependiendo del sistema operativo, un archivo ejecutable puede tener
diferentes formatos de archivo.
La usabilidad de un ejecutable depende de qu tan fcilmente se puede ejecutar.
Los ejecutables normalmente se utilizan para hacer tareas como la instalacin de
software mucho ms fcil, pero ejecutables maliciosos literalmente pueden daar
un sistema. Por lo tanto, es necesario tener precaucin antes de ejecutar cualquier
ejecutable, adems, un ejecutable puede tener diferentes extensiones como .BAT
para archivo por lotes, .COM para archivo de comandos de DOS. ESH para
archivo extendido por lotes.

1.10 Consola de lnea de comandos.
Es la ventana del sistema operativo donde se pueden ejecutar o activar los
diferentes comandos de dicho sistema operativo. Es un mtodo que permite a las
personas dar instrucciones a algn programa informtico por medio de una lnea
de texto simple.
La lnea de comandos puede ser interactiva si los programas estn diseados
para aceptar entradas. La medida en que un programador puede interactuar con
un programa de lnea de comandos est normalmente restringida pero programas
tienden a correr ms rpido en la lnea de comandos que en cualquier interfaz de
usuario grfica (GUI).

Actividad.
Realizar un mapa mental involucrando todos los subtemas de la unidad.

Tecnolgico de Estudios Superiores del Oriente del
Estado de Mxico



15

UNIDAD 2: ALGORITMOS.
Objetivo: Analizar problemas y representar su solucin mediante
algoritmos.
Un algoritmo es una serie de pasos ordenados a seguir para solucionar un
problema.
Las caractersticas fundamentales que debe cumplir todo algoritmo son:
Un algoritmo debe ser preciso e indicar el orden de realizacin de cada
paso.
Un algoritmo debe estar definido. Si se sigue un algoritmo dos veces, se
debe obtener el mismo resultado cada vez.
Un algoritmo debe ser finito. Si se sigue un algoritmo, se debe terminar en
algn momento; o sea, debe tener un nmero finito de pasos.

2.1 Anlisis de problemas.
El primer paso para resolver un problema es analizarlo, el anlisis de problemas
ayuda a encontrar la causa de un problema, diferentes maneras de llegar a una
solucin y encontrar la mejor solucin posible.
La resolucin de un problema exige el diseo de un algoritmo que resuelva el
problema propuesto.
Los pasos para la resolucin de un problema son:
1. Diseo del algoritmo, que describe la secuencia ordenada de pasos sin
ambigedades que conducen a la solucin de un problema dado. (Anlisis del
problema, desarrollo del algoritmo, diagrama de flujo y pseudocdigo.)
2. Expresar el algoritmo como un programa en un lenguaje de programacin
adecuado. (Fase de codificacin.)
3. Ejecucin y validacin del programa por la computadora.



Tecnolgico de Estudios Superiores del Oriente del
Estado de Mxico



16

2.2 Representacin de algoritmos: grfica y pseudocdigo.
Pasos desglosados para la resolucin de un problema son:
1) Algoritmo. En esta etapa se colocan todos los pasos necesarios y
primordiales que se deben seguir de forma ordenada para solucionar el
problema.

2) Diagrama de Flujo. Una vez que ya se tiene el algoritmo, se debe
representar grficamente la informacin para poder visualizar el flujo de los
datos, tomando en cuenta y utilizando los grafos o iconos correspondientes,
Fig. 2.1.1.





Fig. 2.1.1 Componentes bsicos de un DFD.

3) Pseudocdigo. En el pseudocdigo se describen los algoritmos utilizando
una mezcla de lenguaje comn, con instrucciones de programacin,
palabras claves, etc. El objetivo es que el programador se centre en la
solucin lgica del algoritmo y no en la implementacin en un lenguaje de
programacin concreto (con las posibles complicaciones en las reglas
sintcticas), o en otras palabras, slo ayudan a "pensar" un programa antes
de escribirlo en un lenguaje de programacin formal.

4) Codificacin. El proceso de traducir un algoritmo en pseudocdigo a un
lenguaje de programacin se denomina codificacin, y el algoritmo escrito
en un lenguaje de programacin se denomina cdigo fuente.

Tecnolgico de Estudios Superiores del Oriente del
Estado de Mxico



17


En la realidad la computadora no entiende directamente los lenguajes de
programacin sino que se requiere un programa que traduzca el cdigo
fuente a otro lenguaje que s entiende la mquina directamente, pero muy
complejo para las personas; este lenguaje se conoce como lenguaje
mquina y el cdigo correspondiente cdigo mquina.

Hoy en da, la mayora de los programadores emplean lenguajes de
programacin como C++, C, C#, Java, Visual Basic, XML, HTML, Perl,
PHP, JavaScript, etc. Estos lenguajes se denominan lenguajes de alto
nivel y permiten a los profesionales resolver problemas convirtiendo sus
algoritmos en programas escritos en alguno de estos lenguajes de
programacin.

2.3 Diseo de algoritmos aplicados a problemas.
En la etapa del diseo se determina cmo hace e programa a tarea solicitada. Los
mtodos ms eficaces para el proceso de diseo de basan en el proceso de divide
y vencers. Es decir, la resolucin de un problema complejo se realiza dividiendo
el problema en subproblemas y posteriormente se dividen estos subproblemas en
otros de nivel mas bajo, hasta que pueda ser implementada una solucin en la
computadora. Este mtodo se conoce tcnicamente como diseo descendente o
modular.
El diseo de algoritmos busca eficiente solucin a un problema. Un algoritmo
realizar eficientemente puede utilizarse como plantilla para resolver una amplia
gama de problemas similares. Lenguajes de programacin de alto nivel
proporcionan la implementacin de algoritmos eficientes como estructuras de
datos listo para su uso.

2.4 Diseo algortmico de funciones.
Una funcin algortmica se refiere a la implementacin de un algoritmo y
normalmente forma parte de un programa grande. Tambin se llama una funcin
algortmica como procedimiento, rutina, mtodo o subprograma.
Al disear un algoritmo muchos factores como tiempo, espacio y tamao se deben
considerar. Desarrollo y anlisis de algoritmos tambin implican encontrar peor de

Tecnolgico de Estudios Superiores del Oriente del
Estado de Mxico



18

los casos, el mejor de los casos y situaciones de promedio, como el rendimiento
es muy importante para una aplicacin cuya entrada aumenta con el tiempo.

Una vez que haya finalizado el algoritmo, se traduce en una funcin o un
procedimiento que es especfico de un lenguaje de programacin. Tericamente,
independientemente de un lenguaje de programacin, un algoritmo debe producir
repetidamente misma salida. Pero, esto no sucede en la realidad, ya que cada
lenguaje de programacin tiene sus propias ventajas y desventajas. Las
caractersticas de un lenguaje de programacin determinan la eficiencia de un
algoritmo debido a problemas como la incapacidad para asignar recursos en
tiempo de ejecucin o tener fugas de memoria silenciosa puede ralentizar un
programa y puede llevar a mal funcionamiento de un algoritmo especialmente
cuando aumenta la entrada.
La funcin es una estructura autnoma similar a los mdulos. La diferencia radica
en que la funcin se usa para devolver un solo valor de un tipo de dato simple a su
punto de referencia. La funcin se relaciona especificando su nombre en una
expresin, como si fuera una variable ordinaria de tipo simple. Las funciones se
dividen en estndares y definidas por el usuario:
a) Estndar: Son funciones proporcionadas por cualquier lenguaje de
programacin de alto nivel, y se dividen en aritmticas y alfabticas.

b) Definidas por el usuario: son funciones que puede definirlas el programador
con el propsito de ejecutar alguna funcin especfica, y que por lo general
se usan cuando se trata de hacer algn clculo que ser requerido en
varias ocasiones en la parte principal del algoritmo.

Actividad.
Construir un algoritmo, diagrama de flujo y pseudocdigo que permita
calcular el rea de un triangulo.



Tecnolgico de Estudios Superiores del Oriente del
Estado de Mxico



19

UNIDAD 3: INTRODUCCIN A LA PROGRAMACIN.
Objetivos:
Conocer las caractersticas principales de un lenguaje de
programacin.
Codificar algoritmos en un lenguaje de programacin.
Compilar y ejecutar programas.

3.1 Caractersticas del lenguaje de programacin.
Un lenguaje de programacin es un idioma artificial diseado para expresar
procesos que pueden ser llevadas a cabo por mquinas como las computadoras.
Pueden usarse para crear programas que controlen el comportamiento fsico y
lgico de una mquina, para expresar algoritmos con precisin, o como modo de
comunicacin humana. Est formado por un conjunto de smbolos y reglas
sintcticas y semnticas que definen su estructura y el significado de sus
elementos y expresiones.
El lenguaje de programacin C++ es uno de los ms empleados en el desarrollo
de sistemas de informacin, ya que permite implementar programacin
estructurada como lo hace el lenguaje C y programacin Orientada a Objetos.
El nacimiento del lenguaje C++ se genero en 1980 y es una extensin mejorada
de C, las caractersticas principales son:
a) Se distingue entre maysculas y minsculas.
b) Las palabras claves o reservadas se colocan en minsculas.
c) No se pueden definir funciones o mtodos dentro de otras funciones o
mtodos.
d) Todas las sentencias y declaracin de variables terminan en punto y coma.
e) La ejecucin del programa siempre comienza con la funcin main().
f) La extensin que contiene el cdigo fuente es: .cpp




Tecnolgico de Estudios Superiores del Oriente del
Estado de Mxico



20

3.2 Estructura bsica de un programa.
Cuando se escribe un programa lo que se trata de hacer es indicarle a la
computadora cmo ha de resolver un problema. Estos programas siguen
determinada estructuras, que dependen del tipo de lenguaje que se use y del
entorno en el cual se construya.
Estructura bsica de un programa en C/C++:
1. Declaracin de libreras.
Para utilizar algo de una biblioteca en un programa, hay que colocar al
principio del programa una directiva de pre procesamiento seguida de la
cabecera de la biblioteca (# include, # define).
2. Declaracin de variables o constantes globales (opcional).
Las variables son palabras o identificadores que permiten manipulan datos,
dicho valor puede ser modificado en cualquier momento durante la ejecucin
del programa, la declaracin se suelen colocar con minsculas.
La declaracin de una variable es:
<tipo_de_dato> <nombre_de_variable> ;
<tipo_de_dato> <lista de variables> ;
<tipo_de_dato> <nombre_de_variable> = valor;
Una constante es un identificador cuyo valor no puede ser modificado, a
declaracin de una constante se suelen colocar con maysculas.
La declaracin de una constante, se realiza utilizando la palabra reservada
const que es un calificador de tipo variable e indica que el valor de variable no
se puede modificar.
const <tipo_de_dato> <nombre_de_constante> = <valor> ;
3. Declaracin de la funcin principal (main).
void main()
4. Llaves de apertura de la funcin main.
5. Secuencia de instrucciones de la funcin main.
6. Llaves de cierre de la funcin.



Tecnolgico de Estudios Superiores del Oriente del
Estado de Mxico



21

3.3 Traduccin de un programa: compilacin, enlace de un programa,
errores en tiempo de compilacin.
Compilacin.
Un compilador es un programa informtico que traduce un programa escrito en un
lenguaje de programacin a otro lenguaje de programacin, generando un
programa equivalente que la mquina ser capaz de interpretar. Usualmente el
segundo lenguaje es lenguaje de mquina, pero tambin puede ser un cdigo
intermedio (bytecode), o simplemente texto. Este proceso de traduccin se conoce
como compilacin.
Partes de un compilador:
La construccin de un compilador involucra la divisin del proceso en una serie de
fases que variar con su complejidad. Generalmente estas fases se agrupan en
dos tareas: el anlisis del programa fuente y la sntesis del programa objeto.
a) Anlisis: Se trata de la comprobacin de la correccin del programa fuente,
e incluye las fases correspondientes al Anlisis Lxico (que consiste en la
descomposicin del programa fuente en componentes lxicos), Anlisis
Sintctico (agrupacin de los componentes lxicos en frases gramaticales )
y Anlisis Semntico (comprobacin de la validez semntica de las
sentencias aceptadas en la fase de Anlisis Sintctico).
b) Sntesis: Su objetivo es la generacin de la salida expresada en el lenguaje
objeto y suele estar formado por una o varias combinaciones de fases de
Generacin de Cdigo (normalmente se trata de cdigo intermedio o de
cdigo objeto) y de Optimizacin de Cdigo (en las que se busca obtener
un cdigo lo ms eficiente posible).
Alternativamente, las fases descritas para las tareas de anlisis y sntesis se
pueden agrupar en Front-end y Back-end:
Front-end: es la parte que analiza el cdigo fuente, comprueba su validez, genera
el rbol de derivacin y rellena los valores de la tabla de smbolos. Esta parte
suele ser independiente de la plataforma o sistema para el cual se vaya a
compilar, y est compuesta por las fases comprendidas entre el Anlisis Lxico y
la Generacin de Cdigo Intermedio.
Back-end: es la parte que genera el cdigo mquina, especfico de una
plataforma, a partir de los resultados de la fase de anlisis, realizada por el Front
End.

Tecnolgico de Estudios Superiores del Oriente del
Estado de Mxico



22

Esta divisin permite que el mismo Back End se utilice para generar el cdigo
mquina de varios lenguajes de programacin distintos y que el mismo Front End
que sirve para analizar el cdigo fuente de un lenguaje de programacin concreto
sirva para generar cdigo mquina en varias plataformas distintas.
Enlace.
La siguiente etapa de compilacin es el enlace con las funciones presentes en las
libreras de funciones. Si nuestro programa utiliza solo funciones ANSI, no suele
ser necesario indicarle al compilador en que libreras estn esas funciones. Sin
embargo hay excepciones. Por ejemplo si utilizamos funciones matemticas de la
librera estndar en nuestro programa (es decir en el programa aparece #include
<math.h>, opcin lm. Sin embargo, si utilizamos funciones definidas en una
librera propia o bien en una librera no estndar, debemos indicrselo al
compilador mediante algn parmetro.
Errores en tiempo de compilacin.
El compilador es capaz de detectar algunos errores que pueden cometerse en el
desarrollo de un programa escrito en C/C++. Evidentemente, no puede detectar
todos ya que un programa puede funcionar perfectamente pero no hacer lo que se
espera de l. Los errores detectados por el compilador son de dos clases: errores
propiamente dichos (errors), y advertencias (warnings)
Los errores se deben a cuestiones sintcticas relacionadas con el lenguaje. El
compilador enumera los errores que se encontraron, y luego detiene la
compilacin. El mensaje de error que aparece siempre indica al menos tres cosas:
a) El nombre del fichero en donde se ha encontrado el error.
b) La lnea del fichero en donde se ha detectado el error.
c) Un mensaje describiendo brevemente el error.
Las advertencias no indican errores, sino que llaman la atencin al programador
sobre los posibles usos incorrectos del lenguaje. Las advertencias, a diferencia de
los errores no detienen el proceso de compilacin, pero casi siempre sealan un
error oculto. En general, si aparece un warning hay que intentar eliminarlo. Si el
compilador encuentra el error, intentara seguir compilando el programa para
encontrar todos los errores posibles, detenindose cuando le resulte imposible
seguir.


Tecnolgico de Estudios Superiores del Oriente del
Estado de Mxico



23

3.4 Ejecucin de un programa.
A un programa en ejecucin se le suele llamar tambin proceso.
El proceso de ejecucin de un programa escrito en un lenguaje de programacin y
mediante un compilador tiene los siguientes pasos:
1. Escritura del programa fuente con un editor (programa que permite a una
computadora actuar de modo similar a una mquina de escribir electrnica) y
guardarlo en un dispositivo de almacenamiento.
2. Introducir el programa fuente en memoria.
3. Compilar el programa con el compilador.
4. Verificar y corregir errores de compilacin.
5. Obtencin del programa objeto
6. El enlazador (linker) obtiene el programa ejecutable.
7. Se ejecuta el programa y, si no existen errores, se tendr la salida del
programa.
Se denomina tiempo de ejecucin (runtime) al intervalo de tiempo en el que un
programa de computadora se ejecuta en un sistema operativo. Este tiempo se
inicia con la puesta en memoria principal del programa, por lo que el sistema
operativo comienza a ejecutar sus instrucciones. El intervalo finaliza en el
momento en que ste enva al sistema operativo la seal de terminacin, sea sta
una terminacin normal, en que el programa tuvo la posibilidad de concluir sus
instrucciones satisfactoriamente, o una terminacin anormal, en el que el
programa produjo algn error y el sistema debi forzar su finalizacin.







Tecnolgico de Estudios Superiores del Oriente del
Estado de Mxico



24

3.5 Elementos del lenguaje: datos, literales y constantes, identificadores,
variables, parmetros, operadores, entrada y salida de datos.
Tipos de datos.
Todos los lenguajes de programacin soportan algn conjunto de diferentes tipos
de datos. Un tipo de dato es un conjunto de valores y un conjunto de operaciones
definidas para esos valores. Un tipo de dato describe un conjunto de objetos con
la misma representacin. Existe un nmero de operaciones asociadas con cada
tipo, por ejemplo: es posible realizara aritmtica sobre tipos de datos enteros y
reales, concatenar con los datos de tipo cadena o recuperar o modificar el valor de
un elemento de un arreglo. Un tipo de dato proporciona una descripcin de sus
instancias que indican al compilador cosas como cuanta memoria se debe asignar
para una instancia, cmo representar los datos en memoria y qu operaciones son
permisibles sobre esos datos.
Los tipos de datos que se construyen en el compilador, se conocen como tipos de
datos fundamentales o predefinidos. Cada lenguaje de programacin incorpora
una coleccin de tipos de datos fundamentales, que incluyen normalmente
enteros, reales, carcter etc. Los lenguajes soportan tambin un nmero de
constructores de tipos de datos estructurados o compuestos, que son tipos ms
complejos.

a) Simples o primitivos (Bsicos, Fundamentales o predefinidos):
Son aquellos que reconoce directamente el lenguaje, sirven de base para otros
tipos de datos (complejos), ocupan solo una localidad de memoria, para el
almacenamiento de un valor simple, no de objetos complejos. Por lo tanto la
variable que lo identifica hace referencia a un valor nico a la vez., este tipo de
datos se clasifican de la siguiente manera:
Numricos:
Son aquellos que solamente aceptan caracteres numricos y el carcter punto en
el caso de aquellos valores fraccionarios.
Enteros:
Son aquellos que consideran solamente valores enteros (sin fracciones decimales)
pudiendo ser precedidos por el carcter (-), para asignarle el signo a los valores
negativos.

Tecnolgico de Estudios Superiores del Oriente del
Estado de Mxico



25

Carcter o char:
Ocupan 16 bits, con un rango de 0 a 65,536. Este rango tan amplio, le permite al
lenguaje representar cualquier carcter alfabtico, numrico (sin signo) o especial
de cualquier lenguaje o idioma de cualquier parte del mundo, garantizando con
esto la portabilidad. El carcter debe estar delimitado por comillas simples
(apostrofes).
b) No primitivos o abstractos (Estructurados o compuestos):
Son aquellos que no estn considerados por el lenguaje y tendrn que ser
definidos por el programador, empleando para ello los tipos de datos simples o
bsicos.
Identificadores, Variables y Constantes
Algunos de los principales componentes de un programa son los Identificadores,
las variables y las constantes.
Identificadores. Se emplean para asignarle un nombre a una clase, objeto,
atributo, etc. Y se puede emplear en el, cualquier secuencia de caracteres
alfabticos en maysculas o minsculas, numricos, los caracteres de subrayado
(guin bajo), el de dlar ($) y no se permiten los espacios en blanco como
separadores de palabras.
Constantes. Una constante es una partida de datos que permanecen sin cambios
en el programa (durante el desarrollo y ejecucin),. Para declarar una constante
en C/C++ se debe implementar la palabra reservada const, seguido del tipo de
datos e identificador, ejemplo:
const double PI = 3.1416;
Variables. Una variable es una partida de datos cuyo valor puede cambiar en el
programa (durante el desarrollo y ejecucin).
Los diferentes tipos de variables dependen del lenguaje de programacin, por lo
general estas suelen ser enteras, reales, carcter, lgicas y de cadena.
Tanto las variables como las constantes tienen un nombre o identificador
generalmente conformado por caracteres alfanumricos (ciertos lenguajes de
programacin admiten el carcter de subrayado _ como vlido en los
identificadores), y el primero de stos debe ser una letra.

Tecnolgico de Estudios Superiores del Oriente del
Estado de Mxico



26

Para poder usar una variable en C++, primero debemos declararla especificando
cual de los tipos de datos presentados arriba queremos que sea. La sintaxis para
declarar una nueva variable es escribir el especificador de tipo de dato que
queremos (como int, short, float...) seguido por un identificador de variable. Por
ejemplo:
int a; //Declarando una sola variable
float numero;
int a, b, c; //Declarando varia variables del mismo tipo.
int a = 0; //Inicializando una variable
Operadores aritmticos.
Los operadores aritmticos se usan para realizar clculos de aritmtica de
nmeros reales y de aritmtica de punteros
+ Suma binaria.
- Resta binaria.
* Multiplicacin
/ Divisin (cociente).
% Resto o mdulo.
++ Incremento unitario (dos clases)
-- Decremento unitario (dos clases)
Operadores de asignacin.
= Asignacin
*= Asigna producto
/= Asigna divisin
%= Asigna resto (mdulo)
+= Asigna suma
-= Asigna diferencia (resta)

Tecnolgico de Estudios Superiores del Oriente del
Estado de Mxico



27

Operadores lgicos
&& Y lgico (AND).
|| O lgico (OR).
! Negacin lgica

Operadores relacionales.
< Menor que.
> Mayor que.
<= Menor o igual que.
>= Mayor o igual que.
== Igual que (identidad).
!= Desigual que (desigualdad).

3.6 Errores en tiempo de ejecucin.
Los errores en tiempo de ejecucin son los que se producen durante la ejecucin
del programa. Son los ms difciles de encontrar, no son detectados por el
compilador, ya que son errores de lgica, no de sintaxis. Aunque al compilar un
programa no de errores, el programa puede funcionar incorrectamente y/o a dar
errores durante su ejecucin. Por ejemplo:
Un programa puede producir resultados errneos, al equivocarnos (errores
lgicos) al programar el algoritmo (sumar en vez de restar, etc.).
Un programa puede interrumpirse bruscamente, por ejemplo si tenemos que
hacer una divisin y el divisor es cero, etc.
Encontrar la causa que los provoca que se presente un error es una labor en
ocasiones complicada, razn por la cual los IDE (Entornos Integrados de
Desarrollo,) nos proporcionan una herramienta llamada DEPURADOR que nos
ayuda a encontrar los errores lgicos y dems errores producidos en tiempo de
ejecucin.

Tecnolgico de Estudios Superiores del Oriente del
Estado de Mxico



28

Un depurador (debugger), es un programa diseado especficamente para la
deteccin, verificacin y correccin de errores. Los depuradores nos permiten
trazar el programa (ejecutarlo sentencia a sentencia) y visualizar el contenido de
las variables y direcciones de memoria durante la ejecucin del programa.
Adems permiten alterar el flujo de ejecucin del mismo, cambiar los valores de
las variables e introducir puntos de parada.
Actividad.
Realizar un cuestionario que abarque todo los subtemas de la unidad.


UNIDAD 4: CONTROL DE FLUJO.
Objetivo: Construir programas utilizando estructuras condicionales y
repetitivas para aumentar su funcionalidad.
Las estructuras de control son declaraciones que proporcionan diferentes maneras
para recorrer en un conjunto de operaciones hasta que se cumpla una condicin.
La raz de las estructuras de control vuelve a lenguajes ensambladores, que tienen
estructuras de control primitivas para realizar iteraciones bsicas.

4.1 Estructuras secuenciales.
Una estructura secuencial es aquella en la que una accin (instruccin) sigue a
otras en secuencia, Fig. 4.1.1. Las tareas se suceden de tal modo que la salida de
una es la entrada de la siguiente y as sucesivamente hasta el final del proceso. La
estructura secuencial tiene una entrada y una salida.


Tecnolgico de Estudios Superiores del Oriente del
Estado de Mxico



29


Fig. 4.1.1 Estructura secuencial.

4.2 Estructuras selectivas: simple, doble y mltiple.
Las estructuras selectivas se utilizan para tomar decisiones lgicas, se suelen
denominar tambin estructuras de decisin o alternativas.
En las estructuras selectivas se evala una condicin y en funcin del resultado de
la misma se realiza una opcin u otra. Las condiciones se especifican usando
expresiones lgicas. Las estructuras selectivas o alternativas pueden ser: simples,
dobles o mltiples.
a) Estructuras simples - if.
La estructura alternativa simple si entonces(if) ejecuta una determinada
accin cuando se cumple una determinada condicin. La seleccin si
entonces evala la condicin:

- Si la condicin es verdadera, entonces ejecuta la accin.
- Si la condicin es falsa, entonces no hace nada, Fig. 4.2.1.


Tecnolgico de Estudios Superiores del Oriente del
Estado de Mxico



30


Fig. 4.2.1 Estructura secuencial simple.
.

b) Estructuras dobles if else.
La estructura alternativa simple es muy limitada y normalmente se necesita
una estructura que permita elegir entre dos opciones o alternativas
posibles, en funcin del cumplimiento o no de una determinada condicin.
Si a condicin se cumple (verdadera), se ejecuta la accin A y, si no se
cumple (falsa), se ejecuta la instruccin B, Fig. 4.2.2.


Fig. 4.2.2 Estructura secuencial doble.


c) Estructuras mltiples - case.
Con frecuencia es necesario que existan mas de dos selecciones posibles.
La estructura de decisin mltiple evala una expresin que puede tomar n
valores distintos, 1,2,3,4,,n. Segn se elija uno de estos valores en a
condicin, se realizara una de las n acciones, Fig. 4.2.3.

Tecnolgico de Estudios Superiores del Oriente del
Estado de Mxico



31




Fig. 4.2.3 Estructura secuencial mltiple


4.3 Estructuras iterativas: repetir mientras, hasta, desde.
Son sentencias que repiten una secuencia de instrucciones un nmero
determinado de veces, tambin llamadas bucles. Las tres estructuras iterativas
ms conocidas son: for, while y do while.

a) Estructura for.
Esta estructura es una de las ms usadas para repetir una secuencia de
instrucciones, sobre todo cuando se conoce la cantidad exacta de veces
que se quiere que se ejecuten dichas instrucciones.


Sintaxis:

for(valor de inicio; condicin; incremento)
{

instrucciones del bucle;

}



Tecnolgico de Estudios Superiores del Oriente del
Estado de Mxico



32

b) Estructura while.
En esta sentencia el cuerpo de instrucciones que forman el bucle se repite
mientras que la condicin sea verdadera. En el momento en que la
condicin se convierte en false el bucle termina.

Sintaxis:

valor de inicio;
while (condicin)
{
instrucciones del bucle;
incremento;
}

Si la condicin de le estructura while no se cumple desde el primer
momento, las instrucciones del bucle no se ejecutan ninguna vez. Es decir,
en una estructura while, el bucle puede ejecutarse cero o ms veces.

c) Estructura do while
Al igual que la sentencia while, el cuerpo de instrucciones que forman en
bucle de esta estructura se repite mientras que la condicin sea verdadera.
El momento en que la condicin de convierte en falsa el bucle termina.

Sintaxis:

valor de inicio;
do
{
instrucciones del bucle;
incremento;
} while (condicin);

La diferencia de esta estructura con la anterior radica en que si la condicin
no se cumple desde el primer momento, el bucle se habr ejecutado una
sola vez. Es decir, en la estructura do-while el bucle se puede ejecutar una
o ms veces.



Tecnolgico de Estudios Superiores del Oriente del
Estado de Mxico



33

4.4 Diseo e implementacin de funciones.
En cualquier lenguaje de programacin toda la lgica de programacin
(Algoritmos) est agrupada en funciones o mtodos.

Una funcin es:
Un bloque de cdigo que tiene un nombre.
Recibe unos parmetros o argumentos (opcionalmente).
Contiene sentencias o instrucciones para realizar algo.
Devuelve un valor de algn Tipo conocido (opcionalmente).

La sintaxis global es:
Tipo_Valor_devuelto nombre_mtodo ( lista_argumentos )
{
bloque_de_codigo;
}

La lista de argumentos se expresa declarando el tipo y nombre de los mismos
(como en las declaraciones de variables). Si hay ms de uno se separan por
comas.
Existen 4 combinaciones de comportamientos de funciones que se pueden
implementar en cdigo:
a) NO regresa valores NO espera argumentos.
b) NO regresa valores SI espera argumentos.
c) SI regresa un valor NO espera argumentos
d) SI regresa un valor SI espera argumentos.
Actividad.
Realizar un programa en C++, que permita imprimir la tabla de multiplicar de
un numero x.


Tecnolgico de Estudios Superiores del Oriente del
Estado de Mxico



34

UNIDAD 5: ARREGLOS.
Objetivo: Construir programas que utilicen arreglos unidimensionales
y multidimensionales para solucionar problemas.

Un arreglo o array (en ingls) es una coleccin de variables relacionadas a las que
se hace referencia por medio de un nombre comn. Otra definicin vlida es que
un arreglo es un conjunto de datos que se almacenan en memoria de manera
contigua con el mismo nombre y para diferenciar los elementos de un arreglo se
utiliza un ndice. En el lenguaje C++ un arreglo se le conoce como un tipo de dato
compuesto. Los arreglos pueden tener una o varias dimensiones.

5.1 Unidimensionales: conceptos bsicos, operaciones y aplicaciones.
Un arreglo de una dimensin es una lista de variables, todas de un mismo tipo a
las que se hace referencia por medio de un nombre comn. Una variable individual
del arreglo se llama elemento del arreglo. Para declarar un arreglo de una sola
dimensin se usa el formato general:
tipo_dato identificador[tamao];


Fig. 5.1.1 Representacin fsica de un arreglo.

Un elemento del arreglo se accede indexando el arreglo por medio de un nmero
del elemento. En C++ todos los arreglos empiezan en 0, esto quiere decir que si
se desea acceder al primer elemento del arreglo debe usar el ndice igual a 0.

Tecnolgico de Estudios Superiores del Oriente del
Estado de Mxico



35

Para indexar un arreglo se especifica el ndice del elemento que interesa dentro de
un corchete, ejemplo:
valor = arreglo[1];
Los arreglos empiezan en 0, de manera que el ndice 1 se refiere al segundo
elemento. Para asignar el valor a un elemento de un arreglo, ponga el elemento en
el lado izquierdo de una sentencia de asignacin.
arreglo[0] = 100;

Declaracin:
int arreglo[3]; // forma un arreglo de una dimensin y de tres elementos
Nombre de los elementos:
arreglo[0] primer elemento
arreglo[1] segundo elemento
arreglo[2] tercer elemento

5.2 Multidimensionales: conceptos bsicos, operaciones y aplicaciones.
Es una estructura de datos esttica y de un mismo tipo de datos, y de longitud fija
que almacena datos de forma matricial. De igual forma que los arreglos
unidimensionales, el almacenamiento de los datos en la memoria se realiza de
forma secuencial y son accedidos mediante ndices. Los arreglos
multidimensionales son tambin conocidos como matrices. Por lo tanto se llama
matriz de orden "mn" a un conjunto rectangular de elementos dispuestos en filas
"m" y en columnas "n", siendo m y n nmeros naturales.

Declaracin:
int arreglo[4][4]; // forma un arreglo de 4 filas y cuatro columnas.


Tecnolgico de Estudios Superiores del Oriente del
Estado de Mxico



36


Fig. 5.2.1 Representacin fsica de un arreglo multidimensional.

Actividad.
Realizar un programa que multiplique el contenido de dos arreglos de una
dimensin y muestre el resultado en un tercer arreglo.


Tecnolgico de Estudios Superiores del Oriente del
Estado de Mxico



37

Bibliografa.

1. Fundamentos de Programacin.
Luis Joyanes Aguilar.
Mc Graw Hill.


2. Fundamentos de programacin en C++
Antonio Garrido Carrillo.
Delta Publicaciones.


3. C++ Para Programadores.
Schildt Herbert.
Mc Graw Hill.

4. http://books.google.com.mx/books?id=py9NgRWWZE4C&pg=SL26-
PA35&lpg=SL26-
PA35&dq=estructuras+repetitivas&source=bl&ots=VjDboJ4y8q&sig=N
pV8R628vjjBnlqA0-x8-4xRBcg&hl=es-
419&sa=X&ei=yVH4UPWbM_G42QW0s4HoAg&ved=0CFIQ6AEwBjge#v
=onepage&q=estructuras%20repetitivas&f=false





Tecnolgico de Estudios Superiores del Oriente del
Estado de Mxico



38

Anexos.

Actividades por unidad:

UNIDAD 1: Realizar un mapa mental involucrando todos los subtemas de la
unidad.



















Tecnolgico de Estudios Superiores del Oriente del
Estado de Mxico



39

UNIDAD 2: Construir un algoritmo, diagrama de flujo y pseudocdigo que
permita calcular el rea de un triangulo.

Algoritmo:

1. Inicio.
2. Pedir y guardar la base.
3. Pedir y guardar la altura.
4. Realizar la operacin de la formula y guardar el resultado:(bxa)/2.
5. Imprimir el resultado.
6. Fin.

Diagrama de Flujo:

















Pseudocdigo:

Inicio
Leer base;
Leer altura;
a (base x atura)/2;
Imprimir a;
fin







inicio
base
altura
a
a
a
a=(base x altura)/2
a
fin

Tecnolgico de Estudios Superiores del Oriente del
Estado de Mxico



40


UNIDAD 3: Realizar un cuestionario que abarque todo los subtemas de la
unidad.

1. Qu es un lenguaje de programacin?

Es un idioma artificial diseado para expresar procesos que pueden
ser llevadas a cabo por mquinas como las computadoras.

2. Qu es una variable en programacin?

Las variables son palabras o identificadores que permiten manipulan
datos, dicho valor puede ser modificado en cualquier momento
durante la ejecucin del programa.

3. Para que se utiliza un compilador?

Se emplea para traducir un programa escrito en un lenguaje de
programacin a otro lenguaje de programacin, generando un
programa equivalente que la mquina ser capaz de interpretar.

4. Describe un conjunto de objetos con la misma representacin.

Un tipo de dato.

5. Cul es la clasificacin general de los tipos de datos?

Tipos de datos primitivos y tipos de datos abstractos.

6. Menciona tres tipos de operadores aritmticos.

+ Suma binaria.
- Resta binaria.
* Multiplicacin

7. Qu es una variable?

Una variable es una partida de datos cuyo valor puede cambiar en el
programa (durante el desarrollo y ejecucin).

8. Cul es el operador lgico que determina que todas las condiciones
se deben de cumplir para que se realice determinado proceso?

&& Y lgico (AND).

Tecnolgico de Estudios Superiores del Oriente del
Estado de Mxico



41

UNIDAD 4: Realizar un programa en C++, que permita imprimir la tabla de
multiplicar de un numero x.

#include <conio.h>
#include <iostream.h>

void main()
{
clrscr();
int tab;
int ope=0;
cout<<"DAME EL NUMERO DE LA TABLA A CALCULAR:\n";
cin>>tab;
for(int i=0; i<=10; i++)
{
ope=i*tab;
cout<<tab<<" X "<<i<<" = "<<ope<<endl;
}
getch();
}



Tecnolgico de Estudios Superiores del Oriente del
Estado de Mxico



42

UNIDAD 5: Realizar un programa que multiplique el contenido de dos arreglos
de una dimensin y muestre el resultado en un tercer arreglo.

#include <conio.h>
#include <iostream.h>
void main()
{
clrscr();
double *arr1;
double *arr2;
double *arr3;
int tam=0;

cout<<"DAME EL TAMA%O DE LOS ARREGLOS:";
cin>>tam;

arr1=new double[tam];
arr2=new double[tam];
arr3=new double[tam];

for(int i=0; i<tam; i++)
{
cout<<"\nDAME EL DATO No."<<(i+1)<<" DEL ARREGLO 1:";
cin>>arr1[i];
}
for(int i2=0; i2<tam; i2++)
{

Tecnolgico de Estudios Superiores del Oriente del
Estado de Mxico



43

cout<<"\nDAME EL DATO No."<<(i2+1)<<" DEL ARREGLO 2:";
cin>>arr2[i2];
}
cout<<endl;
for(int s=0; s<tam; s++)
{
arr3[s]=arr1[s]+arr2[s];

}
for(int i3=0; i3<tam; i3++)
{
cout<<arr3[i3]<<",";

}

getch();
}

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