Download - conceptos1-1.pdf
-
APUNTES
NOMBRE DE LA ASIGNATURA
INTRODUCCION A LA INFORMATICA
FUNDAMENTOS DE PROGRAMACION
CARRERA
INGENIERIA INFORMATICA
INGENIERIA EN SISTEMAS
INGENIERIA EN REDES Y TELECOMUNICACIONES
PERIODO DE ELABORACION
2014
ELABORADO POR
ING. MARIO MILTON LOPEZ WINNIPEG
ING. JUAN CARLOS CONTRERAS VILLEGAS
ING. RICARDO ZUNA VILLAGOMEZ.
FACULTAD DE
INGENIERIA EN CIENCIAS
DE LA COMPUTACION Y
TELECOMUNCIACIONES
-
FACULTAD DE INGENIERIA EN CIENCIAS DE LA COMPUTACION Y TELECOMUNICACIONES
FUNDAMENTOS DE PROGRAMACION
1
INDICE DE CONTENIDO
INTRODUCCION
I FUNDAMENTOS DE PROGRAMACION
1.1 Conceptos Bsicos 1.1.1 Introduccin 1.1.2 Definicin de Software 1.1.3 Definicin de lenguaje 1.1.4 Definicin de algoritmo 1.1.5 Tipos de Algoritmos 1.1.6 Definicin de lenguajes algortmicos
1.2 Metodologa para la solucin de problemas 1.2.1 Anlisis 1.2.2 Diseo 1.2.3 Implementacin 1.2.4 Prueba 1.2.5 Mantenimiento 1.2.6 Documentacin
1.3 Mtodos de programacin 1.3.1 Programacin libre 1.3.2 Programacin Estructurada 1.3.3 Programacin Modular 1.3.4 Programacin Orientada a Objetos 1.3.5 Programacin Orientada a Eventos
1.4 Tcnicas de programacin.. 1.4.1 Divide y vencers 1.4.2 Top-Down / Bottom-Up 1.4.3 Otras Tcnicas
1.5 Elementos de programacin.
1.5.1 Identificadores
1.5.2 Constantes
1.5.3 Variables
1.5.4 Tipos de datos
1.5.5 Operadores
1.5.6 Expresiones
1.5.7 Conversiones entre tipos de Datos
-
FACULTAD DE INGENIERIA EN CIENCIAS DE LA COMPUTACION Y TELECOMUNICACIONES
FUNDAMENTOS DE PROGRAMACION
2
INTRODUCCION
El desarrollo de soluciones a problemas usando el computador es un tema
fundamental por lo cual el estudiante debe tener buenas bases que le sirvan para poder
desarrollar de manera fcil y rpida sus soluciones.
-
FACULTAD DE INGENIERIA EN CIENCIAS DE LA COMPUTACION Y TELECOMUNICACIONES
FUNDAMENTOS DE PROGRAMACION
3
CAPITULO 1.1
CONCEPTOS BSICOS
1.1.1 Introduccin 1.1.2 Definicin de Software 1.1.3 Definicin de lenguaje
1.1.4 Definicin de algoritmo
1.1.5 Tipos de Algoritmos
1.1.6 Lenguajes algortmicos
-
FACULTAD DE INGENIERIA EN CIENCIAS DE LA COMPUTACION Y TELECOMUNICACIONES
FUNDAMENTOS DE PROGRAMACION
4
1.1.1 Introduccin
Los computadores han dado a la ciencia y la tecnologa la mejor herramienta jams
desarrolladas para canalizar las fuerzas de la naturaleza en beneficio del hombre. La razn
es simple. El computador es algo ms que un prodigio de informacin y anlisis. Este
nunca olvida la informacin que ha recibido. Con el tiempo, este aprendi a recibir
instrucciones orales y produce informes tanto en forma escrita como hablada.
El diseo de soluciones a la medida de nuestros problemas, requiere como en otras
disciplinas una metodologa que nos ensee de manera gradual, la forma de llegar a estas
soluciones.
A las soluciones creadas por computadora se les conoce como programas y no son
ms que una serie de operaciones que realiza la computadora para llegar a un resultado, con
un grupo de datos especficos. Lo anterior nos lleva al razonamiento de que un programa
nos sirve para solucionar un problema especfico.
Para poder realizar programas, adems de conocer la metodologa mencionada,
tambin debemos de conocer, de manera especfica las funciones que pueden realizar la
computadora y las formas en que se pueden manejar los elementos que hay en la misma.
Computadora: Es un dispositivo electrnico utilizado para procesar informacin y obtener
resultados. Los datos y la informacin se pueden introducir en la computadora como
entrada (input) y a continuacin se procesan para producir una salida (output).
Proceso de informacin en la computadora
Datos de Proceso Datos de
entrada salida
Programa: Es el conjunto de instrucciones escritas de algn lenguaje de programacin y
que ejecutadas secuencialmente resuelven un problema especfico.
Organizacin fsica de una computadora y residencia de programa
CPU
Unida de Unidad
Dispositivos de Control Arit.-Log. Dispositivos de
Entrada Salida
Memoria
Programa
-
FACULTAD DE INGENIERIA EN CIENCIAS DE LA COMPUTACION Y TELECOMUNICACIONES
FUNDAMENTOS DE PROGRAMACION
5
1.1.2 Definicin de Software El software es una palabra que proviene del idioma ingls, pero que gracias a la
masificacin de uso, ha sido aceptada por la Real Academia Espaola. Segn la RAE, el
software es un conjunto de programas, instrucciones y reglas informticas que permiten
ejecutar distintas tareas en una computadora.
Se considera que el software es el equipamiento lgico e intangible de un ordenador. En
otras palabras, el concepto de software abarca a todas las aplicaciones informticas, como
los procesadores de textos, las planillas de clculo y los editores de imgenes
Software de Base Es toda aquella parte lgica generalmente realizada por cada fabricante de computadoras o
casas especializadas en desarrollo de software. Es el conjunto de programas que tiene por
funcin coordinar las diversas partes del sistema computacional para hacerlo funcionar
rpida y eficazmente, actuando como mediador entre los programas de aplicacin y el
hardware del sistema. Interpretando los requerimientos de cada programa que ingresa al
sistema, poniendo a su disposicin cualquiera de los recursos que necesite(ya ser
hardware, software o datos) para producir los resultados deseados.
Debido a la estrecha relacin que existe entre un computador y su software de base, no se
puede concebir el uno sin el otro a tal punto que pareciera que el software es parte
integrante del hardware.
Software de Aplicacin Conjunto de programas concebidos o creados para atender trabajos especficos del usuario,
los mismos pueden cumplir diversos objetivos, satisfaciendo las necesidades en forma
parcial o total, pudiendo cumplir a si mismo estndares o mtricas que se puedan haber
definido para los mismos.
Como ejemplo tenemos los sistemas de contabilidad, planillas , ventas ..etc.
En general este tipo de software requiere servicios del software de base para poder
ejecutarse en el computador, en los casos que se diseen.
Sin embargo existe la posibilidad de que sean ejecutados sin software de base, hecho que
puede acarrear gran complejidad en el desarrollo de los mismos.
Los sistemas de aplicacin pueden ser:
Confeccionados especialmente para un usuario determinado
Pre- planeados (enlatados )
Software de Desarrollo Una herramienta de programacin o herramienta de desarrollo de software es un programa
o aplicacin que los desarrolladores de software utilizan para crear, depurar, mantener,
otros programas y aplicaciones. El trmino usualmente se refiere a programas relativamente
simples que pueden ser combinados para realizar una tarea.
http://www.rae.es/ -
FACULTAD DE INGENIERIA EN CIENCIAS DE LA COMPUTACION Y TELECOMUNICACIONES
FUNDAMENTOS DE PROGRAMACION
6
1.1.3 Definicin de Lenguaje
Lenguaje: Es una serie de smbolos que sirven para transmitir uno o mas mensajes (ideas)
entre dos entidades diferentes. A la transmisin de mensajes se le conoce comnmente
como comunicacin.
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 Maquina: Son aquellos cuyas instrucciones son directamente entendibles por la computadora y no necesitan traduccin posterior para que la CPU pueda comprender
y ejecutar el programa. Las instrucciones en lenguaje maquina se expresan en trminos de
la unidad de memoria mas pequea el bit (dgito binario 0 o 1).
Lenguaje de Bajo Nivel (Ensamblador): En este lenguaje las instrucciones se escriben en cdigos alfabticos conocidos como mnemotcnicos para las operaciones y direcciones
simblicas.
Lenguaje de Alto Nivel: Los lenguajes de programacin de alto nivel (BASIC, pascal, cobol, fortran, etc.) son aquellos en los que las instrucciones o sentencias a la computadora
son escritas con palabras similares a los lenguajes humanos (en general en ingles), lo que
facilita la escritura y comprensin del programa.
1.1.4 Definicin de 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 sencillamente un procedimiento preciso y sin ambigedades para la
solucin del problema. Este determina la secuencia de operaciones con las cuales se obtiene
la solucin en un nmero finito de pasos. Dicho de otra forma el algoritmo representa la
lgica requerida para la obtencin de la solucin a un problema
1.1.5 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.
-
FACULTAD DE INGENIERIA EN CIENCIAS DE LA COMPUTACION Y TELECOMUNICACIONES
FUNDAMENTOS DE PROGRAMACION
7
1.1.6 Lenguajes Algortmicos
Es una serie de smbolos y reglas que se utilizan para describir de manera explcita
un proceso.
Tipos de Lenguajes Algortmicos
Grficos: Es la representacin grfica de las operaciones que realiza un algoritmo (diagrama de flujo).
No Grficos: Representa en forma descriptiva las operaciones que debe realizar un algoritmo (seudocdigo).
-
FACULTAD DE INGENIERIA EN CIENCIAS DE LA COMPUTACION Y TELECOMUNICACIONES
FUNDAMENTOS DE PROGRAMACION
8
CAPITULO 1.2
METODOLOGIA PARA LA SOLUCION DE
PROBLEMAS.
1.2.1 Anlisis
1.2.2 Diseo
1.2.3 Implementacin
1.2.4 Prueba
1.2.5 Mantenimiento
1.2.6 Documentacin
-
FACULTAD DE INGENIERIA EN CIENCIAS DE LA COMPUTACION Y TELECOMUNICACIONES
FUNDAMENTOS DE PROGRAMACION
9
1.2 Metodologa para la solucin de problemas
1.2.1 Anlisis
1.2.1.1 Comprenda el problema
Esta fase est dada por el enunciado del problema, el cual requiere una definicin clara y
precisa. Es importante que se conozca lo que se desea que realice la computadora; mientras
esto no se conozca del todo no tiene mucho caso continuar con la siguiente etapa.
1.2.1.2 Determine los requerimientos
Una vez que se ha comprendido lo que se desea de la computadora, es necesario
definir:
Los datos de entrada.
Cul es la informacin que se desea producir (salida)
Los mtodos y frmulas que se necesitan para procesar los datos.
Una recomendacin muy prctica es el que nos pongamos en el lugar de la
computadora y analicemos que es lo que necesitamos que nos ordenen y en que secuencia
para producir los resultados esperados.
1.2.2 Diseo
1.2.2.1 Desarrolle el algoritmo Una vez que se entienda completamente el problema, se puede proceder a
desarrollar en mtodo para su solucin, este mtodo de solucin se encuentra incluido en lo
que llamaremos un algoritmo. Un algoritmo es sencillamente un procedimiento preciso y
sin ambigedades para la solucin del problema. Este determina la secuencia de
operaciones con las cuales se obtiene la solucin en un numero finito de pasos. Dicho de
otra forma el algoritmo representa la lgica requerida para la obtencin de la solucin a un
problema
Las caractersticas que debe cumplir un buen algoritmo son:
Entrada Tener datos de entrada
Salida Tener una salida (Resultado)
Finitud Debe finalizar (No existe algoritmo que no tenga un final)
Exactitud Debe ser exacto en sus resultados (salida)
Efectividad Debe solucionar el problema en los pasos necesarios
1.2.2.2 Represente el algoritmo
El lenguaje corriente no es un medio satisfactorio para la representacin de un
algoritmo. El lenguaje en si mismo es por ambiguo por naturaleza y el flujo lgico de
problemas complejos no puede explicarse fcilmente con palabras. Una tcnica utilizada
ampliamente para la representacin de algoritmos en la solucin de problemas con
-
FACULTAD DE INGENIERIA EN CIENCIAS DE LA COMPUTACION Y TELECOMUNICACIONES
FUNDAMENTOS DE PROGRAMACION
10
computadora es el diagrama de flujo. Por consiguiente, una vez haya sido definido el
problema y haya sido desarrollado el algoritmo, debera dibujarse un diagrama de flujo para
ilustrar por medio de smbolos la lgica en la solucin del problema. Los diagramas de
flujo son quizs el mejor mtodo disponible para expresar lo que se desea que hagan las
computadoras. Estos son simples, fciles de elaborar y de usar y eliminan ambigedades .
Otra forma de representacin de los algoritmos es denominada seudocdigo que
consiste en la representacin del algoritmo mediante un lenguaje estructurado.
1.2.3 Implementacin
El diagrama de flujo o seudocdigo se utiliza como una gua para la codificacin
real del programa en un lenguaje de programacin, es 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 lenguaje
de alto nivel.
1.2.4 Prueba y Depuracin
Despus de que el programa ha sido escrito en un lenguaje de programacin se debe dar
instrucciones a la mquina para ejecutar el programa. Si el programa no contiene errores, la
computadora ejecutara el programa y dar los resultados deseados. Si el programa presenta
errores, debe buscarse la causa por la cual no corri, hacer las correcciones necesarias y
correrlo de nuevo. Este es el proceso de correccin(depuracin) del programa. Debe tenerse
presente, sin embargo, que si el programa se ejecuta y se obtiene resultados impresos, no
hay ninguna garanta que estos resultados sean correctos. Debe realizarse algn tipo de
verificacin para asegurarse que los resultados sean correctos
Los errores humanos dentro de la programacin de computadoras son muchos y aumentan
considerablemente con la complejidad del problema. El proceso de identificar y eliminar
errores, para dar paso a una solucin sin errores se le llama depuracin.
La depuracin o prueba resulta una tarea tan creativa como el mismo desarrollo de
la solucin, por ello se debe considerar con el mismo inters y entusiasmo.
1.2.5 Documentacin
Es la gua o comunicacin escrita es sus variadas formas, ya sea en enunciados,
procedimientos, dibujos o diagramas.
A menudo un programa escrito por una persona, es usado por otra. Por ello la
documentacin sirve para ayudar a comprender o usar un programa o para facilitar futuras
modificaciones (mantenimiento).
La documentacin se divide en tres partes:
-
FACULTAD DE INGENIERIA EN CIENCIAS DE LA COMPUTACION Y TELECOMUNICACIONES
FUNDAMENTOS DE PROGRAMACION
11
Documentacin Interna
Documentacin Externa
Manual del Usuario
Documentacin Interna: Son los comentarios o mensaje que se aaden al cdigo fuente para hacer mas claro el entendimiento de un proceso.
Documentacin Externa: Se define en un documento escrito los siguientes puntos:
Descripcin del Problema
Nombre del Autor
Algoritmo (diagrama de flujo o pseudocodigo)
Diccionario de Datos
Cdigo Fuente (programa)
Manual del Usuario: Describe paso a paso la manera como funciona el programa, con el fin de que el usuario obtenga el resultado deseado.
1.2.6 Mantenimiento
Se lleva acabo despus de terminado el programa, cuando se detecta que es
necesario hacer algn cambio, ajuste o complementacin al programa para que siga
trabajando de manera correcta. Para poder realizar este trabajo se requiere que el programa
este correctamente documentado.
-
FACULTAD DE INGENIERIA EN CIENCIAS DE LA COMPUTACION Y TELECOMUNICACIONES
FUNDAMENTOS DE PROGRAMACION
12
CAPITULO 1.3
METODOS DE PROGRAMACION 1.3.1. Programacin libre 1.3.2 Programacin Estructurada 1.3.3 Programacin Modular 1.3.4 Programacin Orientada a Objetos 1.3.5 Programacin Orientada a Eventos
-
FACULTAD DE INGENIERIA EN CIENCIAS DE LA COMPUTACION Y TELECOMUNICACIONES
FUNDAMENTOS DE PROGRAMACION
13
Introduccin
Un paradigma de programacin es una propuesta tecnolgica que es adoptada por una
comunidad de programadores cuyo ncleo central es incuestionable en cuanto a que
nicamente trata de resolver uno o varios problemas claramente delimitados. Es un estilo de
programacin empleado. La resolucin de estos problemas debe suponer consecuentemente
un avance significativo en al menos un parmetro que afecte a la ingeniera de software.
Tiene una estrecha relacin con la formalizacin de determinados lenguajes en su momento
de definicin. Un paradigma de programacin est delimitado en el tiempo en cuanto a
aceptacin y uso ya que nuevos paradigmas aportan nuevas o mejores soluciones que la
sustituyen parcial o totalmente.
El paradigma de programacin que actualmente es el ms usado es la orientacin a objetos.
El ncleo central de este paradigma es la unin de datos y procesamiento en una entidad
llamada "objeto", relacionable a su vez con otras entidades "objeto"
Si bien puede seleccionarse la forma pura de estos paradigmas al momento de
programar, en la prctica es habitual que se mezclen, dando lugar a la programacin
multiparadigma
1.3.1 Programacin Libre
El cdigo espagueti es un trmino peyorativo para los programas de computacin que
tienen una estructura de control de flujo compleja e incomprensible. Su nombre deriva del
hecho que este tipo de cdigo parece asemejarse a un plato de espaguetis, es decir, un
montn de hilos intrincados y anudados.
Tradicionalmente suele asociarse este estilo de programacin con lenguajes bsicos y
antiguos, donde el flujo se controlaba mediante sentencias de control muy primitivas
como goto y utilizando nmeros de lnea. Un ejemplo de lenguaje que invitaba al uso de
cdigo spaghetti es el QBasic de Microsoft en sus primeras versiones.
1.3.2 Programacin Estructurada
La programacin estructurada es un paradigma de programacin orientado a mejorar la
claridad, calidad y tiempo de desarrollo de un programa de computadora, utilizando
nicamente subrutinas y tres estructuras: secuencia, seleccin (if y switch)
e iteracin (bucles for y while), considerando innecesario y contraproducente el uso de la
instruccin de transferencia incondicional (GOTO), que podra conducir a "cdigo
espagueti", que es mucho ms difcil de seguir y de mantener, y era la causa de
muchos errores de programacin.
Surgi en la dcada de 1960, particularmente del trabajo de Bhm y Jacopini,1 y una
famosa carta, La sentencia goto considerada perjudicial, de Edsger Dijkstra en 19682 y
http://es.wikipedia.org/wiki/Lenguaje_de_programaci%C3%B3n_multiparadigmahttp://es.wikipedia.org/wiki/Lenguaje_de_programaci%C3%B3n_multiparadigmahttp://es.wikipedia.org/wiki/Peyorativohttp://es.wikipedia.org/wiki/Computaci%C3%B3nhttp://es.wikipedia.org/wiki/Diagrama_de_flujohttp://es.wikipedia.org/wiki/C%C3%B3digo_fuentehttp://es.wikipedia.org/wiki/Espaguetishttp://es.wikipedia.org/wiki/Programaci%C3%B3nhttp://es.wikipedia.org/wiki/GOTOhttp://es.wikipedia.org/wiki/QBasichttp://es.wikipedia.org/wiki/Microsofthttp://es.wikipedia.org/wiki/Paradigma_de_programaci%C3%B3nhttp://es.wikipedia.org/wiki/Programa_de_computadorahttp://es.wikipedia.org/wiki/Subrutinahttp://es.wikipedia.org/wiki/Bloque_de_c%C3%B3digohttp://es.wikipedia.org/wiki/Iteraci%C3%B3nhttp://es.wikipedia.org/wiki/Bucle_(programaci%C3%B3n)http://es.wikipedia.org/wiki/Bucle_forhttp://es.wikipedia.org/wiki/Bucle_whilehttp://es.wikipedia.org/wiki/Transferencia_incondicionalhttp://es.wikipedia.org/wiki/GOTOhttp://es.wikipedia.org/wiki/C%C3%B3digo_espaguetihttp://es.wikipedia.org/wiki/C%C3%B3digo_espaguetihttp://es.wikipedia.org/wiki/Error_de_programaci%C3%B3nhttp://es.wikipedia.org/wiki/Corrado_B%C3%B6hmhttp://es.wikipedia.org/wiki/Programaci%C3%B3n_estructurada#cite_note-1http://es.wikipedia.org/wiki/Edsger_Dijkstrahttp://es.wikipedia.org/wiki/Programaci%C3%B3n_estructurada#cite_note-dijkstra1968-2 -
FACULTAD DE INGENIERIA EN CIENCIAS DE LA COMPUTACION Y TELECOMUNICACIONES
FUNDAMENTOS DE PROGRAMACION
14
fue reforzado tericamente por el teorema del programa estructurado, y prcticamente por
la aparicin de lenguajes como ALGOL con adecuadas y ricas estructuras de control.
Ventajas de la programacin estructurada comparada con el modelo anterior (hoy llamado
despectivamente cdigo espagueti).
Los programas son ms fciles de entender, pueden ser ledos de forma secuencial y
no hay necesidad de hacer engorrosos seguimientos en saltos de lneas (GOTO)
dentro de los bloques de cdigo para intentar entender la lgica.
La estructura de los programas es clara, puesto que las instrucciones estn ms
ligadas o relacionadas entre s.
Reduccin del esfuerzo en las pruebas y depuracin. El seguimiento de los fallos o
errores del programa ("debugging") se facilita debido a su estructura ms sencilla y
comprensible, por lo que los errores se pueden detectar y corregir ms fcilmente.
Reduccin de los costos de mantenimiento. Anlogamente a la depuracin, durante
la fase de mantenimiento, modificar o extender los programas resulta ms fcil.
Los programas son ms sencillos y ms rpidos de confeccionar.
Se incrementa el rendimiento de los programadores, comparado con la forma
anterior que utiliza GOTO.
1.3.3 Programacin Modular
La programacin modular es un paradigma de programacin que consiste en dividir un
programa en mdulos o subprogramas con el fin de hacerlo ms legible y manejable.
Se presenta histricamente como una evolucin de la programacin estructurada para
solucionar problemas de programacin ms grandes y complejos de lo que sta puede
resolver.
Al aplicar la programacin modular, un problema complejo debe ser dividido en varios
subproblemas ms simples, y estos a su vez en otros subproblemas ms simples. Esto debe
hacerse hasta obtener subproblemas lo suficientemente simples como para poder ser
resueltos fcilmente con algn lenguaje de programacin. sta tcnica se llama
refinamiento sucesivo, divide y vencers anlisis descendente (Top-Down).
Un mdulo es cada una de las partes de un programa que resuelve uno de los subproblemas
en que se divide el problema complejo original. Cada uno de estos mdulos tiene una tarea
bien definida y algunos necesitan de otros para poder operar. En caso de que un mdulo
necesite de otro, puede comunicarse con ste mediante una interfaz de comunicacin que
tambin debe estar bien definida.
http://es.wikipedia.org/wiki/Teorema_del_programa_estructuradohttp://es.wikipedia.org/wiki/ALGOLhttp://es.wikipedia.org/wiki/Estructuras_de_controlhttp://es.wikipedia.org/wiki/C%C3%B3digo_espaguetihttp://es.wikipedia.org/wiki/Paradigma_de_programaci%C3%B3nhttp://es.wikipedia.org/wiki/Programaci%C3%B3n_estructuradahttp://es.wikipedia.org/wiki/Algoritmo_divide_y_vencer%C3%A1s -
FACULTAD DE INGENIERIA EN CIENCIAS DE LA COMPUTACION Y TELECOMUNICACIONES
FUNDAMENTOS DE PROGRAMACION
15
Si bien un mdulo puede entenderse como una parte de un programa en cualquiera de sus
formas y variados contextos, en la prctica se los suele tomar como sinnimos
de procedimientos y funciones. Pero no necesaria ni estrictamente un mdulo es una
funcin o un procedimiento, ya que el mismo puede contener muchos de ellos. No debe
confundirse el trmino "mdulo" (en el sentido de programacin modular) con trminos
como "funcin" o "procedimiento", propios del lenguaje que lo soporte.
1.3.4 Programacin Orientada a Objetos
La programacin orientada a objetos o POO (OOP segn sus siglas en ingls) es
un paradigma de programacin que usa los objetos en sus interacciones, para disear
aplicaciones y programas informticos. Est basado en varias tcnicas,
incluyendo herencia, cohesin, abstraccin, polimorfismo, acoplamiento yencapsulamiento.
Los objetos son entidades que tienen un determinado estado, comportamiento
(mtodo) e identidad:
El estado est compuesto de datos o informaciones; sern uno o varios atributos a los que se
habrn asignado unos valores concretos (datos).
El comportamiento est definido por los mtodos o mensajes a los que sabe responder
dicho objeto, es decir, qu operaciones se pueden realizar con l.
La identidad es una propiedad de un objeto que lo diferencia del resto; dicho con otras
palabras, es su identificador (concepto anlogo al de identificador de una variable o
una constante).
Un objeto contiene toda la informacin que permite definirlo e identificarlo frente a otros
objetos pertenecientes a otras clases e incluso frente a objetos de una misma clase, al poder
tener valores bien diferenciados en sus atributos. A su vez, los objetos disponen de
mecanismos de interaccin llamados mtodos, que favorecen la comunicacin entre ellos.
Esta comunicacin favorece a su vez el cambio de estado en los propios objetos. Esta
caracterstica lleva a tratarlos como unidades indivisibles, en las que no se separa el estado
y el comportamiento.
Los mtodos (comportamiento) y atributos (estado) estn estrechamente relacionados por la
propiedad de conjunto. Esta propiedad destaca que una clase requiere de mtodos para
poder tratar los atributos con los que cuenta. El programador debe pensar indistintamente
en ambos conceptos, sin separar ni darle mayor importancia a alguno de ellos. Hacerlo
podra producir el hbito errneo de crear clases contenedoras de informacin por un lado y
clases con mtodos que manejen a las primeras por el otro. De esta manera se estara
realizando una programacin estructurada camuflada en un lenguaje de programacin
orientado a objetos.
La POO difiere de la programacin estructurada tradicional, en la que los datos y los
procedimientos estn separados y sin relacin, ya que lo nico que se busca es el
http://es.wikipedia.org/wiki/Subrutinahttp://es.wikipedia.org/wiki/Funci%C3%B3n_(programaci%C3%B3n)http://es.wikipedia.org/wiki/Paradigma_de_programaci%C3%B3nhttp://es.wikipedia.org/wiki/Objetos_(programaci%C3%B3n_orientada_a_objetos)http://es.wikipedia.org/wiki/Inform%C3%A1ticahttp://es.wikipedia.org/wiki/Herencia_(inform%C3%A1tica)http://es.wikipedia.org/w/index.php?title=Cohesi%C3%B3n_(inform%C3%A1tica)&action=edit&redlink=1http://es.wikipedia.org/wiki/Abstracci%C3%B3n_(inform%C3%A1tica)http://es.wikipedia.org/wiki/Polimorfismo_(inform%C3%A1tica)http://es.wikipedia.org/w/index.php?title=Acoplamiento_(inform%C3%A1tica)&action=edit&redlink=1http://es.wikipedia.org/wiki/Encapsulamiento_(inform%C3%A1tica)http://es.wikipedia.org/wiki/M%C3%A9todo_(inform%C3%A1tica)http://es.wikipedia.org/wiki/Variable_(programaci%C3%B3n)http://es.wikipedia.org/wiki/Constante_(programaci%C3%B3n)http://es.wikipedia.org/wiki/M%C3%A9todo_(programaci%C3%B3n_orientada_a_objetos)http://es.wikipedia.org/wiki/Programadorhttp://es.wikipedia.org/wiki/Programaci%C3%B3n_estructuradahttp://es.wikipedia.org/wiki/Programaci%C3%B3n_estructurada -
FACULTAD DE INGENIERIA EN CIENCIAS DE LA COMPUTACION Y TELECOMUNICACIONES
FUNDAMENTOS DE PROGRAMACION
16
procesamiento de unos datos de entrada para obtener otros de salida. La programacin
estructurada anima al programador a pensar sobre todo en trminos de procedimientos o
funciones, y en segundo lugar en las estructuras de datos que esos procedimientos manejan.
En la programacin estructurada solo se escriben funciones que procesan datos. Los
programadores que emplean Programacin Orientada a Objetos, en cambio, primero
definen objetos para luego enviarles mensajes solicitndoles que realicen sus mtodos por
s mismos.
1.3.5 Programacin Orientada a Eventos
La programacin dirigida por eventos es un paradigma de programacin en el que tanto la
estructura como la ejecucin de los programas van determinados por los sucesos que
ocurran en el sistema, definidos por el usuario o que ellos mismos provoquen.
Para entender la programacin dirigida por eventos, podemos oponerla a lo que no es:
mientras en la programacin secuencial (o estructurada) es el programador el que define
cul va a ser el flujo del programa, en la programacin dirigida por eventos ser el propio
usuario o lo que sea que est accionando el programa el que dirija el flujo del programa.
Aunque en la programacin secuencial puede haber intervencin de un agente externo al
programa, estas intervenciones ocurrirn cuando el programador lo haya determinado, y no
en cualquier momento como puede ser en el caso de la programacin dirigida por eventos.
El creador de un programa dirigido por eventos debe definir los eventos que manejarn su
programa y las acciones que se realizarn al producirse cada uno de ellos, lo que se conoce
como el administrador de evento. Los eventos soportados estarn determinados por
el lenguaje de programacin utilizado, por el sistema operativo e incluso por eventos
creados por el mismo programador.
En la programacin dirigida por eventos, al comenzar la ejecucin del programa se llevarn
a cabo las inicializaciones y dems cdigo inicial y a continuacin el programa quedar
bloqueado hasta que se produzca algn evento. Cuando alguno de los eventos esperados por
el programa tenga lugar, el programa pasar a ejecutar el cdigo del
correspondiente administrador de evento. Por ejemplo, si el evento consiste en que el
usuario ha hecho click en el botn de play de un reproductor de pelculas, se ejecutar el
cdigo del administrador de evento, que ser el que haga que la pelcula se muestre por
pantalla.
Un ejemplo claro lo tenemos en los sistemas de programacin Lexico y Visual Basic, en los
que a cada elemento del programa (objetos, controles, etctera) se le asignan una serie de
eventos que generar dicho elemento, como la pulsacin de un botn del ratn sobre l o el
redibujado del control.
La programacin dirigida por eventos es la base de lo que llamamos interfaz de usuario,
aunque puede emplearse tambin para desarrollar interfaces entre componentes de Software
o mdulos del ncleo.
http://es.wikipedia.org/wiki/Paradigma_de_programaci%C3%B3nhttp://es.wikipedia.org/wiki/Programaci%C3%B3n_estructuradahttp://es.wikipedia.org/w/index.php?title=Administrador_de_evento&action=edit&redlink=1http://es.wikipedia.org/wiki/Lenguaje_de_programaci%C3%B3nhttp://es.wikipedia.org/wiki/Sistema_operativohttp://es.wikipedia.org/w/index.php?title=Administrador_de_evento&action=edit&redlink=1http://es.wikipedia.org/w/index.php?title=Administrador_de_evento&action=edit&redlink=1http://es.wikipedia.org/wiki/Lexicohttp://es.wikipedia.org/wiki/Visual_Basichttp://es.wikipedia.org/wiki/Interfaz_de_usuariohttp://es.wikipedia.org/wiki/M%C3%B3dulo_de_n%C3%BAcleo -
FACULTAD DE INGENIERIA EN CIENCIAS DE LA COMPUTACION Y TELECOMUNICACIONES
FUNDAMENTOS DE PROGRAMACION
17
Con la aparicin y popularizacin de los PC, el software empez a ser demandado para
usos alejados de los clsicos acadmicos y empresariales para los cuales era necesitado
hasta entonces, y qued patente que el paradigma clsico de programacin no poda
responder a las nuevas necesidades de interaccin con el usuario que surgieron a raz de
este hecho.
-
FACULTAD DE INGENIERIA EN CIENCIAS DE LA COMPUTACION Y TELECOMUNICACIONES
FUNDAMENTOS DE PROGRAMACION
18
CAPITULO 1.4.
TECNICAS DE PROGRAMACION
1.4.1 Divide y vencers 1.4.2 Top-Down / Bottom-Up 1.4.3 Otras Tcnicas
-
FACULTAD DE INGENIERIA EN CIENCIAS DE LA COMPUTACION Y TELECOMUNICACIONES
FUNDAMENTOS DE PROGRAMACION
19
1.4.1 Divide y Vencers
En la cultura popular, divide y vencers hace referencia a un refrn que implica resolver un
problema difcil, dividindolo en partes ms simples tantas veces como sea necesario, hasta
que la resolucin de las partes se torna obvia. La solucin del problema principal se
construye con las soluciones encontradas.
En las ciencias de la computacin, el trmino divide y vencers (DYV) hace referencia a
uno de los ms importantes paradigmas de diseo algortmico. El mtodo est basado en la
resolucin recursiva de un problema dividindolo en dos o ms subproblemas de igual tipo
o similar. El proceso contina hasta que stos llegan a ser lo suficientemente sencillos
como para que se resuelvan directamente. Al final, las soluciones a cada uno de los
subproblemas se combinan para dar una solucin al problema original.
Esta tcnica es la base de los algoritmos eficientes para casi cualquier tipo de problema
como, por ejemplo, algoritmos de ordenamiento (quicksort, mergesort, entre muchos
otros), multiplicar nmeros grandes (Karatsuba), anlisis sintcticos (anlisis sintctico top-
down) y la transformada discreta de Fourier.
Por otra parte, analizar y disear algoritmos de DyV son tareas que lleva tiempo dominar.
Al igual que en la induccin, a veces es necesario sustituir el problema original por uno
ms complejo para conseguir realizar la recursin, y no hay un mtodo sistemtico de
generalizacin.
El nombre divide y vencers tambin se aplica a veces a algoritmos que reducen cada
problema a un nico subproblema, como la bsqueda binaria para encontrar un elemento en
una lista ordenada (o su equivalente en computacin numrica, el algoritmo de
biseccin para bsqueda de races). Estos algoritmos pueden ser implementados ms
eficientemente que los algoritmos generales de divide y vencers; en particular, si es
usando una serie de recursiones que lo convierten en simples bucles. Bajo esta amplia
definicin, sin embargo, cada algoritmo que usa recursin o bucles puede ser tomado como
un algoritmo de divide y vencers.
1.4.2 Top-Down / Bottom-Up
En el proceso de desarrollo de software, los enfoques top-down y bottom-up juegan un
papel crucial.
El diseo Top-down fue promovido en los setenta por los investigadores de IBM Harlan
Mills y Niklaus Wirth. Mills desarroll los conceptos de programacin estructurada para
usos prcticos y los prob en un proyecto en 1969 para automatizar el ndice de la morgue
del New York Times. El xito administrativo e ingenieril del proyecto hicieron que el
http://es.wikipedia.org/wiki/Refr%C3%A1nhttp://es.wikipedia.org/wiki/Ciencias_de_la_computaci%C3%B3nhttp://es.wikipedia.org/wiki/Algoritmohttp://es.wikipedia.org/wiki/Recursividadhttp://es.wikipedia.org/wiki/Algoritmo_de_ordenamientohttp://es.wikipedia.org/wiki/Quicksorthttp://es.wikipedia.org/wiki/Mergesorthttp://es.wikipedia.org/wiki/Algoritmo_de_multiplicaci%C3%B3nhttp://es.wikipedia.org/wiki/Algoritmo_de_Karatsubahttp://es.wikipedia.org/wiki/Analizador_sint%C3%A1cticohttp://es.wikipedia.org/w/index.php?title=An%C3%A1lisis_sint%C3%A1ctico_top-down&action=edit&redlink=1http://es.wikipedia.org/w/index.php?title=An%C3%A1lisis_sint%C3%A1ctico_top-down&action=edit&redlink=1http://es.wikipedia.org/wiki/Transformada_de_Fourierhttp://es.wikipedia.org/wiki/B%C3%BAsqueda_binariahttp://es.wikipedia.org/wiki/An%C3%A1lisis_num%C3%A9ricohttp://es.wikipedia.org/wiki/M%C3%A9todo_de_bisecci%C3%B3nhttp://es.wikipedia.org/wiki/M%C3%A9todo_de_bisecci%C3%B3nhttp://es.wikipedia.org/wiki/Resoluci%C3%B3n_num%C3%A9rica_de_ecuaciones_no_linealeshttp://es.wikipedia.org/wiki/A%C3%B1os_1970http://es.wikipedia.org/wiki/IBMhttp://es.wikipedia.org/w/index.php?title=Harlan_Mills&action=edit&redlink=1http://es.wikipedia.org/w/index.php?title=Harlan_Mills&action=edit&redlink=1http://es.wikipedia.org/wiki/Niklaus_Wirthhttp://es.wikipedia.org/wiki/Programaci%C3%B3n_estructuradahttp://es.wikipedia.org/wiki/New_York_Times -
FACULTAD DE INGENIERIA EN CIENCIAS DE LA COMPUTACION Y TELECOMUNICACIONES
FUNDAMENTOS DE PROGRAMACION
20
enfoque top-down se esparciera por IBM y por el resto de la industria de los
computadores. Niklaus Wirth, que entre sus logros est el desarrollo del lenguaje de
programacin Pascal, escribi el artculo Program Development by Stepwise Refinement,
que tuvo mucha influencia.
Los mtodos top-down fueron favorecidos en la ingeniera de software hasta que lleg
la programacin orientada a objetos a finales de los 1980s.
El enfoque top-down enfatiza la planificacin y conocimiento completo del sistema. Se
entiende que la codificacin no puede comenzar hasta que no se haya alcanzado un nivel de
detalle suficiente, al menos en alguna parte del sistema. Esto retrasa las pruebas de las
unidades funcionales del sistema hasta que gran parte del diseo se ha completado.
Bottom-up hace nfasis en la programacin y pruebas tempranas, que pueden comenzar tan
pronto se ha especificado el primer mdulo. Este enfoque tiene el riesgo de programar
cosas sin saber como se van a conectar al resto del sistema, y esta conexin puede no ser
tan fcil como se crey al comienzo. La reutilizacin del cdigo es uno de los mayores
beneficios del enfoque bottom-up.
El desarrollo de software moderno usualmente combina tanto top-down como bottom-up.
Aunque un conocimiento completo del sistema se considera usualmente necesario para un
buen diseo, haciendo que tericamente sea un enfoque top-down, la mayora de proyectos
de desarrollo de software tratan de usar cdigo existente en algn grado. El uso de mdulos
existentes le dan al diseo un sabor bottom-up. Algunos enfoques usan un enfoque en el
que un sistema parcialmente funcional es diseado y programado completamente, y este
sistema se va expandiendo para llenar los requisitos del proyecto
1.4.3 Otras Tcnicas
1.4.3.1 vidos
1.4.3.2 Dinmicos
1.4.3.3 Vuelta Atrs (Back Tracking)
1.4.3.4 Ramificacin y Poda (Branch and Bound)
Desarrolle de
manera sucinta 2
de las tcnicas
enunciadas
http://es.wikipedia.org/wiki/Niklaus_Wirthhttp://es.wikipedia.org/wiki/Lenguaje_de_programaci%C3%B3n_Pascalhttp://es.wikipedia.org/wiki/Lenguaje_de_programaci%C3%B3n_Pascalhttp://es.wikipedia.org/wiki/Ingenier%C3%ADa_de_softwarehttp://es.wikipedia.org/wiki/Programaci%C3%B3n_orientada_a_objetos -
FACULTAD DE INGENIERIA EN CIENCIAS DE LA COMPUTACION Y TELECOMUNICACIONES
FUNDAMENTOS DE PROGRAMACION
21
CAPITULO 1.5
ELEMENTOS DE PROGRAMACION
1.5.1 Identificadores
1.5.2 Constantes
1.5.3 Variables
1.5.4 Tipos de datos
1.5.5 Operadores
1.5.6 Expresiones
1.5.7 Conversiones entre tipos de Datos
-
-
FACULTAD DE INGENIERIA EN CIENCIAS DE LA COMPUTACION Y TELECOMUNICACIONES
FUNDAMENTOS DE PROGRAMACION
22
1.5.1 Identificadores
Los identificadores representan los datos de un programa (constantes, variables,
tipos de datos). Un identificador es una secuencia de caracteres que sirve para identificar
una posicin en la memoria de la computadora, que nos permite accesar a su contenido.
Ejemplo: Nombre
Num_hrs
Calif2
Reglas para formar un Identificador
Debe comenzar con una letra (A a Z, maysculas o minsculas) y no deben contener espacios en blanco.
Letras, dgitos y caracteres como la subraya ( _ ) estn permitidos despus del primer carcter.
La longitud de identificadores puede ser de hasta 8 caracteres.
1.5.2. Constantes La constante es un dato numrico o alfanumrico que no cambia durante la ejecucin del
programa, estas se definen en un Diagrama de flujo de la siguiente forma.
1.5.3. Variables
Es un espacio en la memoria de la computadora que permite almacenar temporalmente un
dato durante la ejecucin de un proceso, su contenido puede cambia durante la ejecucin
del programa. Para poder reconocer una variable en la memoria de la computadora, es
necesario darle un nombre con el cual podamos identificarla dentro de un algoritmo.
Ejemplo:
rea = pi * radio ^ 2
Las variables son : el radio, el rea y la constate es pi
PI=3,1415 PI es una constante
En leguaje de programacin Delphi
CONST
PI = 3.1415;
En pseudocdigo
CONSTANTE
PI = 3.1415
-
FACULTAD DE INGENIERIA EN CIENCIAS DE LA COMPUTACION Y TELECOMUNICACIONES
FUNDAMENTOS DE PROGRAMACION
23
Clasificacin de las Variables
Numricas
Por su Contenido Lgicas
Alfanumricas (String)
Variables
De Trabajo
Por su Uso Contadores
Acumuladores
Por su Contenido
Variable Numricas: Son aquellas en las cuales se almacenan valores numricos, positivos o negativos, es decir almacenan nmeros del 0 al 9, signos (+ y -) y el punto
decimal. Ejemplo:
iva=0.15 pi=3.1416 costo=2500
Variables Lgicas: Son aquellas que solo pueden tener dos valores (cierto o falso) estos representan el resultado de una comparacin entre otros datos.
Variables Alfanumricas: Esta formada por caracteres alfanumricos (letras, nmeros y caracteres especiales). Ejemplo:
letra=a apellido=lopez direccion=Av. Libertad #190
Por su Uso
Variables de Trabajo: Variables que reciben el resultado de una operacin matemtica completa y que se usan normalmente dentro de un programa. Ejemplo:
suma=a+b/c
Contadores: Se utilizan para llevar el control del numero de ocasiones en que se realiza una operacin o se cumple una condicin. Con los incrementos generalmente de uno en
uno.
Acumuladores: Forma que toma una variable y que sirve para llevar la suma acumulativa de una serie de valores que se van leyendo o calculando progresivamente.
-
FACULTAD DE INGENIERIA EN CIENCIAS DE LA COMPUTACION Y TELECOMUNICACIONES
FUNDAMENTOS DE PROGRAMACION
24
1.5.4 Tipos De Datos
Todos los datos tienen un tipo asociado con ellos. Un dato puede ser un simple
carcter, tal como b, un valor entero tal como 35. El tipo de dato determina la naturaleza
del conjunto de valores que puede tomar una variable.
Numricos
Simples Lgicos
Alfanumricos
Tipos de
datos Arreglos (Vectores, Matrices)
Estructurados Registros
(Def. por el Archivos
usuario) Apuntadores
Tipos de Datos Simples
Datos Numricos: Permiten representar valores escalares de forma numrica, esto incluye a los nmeros enteros y los reales. Este tipo de datos permiten realizar operaciones
aritmticas comunes.
Enteros Integer
Reales Real
Naturales Cardinal
Datos Lgicos: Son aquellos que solo pueden tener dos valores (cierto o falso) ya que representan el resultado de una comparacin entre otros datos (numricos o alfanumricos).
Lgicos Boolean
Datos Alfanumricos: Es una secuencia de caracteres alfanumricos que permiten representar valores identificables de forma descriptiva, esto incluye nombres de personas,
direcciones, etc. Es posible representar nmeros como alfanumricos, pero estos pierden su
propiedad matemtica, es decir no es posible hacer operaciones con ellos. Este tipo de datos
se representan encerrados entre comillas.
Cadena String
Carcter Char
-
FACULTAD DE INGENIERIA EN CIENCIAS DE LA COMPUTACION Y TELECOMUNICACIONES
FUNDAMENTOS DE PROGRAMACION
25
1.5.5 Operadores
Son elementos que relacionan de forma diferente, los valores de una o ms variables y/o
constantes. Es decir, los operadores nos permiten manipular valores.
Aritmticos
Tipos de Operadores Relacinales
Lgicos
Cadenas
Operadores Aritmticos: Los operadores aritmticos permiten la realizacin de operaciones matemticas con los valores (variables y constantes).
Los operadores aritmticos pueden ser utilizados con tipos de datos enteros o reales.
Si ambos son enteros, el resultado es entero; si alguno de ellos es real, el resultado es real.
Operando (Operador) Operando
Valor
(constante o variable)
Operadores Aritmticos + Suma
- Resta
* Multiplicacin
/ Divisin
Mod Modulo (residuo de la divisin entera)
Prioridad de los Operadores Aritmticos
Todas las expresiones entre parntesis se evalan primero. Las expresiones con parntesis anidados se evalan de dentro a fuera, el parntesis mas interno se evala
primero.
Dentro de una misma expresin los operadores se evalan en el siguiente orden.
1.- ^ Exponenciacin
2.- *, /, mod Multiplicacin, divisin, modulo.
3.- +, - Suma y resta.
Los operadores en una misma expresin con igual nivel de prioridad se evalan de izquierda a derecha.
Ejemplos:
Expresin Resultado
7 / 2 3.5
12 mod 7 5
4 + 2 * 5 14
-
FACULTAD DE INGENIERIA EN CIENCIAS DE LA COMPUTACION Y TELECOMUNICACIONES
FUNDAMENTOS DE PROGRAMACION
26
Ejemplos:
4 + 2 * 5 = 14
23 * 2 / 5 = 9.2 46 / 5 = 9.2
3 + 5 * (10 - (2 + 4)) = 23 3 + 5 * (10 - 6) = 3 + 5 * 4 = 3 + 20 = 23
3.5 + 5.09 - 14.0 / 40 = 5.09 3.5 + 5.09 - 3.5 = 8.59 - 3.5 = 5.09
2.1 * (1.5 + 3.0 * 4.1) = 28.98 2.1 * (1.5 + 12.3) = 2.1 * 13.8 = 28.98
Operadores Relacinales:
Se utilizan para establecer una relacin entre dos valores.
Compara estos valores entre si y esta comparacin produce un resultado de certeza o falsedad (verdadero o falso).
Los operadores relacinales comparan valores del mismo tipo (numricos o cadenas)
Tienen el mismo nivel de prioridad en su evaluacin.
Los operadores relacinales tiene menor prioridad que los aritmticos.
Operadores Relacinales > Mayor que
< Menor que
> = Mayor o igual que
< = Menor o igual que
< > Diferente
= Igual
Ejemplos:
Si a = 10 b = 20 c = 30
a + b > c Falso
a - b < c Verdadero
a - b = c Falso
a * b < > c Verdadero
Operadores Lgicos:
Estos operadores se utilizan para establecer relaciones entre valores lgicos.
Estos valores pueden ser resultado de una expresin relacional.
Operadores Lgicos And Y
Or O
Not Negacin
Operador And Operando1 Operador Operando2 Resultado
T AND T T
-
FACULTAD DE INGENIERIA EN CIENCIAS DE LA COMPUTACION Y TELECOMUNICACIONES
FUNDAMENTOS DE PROGRAMACION
27
T F F
F T F
F F F
Operador Or Operando1 Operador Operando2 Resultado
T OR T T
T F T
F T T
F F F
Operador Not
Operando Resultado
T F
F T
Ejemplos:
(a < b) and (b < c)
(10, =, Or
Ejemplos:
a = 10 b = 12 c = 13 d =10
1) ((a > b)or(a < c)) and ((a = c) or (a > = b))
F T F F
T F
F
-
FACULTAD DE INGENIERIA EN CIENCIAS DE LA COMPUTACION Y TELECOMUNICACIONES
FUNDAMENTOS DE PROGRAMACION
28
2) ((a > = b) or (a < d)) and (( a > = d) and (c > d))
F F T T
F T
F
3) not (a = c) and (c > b)
F T
T
T
Operadores de Cadena:
Se utilizan para establecer una relacin entre dos valores.
Compara estos valores entre si y esta comparacin produce un resultado de certeza o falsedad (verdadero o falso).
Los operadores de cadena comparan valores del mismo tipo (cadenas)
Tienen el mismo nivel de prioridad en su evaluacin.
Operadores Cadena > Mayor que
< Menor que
> = Mayor o igual que
< = Menor o igual que
< > Diferente
= Igual
+ Concatena
Ejemplos:
Si a = hola b = como c = estn
a + b + c holacomoestan
a > b Verdadero
1.5.6 Expresiones
Las expresiones son combinaciones de constantes, variables, smbolos de operacin,
parntesis y nombres de funciones especiales. Por ejemplo:
a+(b + 3)/c
-
FACULTAD DE INGENIERIA EN CIENCIAS DE LA COMPUTACION Y TELECOMUNICACIONES
FUNDAMENTOS DE PROGRAMACION
29
Cada expresin toma un valor que se determina tomando los valores de las variables
y constantes implicadas y la ejecucin de las operaciones indicadas.
Una expresin consta de operadores y operandos. Segn sea el tipo de datos que
manipulan, se clasifican las expresiones en:
- Aritmticas - Relacinales - Lgicas
1.5.7 Conversiones entre tipos de Datos La conversin entre los diferentes tipos de datos se da mediante el uso de funciones o
procedimientos que existen para tal efecto por lo que como parte fundamental de esta
ultima parte del texto se le sugiere completar la siguiente tabla
Tipo de dato
origen
Funcin. Procedimiento o instruccin en Delphi Tipo de dato
destino
Integer String
Real String
String Integer
String Real
Logicos Integer
Integer Logicos
String Char
Char String
Byte Integer
Integer Byte