Manual Fundamentos de Programación 1.0docx
-
Upload
mauricio-echeverria-vicencio -
Category
Documents
-
view
222 -
download
0
Transcript of Manual Fundamentos de Programación 1.0docx
-
7/31/2019 Manual Fundamentos de Programacin 1.0docx
1/148
-
7/31/2019 Manual Fundamentos de Programacin 1.0docx
2/148
UNIVERSIDAD TECNOLGICA DE CHILE INACAP - REA INFORMTICA Y TELECOMUNICACIONES
1Manual para la asignatura de Fundamentos de
Programacin Versin 1.0. Santiago Marzo de 2012
Este material ha sido diseado para el uso de los
alumnos y profesores de la asignatura de Anlisis y
Diseo Orientado a Objetos de las carreras del
rea informtica. Queda estrictamente prohibido el
uso en otros cursos ya sean en lnea o presenciales
sin el consentimiento explcito de INACAP.
-
7/31/2019 Manual Fundamentos de Programacin 1.0docx
3/148
UNIVERSIDAD TECNOLGICA DE CHILE INACAP - REA INFORMTICA Y TELECOMUNICACIONES
2
Agradecimientos.Agradecemos a todas las personas que de forma directa o
indirecta han colaborado en la elaboracin de este
manual.
De forma significativa agradecemos a los docentes de las
sedes que nos han apoyado y colaborado con ejercicios y
propuestas durante la presentacin de este proyecto.
Vayan nuestros sinceros agradecimientos a los siguientes
docentes:
Cristian Leiva Marn, Miguel Palma Esquivel, Marcelo
Montecinos Cabrera, Rodrigo Toledo de los Santos, Paola
Cifuentes Berrios, Servando Campillay Briones, Emerson
Ilaja Villarroel, Hugo Herrera Valenzuela, Fernando
Santolaya, Manuel Morales, Roberto Prez Fuentes,
Fernando Neyra Castro, Victor Brquez, Francisco Andrs
Daz Rojas, Ademar Araya Fuentes, Ricardo Vera Muoz,
Mauricio Torres Pizarro, Ernesto Ramos Vega, Alberto
Garrido Burgos, Helton Bustos Sez, Beatriz Contreras
Guajardo, Jos Landeta Parra, Luis Pacheco Toro, Patricio
Araya Castro, Ivn Torres, Hinojoza Vega Mauricio, Yasna
Hernndez, Vctor Orellana, Rene Valderas Aros, Ricardo
Toledo Barra, Cesar Eduardo Arce Jara, Luis Ponce
Cuadra, Javier Miles Avello, Carolina Ehrmantraut
Caballero, Pedro Alfonso Fuentealba Martnez, Jorge
Hormazabal Valds, Pedro Ernesto Ulloa Morales, Mara del
Pilar Gallego Martnez, Claudio Fuenzalida Medina, Mara
Encarnacin Seplveda, Francisco San Martin, Christian
Sarmiento Zampillo, Romn Gajardo Robles, Ricardo
-
7/31/2019 Manual Fundamentos de Programacin 1.0docx
4/148
UNIVERSIDAD TECNOLGICA DE CHILE INACAP - REA INFORMTICA Y TELECOMUNICACIONES
3Hidalgo Hidalgo, Nelson Fredy Ganga Caldern, Manuel
Reveco Cabellos, Jacqueline San Martin Grandon, Sergio
Vergara Salvatierra, Pablo Lpez Chacn, Cinthya Acosta,
Jocelyn Oriana Gonzlez Corts, Carlos Felipe Alten Lpez,
Francisco Prieto Rossi, Giannina Costa Lizama, Christian
Silva, Sebastin Pastn Daz.
El aporte realizado por ustedes durante las jornadas de
capacitacin ha significado mejorar enormemente la
calidad del material entregado.
Saludos.
-
7/31/2019 Manual Fundamentos de Programacin 1.0docx
5/148
UNIVERSIDAD TECNOLGICA DE CHILE INACAP - REA INFORMTICA Y TELECOMUNICACIONES
4
Contenidos
Fundamentos del procesamiento de datos. ....................................................................................... 8
Conceptos bsicos. .......................................................................................................................... 8
Dato ........................................................................................................................................... 10
Proceso ...................................................................................................................................... 10
Informacin. .............................................................................................................................. 12
Entrada y Salida. ........................................................................................................................ 12
Proceso manual de datos. ......................................................................................................... 13
Proceso computacional de datos. ............................................................................................. 13
Estructura funcional de un computador. ...................................................................................... 14
Dispositivos de entrada y salida. ............................................................................................... 14
Unidades Internas. .................................................................................................................... 15
Unidades externas de almacenamiento secundario. ................................................................ 16
Elementos o componentes de un procesamiento computacional de datos. ............................... 18
Plantilla para prueba manual o seguimiento de ejecucin de una secuencia lgica. ................... 22
Tcnicas de algoritmos para el diseo de procesos computacionales. ............................................ 26
Conceptos bsicos. ........................................................................................................................ 26
Algoritmo. .................................................................................................................................. 26
Programa. .................................................................................................................................. 32
Etapas en la creacin de programas. ....................................................................................... 32
Caractersticas de la programacin. .............................................................................................. 39
Estructura descendente. ........................................................................................................... 39
Modularidad. ............................................................................................................................. 40
Cohesin. ................................................................................................................................... 40
Acoplamiento. ........................................................................................................................... 41
Descomposicin. ....................................................................................................................... 42
Estructura de un algoritmo. .......................................................................................................... 43
Conceptos de variables y constantes. ........................................................................................... 44
Definicin de variables y constantes. ........................................................................................ 44
Representacin de sentencias en Instrucciones. .......................................................................... 60
-
7/31/2019 Manual Fundamentos de Programacin 1.0docx
6/148
UNIVERSIDAD TECNOLGICA DE CHILE INACAP - REA INFORMTICA Y TELECOMUNICACIONES
5Operadores Aritmticos. ........................................................................................................... 60
Operadores unarios y de auto asignacin ................................................................................. 61
Operadores Lgicos ................................................................................................................... 62
Introduccin a lenguajes formales de Programacin. ...................................................................... 66
Estructura de un programa. .......................................................................................................... 66
Sentencia condicionales ................................................................................................................ 67
Anidada. .................................................................................................................................... 75
Mltiple ..................................................................................................................................... 77
Sentencias de ciclo iterativo .......................................................................................................... 79
While ......................................................................................................................................... 80
For ............................................................................................................................................. 81
Do While. ............................................................................................................................... 85Concepto de funcin ..................................................................................................................... 86
Estructura de una funcin ............................................................................................................. 89
Procedimientos ......................................................................................................................... 89
Funcin .......................................................................................................................................... 95
Llamada a una funcin .................................................................................................................. 97
Relacin de la funcin con el mtodo de una clase. ................................................................... 108
Arreglos ........................................................................................................................................... 108
Unidimensionales .................................................................................................................... 108
Arreglos de dos dimensiones. ..................................................................................................... 111
Arreglos de arreglos. ............................................................................................................... 113
Introduccin a la Programacin Orientada a Objeto. ..................................................................... 117
Caractersticas generales de la programacin orientada a objetos. ........................................... 117
Qu es la programacin orientada a objetos .............................................................................. 117
Atributos ...................................................................................................................................... 119
Comportamientos ....................................................................................................................... 120Estados ........................................................................................................................................ 121
Clase ............................................................................................................................................ 122
Abstraccin .............................................................................................................................. 126
Encapsulacin .......................................................................................................................... 127
Herencia .................................................................................................................................. 128
-
7/31/2019 Manual Fundamentos de Programacin 1.0docx
7/148
UNIVERSIDAD TECNOLGICA DE CHILE INACAP - REA INFORMTICA Y TELECOMUNICACIONES
6Asociacin. .............................................................................................................................. 129
Aplicaciones bsicas .................................................................................................................... 129
Seguridad en una clase ................................................................................................................ 138
Get y Set. ..................................................................................................................................... 142
-
7/31/2019 Manual Fundamentos de Programacin 1.0docx
8/148
UNIVERSIDAD TECNOLGICA DE CHILE INACAP - REA INFORMTICA Y TELECOMUNICACIONES
7
-
7/31/2019 Manual Fundamentos de Programacin 1.0docx
9/148
UNIVERSIDAD TECNOLGICA DE CHILE INACAP - REA INFORMTICA Y TELECOMUNICACIONES
8
Fundamentos delprocesamiento de datos.A continuacin vamos emprender un viaje slo de ida, no
te preocupes no se trata de un trgico final, es slo de
ida porque luego que conozcas todo lo que hay preparado
para t en las pginas venideras no querrs volver atrs.
Durante este manual nos encargaremos, con tu ayuda y
por supuesto la de tu profesor, de dar los primeros pasos
para convertirte en un desarrollador de proyectos de
tecnologas de la informacin, este manual es el primero
de varios y en cada uno iremos agregando ms dificultad,
mayores novedades y elementos cada vez ms
sorprendentes.
Conceptos bsicos.Ahora nos referiremos a los fundamentos del
procesamiento de datos, todos los programas
computacionales tienen el mismo objetivo, primero
obtener datos de entrada (por lo general desde un
usuario), luego los almacena, despus realiza algn
procesamiento (clculos, ordenamientos, etc) con ellos y
finalmente entrega el resultado. El proceso es muy
similar a cuando un detective est interrogando a un
sospechoso en las pelculas, imagina esas tpicas salas de
interrogatorio y un detective como el de las series de los
aos ochenta, el cual est de pie y al frente el
sospechoso sentado en una silla, cuando el detective se
acerque a l, lo mire a los ojos y le diga smith
-
7/31/2019 Manual Fundamentos de Programacin 1.0docx
10/148
UNIVERSIDAD TECNOLGICA DE CHILE INACAP - REA INFORMTICA Y TELECOMUNICACIONES
9anderson, el sospechoso recibir esta informacin y
realizar una bsqueda interna para luego de unos
segundos de silencio dar el paradero de Smith y otra
informacin relevante para su detencin al detective, en
este caso lo que el detective hace es recolectar datos
durante su caso, pero estos datos por si slo no
permitirn resolverlo, por otra parte los datos son en
realidad alguna caracterstica de algo o alguien, Smith
por ejemplo, es el nombre de una persona, pelo negro,
34 aos, 1.72 metros son tambin datos que representan
a una entidad, pero para que el detective resuelva el caso
necesita del sospechoso a quien le dio los datos como
una entrada para que as el sospechoso haga algn tipo
de procesamiento con los datos, los cuales pueden ser
una suma, restas o alguna otra operatoria como por
ejemplo una bsqueda, a partir de este procesamiento
interno, el sospechoso logr obtener la direccin de Smith
la cual gener como una salida hacia el detective. Lo que
ha recibido el detective a cambio de la entrega de datos
es informacin relevante para l. As como esta
situacin el software se comporta de forma muy similar
piensa los ltimos software que has usado, un ejemplo de
ello es la calculadora de Windows a la cual le entregas
datos de entrada, luego solicitas una operacin y
presiones el botn igual, esto da como resultado que la
calculadora procese los datos y finalmente entregue el
resultado. Veamos ahora otro ejemplo, en el caso de un
videojuego, el cual parece ser tan distinto a una
calculadora sigue los mismos principios, a travs del
-
7/31/2019 Manual Fundamentos de Programacin 1.0docx
11/148
UNIVERSIDAD TECNOLGICA DE CHILE INACAP - REA INFORMTICA Y TELECOMUNICACIONES
10joystick el usuario ingresa datos de entrada con los
cuales especifica la direccin en la que desea moverse, el
software recibe estos datos los almacena y los procesa, al
final el software presenta al usuario la informacin
solicitada en la cual el personaje se encuentra ahora en
una posicin distinta pero de acuerdo a lo que el usuario
ha ingresado.
Este modelo es muy simple y consta de tres partes, dato,
proceso e informacin, las cuales se definen a
continuacin.
DatoCorresponde a un par ordenado de atributo con valor
(atributo, valor) que representan el registro de un hecho
importante para la organizacin en un momento
determinado.
Un dato esta compuesto de dos partes, un atributo y un
valor, el atributo define que es lo que deseo guardar y el
valor define el tipo de valor asociado, es decir el tipo de
datos y sus valores mximos y mnimos. Los datos
siempre estn formados por un par ordenado, ya que,
sus partes por separado carecen de sentido.
ProcesoCorresponde a la aplicacin de clculos aritmticos,
ordenamientos o algn otro tipo de manipulacin de los
datos y que a partir de ello genera informacin.
-
7/31/2019 Manual Fundamentos de Programacin 1.0docx
12/148
UNIVERSIDAD TECNOLGICA DE CHILE INACAP - REA INFORMTICA Y TELECOMUNICACIONES
11Vemoslo a travs de un ejemplo, supongamos que
tienes en tu closet una caja de pelculas, la forma en la
que se han guardado las pelculas en la caja no ha sido
mediante ningn orden, muy por el contrario han sido
guardadas en el mismo orden que las has adquirido, por
lo que hay dentro de la caja es un completo desorden que
hace juego con el resto del closet. Para poder ver la
pelcula que tanto anhelas vas a tener que buscarla, este
proceso comienza con un dato de entrada, para el cual
vas a necesitar el nombre de la pelcula (un dato), el cual
puede ser por ejemplo:
Nombre pelcula = hoy si estudiar.
A partir de este dato el proceso que debes llevar puede
variar segn tu forma de hacer las cosas, un posible
camino es hacer una comparacin, proceso que consiste
en tomar las pelculas una por una e ir comparando su
nombre con el de la pelcula que buscas hasta dar con
ella, otro camino puede ser verificar si ellas se
encuentran ordenadas, de ser as bastar con realizar
una bsqueda basado en el alfabeto para dar con ella, de
no estar ordenadas entonces podras ordenarlas, as este
proceso ser ms simple la prxima vez, el resultado de
esta bsqueda ser la pelcula que deseas ver,
adicionalmente un buen consejo ser considerar
mantener tu closet ordenado.
-
7/31/2019 Manual Fundamentos de Programacin 1.0docx
13/148
UNIVERSIDAD TECNOLGICA DE CHILE INACAP - REA INFORMTICA Y TELECOMUNICACIONES
12
Informacin.Mensaje vlido para un receptor resultante del
procesamiento de datos.
Debes considerar que no todo lo resultante de un procesoes informacin si esta no va dirigida a quien corresponde,
por ejemplo, si vas caminando por afuera del aeropuerto
y un mensaje que dice se informa que el vuelo 345
tiene un retraso de 45 minutos, sin duda eso es
informacin y ha nacido desde el clculo de la posicin
del vuelo, la distancia con el aeropuerto y la velocidad
que lleva, sin embargo para ti que slo buscas un taxi,esa informacin no te sirve, por ende deja de ser
informacin para ti.
Entrada y Salida.Como lo mencionamos al inicio los software llevan a cabo
principalmente cuatro acciones: recibir datos de entrada,
almacenarlos, procesarlos y entregar un resultado.
Muchas veces la palabra dato e informacin son utilizadas
indistintamente, pero sin embargo en este contexto son
muy distintas. Cuando un usuario interacta con un
software es el usuario el que provee de datos al
programa, estos datos como la definicin lo dice son la
representacin de una entidad, es decir son datos que
representan el valor de una entidad, cuando estos datosson recibidos por el software este los almacena en la
memoria, luego los toma, los procesa, es decir realiza
algn tipo de clculo en ellos para luego depositarlos
nuevamente en la memoria. Podemos decir entonces que
-
7/31/2019 Manual Fundamentos de Programacin 1.0docx
14/148
UNIVERSIDAD TECNOLGICA DE CHILE INACAP - REA INFORMTICA Y TELECOMUNICACIONES
13dato e informacin no son lo mismo, debido a que para
que los datos se conviertan en informacin deben haber
pasado primero por un procesamiento. En general los
datos por si solos no sirven para tomar una decisin en
cambio la informacin s sirve para tomar decisiones.
Proceso manual de datos.El procesamiento manual ha existido desde siempre y
corresponde a toda transformacin o clculo que se
realice con datos mediante clculos mentales o con la
utilizacin de lpiz y papel, esta tcnica es muy propensa
a errores sobre todo cuando se trata de realizar grandes
clculos o la clasificacin y ordenacin de un conjunto
muy numeroso de datos. Adicionalmente el proceso se
lleva a cabo de forma lenta, lo que produce que muchas
veces sea una tcnica poco viable para las empresas de
hoy, las cuales procesan los datos de millones de
personas.
Proceso computacional de datos.El proceso computacional en cambio corresponde a la
automatizacin de procesos comunes que en su comienzo
solan hacerse con lpiz y papel, las operaciones
aritmticas bsicas fueron un comienzo y as la tcnica ha
ido refinndose hasta llegar a lo que hoy nos rodea:
planillas de Excel, sistemas bancarios para llevar lascuentas de miles de clientes y reconocimiento facial o
procesamiento de imgenes son algunos ejemplos, esto
nace de la necesidad de que la informacin debe estar en
el momento en que se necesita, imagina qu sucedera si
-
7/31/2019 Manual Fundamentos de Programacin 1.0docx
15/148
UNIVERSIDAD TECNOLGICA DE CHILE INACAP - REA INFORMTICA Y TELECOMUNICACIONES
14tratsemos de llevar el censo de nuestro pas utilizando el
proceso manual, es probable que cuando los resultado
estn listos la informacin generada no represente en lo
absoluto la realidad nacional y por ello lo que en un
momento hubiese sido informacin vital hoy es slo un
dato que no sirve.
Estructura funcional de un
computador.
Dispositivos de entrada y salida.
Si bien un software se basa en el procesamiento
computacional de datos con el fin de entregar
informacin no olvidemos que estos software se
almacenan y ejecutan dentro de un computador, es por
ello que los computadores deben proveer alguna forma
en la que podamos comunicarnos con ellos, todo los
computadores poseen lo que se conoce como perifricos
los cuales podemos dividir en entrada y salida.
Los perifricos de entrada son todos aquellos dispositivos
que permiten ingresar informacin, algunos ejemplos de
ello son el teclado a travs del cual digitamos, el mouse,
un escner el cual nos permite digitalizar las fotos o
alguna imagen, el micrfono que utilizamos para chatear,o dictar un documento a nuestro computador.
Los perifricos de salida en cambio son todos aquellos
dispositivos que permiten al computador emitir
informacin que ha procesado producto de los datos que
-
7/31/2019 Manual Fundamentos de Programacin 1.0docx
16/148
UNIVERSIDAD TECNOLGICA DE CHILE INACAP - REA INFORMTICA Y TELECOMUNICACIONES
15hemos ingresado, probablemente el ms utilizado de
todos sea el monitor, en la cual el computador nos
muestra la informacin requerida, otros ejemplos son la
impresora, la que nos permite obtener la informacin en
papel o los parlantes, que emiten sonidos segn lo que le
pidamos o hagamos.
Unidades Internas.
En un computador el encargado de procesar toda la
informacin es la Unidad Central de Proceso CPU (Central
Processing Unit). Esta unidad es la encargada del control
y de la ejecucin de las operaciones del sistema, tambin
lo conocemos como el microprocesador.
Las actividades que realiza la CPU son:
Ejecutar las instrucciones de los programas
almacenados en la memoria.
Controlar la transferencia entre la CPU y la memoria.
Responder a las peticiones realizadas por algn
perifrico.
Unidad de control.
Coordina las actividades del computador y determina qu
operaciones se deben realizar y en qu orden; as mismo
controla todo el proceso del equipo.
-
7/31/2019 Manual Fundamentos de Programacin 1.0docx
17/148
UNIVERSIDAD TECNOLGICA DE CHILE INACAP - REA INFORMTICA Y TELECOMUNICACIONES
16
Unidad Aritmtica-lgicaRealiza operaciones aritmticas y lgicas, entre las
operaciones aritmticas se encuentras las sumas o restas
y en las lgicas las comparaciones del tipo mayor, menor,
igual, etc.
Unidad de almacenamiento principal.Es la parte de la CPU en la que se encuentran
almacenadas las instrucciones y todos los datos que
necesarios para llevar a cabo un proceso, esta memoria
es temporal, esto quiere decir que si apagas el equipo
toda la informacin alojada ah es eliminada, el
procesador usa esta memoria debido a que es un lugar a
la que puede acceder ms rpido, es por esto que los
datos son cargados aqu como paso previo a su
ejecucin. La unidad de almacenamiento principal es
popularmente conocida como memoria RAM.
Unidades externas de
almacenamiento secundario.Adicional a los datos que el computador almacena de
forma temporal para su procesamiento, existen
dispositivos de almacenamiento que permiten que la
informacin perdure en el tiempo y que se encuentran
fuera del equipo, algunos ejemplo de ellos son el CD,
DVD, blueray o memorias flash, en ellos se almacenan
datos que podrn ser procesados ms adelante y su
almacenamiento es permanente e independiente de si el
computador est prendido o apagado.
-
7/31/2019 Manual Fundamentos de Programacin 1.0docx
18/148
UNIVERSIDAD TECNOLGICA DE CHILE INACAP - REA INFORMTICA Y TELECOMUNICACIONES
17Para ayudarte a comprender mejor cmo el computador
utiliza los dispositivos de almacenamiento vemoslo con
una simple analoga. Supongamos que t eres el
procesador y tu misin hoy es recolectar un conjunto de
datos histricos para procesarlos y crear con ellos un
resumen de historia, el cual contiene informacin
relevante para quien lo solicit, muy lejos de la silla y el
escritorios donde te encuentras hay un estante llenos de
libro, los cuales siempre estn all, este estante es el
equivalente al disco duro de tu computador, pero imagina
tuvieses que levantarte de la silla, ir hasta el estante,
tomar un libro, volver a tu silla, buscar lo que necesitas y
luego volver a dejarlo al estante para luego
complementar el informe con otro libro lento verdad?
Entonces al igual que t, el computador necesita traer un
conjunto de datos para mantenerlos temporalmente ms
cerca, entonces ese rol lo jugar el escritorio, de esta
forma te acercars al estante y traers en uno o ms
viajes todos los libros que necesites y lo dejars sobre tu
escritorio, de esta forma no necesitars levantarte tan
seguido, nuestro escritorio es el equivalente a la memoria
RAM, por lo que tambin podemos afirmar que mientras
ms memoria RAM tengamos mejor rendimiento
tendremos, ya que podremos almacenar y dejar ms
informacin all, ahora que mantenemos los datos cerca,
para que puedas leer y producir un resumen con tu
cerebro (equivalente al procesador de tu PC), necesitars
acercar los libros que tienes en tu escritorio, lo recogers
con la mano para de esta forma logrado acercar ms la
-
7/31/2019 Manual Fundamentos de Programacin 1.0docx
19/148
UNIVERSIDAD TECNOLGICA DE CHILE INACAP - REA INFORMTICA Y TELECOMUNICACIONES
18informacin, as estar lista para ser leda y procesada
por t, tu mano en esta analoga es el equivalente a la
memoria cache de tu procesador, cuando hayas finalizado
tu informe todo lo que se encuentra en tu mano y
escritorio desaparecer, pero volver a quedar de forma
permanente en tu estante, esto se debe a que tu mano y
el escritorio almacenan informacin slo de forma
temporal, en el computador la RAM y la CACHE se
comportan de la misma forma y existen con el fin de
acercar la informacin hacia el procesador, dado que es
ms rpida su lectura desde all, sin embargo este tipo de
memoria mientras ms rpida suele ser ms pequea, al
igual que la proporcin entre tu mano, escritorio y
estante, que adicionalmente va desde la ms asequible a
la ms distante, siendo la mano la unidad de
almacenamiento ms pequea y el estante la ms
grande.
Elementos o componentes de
un procesamiento
computacional de datos.Cuando analices un proceso o un sistema, siempre debes
prestar atencin a las etapas o acciones que se ejecutan
en el sistema que ests analizando. Recuerda que los
sistemas estn compuestos de una serie de elementos
que interactan entre s para lograr un propsito. Para
lograr este propsito cada uno de los objetos detectados
en el proceso realizan un conjunto de acciones. Para
-
7/31/2019 Manual Fundamentos de Programacin 1.0docx
20/148
UNIVERSIDAD TECNOLGICA DE CHILE INACAP - REA INFORMTICA Y TELECOMUNICACIONES
19poder realizar estas acciones, las partes componentes
necesitan datos de entrada. Estos datos son la materia
prima con la cual los objetos realizan sus acciones. Una
vez que reciben los datos, los objetos realizan las
acciones para las cuales fueron creados, generando un
resultado que se conoce como dato de salida. Podemos
analizar las acciones que realiza un objeto como una caja
negra es decir sabemos lo que entra y el resultado del
proceso pero no lo que sucede adentro. Por ejemplo si
utilizo un reproductor de DVD, los datos de entrada estn
contenidos en el disco que ingreso al equipo, y la salida
ser la imagen y el audio, pero el proceso es desconocido
y por lo dems no me interesa, pues slo quiero ver el
DVD no construir un reproductor.
Ahora si mi necesidad aumenta y adems de usar un
reproductor de DVD ahora quiero construir uno, entonces
debo conocer qu es lo que hace el dispositivo con los
datos que estn en el disco para generar la imagen y el
audio, esto se conoce como procesamiento de los datos,
el cual bsicamente consiste en leer los datos, ordenarlos
y guardarlos, procesarlos y finalmente generar una
salida.
El procesamiento de los datos est asociado a la toma de
decisiones, que se estructuran bsicamente siguiendo
una serie de reglas y condiciones que en lenguaje
informtico se conocen como reglas del negocio. Estas
reglas y condiciones se basan en la definicin de cmo se
debe comportar el sistema para tratar los datos que
entran a ser procesados. Veamos un ejemplo,
-
7/31/2019 Manual Fundamentos de Programacin 1.0docx
21/148
UNIVERSIDAD TECNOLGICA DE CHILE INACAP - REA INFORMTICA Y TELECOMUNICACIONES
20supongamos que tienes un telfono celular de prepago y
debes cargarle dinero cada cierto tiempo para poder
realizar llamadas. Analicemos el proceso de carga de
dinero con un poco ms de detalle Qu datos de entrada
necesitamos?, si dices que lo que necesitas es solamente
el dinero que vas a cargar, es correcto, pero eso es
todo?, pensemos un poco ms en detalle y pongmonos
en algunos casos especiales, es tu telfono el nico
telfono en el sistema?, claramente no por lo tanto es
necesario identificar a qu telfono quieres cargar el
dinero, ah aparece un nuevo dato que es el nmero de
telfono. Por lo tanto ahora ya tenemos los siguientes
datos de entrada, el nmero de telfono y el monto de
dinero que vas a cargar. Ahora la pregunta es la
siguiente, que hace el sistema con los datos de
entrada?, una respuesta acertada sera decir que suma al
saldo anterior el valor que se est cargando, pero a cual
de todos los telfonos que existen lo carga?, entonces ah
determinamos que primero hay que buscar la informacin
asociada al telfono y luego sumar el valor al saldo de
dinero que tiene el telfono. As determinamos que el
proceso se define en dos pasos:
1.Buscar los datos del telfono usando el nmero.
2.Sumar el valor a cargar al saldo existente.
Si te fijas ya estamos avanzando, pero ahora comienzan
a surgir algunos inconvenientes, supongamos que buscas
los datos del telfono y te das cuenta que no es un
telfono de prepago sino que uno con plan, entonces
Qu haces?, si te fijas debes tomar un decisin usando
-
7/31/2019 Manual Fundamentos de Programacin 1.0docx
22/148
UNIVERSIDAD TECNOLGICA DE CHILE INACAP - REA INFORMTICA Y TELECOMUNICACIONES
21una regla, pensemos que hacer, todos los telfonos
tienen el mismo plan?, la respuesta es no, de hecho
existen bsicamente tres planes, prepago, cuenta
controlada y plan ilimitado, slo a los dos primeros se les
puede cargar dinero, pero bajo circunstancias distintas, al
plan de cuenta controlada slo le puedes cargar ms
dinero cuando se ha acabado el dinero anterior, mientras
que al de prepago se le puede cargar en cualquier
momento y si tienes plan ilimitado no le puedes cargar
dinero. Con estos datos del proceso completo podemos
definir que las condiciones son las siguientes:
1.Buscar los datos del telfono usando el nmero.
2.Identificar si el telfono tiene plan ilimitado.
3.Si lo tiene no se le puede cargar dinero.
4.Si no tiene plan ilimitado entonces hay que saber si el
telfono tiene plan de cuenta controlada.
5.Si tiene plan de cuenta controlada, debemos fijarnos
en el saldo y ver si an tiene.
6.Si tiene plan de cuenta controlada y tiene saldo no
podemos cargar dinero.
7.Si tiene plan de cuenta controlada y no tiene saldo,
entonces podemos cargar el dinero.
8.Si no tiene plan de cuenta controlada entonces
sumamos inmediatamente el dinero al saldo anterior.
Ahora slo nos queda analizar cul es la salida resultante
de este proceso. Si analizamos con detencin el objetivo
del proceso es cargar dinero a tu telfono celular, as
podramos definir dos posibles salidas, que son:
-
7/31/2019 Manual Fundamentos de Programacin 1.0docx
23/148
UNIVERSIDAD TECNOLGICA DE CHILE INACAP - REA INFORMTICA Y TELECOMUNICACIONES
22a)Un mensaje que diga que el proceso se realiz de
forma correcta o incorrecta.
b)El nuevo saldo luego de realizada la carga.
Analicemos el primer caso, si el proceso nos devuelve un
mensaje Podremos conocer el nuevo saldo?, la
respuesta en este caso es no.
Si devolvemos el nuevo saldo Podemos saber si el
proceso se realiz de forma correcta?, la respuesta en
este caso es si, pero depende de un factor que es el
conocer de antemano el saldo que tena, as si al iniciar el
proceso tena 0 peso y luego de cargar 2000, tengo en mi
saldo 2000 es que se realiz el proceso son xito.
Cabe destacar que ninguna de las soluciones es correcta
y ninguna es incorrecta, pues ambas dependen de datos
que faltan en la definicin del contexto del problema.
Plantilla para prueba manual oseguimiento de ejecucin de
una secuencia lgica.Si bien la resolucin de problemas simples como el
planteado anteriormente pudiera parecer una tarea
sencilla y libre de complejidades a veces es necesario
corroborar si el proceso que hemos definido est correcto
y podemos obtener el resultado deseado a travs de lo
que se conoce como una traza, es decir el seguimiento de
los valores que nos interesa controlar y el
comportamiento que vaya a tener el sistema en funcin
de estos valores.
-
7/31/2019 Manual Fundamentos de Programacin 1.0docx
24/148
UNIVERSIDAD TECNOLGICA DE CHILE INACAP - REA INFORMTICA Y TELECOMUNICACIONES
23Para hacer la traza de un programa se van anotando los
valores que nos interesa controlar y qu es lo que sucede
cuando esos valores cambian asocindolos a las
decisiones que se realizan durante el proceso. Muchas
veces se elabora una tabla para hacer la traza y registrar
los valores de forma ordenada asociados a cada uno de
los procesos y adems se realiza una tabla para cada uno
de los distintos cursos que pueda tomar la operacin.
Por ejemplo si hacemos la traza del ejemplo anterior de
carga del telfono podramos dibujar la siguiente tabla:
Datos de control
Acciones Nro detelfono
Valor a cargar Tipo Plan Saldo
Buscar los datosdel telfono
84480965 3500 Ilimitado 0
El telfono tieneplan ilimitado?
Ilimitado 0
Salida 0
Datos de control
Acciones Nro detelfono Valor a cargar Tipo Plan Saldo
Buscar los datosdel telfono
84480965 3500 CuentaControlada
0
El telfonotiene planilimitado?
CuentaControlada
0
Tiene cuentacontrolada y susaldo es 0?
CuentaControlada
3500
Salida 3500
Datos de control
Acciones Nro detelfono
Valor a cargar Tipo Plan Saldo
Buscar los datos deltelfono
84480965 3500 Prepago 1000
-
7/31/2019 Manual Fundamentos de Programacin 1.0docx
25/148
UNIVERSIDAD TECNOLGICA DE CHILE INACAP - REA INFORMTICA Y TELECOMUNICACIONES
24El telfono tieneplan ilimitado?
Prepago 1000
Tiene cuentacontrolada y susaldo es 0?
Prepago 1000
Tiene cuenta
controlada y susaldo es mayor a 0?
Prepago 1000
Es de prepago? Prepago
Salida 4500
Si te fijas en las tablas anteriores hay un conjunto de
preguntas que generan una respuesta basndose en los
valores proporcionados a la funcin. Para cada grupo de
preguntas y respuestas se realiza alguna accin o
acciones que llevan al resultado expresado en la salida.
Datos de control
Acciones Nro de telfono Valor a cargar Tipo Plan Saldo
Buscar los datosdel telfono
84480965 3500 CuentaControlada
1000
El telfono tieneplan ilimitado?
CuentaControlada
1000
Si tiene cuenta
controlada susaldo es 0?
Cuenta
Controlada
1000
Salida 1000
-
7/31/2019 Manual Fundamentos de Programacin 1.0docx
26/148
UNIVERSIDAD TECNOLGICA DE CHILE INACAP - REA INFORMTICA Y TELECOMUNICACIONES
25
-
7/31/2019 Manual Fundamentos de Programacin 1.0docx
27/148
UNIVERSIDAD TECNOLGICA DE CHILE INACAP - REA INFORMTICA Y TELECOMUNICACIONES
26
Tcnicas de algoritmos parael diseo de procesoscomputacionales.
Conceptos bsicos.
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.
Otra definicin ms especfica es: Conjunto de pasos
finitos no ambiguos que permitan dar solucin a un
problema especfico.
A simple vista la definicin formal de algoritmo puede no
ser tan clara por si sola, pero vers que un algoritmo es
algo que ya conoces y lo mejor es que durante toda tu
vida has ejecutado varios algoritmos sin darte cuenta,
comencemos con un ejemplo bsico, has jugado alguna
vez a encontrar el tesoro pirata siguiendo un mapa?
Aquel papelito de color caf que dando un par de pasos
en varias direcciones te lleva a un lugar que marca una
X, pues aquel papel lo que tiene escrito dentro en
realidad es un algoritmo. veamos por qu: primero el
-
7/31/2019 Manual Fundamentos de Programacin 1.0docx
28/148
UNIVERSIDAD TECNOLGICA DE CHILE INACAP - REA INFORMTICA Y TELECOMUNICACIONES
27papel nos seala el lugar de inicio, luego de ello las
instrucciones que sigues dicen algo as como dos pasos a
la derecha, un paso a la izquierda, este tipo de
instrucciones son un conjunto de pasos finitos, dado que
no son interminables, tiene un punto de comienzo (donde
obliga a ubicarte) y un final (donde marca la X), tampoco
son ambiguos por que no hay doble interpretacin para
cada una de ellas, finalmente si sigues todas las
instrucciones en orden encontrars el lugar donde esta la
X, entonces tambin podemos aseverar que estos pasos
sirven para resolver un problema especifico, el cual nos
indica el camino desde un punto hasta otro, donde
debajo de la gran X probablemente nos esperen algunas
monedas de oro.
Sin embargo y siguiendo este criterio muchas actividades
van a comenzar a parecer un algoritmo y de hecho es
muy probable que lo sean, sin embargo no todo es un
algoritmo y es bueno que tambin sepamos reconocer lo
que no lo es, supongamos que estas viendo un programa
de televisin donde estn dictando una receta para
cocinar un rico pastel baado en chocolate, esta receta
ser entonces un algoritmo si los pasos de la preparacin
especifican los factores de tiempo y material que se
deben utilizar en cada uno de ellos, si en determinado
momento entre el listado de actividades que hay que
realizar existe alguno que diga algo as como agregue
azcar a gustoel conjunto de instrucciones dejar de ser
un algoritmo, debido a que existe un paso ambiguo.
-
7/31/2019 Manual Fundamentos de Programacin 1.0docx
29/148
UNIVERSIDAD TECNOLGICA DE CHILE INACAP - REA INFORMTICA Y TELECOMUNICACIONES
28En informtica el algoritmo es una de las piezas
fundamentales en el desarrollo de software ya que el
computador responder a algoritmos que nosotros
diseemos y pediremos a l que ejecute, para ello lo
haremos a travs de los lenguajes que el computador
entiende, los cuales irs aprendiendo durante el
desarrollo de tu carrera.
Todo lo que ejecuta el computador son algoritmos, un
buen diseo de un algoritmo hace mejor y ms rpido a
un programa, te has detenido alguna vez a pensar
cmo la calculadora resuelve las operaciones
encomendadas?, es probable que no, pero de lo que s
podemos estar seguros es que la calculadora es una gran
ejecutora de algoritmos, ya que cada calculo matemtico
es resuelto mediante algoritmos, es decir pasos que ya
estn definidos para resolver una operacin, de ellos
podemos destacar el clculo del potencial, el cual es un
algoritmo muy popular, que da solucin a clculos como
por ejemplo 24 =16. Otro algoritmo famoso es el de
Dijkstra, este algoritmo es el encargado de encontrar la
ruta ms corta entre dos puntos, es muy posible que lo
hayas visto sin saberlo en los video juegos, ya que este
algoritmo es el encargado de hacer que tus tropas
avancen desde un punto hacia otro buscando el mejor
camino en muchos juegos de estrategia
Hacer buenos algoritmos no es una tarea sencilla,
requiere de prctica y mucha lgica, durante este manual
vas aprender a desarrollar tu lgica y comprender qu
partes componen el problema que deseas solucionar,
-
7/31/2019 Manual Fundamentos de Programacin 1.0docx
30/148
UNIVERSIDAD TECNOLGICA DE CHILE INACAP - REA INFORMTICA Y TELECOMUNICACIONES
29cules son los datos de entrada y cul es el conjunto de
pasos que debes aplicar sobre los datos para generar el
resultado deseado, el cul no es otra cosa que
informacin para la persona que lo solicita, tambin
aprenders a cmo optimizar los algoritmos, para que
tengas una idea, la optimizacin corresponde a la
capacidad de lograr reducir la cantidad de pasos para
solucionar el mismo problema, una de las cosas
interesantes que tienen los algoritmos es que existe
muchas formas de solucionar un mismo problema, con el
tiempo te dars cuenta que incluso habrn ocasiones en
las que para un ejercicio dado todos tu compaeros
tendrn eventualmente una solucin distinta.
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.
Lenguajes Algortmicos. Es una serie de smbolos y reglas
que se utilizan para describir de manera explcita un
proceso. Hay dos tipos:
Grficos: Es la representacin grfica de las operaciones
que realiza un algoritmo. Ejemplo: Diagrama De Flujo,DFD.
No Grficos: Representa en forma descriptiva las
operaciones que debe realizar un algoritmo. Ejemplo:
Pseudocdigo.
-
7/31/2019 Manual Fundamentos de Programacin 1.0docx
31/148
UNIVERSIDAD TECNOLGICA DE CHILE INACAP - REA INFORMTICA Y TELECOMUNICACIONES
30
Caractersticas de un buen algoritmo. Debe tener un punto nico de inicio.
Debe ser definido, no debe permitir dobles
interpretaciones.
Debe ser general, es decir, soportar la mayora de las
variantes que se puedan presentar en la definicin del
problema.
Debe ser finito en tamao y tiempo de ejecucin. Es
decir, debe tener un fin.
Diagrama de flujoPara el diseo de algoritmos se utilizan tcnicas de
representacin. Una de estas tcnicas son los Diagramas
de Flujo (DDF), que se definen como la representacin
grfica que mediante el uso de smbolos estndar unidos
mediante lneas de flujo, muestran la secuencia lgica de
las operaciones o acciones que debe realizar un
computador, as como la corriente o flujo de datos en la
resolucin de problema.
Pseudocdigo.El escribir aplicaciones computacionales se necesita
entregar al computador una serie de instrucciones las
cuales sern ejecutadas por este. Para realizar este
proceso se inventaron los lenguajes de programacin
mediante los cuales el programador escribe las
instrucciones para que el computador realice las acciones
correspondientes, el programador escribe estas
-
7/31/2019 Manual Fundamentos de Programacin 1.0docx
32/148
UNIVERSIDAD TECNOLGICA DE CHILE INACAP - REA INFORMTICA Y TELECOMUNICACIONES
31instrucciones las cuales son interpretadas y luego
compiladas (transformadas en un lenguaje que entiende
el computador llamado lenguaje de mquina), para que
con el resultado de este proceso pueda ejecutar las
instrucciones.
Ahora como los lenguajes de programacin a veces son
muy complejos de aprender, existe un subconjunto de
lenguajes ms bsicos que se llaman pseudolenguajes,
los cuales permiten generar pseudocdigo. El
pseudolenguaje generalmente es un subconjunto de un
lenguaje de programacin que es muy extenso, o a veces
tambin se trata de un lenguaje que ocupa expresiones
que son ms cercanas al lenguaje de las personas, pues
en todos los lenguajes de programacin las instrucciones
estn en ingls. Si bien existe una cercana mayor con el
lenguaje con el que hablas (en este caso espaol), existe
la complejidad posterior de tener que aprender de nuevo
otro lenguaje de programacin. Para efectos de este
manual, ocuparemos un lenguaje de programacin
llamado java el cual tiene una sintaxis relativamente
simple. Adicionalmente la sintaxis de java esta basada en
un lenguaje de programacin denominado C que es el
padre de los lenguajes ms utilizados: C++, javascript,
java, c#, actionscript, php, entre otros, que utilizars
durante el desarrollo de tu carrera.
-
7/31/2019 Manual Fundamentos de Programacin 1.0docx
33/148
UNIVERSIDAD TECNOLGICA DE CHILE INACAP - REA INFORMTICA Y TELECOMUNICACIONES
32
Programa.Conjunto de rdenes o instrucciones capaces de
manipular un conjunto de datos. Estas rdenes pueden
ser divididas en tres grandes bloques claramentediferenciables, estos son:
Entrada de datos: En este bloque se engloban todas
aquellas instrucciones que toman datos de un dispositivo
o perifrico externo, depositndolos en la memoria
principal del computador para ser procesados.
Proceso: Engloban todas aquellas instrucciones
encargadas de modificar los datos que previamente
haban sido depositados en la memoria principal. Todos
los resultados obtenidos en el tratamiento de dichos
datos son depositados nuevamente en la memoria
principal quedando de esta manera disponible.
Salida de resultados: Es el conjunto de instrucciones
que toman los resultados finales desde la memoria
principal y lo envan a dispositivos externos.
Etapas en la creacin de
programas.Durante el desarrollo hay un conjunto de etapas que sin
importar el tipo de software que desee crearse siempre
se repiten, ya sea desde un programa muy simple como
una calculadora con las operaciones bsicas, hasta
completos sistemas de clculos en tiempo real. Estas
-
7/31/2019 Manual Fundamentos de Programacin 1.0docx
34/148
UNIVERSIDAD TECNOLGICA DE CHILE INACAP - REA INFORMTICA Y TELECOMUNICACIONES
33etapas sern definidas y explicadas en forma lineal, sin
embargo en el desarrollo real no significa que este sea un
orden estricto y que no haya vuelta atrs, muy por el
contrario, en muchas ocasiones cuando ya se piensa que
se ha superado por completo una etapa es necesario
volver atrs, agregar o corregir algo que se nos pas
para luego volver a la etapa siguiente. Otra cosa
importante, es que en algunas ocasiones tambin se da
que las etapas se solapan, vale decir, que antes de
finalizar una es posible avanzar en algunos puntos de la
que viene, esto suele ser til para comenzar a
dimensionar si lo que estamos haciendo esta correcto.
Requisitos.Los requisitos de software son especificaciones claras y
puntuales sobre lo que debe contener un software para
cumplir con algn requerimiento.
Es habitual que las personas confundan requisito con
requerimiento, incluso una discusin de ello se encuentra
en el manual de anlisis y diseo orientado a objetos
dentro del capitulo de ingeniera de requerimientos, pues
bien, en ese captulo se habla de la necesidad de extraer
la informacin sobre los procesos que realizan los clientes
los cuales luego queremos construir como software ms
adelante, dichas necesidades son requerimientos y estn
asociados a las necesidades que tiene la empresa y que
luego resolveremos o apoyaremos con un software, un
requisito en cambio est ms bien asociado a lo que debe
-
7/31/2019 Manual Fundamentos de Programacin 1.0docx
35/148
UNIVERSIDAD TECNOLGICA DE CHILE INACAP - REA INFORMTICA Y TELECOMUNICACIONES
34hacer un software para que en su funcionamiento cumpla
con lo que deseamos construir, vemoslo con un
ejemplo: si deseas construir un software para apoyar el
proceso de venta de juguetes, estamos hablando de un
requerimiento, sin embargo, cuando dices que tu
software necesita validar que el mtodo de pago sea slo
en pesos chilenos, entonces estamos hablando de un
requisito del software, los cuales en su conjunto debiesen
alinearse con los requerimientos.
Una forma fcil de recordar la diferencia es mirar la
contratapa de algn software que hayas comprado alguna
vez, all veras los requisitos mnimos necesarios para se
ejecucin y que por tanto estn absolutamente ligado a
una pre condicin del software, no del proceso que desea
resolver.
Anlisis.En la etapa de anlisis es en la que recopilamos todos los
requisitos necesarios para desarrollar el software, los
analizamos y buscamos restricciones que deban ser
aplicadas por el software. Este anlisis es recomendable
hacerlo en equipo, para ello los encargados cuentan con
un conjunto de diagramas que les permiten dibujar los
procesos que desean construir antes de comenzar a
desarrollar la aplicacin. Esta etapa es fundamental en el
ciclo de desarrollo de un software, un mal anlisis de los
requisitos podra tirar por la borda el esfuerzo de mucho
tiempo.
-
7/31/2019 Manual Fundamentos de Programacin 1.0docx
36/148
UNIVERSIDAD TECNOLGICA DE CHILE INACAP - REA INFORMTICA Y TELECOMUNICACIONES
35
Diseo de la solucin.En el diseo de la solucin es el momento en el que se
planifica la arquitectura de lo que se desea construir, el
diseo de una aplicacin abarca varios temas, algunos
mucho ms complejos que otros, donde todo depender
del tipo de aplicacin que deseamos construir.
Durante esta asignatura el diseo que abarcaremos
estar principalmente enfocado a cmo organizaremos el
cdigo dentro de una sola aplicacin, tal vez por ahora
sea complicado de comprender, pero pequeas rutinas de
cdigo con el tiempo las iremos organizando y agrupando
en mtodos, donde cada uno de estos mtodos
representa un proceso, es decir una entrada de datos,
algn conjunto de operaciones aritmticos y lgicos que
aplicaremos sobre ellos, para luego generar una salida.
En la medida que vayamos aprendiendo resolveremos
ejercicios ms complejos donde para llegar a una solucin
necesitaremos crear varios procesos, los cuales
agruparemos en una entidad mayor llamada clase, dichas
clases y sus mtodos (o comportamientos) dibujaremos
en un diagrama llamado diagrama de clases.
El diseo no slo se refiere a cmo organizaremos los
componentes internos de un programa, hay ocasiones en
que una solucin consta de ms de un programa, por
ejemplo, hay redes sociales que tienen un componente
Web y otro en equipos mviles, en este caso el diseo
-
7/31/2019 Manual Fundamentos de Programacin 1.0docx
37/148
UNIVERSIDAD TECNOLGICA DE CHILE INACAP - REA INFORMTICA Y TELECOMUNICACIONES
36tambin debe incorporar la forma en que ambos software
se comunicarn.
Otro aspecto que tambin se refiere al diseo, es la
forma en que los componentes se instalarn. Muchas
veces los software estn diseados para recibir grandes
cargas de datos o altos niveles de trfico de usuarios y
estn ejecutndose sobre ms de un equipo, por lo que
en estas ocasiones, el diseo tambin esta ligado al
hardware en el que se ejecutar. Conocer esto a tiempo,
nos dar una pauta de la forma lgica en la que debemos
construirlo.
Codificacin.Esta etapa se refiere a la construccin del software, es el
equivalente a comenzar a levantar los cimientos de una
casa luego de que ha sido diseada. La codificacin es un
proceso que no debiese generar problemas si el anlisis
de requisitos ha sido realizado correctamente y si los
programadores estn guindose por un diseo (diagrama
de clases) que ha sido discutido y aprobado por el equipo
responsable.
Durante esta etapa los programadores debern idear los
algoritmos que permitan solucionar cada uno de los
objetivos planteados en el diseo de la solucin y la
comunicacin entre las partes.
Durante la codificacin utilizaremos algn lenguaje de
programacin que nos permita comunicarnos con la
-
7/31/2019 Manual Fundamentos de Programacin 1.0docx
38/148
UNIVERSIDAD TECNOLGICA DE CHILE INACAP - REA INFORMTICA Y TELECOMUNICACIONES
37mquina, la eleccin del lenguaje es una conversacin
que da para mucho, pero por lo general depende de las
prestaciones que nos da la tecnologa que la rodea, de las
restricciones y aunque no debiese ser una limitante,
muchas veces influye su valor.
Prueba.Las pruebas corresponden a la etapa de la post
construccin, aqu es donde probamos lo que hemos
construido. Para iniciar las pruebas no es necesario
terminar el software completo, los programadores suelen
hacer muchas pruebas de cada mtodo que han
construido con el fin de determinar si sus algoritmos
hacen lo que se espera de ellos. A estas pruebas se les
llama prueba unitaria y consiste bsicamente en ingresar
datos de entrada y verificar que la salida sea la esperada,
adems suelen hacerse durante todo el periodo de
codificacin.
Adicionalmente, existen otros tipos de pruebas que tienen
relacin con la cantidad de recursos que un software
utiliza, esta tarea por lo general realizada por el
departamento de aseguramiento de la calidad realiza
tareas como la revisin de la carga del procesador y los
tiempos de respuesta de la aplicacin.
-
7/31/2019 Manual Fundamentos de Programacin 1.0docx
39/148
UNIVERSIDAD TECNOLGICA DE CHILE INACAP - REA INFORMTICA Y TELECOMUNICACIONES
38
Mantencin.La mantencin del software es un proceso que se realiza
post entrega y corresponde a modificaciones posteriores.
Las mantenciones siempre nacen a causa del cambio de
un proceso en la organizacin del cliente que lo ha
solicitado. Las mantenciones pueden ser una buena
fuente de ingreso posterior a la venta, ya que casi
siempre las mantenciones son realizadas por la misma
empresa desarrolladora, sin embargo en otras pueden
convertirse en un gran dolor de cabeza cuando el
software ha sido construido de forma poco modular
(divididos en sub programas), la mantencin se vuelve
muy dificultosa y los cambios en una parte comienzan a
provocar errores en otros. Algunos paradigmas de
programacin como la programacin orientada a objetos
(POO) aporta mucho a la facilidad de mantener sistemas,
ya que divide los procesos en procesos ms pequeos y
luego los agrupa con un nombre que los represente, de
esta forma es ms sencillo ubicar donde hay que realizar
el cambio y cuales son los datos de entrada y salida
esperados.
-
7/31/2019 Manual Fundamentos de Programacin 1.0docx
40/148
UNIVERSIDAD TECNOLGICA DE CHILE INACAP - REA INFORMTICA Y TELECOMUNICACIONES
39
Caractersticas de la
programacin.
Estructura descendente.En la etapa de anlisis se determina que hace el
programa, en la etapa de diseo se determina cmo hace
el programa la tarea solicitada. Con el objetivo de hacer
el proceso de la resolucin de problemas ms eficaz es
que se utiliza el proceso de diseo conocido como divide
y vencers. Esto quiere decir que la resolucin de
problemas complejos se realizan dividiendo dichoproblema en subproblemas y a continuacin dividir dichos
subproblemas en otros de nivel ms bajo hasta que
pueda ser implementada la solucin. La solucin de estos
subproblemas se realiza con subalgoritmos. Los
subalgoritmos son unidades de programa o mdulos que
estn diseados para ejecutar alguna tarea especfica.
Estas unidades (las que distinguiremos como Funcionesy Procedimientos y que estudiaremos en profundidad
ms adelante) se escriben slo una vez, pero pueden ser
invocadas o referenciadas en diferentes puntos del
programa o mdulo principal con el objeto de no
duplicar el cdigo innecesariamente. Este mtodo de
disear algoritmos con el proceso de romper el
problema subdividindolo en varios subproblemas sedenomina diseo descendente, TOP-DOWN o
Modular y en cada etapa, expresar cada paso en forma
ms detallada se denomina refinamiento sucesivo .
Cada subprograma es resuelto en un mdulo que tiene
-
7/31/2019 Manual Fundamentos de Programacin 1.0docx
41/148
UNIVERSIDAD TECNOLGICA DE CHILE INACAP - REA INFORMTICA Y TELECOMUNICACIONES
40un nico punto de entrada y un solo punto de salida. Los
mdulos pueden ser planeados, codificados, comprobados
y depurados de forma individual (hasta por
programadores distintos) y combinarlos mas tarde lo que
implica la combinacin de los siguientes pasos:
Programar un mdulo.
Comprobar el mdulo.
Depurar el mdulo
Combinar el mdulo con los dems.
Esta tcnica es utilizada hoy en casi todas las disciplinas,
en programacin existe ms de un paradigma (una forma
o modelo de cmo hacer las cosas).
Modularidad.El concepto de modularidad en programacin esta
directamente asociado al divide y vencers. Este
concepto hoy est fuertemente asociado al paradigma de
programacin orientado a objetos, el cual tiene como
principio dividir la funcionalidad de un programa en
programas ms pequeos de manera en que ellos sean lo
ms independientes posible.
Cohesin.Este trmino tiene relacin con la capacidad de unir las
partes, la palabra cohesin es sinnimo de adhesin, por
lo tanto estamos hablando de la unin de partes. En la
-
7/31/2019 Manual Fundamentos de Programacin 1.0docx
42/148
UNIVERSIDAD TECNOLGICA DE CHILE INACAP - REA INFORMTICA Y TELECOMUNICACIONES
41programacin siempre se busca hacer todo modular, es
decir tomar un gran software y construirlo de pequeas
partes que ojal fuesen funcionales de forma
independiente, sin embargo si vamos a programar de esa
manera hay que pensar despus en como unir todo, a
este concepto se le llama cohesin y se dice que un
software tiene una alta cohesin cuando la llamada a una
de esas partes la realiza una que contiene toda la
informacin para ello.
Acoplamiento.El acoplamiento esta muy ligado a la cohesin, cuando un
software se encuentra dividido en partes y estas partes
son unidas de forma correcta estamos hablando de una
alta cohesin entre las partes, cuando esto esta presente
en un software de forma automtica decimos entonces
que nuestro programa tiene un bajo nivel deacoplamiento, lo que es muy bueno, ya que esto quiere
decir que las partes no son dependientes entre s, por
tanto, una modificacin en un proceso slo afectar a
alguna de las piezas del software y no al 100%, evitando
volver a modificar partes que si funcionan y cuya funcin
no se ve alterada.
-
7/31/2019 Manual Fundamentos de Programacin 1.0docx
43/148
UNIVERSIDAD TECNOLGICA DE CHILE INACAP - REA INFORMTICA Y TELECOMUNICACIONES
42
Descomposicin.La descomposicin es una caracterstica que permite
desarmar un problema complejo en una serie de
subproblemas que por el hecho de ser partes reducidas
de un todo, pierden complejidad. Esta prdida decomplejidad nos permite concentrarnos en una parte
especfica del problema utilizando el concepto de divide
y vencers.
-
7/31/2019 Manual Fundamentos de Programacin 1.0docx
44/148
UNIVERSIDAD TECNOLGICA DE CHILE INACAP - REA INFORMTICA Y TELECOMUNICACIONES
43
Estructura de un algoritmo.Los algoritmos se definen como una serie de pasos bien
definidos y finitos que permiten solucionar un problema
para cualquier tipo de valores.
Bsicamente un algoritmo permite definir las acciones
que se deben realizar para solucionar un problema.
Existe una serie de acciones que acciones que se realizan
para dar solucin a un problema, por ejemplo declarar
variables, leer datos desde teclado, mostrar datos en una
pantalla, etc. Esta serie de acciones se ordenan
lgicamente para solucionar un problema. Un ejemplo de
la definicin de la estructura de un algoritmo es el
siguiente:
1. Leer el pedido.
2. Examinar el historial de crdito del cliente.
3. Si el cliente es solvente, entregar el pedido.
4. En caso contrario, rechazarlo.
5. Fin.
Si te fijas en el ejemplo anterior, existe una serie de
pasos formales para dar solucin a un problema que en el
caso anterior es tomar una decisin respecto a si se
entrega o no un pedido a un cliente utilizando el historial
de crdito que posee.
-
7/31/2019 Manual Fundamentos de Programacin 1.0docx
45/148
UNIVERSIDAD TECNOLGICA DE CHILE INACAP - REA INFORMTICA Y TELECOMUNICACIONES
44
Conceptos de variables y
constantes.
Definicin de variables yconstantes.Cuando creamos software, los datos que van a ser
procesados, se deben guardar de forma temporal para
ser procesados por la aplicacin. El programa por lo tanto
debe solicitar al sistema operativo que defina un espacio
en la memoria donde guardar estos datos. Para esto los
lenguajes de programacin definen una forma dereservar este espacio y es mediante la declaracin de
variables y constantes. Cuando se declara una variable o
una constante, se realiza el proceso de solicitar un
espacio en la memoria del computador para almacenar
valores que representan datos que queremos procesar. El
problema surge cuando nos damos cuenta que el espacio
en la memoria del computador es limitado, por lo tanto elsistema operativo para proteger la ejecucin de mltiples
programas nos solicita que pidamos un espacio
especfico, en funcin de lo que vamos a guardar, por
ejemplo si tengo que construir un lugar para guardar mi
auto, no construyo un galpn para guardar un avin,
porque lo ms probable es que no ocupe todo el espacio
y quede con mucho espacio sin utilizar, de la misma
forma que no construyo un galpn para guardar una
moto, pues lo que necesito guardar es un auto. Por lo
tanto para indicar al sistema operativo cual es el espacio
-
7/31/2019 Manual Fundamentos de Programacin 1.0docx
46/148
UNIVERSIDAD TECNOLGICA DE CHILE INACAP - REA INFORMTICA Y TELECOMUNICACIONES
45que se debe dejar disponible para guardar datos, los
lenguajes de programacin definen los tipos de datos.
Un tipo de dato por lo tanto permite definir el espacio en
la memoria que el sistema operativo reservar para
guardar datos que sern procesados por un software.
En java los tipos de datos se pueden catalogar
bsicamente en dos grupos, los primitivos (o simples) y
las referencias a objetos.
Primitivos
Los tipos de datos primitivos son aquellos que pueden
utilizarse directamente en un programa sin necesidad de
utilizar POO, dado que no son objetos, los tipos de datos
primitivos aportan un uso ms eficiente en el
almacenamiento de datos y pueden ser divididos en dos
grupos, los booleanos y numricos, los cuales se
subdividen en dos grupos, los enteros (byte, short, int,
long y char) y los reales (float y double).
(Importante) la declaracin de una variable utiliza la
siguiente sintaxis: Tipo de dato identificador = [valor][,
identificador] [=valor] ;
En java los identificadores tambin tienen una norma. La
forma correcta de declarar una variable es escribindola
con minsculas y las maysculas slo se utilizan en la
primera letra a partir de la segunda palabra si es que la
hay, por ejemplo el identificador miVariable lleva la
letra V con mayscula debido a que es una palabra
-
7/31/2019 Manual Fundamentos de Programacin 1.0docx
47/148
UNIVERSIDAD TECNOLGICA DE CHILE INACAP - REA INFORMTICA Y TELECOMUNICACIONES
46escrita despus de mi lo mismo sucede con
miPrimeraVariable, donde tanto P como V van con
maysculas
byte:El byte es una variable que tiene una capacidad de 8 bits
y permite almacenar un valor de tipo entero (sin
decimales) entre el -128 y + 127. El siguiente ejemplo
declara la variable y luego le asigna el valor de cero,
cuando un valor es dado de forma inicial recibe el nombre
de inicializacin de la variable.byte dia=0;
(Importante) las variables pueden ser inicializadas con un
valor (cero en este caso) o una expresin. Se entiende
por expresin un conjunto de operadores que dan un
resultado, pudiendo as declarar byte (o cualquier otro
tipo de dato) de la siguiente forma:
byte a = 1+1*2; tambin debes tener en cuenta que las
variables numricas no inicializadas comienzan en cero.
Short:El short tiene una capacidad de 16 bits y permite
almacenar un valor entero entre -32768 y +32767 (al
igual que el entero en C). La siguiente lnea de cdigo
declara e inicializa dos variables.
-
7/31/2019 Manual Fundamentos de Programacin 1.0docx
48/148
UNIVERSIDAD TECNOLGICA DE CHILE INACAP - REA INFORMTICA Y TELECOMUNICACIONES
47
Int:El tipo de dato entero tiene una capacidad de 32 bits y
permite almacenar un valor entero entre -2147483648 y+2147483647.
Long:El tipo de dato long tiene una capacidad de 64 bits y
permite almacenar un valor entero entre -
9.223.372.036.854.775.808 y
+9.223.372.036.854.775.809
Float:El tipo de dato float tiene una capacidad de 32 bits y
permite almacenar un valor real en coma flotante
(decimales) entre -3,4*10-38 hasta 3,4*1038. Los valores
expresados en float deben ir acompaados de una letra f
minscula al final.
-
7/31/2019 Manual Fundamentos de Programacin 1.0docx
49/148
UNIVERSIDAD TECNOLGICA DE CHILE INACAP - REA INFORMTICA Y TELECOMUNICACIONES
48
Double:El tipo double tiene una capacidad de 64 bits y permite
almacenar un valor real entre -1,7*10-308 y +1,7*10308.
El double es el tipo de dato que asume Java al escribir un
real, por ello no va acompaado de ningn carcter como
en el caso del float.
Boolean:El tipo de dato booleano es utilizado para conocer el
resultado de una evaluacin booleana, los dos posibles
valores son true y false (verdadero y falso).
Si su valor de inicio no es especificado, el valor por
defecto es false.
Char:
El tipo char, es un tipo de datos que permite almacenarun caracter, sin embargo el valor que en realidad
almacena es un entero equivalente entre los valores del 0
al 127 de la tabla de caracteres ASCII, la forma de
declarar un char es la siguiente:
(Importante) Para el caso de la variable letra1 el valor es
el caracter a, el cual sebe ir entre comillas, sin embargo
en letra2, las comillas no existen, porque no se le est
asignando un carcter, el nmero 97 representa la letra a
-
7/31/2019 Manual Fundamentos de Programacin 1.0docx
50/148
UNIVERSIDAD TECNOLGICA DE CHILE INACAP - REA INFORMTICA Y TELECOMUNICACIONES
49en la tabla ASCII, esto significa que la variable letra1 y
letra2 tienen en realidad la misma letra almacenada.
Tipo de objetos.Los tipos de objetos incluyen todos los objetos que
pueden ser instanciados a partir de las clases
provenientes con java y todas las que sean desarrolladas
por el programador. Si bien ambos tpicos sern vistos
ms adelante, en este captulo se mostrar el String, la
cual es una clase de mucha utilidad y que a veces tratada
como un tipo primitivo, aunque no lo sea.
StringUn String (con su letra s mayscula) no es un tipo de
dato primitivo, sin embargo se trata en este apartado
debido a que su uso es muy habitual en los programas y
adicionalmente se puede utilizar de la misma forma en la
que se declaran los tipos primitivos. Un String es un tipo
de dato que permite almacenar una cantidad de
caracteres variables. Su declaracin y asignacin es de la
siguiente forma:
(Importante) String, es en realidad una clase, que
almacena como atributo un arreglo de caracteres. Tanto
las clases como los arreglos sern estudiados con mayor
detalle ms adelante. El siguiente ejemplo muestra la
-
7/31/2019 Manual Fundamentos de Programacin 1.0docx
51/148
UNIVERSIDAD TECNOLGICA DE CHILE INACAP - REA INFORMTICA Y TELECOMUNICACIONES
50declaracin de variables bajo el paradigma de la
programacin estructurada dentro del mtodo main.
La siguiente imagen, presenta un ejemplo de la
utilizacin de los tipos vistos en declaracin de atributos
de nuestra clase Persona.
-
7/31/2019 Manual Fundamentos de Programacin 1.0docx
52/148
UNIVERSIDAD TECNOLGICA DE CHILE INACAP - REA INFORMTICA Y TELECOMUNICACIONES
51
(Importante) private representa el nivel de accesibilidad
y ser estudiado ms adelante.
Vida y mbito de una variableLas variables cuando son declaradas, tienen lo que se
conoce como un mbito, el cual define las fronteras
dentro de las cuales las variables pueden ser utilizadas.
Tradicionalmente la programacin estructurada tiene dos
niveles de visibilidad distintos: las variables locales y
globales, sin embargo en la programacin orientada el
mbito de una variable dentro de una clase es algo ms
-
7/31/2019 Manual Fundamentos de Programacin 1.0docx
53/148
UNIVERSIDAD TECNOLGICA DE CHILE INACAP - REA INFORMTICA Y TELECOMUNICACIONES
52complejo y ser tratado a lo largo de este manual. Las
variables siempre deben ir dentro de una estructura que
los contenga, para cada estructura existe un inicio y
cierre de bloque que la delimita. Como ejemplo la
siguiente imagen muestra una clase con su respectivo
inicio y cierre de bloque.
Fjate que ahora la clase Persona posee adems un
comportamiento llamado correr y descansar, los cuales
tambin tienen limitado su bloque. Podemos decir
entonces que la clase Persona contiene dentro un
comportamiento llamado correr y descansar.
-
7/31/2019 Manual Fundamentos de Programacin 1.0docx
54/148
UNIVERSIDAD TECNOLGICA DE CHILE INACAP - REA INFORMTICA Y TELECOMUNICACIONES
53
En este caso, la variable cansancio es una variable de
instancia debido a que est definida dentro de la clase,
pero fuera de sus comportamientos, por ende los
mtodos descansar y correr (que tambin son parte de la
clase) tienen visibilidad sobre cansancio, aumentando en
este caso su valor al correr y disminuyndola al
descansar.
-
7/31/2019 Manual Fundamentos de Programacin 1.0docx
55/148
UNIVERSIDAD TECNOLGICA DE CHILE INACAP - REA INFORMTICA Y TELECOMUNICACIONES
54
El mbito de una variable siempre depender de del lugar
donde se produzca su declaracin, por ejemplo, ya vimosque si declaramos la variable dentro de los bloques que
limitan la clase persona, pero fuera de correr o
descansar, la variable se denomina una variable de
instancia y est disponible para todos los mtodos que la
clase contenga. En el siguiente ejemplo la variable
cansancio es ahora una variable declarada dentro de del
comportamiento correr, esto se denomina variable localdel mtodo. Para este caso la visibilidad de dicha
variable son los lmites donde fue declarada, vale decir el
inicio y bloque de correr, el siguiente ejemplo causa un
-
7/31/2019 Manual Fundamentos de Programacin 1.0docx
56/148
UNIVERSIDAD TECNOLGICA DE CHILE INACAP - REA INFORMTICA Y TELECOMUNICACIONES
55error debido a que descansar no tiene una visibilidad
sobre la variable cansancio.
(Importante) las variables de instancia son capaces de
mantener el valor durante toda la vida de un objeto, sin
embargo las declaradas dentro de un comportamientoson creadas, utilizadas y eliminadas al finalizar la
ejecucin del comportamiento que la contiene. Tambin
es posible crear lmites dentro de los comportamientos
correr, si bien la tcnica que se presenta en el siguiente
no es muy comn, es reconocida por el lenguaje Java.
-
7/31/2019 Manual Fundamentos de Programacin 1.0docx
57/148
UNIVERSIDAD TECNOLGICA DE CHILE INACAP - REA INFORMTICA Y TELECOMUNICACIONES
56
En el segmento de cdigo anterior se muestran dos casos
a considerar. En el interior del mtodo correr existe una
delimitacin dentro que contiene la declaracin de una
variable entera cuyo identificador es a, sin embargo al
-
7/31/2019 Manual Fundamentos de Programacin 1.0docx
58/148
UNIVERSIDAD TECNOLGICA DE CHILE INACAP - REA INFORMTICA Y TELECOMUNICACIONES
57terminar el lmite donde fue declarada la variable ha
vuelto a ser declarada, a primera vista da la idea de que
correr tiene dos variables llamadas a, pero sabemos
que eso es imposible. Recordemos que el identificador de
una variable debe ser nico en un mismo mbito, lo que
en realidad sucede es que la variable que se declara
primero tiene una vida til desde que se declara hasta el
cierre de bloque en el que fue declarada, por ende al ser
declarada la segunda variable llamada a, la primera ya
ha sido eliminada. En descansar en cambio se produce un
error debido a que se declara primero una variable entera
dentro de los lmites del comportamiento descansar, lo
que provoca que tambin est disponible para el mbito
que existe en el interior del mtodo, por lo tanto, en el
mbito interior, no es posible declarar la variable entera
con el identificador a, debido a que ya existe en l.
Conversin entre tipos.
En Java existen dos tipos de conversiones, la implcita y
explicita. La implcita es aquella que no necesita de
alguna intervencin por parte del programador para que
se lleve a cabo, siendo Java el encargado de realizarla. El
ejemplo ms comn es la operacin aritmtica de dos
tipos de datos distintos, en una variable de qu tipo
debo almacenar el resultado entre la suma entre un float
y un double?
-
7/31/2019 Manual Fundamentos de Programacin 1.0docx
59/148
UNIVERSIDAD TECNOLGICA DE CHILE INACAP - REA INFORMTICA Y TELECOMUNICACIONES
58
La clave a la respuesta de esta pregunta no est en el
resultado de la operacin, de hecho, en este caso el
resultado es 6, el cual podramos asumir de forma
errnea que es un resultado entero, sin embargo la clave
del xito est en el tamao del resultado. Si tuvieses que
construir un estacionamiento, donde se estaciona un
camin gigante o un pequeo auto, pero nunca los dos al
mismo tiempo, cul es el estacionamiento ms pequeo
que debes construir? El del tamao del camin, pues Java
hace lo mismo, el double es un valor ms grande (en
bits) que el float, por ende Java siempre dar como
resultado el tipo ms grande, con ello se asegura de que
no exista perdida de precisin en el resultado.
La conversin implcita es aplicada en la direccin de
izquierda a derecha entre los datos presentados en el
siguiente diagrama, lo que significa que un byte, puede
almacenarse en una variable de tipo short o char o
cualquiera de las 3 puede almacenarse en un int.
-
7/31/2019 Manual Fundamentos de Programacin 1.0docx
60/148
UNIVERSIDAD TECNOLGICA DE CHILE INACAP - REA INFORMTICA Y TELECOMUNICACIONES
59La conversin explcita o tambin conocida como cast
consiste en forzar la conversin entre un tipo de dato a
cualquier otro (excepto desde booleanos a enteros o
reales), la sintaxis para realizar una conversin explicita
es la siguiente:
(Tipo destino) expresin o variable
A=(int)promedio;
En el siguiente ejemplo, se convierte una expresin que
da como resultado un float (debido a que es ms grande
que un short y un long) en un entero, dando como
resultado el valor de 3.
(importante) muchas veces se piensa que el resultado es
4, debido a que la suma de las tres variables da en
realidad 3.8f sin embargo convertir este resultado a un
entero no implica una aproximacin, sino que slo tomar
la parte entera del valor resultante (tambin conocido
como truncar datos) El siguiente ejemplo muestra una
clase en la que el comportamiento miPeso el cual retorna
los kilos de su peso sin contar los gramos.
-
7/31/2019 Manual Fundamentos de Programacin 1.0docx
61/148
UNIVERSIDAD TECNOLGICA DE CHILE INACAP - REA INFORMTICA Y TELECOMUNICACIONES
60
Representacin de sentenciasen Instrucciones.
Operadores Aritmticos.Los operadores aritmticos son aquellos que permiten
realizar operaciones matemticas y son:
-
7/31/2019 Manual Fundamentos de Programacin 1.0docx
62/148
UNIVERSIDAD TECNOLGICA DE CHILE INACAP - REA INFORMTICA Y TELECOMUNICACIONES
61
El siguiente ejemplo muestra una operatoria aritmtica
que incluye una conversin explicita cuyo resultado es 4:
Operadores unarios y de auto
asignacin
Este tipo de operadores son una forma reducida de
utilizar los operadores aritmticos tradicionales, porejemplo: Dada la declaracin int a=6; la siguiente tabla
muestra las equivalencias:
Debes prestar especial atencin cuando uses los
operadores -- y ++ dentro de una expresin aritmtica,
-
7/31/2019 Manual Fundamentos de Programacin 1.0docx
63/148
UNIVERSIDAD TECNOLGICA DE CHILE INACAP - REA INFORMTICA Y TELECOMUNICACIONES
62debido a que el orden en el que se utilizan cambia el
resultado de la operacin. -- y ++ pueden ser utilizados
como sufijos o como prefijos, lo que implica la jerarqua
con la que se ejecuta, por ejemplo, en este caso ++ est
antes de la variable a lo que implica que previo a
cualquier operacin que vaya ejecutarse sobre l la
prioridad es incrementarlo en 1, siendo el resultado para
este caso igual a 6 dado que a es 1 antes de ejecutar la
suma.
Operadores Lgicos
RelacionalesSe usan para formar expresiones booleanas, es decir
expresiones que al ser evaluadas producen un valorbooleano: verdadero o falso. Se utilizan para establecer
una relacin entre dos
-
7/31/2019 Manual Fundamentos de Programacin 1.0docx
64/148
UNIVERSIDAD TECNOLGICA DE CHILE INACAP - REA INFORMTICA Y TELECOMUNICACIONES
63Cuando la comparacin se hace con datos alfanumricos,
opera de acuerdo a las siguientes reglas:
Se compara uno a uno de izquierda a derecha.
Si son de diferente longitud pero exactamente iguales
hasta el ltimo carcter del ms corto, entonces el ms
corto es el menor.
Slo son iguales dos datos alfanumricos si son
iguales su contenido y su longitud.
Las letras minsculas tienen mayor valor que las
maysculas. (tabla ascii)
Booleanos:Combinan sus operandos de acuerdo al lgebra de Boole
para producir un nuevo valor que se convierte en el valor
de la expresin.
OR u O: es un operador binario, afecta a dos operadores.
La expresin que forma es verdadera cuando al menos
uno de sus operandos es verdadero. Es un operador de
disyuncin. Ejemplo: estudiamos o vamos al estadio
AND o Y: tambin es un operador binario. La expresin
formada es cierta cuando ambos operadores son ciertos
al mismo tiempo. Es el operador lgico de conjuncin
Ejemplo: si es verano y hace calor vamos a la playa
NOT o NO: es un operador unario, afecta a un solo
operando. Cambia el estado lgico de la expresin; si es
-
7/31/2019 Manual Fundamentos de Programacin 1.0docx
65/148
UNIVERSIDAD TECNOLGICA DE CHILE INACAP - REA INFORMTICA Y TELECOMUNICACIONES
64verdadera la transforma en falsa y al revs. Ejemplo: no
es verano.
El orden de prioridad de estos operadores es: NOT, AND
y OR.
-
7/31/2019 Manual Fundamentos de Programacin 1.0docx
66/148
UNIVERSIDAD TECNOLGICA DE CHILE INACAP - REA INFORMTICA Y TELECOMUNICACIONES
65
-
7/31/2019 Manual Fundamentos de Programacin 1.0docx
67/148
UNIVERSIDAD TECNOLGICA DE CHILE INACAP - REA INFORMTICA Y TELECOMUNICACIONES
66
Introduccin a lenguajesformales de Programacin.
Estructura de un programa.En JAVA al igual que en la mayora de los lenguajes deprogramacin orientados a objetos, el cdigo se
estructura en clases, la forma bsica de estructurar una
clase es la siguiente:
Los Atributos que representarn un objeto, por ejemplo,
para una persona los atributos pueden ser, su edad y
peso entre otros, los atributos de una clase estn
representados por la declaracin de estructuras y tipo
primitivos, para este caso por ejemplo, la edad puede
estar representada por un tipo de dato int (entero) y un
float respetivamente.
Accesadores y mutadores, los cuales son
comportamientos especiales dentro de una clase que
permiten conocer y cambiar el valor de un atributo.
Los comportamientos que un objeto tendr, por
ejemplo, para nuestra persona, algunos ejemplos son
correr y jugar.
-
7/31/2019 Manual Fundamentos de Programacin 1.0docx
68/148
UNIVERSIDAD TECNOLGICA DE CHILE INACAP - REA INFORMTICA Y TELECOMUNICACIONES
67
Sentencia condicionalesLas sentencias condicionales representan un punto en
nuestro programa donde el flujo del proceso cambiar
dependiendo de alguna condicin. Si haces un anlisissimple vers que esto no es tan complicado de
comprender como se lee, la vida a diario esta lleno de
condiciones, las cuales vamos resolviendo da a da y esto
provoca que nuestro diario vivir sea incierto, siempre hay
una condicin para todo, por ejemplo, dependiendo si vas
o no atrasado decidirs si ir a estudiar en metro o bus,
dependiendo de qu da es, la hora a la que televantars. Este proceso mental es tan rpido que apenas
nos habamos dado cuenta que lo realizamos tantas
veces al da. Si a cada una de estas situaciones que nos
enfrentamos a diario nos detuviramos un momento y
nos analizramos de qu depende que vayamos hacer
algo, nos daramos cuenta que programar es muy similar,
por ejemplo, imagina que alguien te ofrece bebida yantes responder en voz alta expresas la condicin que te
llevar a determinar si aceptas o no, si lo haces muy
probablemente dirs algo similar a tengo sed?y si la
respuesta es verdadera entonces lo hars.
Una condicin esta antecedida de la conjuncin si (sin
acento). Podemos hacer uso de ella entonces para
formular todas aquellas condiciones a la que nos
enfrentamos a diario, algunos ejemplos son:
Si mi amigo va, yo voy.
Si estoy aburrido jugar PC.
-
7/31/2019 Manual Fundamentos de Programacin 1.0docx
69/148
UNIVERSIDAD TECNOLGICA DE CHILE INACAP - REA INFORMTICA Y TELECOMUNICACIONES
68Si me han enseado algo nuevo lo reforzar.
Fjate que en cada una de las frases anterio