Anda di halaman 1dari 17

TEMAS A DESARROLLAR:

Algoritmos: implementacin y clases.


Elementos bsicos de Programacin Orientada a
Eventos. Compilar.
Programa.
Proyecto.
Estructuras de datos.
Parametrizacin.
Tipos Abstractos de Datos (TAD).
Definicin de Variables. Tipos: entera, carcter,
string, boolean. Variables locales Variables
Globales.

ALGORITMOS
IMPLEMENTACION Y CLASES:
CLASES:
*Cualitativos: Son aquellos en los que se describen los pasos
utilizando palabras.
Son todos aquellos pasos o instrucciones descritos por medio de
palabras que sirven para llegar a la obtencin de una respuesta o
solucin de un problema cualquier
*Cuantitativos: Son aquellos en los que se utilizan clculos
numricos para definir los pasos del proceso.
Son aquellos pasos o instrucciones que involucran clculos
numricos para llegar a un resultado satisfactorio
*Algoritmos de razonamiento:
-Algoritmos Estticos: son los que funcionan siempre igual,
independientemente del tipo de problema tratado.
-Algoritmos Adaptativos: algoritmos con cierta capacidad de
aprendizaje.

*Algoritmos Probabilsticos: son algoritmos que no utilizan valores de verdad


booleanos sino continuos. Existen varios tipos de algoritmos probabilsticos
dependiendo de su funcionamiento, pudindose distinguir:
-Algoritmos numricos: que proporcionan una solucin aproximada del
problema.
-Algoritmos de Montecarlo: que pueden dar la respuesta correcta o respuesta
errneas (con probabilidad baja).
-Algoritmos de Las Vegas: que nunca dan una respuesta incorrecta: o bien dan
la respuesta correcta o informan del fallo.
Algoritmo Cotidiano: es la serie de pasos que realizamos en nuestra vida diaria
para realizar las diferentes tareas y actividades comunes, desde los pasos al
levantarnos, as como ir de compras, etc.
*Algoritmo Voraz: un algoritmo voraz es aquel que, para resolver un
determinado problema, sigue una heurstica consistente en elegir la opcin
ptima en cada paso local con la esperanza de llegar a una solucin general
ptima.
*Algoritmo Determinista: es un algoritmo que, en trminos informales, es
completamente predictivo si se conocen sus entradas.
*Algoritmo Heurstico: es un algoritmo que abandona uno o ambos objetivos;
por ejemplo, normalmente encuentran buenas soluciones, aunque no hay
pruebas de que la solucin no pueda ser arbitrariamente errnea en algunos
casos; o se ejecuta razonablemente rpido, aunque no existe tampoco prueba
de que siempre ser as.
Las heursticas generalmente son usadas cuando no existe una solucin ptima
bajo las restricciones dadas (tiempo, espacio, etc.), o cuando no existe del
todo.
*Algoritmo de escalada: la idea bsica consiste en comenzar con una mala
solucin a un determinado problema y, repetidamente, aplicar optimizaciones a
la misma hasta que esta sea ptima o satisfaga algn otro requisito.

IMPLEMENTACION DE LOS ALGORITMOS:


Los algoritmos no se implementan slo como programas, algunas veces en una red neuronal biolgica (por

ejemplo, el cerebro humano implementa la aritmtica bsica o, incluso, una rata sigue un algoritmo para
conseguir comida), tambin en circuitos elctricos, en instalaciones industriales o maquinaria pesada. Se puede
decir en pocas palabras que nuestra vida es un ejemplo de algoritmo, pues al desarrollar nuestros quehacer
diarios desarrollamos una serie de pasos ordenados, as podremos quedar satisfechos con los resultados.
El ingreso de la notacin algebraica en el desarrollo de algoritmos logr un gran avance para los

programadores ya que fue una forma mas tangible de desarrollar sus programas, por medio de la lgica.
Un algoritmo puede adoptar una de las estructuras siguientes o combinaciones de ellas:lineal o
secuencial,alternativa o selectivay repetitiva o cclica.
*Unalgoritmo secuenciales aquel en el que se necesita que un paso anterior haya concluido para continuar
con otro. De esta forma, en este tipo de algoritmos se requiere de datos de la etapa anterior, como una cadena
o secuencia de informacin.
*Unalgoritmoselectivoes aquel en el que se establecen condiciones para poder realizar una accin
especfica, en los lenguajes de programacin se implementan las sentenciasifoselectcasepara llevar a cabo
este tipo de algoritmos.
*Unalgoritmo repetitivoo cclicoes aquel en el que el programador establece un rango de repeticin para
una accin dada, o en el que se determina que una accin se repita de forma cclica mientras se cumpla alguna
condicin. En los lenguajes de programacin se usan las sentencias whileyfor para llevar a cabo este tipo de
algoritmos.
El algoritmo ms sencillo de todos es el lineal pues es solo la que realiza un determinado proceso y no tiene
variaciones ni complicaciones. pues solo realiza una accin y sus pasos son seguidos o secuenciales.

ELEMENTOS BSICOS DE PROGRAMACIN


Clase: Definiciones deA
las EVENTOS
propiedades y comportamiento de un tipo de objeto concreto. La
ORIENTADA
instanciacin es la lectura de estas definiciones y la creacin de un objeto a partir de ella.

Herencia: Por ejemplo, herencia de la clase C a la clase D, es la facilidad mediante la cual la


clase D hereda en ella cada uno de los atributos y operaciones de C, como si esos atributos
y operaciones hubiesen sido definidos por la misma D. Por lo tanto, puede usar los mismos
mtodos y variables pblicas declaradas en C. Los componentes registrados como
"privados" (private) tambin se heredan, pero como no pertenecen a la clase, se mantienen
escondidos al programador y slo pueden ser accedidos a travs de otros mtodos pblicos.
Esto es as para mantener hegemnico el ideal de POO.
Objeto: Instancia de una clase. Entidad provista de un conjunto de propiedades o atributos
(datos) y de comportamiento o funcionalidad (mtodos), los mismos que consecuentemente
reaccionan a eventos. Se corresponden con los objetos reales del mundo que nos rodea, o
con objetos internos del sistema (del programa). Es una instancia a una clase.
Mtodo: Algoritmo asociado a un objeto (o a una clase de objetos), cuya ejecucin se
desencadena tras la recepcin de un "mensaje". Desde el punto de vista del
comportamiento, es lo que el objeto puede hacer. Un mtodo puede producir un cambio en
las propiedades del objeto, o la generacin de un "evento" con un nuevo mensaje para otro
objeto del sistema.
Evento: Es un suceso en el sistema (tal como una interaccin del usuario con la mquina, o
un mensaje enviado por un objeto). El sistema maneja el evento enviando el mensaje
adecuado al objeto pertinente. Tambin se puede definir como evento la reaccin que
puede desencadenar un objeto; es decir, la accin que genera.
Atributos: Caractersticas que tiene la clase.

Mensaje: Una comunicacin dirigida a un objeto, que le ordena que ejecute uno de sus
mtodos con ciertos parmetros asociados al evento que lo gener.Propiedad o
atributoContenedor de un tipo de datos asociados a un objeto (o a una clase de
objetos), que hace los datos visibles desde fuera del objeto y esto se define como sus
caractersticas predeterminadas, y cuyo valor puede ser alterado por la ejecucin de
algn mtodo.Estado internoEs una variable que se declara privada, que puede ser
nicamente accedida y alterada por un mtodo del objeto, y que se utiliza para indicar
distintas situaciones posibles para el objeto (o clase de objetos). No es visible al
programador que maneja una instancia de la clase.
Componentes de un objeto: Atributos, identidad, relaciones y mtodos.
Identificacin de un objeto: Un objeto se representa por medio de una tabla o entidad
que est compuesta por sus atributos y funciones correspondientes.En comparacin con
un lenguaje imperativo, una "variable" no es ms que un contenedor interno del
atributo del objeto o de un estado interno, as como la "funcin" es un procedimiento
interno del mtodo del objeto.
Identificacin de un objeto: Un objeto se representa por medio de una tabla o entidad
que est compuesta por sus atributos y funciones correspondientes.En comparacin con
un lenguaje imperativo, una "variable" no es ms que un contenedor interno del
atributo del objeto o de un estado interno, as como la "funcin" es un procedimiento
interno del mtodo del objeto.
Estado interno: Es una variable que se declara privada, que puede ser nicamente
accedida y alterada por un mtodo del objeto, y que se utiliza para indicar distintas
situaciones posibles para el objeto (o clase de objetos). No es visible al programador
que maneja una instancia de la clase.
Componentes de un objeto: Atributos, identidad, relaciones y mtodos.
Identificacin de un objeto: Un objeto se representa por medio de una tabla o entidad
que est compuesta por sus atributos y funciones correspondientes.En comparacin con
un lenguaje imperativo, una "variable" no es ms que un contenedor interno del
atributo del objeto o de un estado interno, as como la "funcin" es un procedimiento
interno del mtodo del objeto.

COMPILAR
Se conocer como compilar al proceso de

traduccin de un cdigo fuente (escrito en un


lenguaje de programacin de alto nivel) a
lenguaje mquina (cdigo objeto) para que
pueda ser ejecutado por la computadora. Las
computadoras slo entienden el lenguaje
mquina. La aplicacin o la herramienta
encargada de la traduccin se llama
compilador.

PROGRAMA
Cuando hablamos especficamente deprograma en informtica,

estamos haciendo referencia a unsoftware. Se trata de aplicaciones


y recursos que permiten desarrollar diferentes tareas en
unacomputadora(ordenador), untelfonou otros equipos
tecnolgicos.
Para desarrollar un programa informtico, se necesita apelar a
loslenguajes de programacinque posibilitan el control de las
mquinas. A travs de diversas reglas semnticas y sintcticas, estos
lenguajes especifican los datos que transmite el software y que
tendr que operar la computadora.
Adems del citado lenguaje, tambin es fundamental dentro de
cualquier programa en informtica o programa informtico tanto el
archivo fuente como el editor de vnculos, el archivo ejecutable, el
compilador o el archivo objeto.
Existen diferentes tipos de programas en informtica. Elsoftware de
base, por ejemplo, es aquel que le brinda a la persona el control
sobre los elementos fsicos de la computadora, que se conocen
comohardware. Dentro del software de base puede nombrarse a
lossistemas operativos, comoWindowsoLinux.

PROYECTO
Elproyecto representa el enunciado de una intervencin concreta de la que se espera tener

resultados que contribuyan al logro de los efectos especficos que unprogramadefine.


Como tal, expresa el nivel operativo delproceso deplanificacin, por lo que sus
metodologas ytcnicassern de uso habitual para los profesionales de la Intervencin
social. La definicin de proyecto informtica no varia de la definicin de proyecto dada
anteriormente, tan solo varia el campo de aplicacin de las tcnicas asociadas al proyecto.
Una de las fases ms complejas del proyecto es la de definir losobjetivos. Lapersonaque
encarga el proyecto rara vez conoce claramente los objetivos, tan solo tiene una idea
general, quiere informatizar algo o gestionar algo. Este es uno de losproblemascon que se
encuentra el informtica en las primeras fases del proyecto. El no definir los objetivos
correctamente es la causa de muchos de los problemas que se presentan durante el cielo
dedesarrollodel proyecto:
Elclientepuede no quedar satisfecho con elproductofinal, ya que es posible que no haya
definido correctamente lo que quiere.
El cliente puede introducir objetivos o restricciones durante la ejecucin del proyecto que
afecten de manera sustancial al mismo.
La no concrecin o ambigedad de los objetivos puede provocar que nadie se
responsabilice de los fallos, ya que gran parte del proyecto habr sido dejado al criterio del
programador, en vez de ser este nicamente el tcnico que permita obtener los
objetivosimpuestospor el cliente.

OBJETIVOS EN LOS PROYECTOS


Los objetivos debe fijarlos pues quien encarga el proyecto, y se ha de conseguir que estos sean

claros, definidos, concretos y no ambiguos.

Es el conjunto deoperacioneslimitadas en el tiempo, de las cuales resulta un producto final

(Metas Presupuestarias), que concurre a la expansin de laaccin deGobierno. Representa la


creacin, ampliacin y/o modernizacin de laproduccinde losbienesyservicios, implicando la
variacin sustancial o el cambio deprocesosy/o tecnologa utilizada por la Entidad. Luego de su
culminacin, generalmente se integra o da origen a una Actividad.
Aunque los aspectos puramentematerialesy tcnicos de disear son esenciales, es necesario
considerar el componenteno-tcnicoque igualmente influye en la viabilidad del proyecto. En
realidad, cuando un problema no presenta aspectos como lalegalidad, belleza,economa, etc., o
bien factores decarcterpoltico, social, tico, el problema no es de ingeniera sino que ms bien
se est ante un problema de tipo exclusivamente tcnico.
OBJETIVOS DEL PROYECTO
Existen tres tipos de familias de objetivos informticos:
1.-Deservicio:Este tipo de objetivos son definidos por el cliente, normalmente para alcanzar a
largo plazo (3 meses a dos aos) y afectan a laorganizacinoperativa y gestin del rea
usuaria. Pueden ser cualitativos (fiabilidad,calidad, etc.) y cuantitativos (beneficios de gestin,
beneficios de funcionamiento, etc.)
2.-De produccin:Son definidos por la informtica, se han de cumplir a corto plazo y afectan al
desarrollo y explotacin del proyecto. Normalmente son cuantitativos (coste, plazo, calidad,
rendimiento, etc.). En cuanto a los objetivos coste, plazo y calidad, lo ms importante es sealar
que no se pueden alanzar los tres simultneamente. Si dos estn especificados, es necesario que
el tercero pueda variar.
3.-Estratgicos:Son definidos por el DG, su alcance es a largo plazo (de 3 a 5 aos) y afectan a
todas las reas dela empresa. Normalmente son cualitativos
(cobertura,integracin,imagen,migracin, etc.).

ESTRUCTURAS DE DATOS
Enprogramacin, unaestructura de datoses una forma de organizar un conjunto de datos elementales con
elobjetivode facilitar su manipulacin. Un dato elemental es la mnimainformacinque se tiene en un
sistema.
Una estructura de datos define laorganizacine interrelacin de stos y un conjunto deoperacionesque se
pueden realizar sobre ellos. Las operaciones bsicas son:
-Alta, adicionar un nuevovalora la estructura.
-Baja, borrar un valor de la estructura.
-Bsqueda, encontrar un determinado valor en la estructura para realizar una operacin con este valor, en
forma SECUENCIAL o BINARIO (siempre y cuando los datos estn ordenados)...
Otras operaciones que se pueden realizar son:
-Ordenamiento, de los elementos pertenecientes a la estructura.
-Apareo, dadas dosestructurasoriginar una nueva ordenada y que contenga a las apareadas.
Cada estructura ofrece ventajas y desventajas en relacin a la simplicidad yeficienciapara la realizacin de
cada operacin. De esta forma, la eleccin de la estructura de datos apropiada para cada problema
depende de factores como la frecuencia y el orden en que se realiza cada operacin sobre los datos.
TIPOS DE DATOS ELEMENTALES
Binarios-Bit-Byte-Numricos-Entero-Real-Coma fija-Coma flotante-Alfanumricos-Carcter-Cadena-Booleanos
CONJUNTOS
Losconjuntosson una de las estructuras bsicas de lasmatemticas, y por tanto de lainformtica. No se
va a entrar en la definicin de conjuntos ni en sus propiedades. Se supondr que el lector conoce algo de
teora de conjuntos. Con lo ms bsico es suficiente.
En realidad las estructuras de datos que se han implementado hasta ahora no son ms que elementos
diferentes entre s (en general) en los que se ha definido una relacin. Que pueden estar ordenados entre
s. Obviando las propiedades de las estructuras, se ve que forman un conjunto, y su cardinal es el nmero
de elementos que contenga la estructura. En los conjuntos no existen elementos repetidos, y esto se
respeta en las implementaciones que se ofrecen a continuacin.
En este tema definiremos unas implementaciones que permitan aplicar ellgebrade conjuntos, ya sea
unin, interseccin, pertenencia entre otras.

PILAS
Una pila (stackeningls) es una lista ordinal o estructura de
datos en la que el modo de acceso a sus elementos es de tipo
LIFO (del inglsLast In First Out, ltimo enentrar, primero
ensalir) que permite almacenar y recuperar datos. Se aplica
en multitud de ocasiones en informtica debido a su
simplicidad y ordenacin implcita en la propia estructura.
COLA
Definicin:
Son aquellas que solo tiene 2 operaciones, Push (Insercin) y
Pop (Eliminacin). Push solo se puede efectuar por un extremo
llamado Frente y Pop por el extremo Llamado Final. Sin
Embargo se le pueden aplicar todas las operacin al igual que
a las listas.
LISTAS
Tipos de Listas Enlazadas
Listas enlazadas lineales

PARAMETRIZACION
La Parametrizacin es la propiedad de un

mdulo, o de una construccin sintctica del


lenguaje, para utilizar datos de varios tipos. Es
un mecanismo muy til porque permite
aplicar el mismo algoritmo a tipos de datos
diferentes; es una facilidad que permite
separar los algoritmos de los tipos de datos,
aumentando de esta manera la modularidad
de los programas y minimizando la
duplicacin de cdigo.

TIPOS ABSTRACTOS DE DATOS


(TAD)
*Abstraccin de datos:
Descripcin abstracta o lgica de:
los datos (cmo se organizan)
las operaciones sobre los datos (cmo se modifican o se accede a ellos)
TAD =Modelo matemtico + Operaciones
Tipo de datos =Implementacin de un TAD
Ejemplo: TAD conjunto:
Coleccin de objetos de tipo indeterminado sin relacin de orden
Operaciones UNIN, INTERSECCIN y DIFERENCIA
*Operaciones:
Internas o externas Operandos y resultado pueden pertenecer o no al TAD
Al menos un operando o el resultado pertenecen al TAD Se puede definir
nmero de operaciones que queramos
Cada conjunto de operaciones define un TAD distinto
*Implementacin de un TAD: Implica dos cuestiones representar los datos
en memoria de una manera concreta, es decir, definir los tipos de datos
necesarios especificar en lenguaje algortmico las operaciones sobre los
datos (rutinas de acceso y modificacin)
No es nica: hay muchas posibilidades Ha de elegirse la implementacin
que ms convenga, teniendo en cuenta qu operaciones son las ms
frecuentes

DEFINICION DE VARIABLES
Enprogramacin, una variable est formada por un espacio en el

sistema de almacenaje (memoria principalde unordenador) y un


nombre simblico (unidentificador) que est asociado a dicho
espacio. Ese espacio contiene una cantidad o informacin
conocida o desconocida, es decir unvalor. El nombre de la
variable es la forma usual dereferirseal valor almacenado: esta
separacin entre nombre y contenido permite que el nombre sea
usado independientemente de la informacin exacta que
representa. El concepto de variables en computacin puede no
corresponder directamente al concepto devariables en
matemtica. El valor de una variable en computacin no es
necesariamente parte de unaecuacinofrmulacomo en
matemticas. En computacin una variable puede ser utilizada
en un proceso repetitivo: puede asignrsele un valor en un sitio,
ser luego utilizada en otro, ms adelante reasignrsele un nuevo
valor para ms tarde utilizarla de la misma manera.
Procedimientos de este tipo son conocidos con el nombre
deiteracin.

TIPOS DE VARIABLES
ENTERA: Una variable entera binaria es aquella que solamente puede

adoptar los valores 0 1. Este tipo de variable se emplea para


resolver situaciones del tipo inclusin o exclusin.
CARCTER: Son variables quealmacenan caracteres
individuales(letra, numero, signo ?, etc...). El carcter que se
inicializa debe ir entre apstrofeso comillas simples 'a'.
STRING: Enprogramacin, unacadena de
caracteres,palabras,ristrade caracteresofrase(string, eningls) es
una secuencia ordenada (de longitud arbitraria, aunque finita) de
elementos que pertenecen a un ciertolenguaje
formaloalfabetoanlogas a unafrmulao a unaoracin. En
general, una cadena de caracteres es una sucesin
decaracteres(letras,nmerosu otrossignososmbolos). Si no se
ponen restricciones al alfabeto, una cadena podr estar formada por
cualquier combinacin finita de loscaracteresdisponibles (las letras
de la 'a' a la 'z' y de la 'A' a la 'Z', los nmeros del '0' al '9', el espacio
en blanco ' ', smbolos diversos '!', '@', '%', etctera).
BOOLEAN: Son variables que tienen solo dos valores posibles ,
verdadera o falsa ( True or false)

Variables locales Variables


Globales
Unavariable globales, eninformtica, unavariableaccesible en todos

losmbitosde unprograma informtico. Los mecanismos de interaccin con variables


globales se denominan mecanismos deentorno global. El concepto de entorno
global contrasta con el deentorno localdonde todas las variables
sonlocalessinmemoria compartida(y por ello todas las iteraciones pueden
restringirse alintercambio de mensajes).El uso de este tipo de variables suele
considerarse como una mala prctica, por el riesgo que conlleva esa deslocalizacin:
una variable global puede ser modificada en cualquier parte del programa (a menos
que resida en una seccin dememoria protegida) y cualquier parte del programa
depende de ella. Es por ello que una variable global tiene un potencial ilimitado para
crear dependencias, factor ste que aumenta la complejidad. Sin embargo, en
algunas ocasiones, las variables globales resultan muy tiles. Por ejemplo, se pueden
usar para evitar tener que pasar variables usadas muy frecuentemente de forma
continua entre diferentessubrutinas.
Unavariable locales, eninformtica, lavariablea la que se le otorga unmbito
local. Tales variables slo pueden accederse desde lafuncinobloque de
instrucciones en donde sedeclaran. Las variables locales se contraponen a
lasvariables globales.En la mayora delenguajes de programacinlas variables
locales sonvariables automticasalmacenadas directamente en lapila de llamadas.
Esto significa que cuando unafuncin recursivase llama a s misma, las variables
locales reciben, en cada instancia de la funcin,espacio para el direccionamientode
memoria separados. De esta forma las variables con este mbito se pueden declarar,
reescribir y leer sin riesgo deefectos secundariospara los procesos fuera del bloque
en el que son declarados.

Anda mungkin juga menyukai