Está en la página 1de 28

INSTITUTO TECNOLGICO SUPERIOR DE TEPEACA

Organismo Pblico Descentralizado del Gobierno del Estado de Puebla

INGENIERA EN SISTEMAS
COMPUTACIONALES
ISIC-2010-224

Fundamentos de Programacin

2HT 3HP - 5CR

MANUAL DE ASIGNATURA

Elabor:

Ing. Ernesto Silverio Flores

Fecha de elaboracin:

01/o6/2016
INSTITUTO TECNOLGICO SUPERIOR DE TEPEACA
Organismo Pblico Descentralizado del Gobierno del Estado de Puebla

CONTENIDO

INTRODUCCIN ......................................................................................................................................... 1
1.1. Clasificacin del software de: Sistemas y Aplicacin............................................................ 2
1.2 ALGORITMO ................................................................................................................................ 3
1.3 LENGUAJES DE PROGRAMACIN........................................................................................ 3
1.4 PROGRAMA ................................................................................................................................. 4
1.5 PROGRAMACIN ....................................................................................................................... 4
1.6 PARADIGMA DE PROGRAMACIN ....................................................................................... 4
1.7 EDITORES DE TEXTO ............................................................................................................... 5
1.8 COMPILADORES E INTRPRETES ....................................................................................... 5
1.9 EJECUTABLES ............................................................................................................................ 6
1.10 CONSOLA DE LNEA DE COMANDOS ................................................................................ 6
UNIDAD 2. ALGORITMOS............................................................................................................................... 7
2.1 ANLISIS DE PROBLEMAS ...................................................................................................... 7
2.2 REPRESENTACIN DE ALGORITMOS: GRFICA Y PSEUDOCDIGO ....................... 7
2.3 DISEO DE ALGORITMOS APLICADOS A PROBLEMAS. ................................................ 9
2.4 DISEO ALGORTMICO DE FUNCIONES ........................................................................... 10
UNIDAD III INTRODUCCIN A LA PROGRAMACIN .................................................................................... 10
3.1 CARACTERSTICAS DEL LENGUAJE DE PROGRAMACIN ......................................... 10
3.2 ESTRUCTURA BSICA DE UN PROGRAMA. .................................................................... 11
3.3 TRADUCCIN DE UN PROGRAMA: COMPILACIN, ENLACE DE UN PROGRAMA,
ERRORES EN TIEMPO DE COMPILACIN. ............................................................................. 13
3.4 EJECUCIN DE UN PROGRAMA. ........................................................................................ 15
3.5 ELEMENTOS DEL LENGUAJE: DATOS, LITERALES Y CONSTANTES,
IDENTIFICADORES, VARIABLES, PARMETROS, OPERADORES, ENTRADA Y SALIDA
DE DATOS. ....................................................................................................................................... 16
3.6 ERRORES EN TIEMPO DE EJECUCIN............................................................................. 19
UNIDAD IV CONTROL DE FLUJO .................................................................................................................. 20
4.1 ESTRUCTURAS SECUENCIALES. ....................................................................................... 20
4.2 ESTRUCTURAS SELECTIVAS: SIMPLE, DOBLE Y MLTIPLE. ..................................... 21
4.3 ESTRUCTURAS ITERATIVAS: REPETIR MIENTRAS, HASTA, DESDE ....................... 22
4.4 DISEO E IMPLEMENTACIN DE FUNCIONES ............................................................... 22
INSTITUTO TECNOLGICO SUPERIOR DE TEPEACA
Organismo Pblico Descentralizado del Gobierno del Estado de Puebla

UNIDAD V ARREGLOS .................................................................................................................................. 23


5.1 UNIDIMENSIONALES: CONCEPTOS BSICOS, OPERACIONES Y APLICACIONES.
............................................................................................................................................................. 23
5.2 MULTIDIMENSIONALES: CONCEPTOS BSICOS, OPERACIONES Y
APLICACIONES. .............................................................................................................................. 24
REFERENCIAS BILBIOGRFICAS Y ELECTRNICAS ....................................................................................... 25
INSTITUTO TECNOLGICO SUPERIOR DE TEPEACA
Organismo Pblico Descentralizado del Gobierno del Estado de Puebla
INGENIERA EN SISTEMAS COMPUTACIONALES
Administracin de servidores de redes 3HT 2HP 5CR

INTRODUCCIN
Esta asignatura aporta, al perfil del ingeniero, la capacidad para desarrollar un
pensamiento lgico, identificar el proceso de creacin de un programa y desarrollo de
algoritmos para resolver problemas.

La asignatura proporciona al estudiante de ingeniera una herramienta para resolver


problemas de aplicaciones de la vida ordinaria y de aplicaciones de la ingeniera.

Est diseada para el logro de competencias especficas dirigidas al aprendizaje de los


dominios: manejo de consola y diseo de algoritmos. Comprender los conceptos
bsicos de la programacin y escribir expresiones aritmticas y lgicas en un lenguaje
de programacin. As como el uso y funcionamiento de las estructuras secuenciales,
selectivas, arreglos unidimensionales y multidimensionales en el desarrollo de
aplicaciones. Ser capaz de aplicarlos al construir y desarrollar aplicaciones de software
que requieran dichas estructuras.

Este curso genera las competencias necesarias para que el alumno desarrolle
aplicaciones que den solucin a los problemas que le plantee la vida diaria.

Fundamentos de programacin es el soporte directo de las asignaturas: programacin


orientada a objetos, estructura de datos, tpicos avanzados de programacin y de forma
indirecta se relaciona con el desarrollo de sistemas de software, sistemas operativos y
programacin de sistemas.

Pgina 1 de 28
INSTITUTO TECNOLGICO SUPERIOR DE TEPEACA
Organismo Pblico Descentralizado del Gobierno del Estado de Puebla
INGENIERA EN SISTEMAS COMPUTACIONALES
Administracin de servidores de redes 3HT 2HP 5CR

UNIDAD 1. CONCEPTOS BSICOS

1.1. CLASIFICACIN DEL SOFTWARE DE: SISTEMAS Y APLICACIN.

SOFTWARE
El Software son los programas de computadoras. Son las instrucciones responsables de
que el hardware (la computadora) realice su tarea.
El software es la parte lgica de la computadora, que permite el manejo de los recursos
y la realizacin de tareas especficas, tambin denominados programas. Se clasifica en
2 partes: Software de Sistemas y Software de Aplicacin.

SOFTWARE DE SISTEMAS
Es el conjunto de programas indispensables para que la mquina funcione; se denominan
tambin programas del sistema. Al software de sistemas pertenecen los programas cuya
finalidad es servir a otros programas y ejecutar funciones comunes para todos los
usuarios de la computadora.
El software de sistemas implementa funciones de control que permiten al software de
aplicacin comunicarse con otros elementos del software.
Entre los programas que pertenecen al software de sistemas se encuentran: los sistemas
operativos, compiladores, ensambladores, cargadores, manejadores de bases de datos,
etc.

SOFTWARE DE APLICACIN
El software de aplicacin implementa los procedimientos requeridos para realizar las
funciones de procesamiento de la informacin. A los programas que realizan tareas
concretas, nminas, contabilidad, anlisis estadstico, etc., se denominan programas de
aplicacin.
El software de aplicacin es el software especfico para aplicaciones particulares de los
usuarios de un sistema de cmputo. Su utilizacin se restringe a cierto mbito (a
diferencia del software de sistemas). Podemos decir que el software de aplicacin se
apoya en el software de sistemas, lo cual no puede decirse en sentido inverso.

Pgina 2 de 28
INSTITUTO TECNOLGICO SUPERIOR DE TEPEACA
Organismo Pblico Descentralizado del Gobierno del Estado de Puebla
INGENIERA EN SISTEMAS COMPUTACIONALES
Administracin de servidores de redes 3HT 2HP 5CR

1.2 ALGORITMO

La palabra algoritmo se deriva de la traduccin al latn de la palabra rabe alkhowarizmi,


nombre de un matemtico y astrnomo rabe que escribi un tratado sobre manipulacin
de nmeros y ecuaciones en el siglo IX.
Un algoritmo es una serie de pasos organizados que describe el proceso que se debe
seguir, para dar solucin a un problema especfico.

TIPOS DE ALGORITMOS
Cualitativos: Son aquellos en los que se describen los pasos utilizando palabras.
Cuantitativos: Son aquellos en los que se utilizan clculos numricos para definir
los pasos del proceso.

1.3 LENGUAJES DE PROGRAMACIN

Es un conjunto de smbolos, caracteres y reglas (programas) que le permiten a las


personas comunicarse con la computadora.
Los lenguajes de programacin tienen un conjunto de instrucciones que nos permiten
realizar operaciones de entrada/salida, calculo, manipulacin de textos,
lgica/comparacin y almacenamiento/recuperacin.

LOS LENGUAJES DE PROGRAMACIN SE CLASIFICAN EN:


Lenguaje de Maquina
Lenguaje Ensamblador
Lenguaje de Alto Nivel
Lenguajes Visuales
Lenguajes Orientados a Objetos

Pgina 3 de 28
INSTITUTO TECNOLGICO SUPERIOR DE TEPEACA
Organismo Pblico Descentralizado del Gobierno del Estado de Puebla
INGENIERA EN SISTEMAS COMPUTACIONALES
Administracin de servidores de redes 3HT 2HP 5CR

1.4 PROGRAMA

Un Programa es un conjunto de instrucciones escritas en algn lenguaje de programacin


y que ejecutada secuencialmente resuelven un problema especfico.

1.5 PROGRAMACIN

Al programar codificamos (de acuerdo a la lgica del diagrama de flujo y pseudocdigo)


una serie de instrucciones detalladas en un cdigo reconocible por la computadora, la
serie de instrucciones detalladas, se le conoce como cdigo fuente, el cual se escribe en
un lenguaje de programacin o el lenguaje de alto nivel.

1.6 PARADIGMA DE PROGRAMACIN

Un paradigma de programacin representa un enfoque particular o filosofa para la


construccin del software.
Un estilo de Programacin?
Una manera de visualizar la ejecucin del programa?
Una forma de resolver problemas de Programacin?
Un enfoque, perspectiva o filosofa sobre cmo programar?

TIPOS DE PARADIGMAS DE PROGRAMACIN


Imperativo o por procedimientos: es considerado el ms comn y est
representado, por ejemplo, por C o BASIC.
Funcional: est representado por Scheme o Haskell. Este es un caso del
paradigma declarativo.
Lgico: est representado por Prolog. Este es otro caso del paradigma
declarativo.
Declarativo: por ejemplo la programacin funcional, la programacin lgica, o la
combinacin lgico-funcional.

Pgina 4 de 28
INSTITUTO TECNOLGICO SUPERIOR DE TEPEACA
Organismo Pblico Descentralizado del Gobierno del Estado de Puebla
INGENIERA EN SISTEMAS COMPUTACIONALES
Administracin de servidores de redes 3HT 2HP 5CR

Orientado a objetos: est representado por Smalltalk, un lenguaje


completamente orientado a objetos.

1.7 EDITORES DE TEXTO

Un editor de texto es un programa permite crear y modificar archivos digitales compuestos


nicamente por texto sin formato, conocidos comnmente como archivos de texto o texto
plano.

Los editores de texto son incluidos en el sistema operativo o en algn paquete de software
instalado y se usan cuando se deben crear o modificar archivos de texto como archivos
de configuracin, o el cdigo fuente de algn programa.

1.8 COMPILADORES E INTRPRETES

Existen dos tipos principales de traductores de los lenguajes de programacin de alto


nivel: Compilador e intrprete.
Compilador, Un compilador acepta programas escritos en un lenguaje de alto nivel y los
traduce a otro lenguaje, generando un programa equivalente independiente, que puede
ejecutarse tantas veces como se quiera.

Intrprete, que analiza el programa fuente y lo ejecuta directamente, sin generar ningn
cdigo equivalente. Su accin equivale a la de un intrprete humano, que traduce las
frases que oye sobre la marcha, sin producir ningn escrito permanente.

Un intrprete facilita la bsqueda de errores, pues la ejecucin de un


programa puede interrumpirse en cualquier momento para estudiar el
entorno (valores de las variables, etc.). Adems, el programa puede
modificarse sobre la marcha, sin necesidad de volver a comenzar la
ejecucin.

Pgina 5 de 28
INSTITUTO TECNOLGICO SUPERIOR DE TEPEACA
Organismo Pblico Descentralizado del Gobierno del Estado de Puebla
INGENIERA EN SISTEMAS COMPUTACIONALES
Administracin de servidores de redes 3HT 2HP 5CR

Un compilador suele generar programas ms rpidos y eficientes, ya que el


anlisis del lenguaje fuente se hace una sola vez, durante la generacin del
programa equivalente. En cambio, un intrprete se ve obligado
generalmente a analizar cada instruccin tantas veces como se ejecute
(incluso miles o millones de veces).
Un intrprete permite utilizar funciones y operadores ms potentes, como
por ejemplo ejecutar cdigo contenido en una variable en forma de cadenas
de caracteres. Usualmente, este tipo de instrucciones es imposible de tratar
por medio de compiladores. Los lenguajes que incluyen este tipo de
operadores y que, por tanto, exigen un intrprete, se llaman interpretativos.
Los lenguajes compilativos, que permiten el uso de un compilador,
prescinden de este tipo de operadores.

1.9 EJECUTABLES

En informtica en ejecutable o archivo ejecutable, es tradicionalmente un archivo binario


cuyo contenido se interpreta por el ordenador como un programa.
Generalmente, contiene instrucciones en cdigo mquina de un procesador en concreto,
pero tambin puede contener bytecode que requiera un intrprete para ejecutarlo.
Adems suele contener llanadas a funciones especficas de un sistema operativo
(llamadas al sistema).

Dependiendo del tipo de que se traten las instrucciones, hablaremos de ejecutables


portables (se pueden ejecutar en varias plataformas) y no portables (destinado a una
plataforma concreta). Por ejemplo, un ejecutable Java es portable ya que utiliza un
bytecode no asociado a un procesador en concreto.

1.10 CONSOLA DE LNEA DE COMANDOS

Es un mtodo que permite a las personas dar instrucciones a algn programa informtico
por medio de una lnea de texto simple. Debe notarse que los conceptos de CLI, Shell y
Emulador de Terminal no son lo mismo, aunque suelen utilizarse como sinnimos.

La Lnea de Comandos de Windows es una implementacin de la consola MS-DOS para


la interfaz grfica de las diversas versiones Microsoft Windows.

Pgina 6 de 28
INSTITUTO TECNOLGICO SUPERIOR DE TEPEACA
Organismo Pblico Descentralizado del Gobierno del Estado de Puebla
INGENIERA EN SISTEMAS COMPUTACIONALES
Administracin de servidores de redes 3HT 2HP 5CR

La lnea de comandos ha estado presente en forma activa en el sistema operativo


Windows desde la versin 3.0 hasta la versin Windows 98, donde los programas de la
interfaz grfica eran ejecutados por medio de la consola y sobre la cual todo el sistema
operativo era montado.1

A partir de la versin de Windows XP, la lnea de comandos pas a segundo plano como
un complemento de sistema, sin que perdiera la funcionalidad de la misma.

UNIDAD 2. ALGORITMOS

2.1 ANLISIS DE PROBLEMAS

Es el primer paso a seguir para encontrar la solucin a un problema es el anlisis del


problema.

En el anlisis del problema se requiere del mximo de creatividad e imaginacin Debido


a que se busca una solucin se debe examinar cuidadosamente el problema a fin de
identificar qu tipo de informacin es necesaria producir. En seguida se deben identificar
aquellos elementos de informacin ofrecidos por el problema y que resulten tiles
para obtener la solucin al problema.

Un procedimiento para producir los resultados deseados a partir de los datos, es


el algoritmo

2.2 REPRESENTACIN DE ALGORITMOS: GRFICA Y PSEUDOCDIGO

Las herramientas de programacin utilizadas como lenguajes algortmicos son:

Pseudocdigo: es un lenguaje algortmico, muy parecido al espaol pero ms conciso


que permite la redaccin rpida del algoritmo.

Diagramas de flujo: ha sido la herramienta de programacin por excelencia, y an hoy


sigue siendo muy utilizada. Es fcil de disear pues el flujo lgico del algoritmo se
muestra en un diagrama en lugar de palabras.

Pgina 7 de 28
INSTITUTO TECNOLGICO SUPERIOR DE TEPEACA
Organismo Pblico Descentralizado del Gobierno del Estado de Puebla
INGENIERA EN SISTEMAS COMPUTACIONALES
Administracin de servidores de redes 3HT 2HP 5CR

PSEUDOCDIGO

Es un lenguaje de pseudoprogramacin, muy parecido a un lenguaje de programacin.


El pseudocdigo es muy fcil de utilizar, ya que es muy similar al espaol. Algunas
palabras utilizadas en el pseudocdigo:

Inicio

Fin

Leer

Escribir

Asignar (x y+z)

Ejemplo Programa Calculo rea Rectngulo

1. Inicio
2. Leer, base, altura.
3. Area=base x altura.
4. Escribir; base, altura, rea
5. Fin

Para desarrollar un pseudocdigo se necesita saber los tipos de datos que se deben
tener:

Entero: Subconjunto finito de los nmeros enteros, cuyo rango depender del lenguaje
en el que posteriormente codifiquemos el algoritmo y del ordenador.

El rango depende de cuantos bits utilice para codificar el nmero, normalmente 2 bytes
.Para nmeros positivos, con 16 se pueden almacenar 216

Real: Subconjunto de los nmeros reales limitado no slo en cuanto al tamao, sino
tambin en cuanto a la precisin

Lgico: Conjunto formado por los valores Cierto y Falso. 1 y 0.

Carcter: Conjunto finito y ordenado de los caracteres que el Ordenador

DIAGRAMAS

Un diagrama de flujo utiliza smbolos estndar en el que cada paso del algoritmo se
visualiza dentro del smbolo y en el orden en que estos pasos se ejecutan, se indica

Pgina 8 de 28
INSTITUTO TECNOLGICO SUPERIOR DE TEPEACA
Organismo Pblico Descentralizado del Gobierno del Estado de Puebla
INGENIERA EN SISTEMAS COMPUTACIONALES
Administracin de servidores de redes 3HT 2HP 5CR

conectndolos con flechas llamadas lneas de flujo, ya que indican el flujo lgico del
algoritmo.

El diagrama de flujo es la representacin grfica del algoritmo o proceso. Se utiliza en


disciplinas como la programacin, la economa, los procesos industriales y la psicologa
cognitiva. Estos diagramas utilizan smbolos con significados bien definidos que
representan los pasos del algoritmo, y representan el flujo de ejecucin mediante flechas
que conectan los puntos de inicio y de fin de proceso.

2.3 DISEO DE ALGORITMOS APLICADOS A PROBLEMAS.

Los algoritmos son independientes tanto del lenguaje de programacin en que se


expresan como de la computadora que lo ejecuta. En cada problema el algoritmo se
puede expresar en un lenguaje diferente de programacin y ejecutarse en
una computadora distinta; sin embargo, el algoritmo ser siempre el mismo.

Dada la importancia del algoritmo en la ciencia de la computacin, un aspecto muy


importante ser el diseo de algoritmos. El diseo de la mayora de los algoritmos
requiere creatividad y conocimientos profundos de la tcnica de la programacin.

Tcnicas de diseo de algoritmos

Algoritmos voraces (greedy): seleccionan los elementos ms


prometedores del conjunto de candidatos hasta encontrar una solucin. En
la mayora de los casos la solucin no es ptima.
Algoritmos paralelos: permiten la divisin de un problema en sub
problemas de forma que se puedan ejecutar de forma simultnea en varios
procesadores.
Algoritmos probabilsticos: algunos de los pasos de este tipo de
algoritmos estn en funcin de valores pseudoaleatorios.
Algoritmos no determinanticos: el comportamiento del algoritmo tiene
forma de rbol y a cada paso del algoritmo puede bifurcarse a cualquier
nmero de pasos inmediatamente posteriores, adems todas las ramas se
ejecutan simultneamente.
Divide y vencers: dividen el problema en subconjuntos disjuntos
obteniendo una solucin de cada uno de ellos para despus unirlas,
logrando as la solucin al problema completo.
Programacin dinmica: intenta resolver problemas disminuyendo su
coste computacional aumentando el coste espacial.
Ramificacin y acotacin: se basa en la construccin de las soluciones al
problema mediante un rbol implcito que se recorre de forma controlada
encontrando las mejores soluciones.

Pgina 9 de 28
INSTITUTO TECNOLGICO SUPERIOR DE TEPEACA
Organismo Pblico Descentralizado del Gobierno del Estado de Puebla
INGENIERA EN SISTEMAS COMPUTACIONALES
Administracin de servidores de redes 3HT 2HP 5CR

Vuelta atrs (backtracking): se construye el espacio de soluciones del


problema en un rbol que se examina completamente, almacenando las
soluciones menos costosas.

2.4 DISEO ALGORTMICO DE FUNCIONES

En este se explica detalladamente lo que realiza el algoritmo para resolver el problema


planteado. En un diseo de algoritmo que sea complejo puede subdividirse en
subprogramas para el estudio o la revisin de los pasos que lleven a la solucin y sea
menos el ndice de errores que tenga al momento de la prueba, y a este diseo se le
conoce como diseo modular pues es sencillo revisar cada proceso ya antes dividido
para su rpida especificacin y prueba.

Un algoritmo cuenta con un inicio y sus subprogramas llamados tambin diseo modular.

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.

Estndar: Son funciones proporcionadas por cualquier lenguaje de programacin


de alto nivel, y se dividen en aritmticas y alfabticas.

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.

UNIDAD III INTRODUCCIN A LA PROGRAMACIN

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. Al proceso por el cual se escribe, se prueba, se depura, se

Pgina 10 de 28
INSTITUTO TECNOLGICO SUPERIOR DE TEPEACA
Organismo Pblico Descentralizado del Gobierno del Estado de Puebla
INGENIERA EN SISTEMAS COMPUTACIONALES
Administracin de servidores de redes 3HT 2HP 5CR

compila y se mantiene el cdigo fuente de un programa informtico se le llama


programacin.

Tambin la palabra programacin se define como el proceso de creacin de


un programa de computadora, mediante la aplicacin de procedimientos lgicos, a travs
de los siguientes pasos:

El desarrollo lgico del programa para resolver un problema en particular.


Escritura de la lgica del programa empleando un lenguaje de programacin
especfico (codificacin del programa).
Ensamblaje o compilacin del programa hasta convertirlo en lenguaje de mquina.
Prueba y depuracin del programa.
Desarrollo de la documentacin.

Existe un error comn que trata por sinnimos los trminos 'lenguaje de programacin' y
'lenguaje informtico'. Los lenguajes informticos engloban a los lenguajes de
programacin y a otros ms.

Un estndar de lenguaje de programas es un grupo de reglas que describen como deben


escribirse las sentencias y comandos de programacin. La regla de que los
nombres variables tienen que comenzar con una letra es un ejemplo de un estndar.
Una variable es un elemento que puede tomar diferentes valores.

3.2 ESTRUCTURA BSICA DE UN PROGRAMA.


Como ya se ha visto, 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 usemos y del entorno
en el cual lo creemos.

Principios generales:

Un cargador - todo programa necesita ser cargado en la memoria por el sistema


operativo. De esto se encarga el intrprete.
Definicin de los datos - la mayora de los programas operan con datos y por lo
tanto en el cdigo fuente debemos definir qu tipo de datos vamos a utilizar en el
programa. Esto se realiza de manera diferente en los distintos lenguajes. Todos
los lenguajes que usaremos tienen la posibilidad de crear una nueva definicin de
datos simplemente al utilizar los datos. Veremos esto en la prxima seccin.
Instrucciones - son la parte central del programa. Las instrucciones manipulan
los datos que hemos definido, realizan clculos, muestran los resultados, etc.

Pgina 11 de 28
INSTITUTO TECNOLGICO SUPERIOR DE TEPEACA
Organismo Pblico Descentralizado del Gobierno del Estado de Puebla
INGENIERA EN SISTEMAS COMPUTACIONALES
Administracin de servidores de redes 3HT 2HP 5CR

La Mayora de programas siguen una de dos estructuras:

1.- Programas de lotes

Estos se ejecutan tpicamente desde una lnea de comando o automticamente desde


otra aplicacin y tienden al siguiente patrn

Inicializacin interna de los datos


Lectura de los datos ingresados
Procesamiento de los datos
Visualizacin o ejecucin de los resultados

2.- Programas controlados por eventos

La mayor parte de las interfaces responden a eventos


Los programas controlados por eventos son generalmente as:

Inicializacin interna de los datos


Espera de los eventos
Identificacin de los eventos y actuacin en consecuencia

La estructura de un programa es una cuestin que puede ser abordada desde varios
puntos de vista, consideremos para su estudio solo este caso. .

1. Componentes lgicos se refiere a los diversos elementos que componen una


aplicacin, desde los ms complejos hasta los ms simples. Si comparamos un
programa con un edificio, los elementos iran desde el edificio como un todo, a los ladrillos
(sus elementos ms pequeos).

2. Estructura lgica.Desde el punto de vista lgico, puede considerarse que los


programas comprenden dos tipos de elementos diferentes: estructuras de datos y
algoritmos. O dicho en otras palabras: datos, e instrucciones para su manipulacin. Su
representacin codificada adopta dos formas: una entendible por la mquina (ejecutable
y ficheros de datos) y otra entendible por el humano (fuente). Para el conjunto de ambas
puede considerarse una escala conceptual que, si vamos de lo general a lo particular,
podemos representarla como sigue:

Pgina 12 de 28
INSTITUTO TECNOLGICO SUPERIOR DE TEPEACA
Organismo Pblico Descentralizado del Gobierno del Estado de Puebla
INGENIERA EN SISTEMAS COMPUTACIONALES
Administracin de servidores de redes 3HT 2HP 5CR

Aplicacin: Comprende ejecutables y datos. Puede haber mltiples ficheros de ambos


tipos (ficheros de datos y ejecutables)

Programa: Parte de una aplicacin (cdigo) que puede cargarse y ejecutarse


independientemente.

Fichero fuente: Se llaman as (abreviadamente) los ficheros que contienen el cdigo


fuente (ficheros .C / .CPP) escrito por el programador

Funcin: Una parte de un programa (subrutina) con un nombre, que puede ser invocada
(llamada a ejecucin) desde otras partes tantas veces como se desee. Opcionalmente
puede recibir valores (argumentos); se ejecuta y puede devolver un valor

Bloque: Lista, que puede estar vaca, de sentencias delimitadas

Sentencia: Las sentencias se componen de una o varias expresiones y tienen sentido


computacional completo

Expresin: Las expresiones son secuencias de tokens (operadores, operandos y


elementos de puntuacin) que especifican una computacin; tienen sentido
computacional en s mismas. Son los bloques de computacin ms simples con los que
se construye un programa [6 5] aunque no pueden ejecutarse separadamente sino
cuando forman una sentencia. Nota: la diferencia entre sentencia y expresin es algo
arbitraria.

3.3 TRADUCCIN DE UN PROGRAMA: COMPILACIN, ENLACE DE UN


PROGRAMA, ERRORES EN TIEMPO DE 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.

Un compilador es un programa que permite traducir el cdigo fuente de un programa


en lenguaje de alto nivel, a otro lenguaje de nivel inferior (tpicamente lenguaje de
mquina). De esta manera un programador puede disear un programa en un lenguaje
mucho ms cercano a cmo piensa un ser humano, para luego compilarlo a un programa
ms manejable por una computadora.

Partes de un compilador

Pgina 13 de 28
INSTITUTO TECNOLGICO SUPERIOR DE TEPEACA
Organismo Pblico Descentralizado del Gobierno del Estado de Puebla
INGENIERA EN SISTEMAS COMPUTACIONALES
Administracin de servidores de redes 3HT 2HP 5CR

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.

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).
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.

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. Suele incluir la generacin y
optimizacin del cdigo dependiente de la mquina.

El cdigo que genera el Back End normalmente no se puede ejecutar directamente, sino
que necesita ser enlazado por un programa enlazador (linker).

Preproceso

Lo primero que el compilador de C hace es pasar nuestro programa por el


preprocesador.El preprocesador se encarga de interpretar cada una de las directivas que
aparecen en el programa y de expandir las macros. Respecto a las directivas, son todos
a aquellas lneas que comienzan con un smbolo #. Hay un conjunto de directivas que
son parte del estndar ANSI se comentan en el apndice.

Pgina 14 de 28
INSTITUTO TECNOLGICO SUPERIOR DE TEPEACA
Organismo Pblico Descentralizado del Gobierno del Estado de Puebla
INGENIERA EN SISTEMAS COMPUTACIONALES
Administracin de servidores de redes 3HT 2HP 5CR

Compilacin del programa.

Una vez que el programador acaba de escribir el programa en su terminal y lo almacena


en un archivo debe traducirlo a cdigo ejecutable por la mquina

El compilador se encarga de la etapa de preproceso, justo antes de iniciar la compilacin.


Por lo tanto, esta etapa pasa normalmente desapercibida, aunque puede indicrsele al
compilador que solo efectu el preproceso, para ver cmo queda el programa despus
de l. La forma de solicitrselo depende de cada compilador en concreto. Una vez
finalizado el preproceso, nuestro programa que da listo para que pueda comenzarse su
traduccin a cdigo ejecutable.

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. Verficar 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 en ingls) 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.

Pgina 15 de 28
INSTITUTO TECNOLGICO SUPERIOR DE TEPEACA
Organismo Pblico Descentralizado del Gobierno del Estado de Puebla
INGENIERA EN SISTEMAS COMPUTACIONALES
Administracin de servidores de redes 3HT 2HP 5CR

Este trmino suele emplearse, en oposicin a tiempo de compilacion, para indicar si una
accin o hecho sucede en uno u otro tiempo.

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

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 caracter puntoen 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.

Pgina 16 de 28
INSTITUTO TECNOLGICO SUPERIOR DE TEPEACA
Organismo Pblico Descentralizado del Gobierno del Estado de Puebla
INGENIERA EN SISTEMAS COMPUTACIONALES
Administracin de servidores de redes 3HT 2HP 5CR

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).

NO PRIMITIVOS (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 l, 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).

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.

int a;
float mynumber;

Son declaraciones validas de variables. La primera declara una variable de tipo int con el

Pgina 17 de 28
INSTITUTO TECNOLGICO SUPERIOR DE TEPEACA
Organismo Pblico Descentralizado del Gobierno del Estado de Puebla
INGENIERA EN SISTEMAS COMPUTACIONALES
Administracin de servidores de redes 3HT 2HP 5CR

identificador a. La segunda declara una variable de tipo float con el identificador


mynumber. Una vez declaradas, las variables a y mynumber pueden ser usadas dentro
del resto de su contexto en el programa.

Si necesita declarar algunas variables del mismo tipo y quiere ahorrarse escritura, puede
declarar todas estas en la misma lnea separando los identificadores con comas (,). Por
ejemplo:
int a, b, c;

Declara tres variables (a, b y c) de tipo int , y tiene exactamente el mismo significado que
si hubiramos escrito:

int a;
int b;
int c;

Inicializacin de variables

Cuando declaramos una variable local, su valor es indeterminado por defecto. Pero usted
podra querer que una variable almacene un valor en concreto al momento de su
declaracin. Para hacer esto, usted tiene que anexar un signo igual seguido por el valor
deseado en la declaracin de la variable:

type identifier = initial_value ;

Por ejemplo, si queremos declarar una variable entera int llamada a que contenga el valor
0 al momento en el cual es declarada, podramos escribir:

int a = 0;

Estos expresan nmeros con decimales y/o exponentes. Estos pueden incluir un punto
decimal, un smbolo e (que expresa "por 10 a la n-esima potencia", donde n es el siguiente
valor entero) o ambos.
3.14159 // 3.14159 6.02e23 // 6.02 x 1023 1.6e-19 // 1.6 x 10-19 3.0 // 3.0

estos son cuatro nmeros vlidos con decimales expresados en C++. El primer nmero
es PI, el segundo es el nmero de Avogadro, el tercero es la carga elctrica de un electrn
(un nmero extremadamente pequeo) -todos ellos aproximados- y el ltimo es el nmero
3 expresado como un literal numrico en punto flotante.

Pgina 18 de 28
INSTITUTO TECNOLGICO SUPERIOR DE TEPEACA
Organismo Pblico Descentralizado del Gobierno del Estado de Puebla
INGENIERA EN SISTEMAS COMPUTACIONALES
Administracin de servidores de redes 3HT 2HP 5CR

Constantes declaradas (const)

Con el prefijo const usted puede declarar constantes con un tipo especfico exactamente
igual a como hara con una variable:

const int width = 100;


const char tab = '\t';
const zip = 12440;
En caso de que el tipo no sea especificado (como en el ltimo ejemplo) el compilador
asume que es de tipo int.

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.
Los errores que se pueden producir en la fase de compilacin son:
Errores fatales: Son raros. Indican errores internos del compilador.Cuando ocurren la
compilacin se detiene inmediatamente.
Errores de sintaxis: Son los errores tpicos de sintaxis. No detienen la compilacin
sino que al finalizar sta se mostrar la lista con todos los errores encontrados. Algunos
errores suelen ser consecuencia de otros cometidos con anterioridad. Con este tipo de
errores no se puede obtener un programa objeto y por lo tanto tampoco el ejecutable.
Advertencias o avisos (warnings): Indican que hay lneas de cdigo sospechosas
que a pesar de no infringir ninguna regla sintctica, el
compilador las encuentra susceptibles de provocar un error. Cuando se detecta un
warning la compilacin no se detiene. Si en un programa
fuente slo se detectan warnings s que se podr obtener un programa objeto, que tras
el linkado dar lugar a un programa ejecutable.

Pgina 19 de 28
INSTITUTO TECNOLGICO SUPERIOR DE TEPEACA
Organismo Pblico Descentralizado del Gobierno del Estado de Puebla
INGENIERA EN SISTEMAS COMPUTACIONALES
Administracin de servidores de redes 3HT 2HP 5CR

UNIDAD IV CONTROL DE FLUJO

4.1 ESTRUCTURAS SECUENCIALES.

El orden en que se ejecutan por defecto las sentencias de un programa es secuencial.


Esto significa que las sentencias se ejecutan en secuencia, una despus de otra, en el
orden en que aparecen escritas dentro del programa.
La estructura secuencial est formada por una sucesin de instrucciones que se ejecutan
en orden una a continuacin de la otra.
Cada una de las instrucciones estn separadas por el carcter punto y coma (;).
Las instrucciones se suelen agrupar en bloques.
El bloque de sentencias se define por el carcter llave de apertura ({) para marcar el inicio
del mismo, y el carcter llave de cierre (}) para marcar el final.
Ejemplo:
{
instruccin 1;
instruccin 2;
instruccin 3;
}
En Java si el bloque de sentencias est constituido por una nica sentencia no es
obligatorio el uso de las llaves de apertura y cierre ({ }), aunque s recomendable.

Ejemplo de programa Java con estructura secuencial: Programa que lee dos nmeros
por teclado y los muestra por pantalla.

/* Programa que lea dos nmeros por teclado y los muestre por pantalla.
*/
import java.util.*;
public class Main {
public static void main(String[] args){
//declaracin de variables
int n1, n2;
Scanner sc = new Scanner(System.in);
//leer el primer nmero
System.out.println("Introduce un nmero entero: ");
n1 = sc.nextInt(); //lee un entero por teclado
//leer el segundo nmero
System.out.println("Introduce otro nmero entero: ");
n2 = sc.nextInt(); //lee un entero por teclado
//mostrar resultado
System.out.println("Ha introducido los nmeros: " + n1 + " y " + n2);
}
}

Pgina 20 de 28
INSTITUTO TECNOLGICO SUPERIOR DE TEPEACA
Organismo Pblico Descentralizado del Gobierno del Estado de Puebla
INGENIERA EN SISTEMAS COMPUTACIONALES
Administracin de servidores de redes 3HT 2HP 5CR

4.2 ESTRUCTURAS SELECTIVAS: SIMPLE, DOBLE Y MLTIPLE.

Cuando en un programa que se est ejecutando se encuentra la instruccin if, la


condicin ser evaluada para determinar su valor numrico, el cual ser interpretado
como verdadero o falso. Si la condicin produce cualquier valor numrico positivo o
negativo que no sea cero, ser considerada como condicin "verdadera" y se ejecutar
la instruccin que sigue al if. Si la condicin produce un valor numrico de cero, ser
considerada "falsa" y se ejecutar la instruccin que sigue al else La parte del else es
opcional y se puede omitir.

Los operadores relacionales o lgicos sern utilizados para operndos con nmeros
enteros, flotantes, dobles o caracter en la instruccin if.

edad > 40 largo <= 50 temp > 98.6


3<4 marcador == terminar num_id ==682
da != 5 2.0 > 3.3 hora > 40
edad > 40 && edad < 20 // si edad es mayor a 40 Y edad es menor
que 20
numero > 2 && numero <= 9 // si nmero es mayor a 2 Y nmero
es menor o igual que 9
numero > 5 || numero <= 15 // si nmero es mayor a 5 O nmero
es menor o igual que 15
numero > 8 || numero <= 12 // si nmero es mayor a 8 O nmero
es menor o igual que 12

Los operadores relacionales y lgicos sern utilizados con nmeros enteros, flotantes,
doubles o caracter en la instruccin if.

Ejemplos:

If (A > 5 && A < 20) // Si A es mayor a 5 Y A es menor que 2

If (B > 10 && B <= 9) // si B es mayor a 10 Y B es menor o igual que 3

If (C > 24 || C <= 12) // si C es mayor a 24 O C es menor o igual que 12

If (D > 78 || C <= 45) // si D es mayor a 78 O D es menor o igual que 45

Pgina 21 de 28
INSTITUTO TECNOLGICO SUPERIOR DE TEPEACA
Organismo Pblico Descentralizado del Gobierno del Estado de Puebla
INGENIERA EN SISTEMAS COMPUTACIONALES
Administracin de servidores de redes 3HT 2HP 5CR

4.3 ESTRUCTURAS ITERATIVAS: REPETIR MIENTRAS, HASTA, DESDE

Tambin conocidas como estructuras iterativas o bucles, permiten ejecutar un conjunto


de instrucciones (cuerpo del bucle) mientras se cumpla una determinada condicin; cada
repeticin de secuencias de instrucciones se conoce como iteracin.

Estructura de repeticin WHILE:

Esta estructura primero verifica la condicin y luego ejecuta la accin. La accin puede
ser una accin simple o una accin compuesta (bloque de instrucciones encerradas entre
llaves).

Estructura de repeticin DO WHILE:

Este tipo de estructura primero ejecuta la accin y luego verifica la condicin. La accin
puede ser simple o compuesta.

Estructura de repeticin FOR:

Este tipo de estructuras incluye un contador como parte de su estructura, lo cual, quiere
decir que se conoce el nmero de veces que se repetir el cuerpo del bucle.

4.4 DISEO E IMPLEMENTACIN DE FUNCIONES

Si un cdigo repetidamente utiliza una funcionalidad especfica, entonces diferentes


bloques de cdigos que realiza trabajo similar no slo aumenta el tamao del archivo,
pero tambin resultados en legibilidad deficiente, mantenibilidad y extendibility del cdigo.
Desde el punto de vista del diseo, un programa bien escrito no slo debe producir
resultados correctos, pero tambin debe ser fcil de actualizar y mantener sin alterar el
cdigo existente. Por lo tanto, en lugar de repetir un grupo de instrucciones, es mejor
cuenta de grupo que lidiar con una funcionalidad especfica en una funcin. Funciones
ayudan a los programadores a leer y comprender un programa, fcilmente ya que es
mucho mejor que la dispersin de las mismas lneas de cdigo repetidamente.

public int demoFunction(int n1, int n2) {

int annualInterest = 0;
annualInterest = n1 * n2;

if(annualInterest < 1000)


{
return annualInterest; //returns annual interest if the value is less than 1000.
}

Pgina 22 de 28
INSTITUTO TECNOLGICO SUPERIOR DE TEPEACA
Organismo Pblico Descentralizado del Gobierno del Estado de Puebla
INGENIERA EN SISTEMAS COMPUTACIONALES
Administracin de servidores de redes 3HT 2HP 5CR

UNIDAD V ARREGLOS

5.1 UNIDIMENSIONALES: CONCEPTOS BSICOS, OPERACIONES Y


APLICACIONES.

El concepto de array o arreglo nace de la necesidad de querer tener datos del mismo
tipo en un elemento contenedor que facilite la accesibilidad, recordamos que el
elemento contenedor variable solamente puede contener un valor y que para almacenar
muchos datos tendramos que tener tantas variables como datos existan.

Los datos en un arreglo se almacenan de forma continua como vagones en un tren,


pero previamente se debe indicar la cantidad de elementos o inicializarlo con los datos
que se quiera almacenar. La forma en que se opera con un arreglo es por medio de un
ndice de manera similar a como trabaja una variable, normalmente no permiten tener
acceso a todos los elementos de una vez y en algunos lenguajes si se omite el ndice
devuelve la direccin de memoria donde se encuentran los elementos contenidos
empezando desde el primero. Si se desea agregar un nuevo elemento se tiene que
redefinir el tamao, no es posible mediante un arreglo la agregacin o eliminacin de
elementos, solamente la lectura o modificacin de elementos existentes. Las
aplicaciones comunes estn ligadas a la gestin de datos, y suelen ser un componente
base para el desarrollo de otros elementos ms complejos dedicados a la gestin de
datos como las listas.

int[] arregloInicializado = { 12, 13, 14 };

// Declaracion del arreglo indicndole el tamao o cantidad


maxima de elementos
int [] miArreglo = new int[9];

for (int indice = 0; indice < 10; indice ++ )


{
// ESCRITURA
//Indicamos donde queremos almacenar el elemento
miArreglo[indice]= indice;

Pgina 23 de 28
INSTITUTO TECNOLGICO SUPERIOR DE TEPEACA
Organismo Pblico Descentralizado del Gobierno del Estado de Puebla
INGENIERA EN SISTEMAS COMPUTACIONALES
Administracin de servidores de redes 3HT 2HP 5CR

// Asignamos el elemento, en este caso nmerico

// LECTURA
Console.Out.WriteLine(miArreglo[indice]);
// Optenemos el elemento que se encuentre en el indice
indicado

5.2 MULTIDIMENSIONALES: CONCEPTOS BSICOS, OPERACIONES Y


APLICACIONES.

Los arreglos multidimensionales tienen ms de una dimensin. En JAVA, las dimensiones


se manejan por medio de un par de corchetes, dentro de los que se escriben los valores
de cada dimensin, separados por comas.

Se necesita manejar, en un arreglo, la posicin todos los caracteres escritos en una


enciclopedia. El arreglo deber tener las siguientes dimensiones:

Una para manejar el rengln en la pgina,


otra para la columna en la pgina,
otra para la hoja en el volumen y
otra para el volumen en la enciclopedia.

Cada pgina tiene 30 renglones y 80 columnas.


Cada volumen tiene 500 pginas.

La enciclopedia tiene 18 volmenes.

El siguiente fragmento de programa implementa la solucin a este problema.

char car;

// Declara y crea el arreglo.

char[ , , , ] enciclopedia = new char [18,500,30,80] ;

// Lee, desde el teclado, cada carcter para la enciclopedia.

for(int v = 0 ; v < 18 ; v++) // Volumen

for(int p = 0 ; p < 500 ; p++) // Pgina

for(int r = 0 ; r < 30 ; r++) // Rengln

Pgina 24 de 28
INSTITUTO TECNOLGICO SUPERIOR DE TEPEACA
Organismo Pblico Descentralizado del Gobierno del Estado de Puebla
INGENIERA EN SISTEMAS COMPUTACIONALES
Administracin de servidores de redes 3HT 2HP 5CR

for(int c = 0 ; c < 80 ; c++) // Columna

car = (char)Console.Read( ) ;

enciclopedia[v,p,r,c] = car ;

REFERENCIAS BILBIOGRFICAS Y ELECTRNICAS

1. Luis Joyanes Aguilar, Fundamentos de Programacin, Ed. Prentice Hall.


2. Jess J. Garca Molina Introduccin a la programacin un Enfoque Algortmico, Ed.
Paraninfo.
3. Leobardo Lpez Romn, Metodologa de la Programacin Orientada a Objetos, Ed.
Alfaomega.
4. Cairo Osvaldo, Metodologa de la Programacin, Ed. Alfaomega.
5. Deitel y Deitel. Como Programar en C++ quinta Edicin. Prentice Hall.
6. Deitel y Deitel. Como Programar en C# quinta Edicin. Prentice Hall.
7. Deitel y Deitel. Java como programar. Sptima edicin. Prentice Hall.
8. Joyanes Aguilar, Luis Fernndez, Azuela Matilde, Rodrguez Baena Luis,
Fundamentos de Programacin Libro de Problemas Algoritmos Estructura de Datos y
Objetos. 2a. edicin Ed. Mc. Graw Hill
9. Luis Joyanes Aguilar. Programacin en JAVA 2 1 Edicin. Mc Graw Hill.
10. Martn Flowler Kendall Scott. UML Gota a Gota. Addison Wesley.
11. Ramrez Felipe, Introduccin a la Programacin, Algoritmos y su Implementacin En
Vb.Net C# Java y C++, 2a. edicin, Alfa Omega.
12. Jean-Paul Tremblay, Richar B. Bunt. Introduccin a la Ciencia de Las Computadoras.
Enfoque Algortmico. McGraw Hill.
13. Bjarne Storstrup. Lenguaje de Programacin C/C++.
14. Cairo Battistutti Osvaldo, Metodologa de la Programacin, Algoritmos Diagramas de
Flujo y Programas, 3a. edicin, Alfa Omega.
15. Flores Cueto, Juan Jos, Mtodo de las 6D UML Pseudocdigo Java Enfoque
Algortmico, Serie Textos Universitarios Facultad de Ingeniera y Arquitectura, ed.
Universidad de San Martn de Porres, (http://books.google.com/).

Pgina 25 de 28