La disciplina Lenguaje y Técnica de Programación tiene como propósito la solución de problemas mediante el empleo de computadoras, la cual se identifica con los paradigmas de la programación estructurada, orientado a objetos y
visual, la misma resulta de gran importancia en la formación informática de los profesores de las carreras de Informática
y Educación Laboral Informática, así como para el desarrollo de habilidades profesionales brindándoles herramientas de tipo cognitiva-instrumental para buscar la racionalidad,
claridad, facilidad y elegancia en el proceso mental cuando se quiere encontrar la solución de
problemas, posibilitando el pensamiento lógico de los estudiantes donde juega una papel
importante el desarrollo de las habilidades intelectuales deducir o inducir.
miércoles, 17 de junio de 2015
DESCRIPCIÓN DE LA MATERIA
Los cambios tecnológicos de nuestra era
implica una amplia gama de conocimiento en el área razón por la cual se vuelve
fundamental mantenerse actualizado con la terminología informática que cada día
absorbe a más usuarios los que antes se consideraban términos raros y de uso
técnico ahora se encuentran en nuestro vocabulario común y son usados por
muchas personas indistintamente de su profesión.
Hablar por ejemplo de hardware, software,
sistemas, unidades de medida informáticas procesamiento de información etc. Se
ha vuelto común con el creciente uso de las tecnológicas móviles que están
llegando al alcance de todos.
CONCLUSIÓN DEL APRENDIZAJE
Una gran
experiencia obtenida al desarrollar la materia de fundamento de programación
lograr el aprendizaje de programar en los diferentes programas utilizados
lograr la experiencia de desarrollar nuestra forma de pensar y ver las cosas
computacionales
BIBLIOGRAFIA
JOYANES AGUILAR,
Luis. Zahonero Martínez, Ignacio. Estructuras de Datos en Java. 1a.ed
Madrid: McGraw-Hill Interamericana de España 2008. 6 ejemplares (Biblioteca
Central: 3 Biblioteca Usulután: 3).
JOYANES AGUILAR, Luis.
Fundamentos de programación: Algoritmos y estructuras de datos y objetos. 4a. ed. Madrid:
McGraw Hill 2008. 6 ejemplares (Biblioteca Central: 3 Biblioteca Usulután: 3).
RAMÍREZ, Felipe.
Introducción a la Programación: algoritmos y su implementación en VB.NET, C#, JAVA Y C++. 2a.ed.
México D.F.: Alfaomega grupo editor 2007. 6 ejemplares (Biblioteca Central: 3
Biblioteca Usulután: 3).
VILLAREAL DE LA
GARZA, Sonia. Introducción a la Computación: teoría y manejo de paquetes.
2a.ed. México: McGraw-Hill 2007. 6 ejemplares (Biblioteca Central: 3 Biblioteca
Usulután: 3).
SANTOS GONZALEZ, Manuel.
Patiño Cortés, Ismael. Carrasco Vallinot, Raúl. Fundamentos de Programación. 1a.ed México D.F.: Alfaomega grupo editor
2006. 6 ejemplares (Biblioteca Central: 3 Biblioteca Usulután: 3).
LÓPEZ ROMÁN,
Leobardo. Metodología de la Programación Orientada a Objetos. 1a.ed México
D.F.: Alfaomega grupo editor 2006. 6 ejemplares (Biblioteca Central: 3
Biblioteca Usulután: 3).
CAIRO BATTISTUTTI, Osvaldo.
Metodología de la Programación: algoritmos, diagramas de flujo y programas. 3a.ed. México D.F.:
Alfaomega grupo editor 2005. 6 ejemplares (Biblioteca Central: 3 Biblioteca
Usulután: 3).
Para el desarrollo de esta asignatura se hace uso de la biblioteca
electrónica a la cual la Universidad tiene acceso mediante la Alianza con
MICROSOFT de MSDN Academic Alliance. El programa MSDNAA incluye:
· Biblioteca
de soporte técnico Knowledge Base
· Soporte
Técnico Profesional.
· Soporte para
estudiantes de departamentos de MSDNAA.
· Soporte para
MSDNAA Administrators con una suscripción a MSDN. y Recursos de Soporte en
Línea de MSDN: http://msdn.microsoft.com/subscriptions/support
GRUPO DE TRABAJO
Somos un grupo responsable formado por tres miembros el cual hemos organizado y desarrollado
la información obtenida halo largo del ciclo de la materia de fundamento de programación proporcionando en este blog información de útil ayuda a aquellos que desean tener una buena perspectiva de lo que es la programación
GLOSARIO.
Alfanumérico: Característica que
indica un conjunto de caracteres que incluye letras, números y signos de
puntuación.
Algoritmo: Procedimiento
lógico-matemático, aplicado para resolver un problema.
Almacenamiento aleatorio:
Método de almacenamiento que permite el acceso directo a los datos sin pasar
por los anteriores, lo cual reporta una mayor rapidez.
Análisis de sistemas:
Estudio de una tarea o función para comprenderla y encontrar mejores maneras de
realizarla.
Bus: Caminos eléctricos
internos de la computadora por los que transitan señales o datos entre los componentes
de la computadora y la
Byte: Conjunto de 8 bits usado
para designar un carácter, letra o número.
C: Lenguaje de programación
usado principalmente para la programación de sistemas o sofisticadas
aplicaciones.
C++: Lenguaje de programación
orientado a objetos, basado en el lenguaje C.
CD-ROM (Compact Disc
Read-Only Memory): Tecnología de almacenamiento óptico sólo de lectura,
utilizada por los discos compactos.
Ciclo de máquina:
Tiempo requerido por el computador para realizar completamente una operación.
Dato: Representación de un
hecho o idea que puede ser manipulado y al cual se le puede asignar un
significado.
Depuración: Detección, localización
y eliminación de errores en un programa. También llamado debugging.
Diagrama de flujo:
Representación gráfica de los tipos y secuencia de operaciones de un programa o
proceso.
UNIDAD #1. INTRODUCCIÓN DE LA PROGRAMACIÓN.
Se pueden utilizar muchos
lenguajes para programar una computadora.
El más básico es el
lenguaje de máquina, una colección de instrucciones muy detallada que
controla la circuitería interna de la máquina. Este es el dialecto natural de
la máquina. Muy pocos programas se
escriben actualmente en lenguaje de
maquina por dos razones importantes: primero, porque el lenguaje de maquina es
muy incómodo para trabajar y segundo porque la mayoría de las maquinas se pide
programar en diversos tipos de lenguajes, que son lenguajes de alto nivel,
cuyas instrucciones son más compatibles con los lenguajes y la forma de pensar
humanos como lo es el lenguaje
c que además es de propósito general.
Debido a
que los programas diseñados en este lenguaje se pueden ejecutar en cualquier
máquina, casi sin modificaciones. Por tanto el uso del lenguaje de alto nivel
ofrece tres ventajas importantes, sencillez, uniformidad y portabilidad.
1.1 Conceptos Generales y Terminología de la
Programación.
La
computadora no solamente es una máquina que puede realizar procesos para
darnos resultados.
También
podemos diseñar soluciones a la medida, de problemas específicos que se nos
presenten.
Más aún,
si estos involucran operaciones matemáticas complejas o repetitivas, o
requieren del manejo de un volumen muy grande de datos.
Lenguajes de programación:
Es un
conjunto de símbolos, caracteres y reglas que les permiten a las personas
comunicarse con la computadora.
Los
lenguajes de programación tienen un conjunto de instrucciones que nos permiten
realizar operaciones de entrada/salida, cálculo, manipulación de textos,
lógica/comparación y almacenamiento/recuperación.
Los lenguajes de programación se clasifican en.
Lenguaje Máquina: Son aquellos cuyas instrucciones son
directamente entendibles por la computadora y no necesitan traducción posterior
para que la CPU pueda
comprender y ejecutar el programa. Las
instrucciones en lenguaje maquina se expresan en términos de la unidad de memoria más
pequeña el bit (dígito binario 0 ó 1).
Lenguaje de Bajo Nivel:
(Ensamblador): En
este lenguaje las instrucciones se escriben en códigos alfabéticos conocidos
como mnemotécnicos para las operaciones y direcciones simbólicas.
Lenguaje de Alto Nivel:
Los lenguajes de
programación 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 inglés),
lo que facilita la escritura y comprensión del
programa.
1.2 Importancia de la Programación.
Secuencia de instrucciones mediante las
cuales se ejecutan diferentes acciones de acuerdo con los datos que
se estén procesando.
Es un algoritmo desarrollado para ser
utilizado por la computadora
Expresión de un algoritmo en un lenguaje
preciso que puede llegar a entender una máquina de cómputo.
Utilizar el transporte (autobús,
carro, bicicleta, etc.)
Fases para la creación de un
programa.
Definición del Problema.
Esta fase está dada por el enunciado del
problema, el cual requiere una definición 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.
Análisis del Problema.
Una vez que se ha comprendido lo que se
desea de la computadora, es necesario definir: Los datos de entrada. Cuál es
la información que
se desea producir (salida) Los métodos y
fórmulas que se necesitan para procesar los datos. Una recomendación muy
práctica 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.
Diseño del
Algoritmo.
Las características de un buen algoritmo
son: Debe tener un punto particular de inicio. Debe ser definido, no debe
permitir dobles interpretaciones. Debe ser general, es decir, soportar la
mayoría de las variantes que se puedan presentar en la definición del problema.
Debe ser finito en tamaño y tiempo de
ejecución.
Codificación.
La codificación es
la operación de escribir la solución del problema (de acuerdo a la lógica
del diagrama de
flujo o pseudocódigo), en una serie de instrucciones detalladas, en un código reconocible
por la computadora, la serie de instrucciones detalladas se le conoce como
código fuente, el cual se escribe en un lenguaje de programación o lenguaje de
alto nivel.
Prueba y Depuración.
Los errores humanos dentro de la
programación de computadoras son
muchos y aumentan considerablemente con la complejidad del problema. El proceso de
identificar y eliminar errores, para dar paso a una solución sin errores se le
llama depuración. La prueba consiste en la captura de datos
hasta que el programa no presente errores (los más comunes son los sintácticos
y lógicos).
Documentación.
Es la guía o comunicación escrita
es sus variadas formas, ya sea en enunciados, procedimientos, dibujos o diagramas.
UNIDAD #2. Metodologías que Permiten Desarrollar Actividades Básicas de la Programación.
2.1 Definición del Problema.
Está dada por el enunciado del problema,
el cuál debe ser claro y completo. Es importante que conozcamos exactamente que
se desea del computador; mientras que esto no se comprenda, no tiene caso pasar
a la siguiente etapa.
El proceso de resolución de un problema
con una computadora conduce a la escritura de un programa y a su ejecución en
la misma. Aunque el proceso de diseñar programas es esencialmente un proceso
creativo, se pueden considerar una serie de fases o pasos comunes, que
generalmente deben seguir todos los programadores.
2.2 Análisis de variables (Entrada -
Proceso - Salida).
Entendido el problema (que se desea
obtener del computador), para resolverlo es preciso analizar.
Los datos o resultados que se esperan.
Los datos de entrada que nos suministran.
El proceso al que se requiere someter esos datos a fin de obtener los resultados esperados.
Áreas de trabajo, fórmulas y otros recursos necesarios.
Los datos de entrada que nos suministran.
El proceso al que se requiere someter esos datos a fin de obtener los resultados esperados.
Áreas de trabajo, fórmulas y otros recursos necesarios.
2.3 Algoritmo.
Serie de pasos ordenados encaminados a
resolver un problema, debe ser escrita en forma clara y fácil de entender
Podríamos decir que explicar con nuestras
propias palabras como resolver el problema.
El algoritmo debe contar con tres partes
esenciales
Entradas: datos desconocidos que hacen falta para
resolver el problema
Procesos: aplicación de fórmulas y operaciones que
sean necesarias para resolver el problema
Salidas: resultados que se desean obtener es decir
la información
2.4 Flujo gramas.
Utiliza símbolos gráficos para la
representación del algoritmo combinación de constantes, variables, operadores e
incluso palabras reservadas que siguiendo la sintaxis de un determinado
lenguaje de programación permiten al procesador ejecutar una acción
2.4.1 Símbolos utilizados en los diagramas de
flujo.
Inicio o terminal.
Representa el inicio y el final de un
programa puede representar también una parada o interrupción programada que sea
necesario realizar en un grupo.
Entrada/salida en pantalla.
Significa introducción de datos en la
memoria desde los periféricos de entradas o registros de información procesada
o salida.
Proceso.
Cualquier tipo de operación que pueda
originar cambio de valor formato o posición de la información almacenada en
memoria entre ellas operaciones aritméticas.
Decisión.
Indica operaciones lógicas o de
comparación entre datos generando una salida falsa o verdadera.
Conector de programas.
Sirve para enlazar dos partes cuales
quiera de un flujo grama atraves de un conector de salidas y otros conectores
en la salida. Se refiere a la conexión en la misma página.
Conector de página.
Conexión entre dos puntos de flujo grama
situado en páginas diferentes.
Línea conectora.
Sirve de unión entre dos símbolos.
Indicador de dirección.
Línea de flujo indica el sentido de
ejecución de las operaciones.
Impresora.
Se utiliza para generar la salida de los
programas en papel en ocasiones en lugar del símbolo de entrada/salida.
Comentarios.
Se utiliza para añadir comentarios
clasificadores a otros símbolos del diagrama de flujo. Se puede dibujar a
cualquier lado del símbolo.
Estructura repetitiva.
Permite la ejecución de un ciclo de
acciones dos o más veces.
2.4.2 Reglas para elaborar un diagrama de flujo.
Todos los flujos tienen un principio y un
final.
Las líneas de conexión de un flujo deben
de ser siempre rectas verticales y horizontales.
Las líneas que enlazan los símbolos entre
si deben estar todas conectadas y cada línea debe entrar a un bloque
.
La visualización de recorrido del flujo
grama debe de ser desde arriba hacia abajo.
Realizar un gráfico claro equilibrado
procurando que el flujo que el flujo central quede en la parte central de la
página.
Evitar la utilización de la terminología
especifica de un lenguaje de programación.
Indicar con comentarios margen del flujo
grama las variables utilizadas.
Al comienzo del diagrama de flujo
deben dejarse uno o dos bloques de procesos libres.
En las operaciones lógicas preferir la
lógica positiva que la negatividad.
Cada bloque puede tener diferentes
entradas pero su salida es única a excepción de la estructura condicional o de
decisión.
Realizar todas las notaciones o
comentarios al final del flujo grama.
Utilizar correctamente los conectores de
página o de programas.
2.5 Codificación
y Edición del Programa.
La codificación consiste en traducir el
programa de flujo a instrucciones de un lenguaje de programación
específico, es decir, la elaboración del programa. La edición consiste en
introducir el programa a la computadora por medio de editor de texto o el
editor de texto o el editor de texto de un lenguaje de programación.
2.6 Prueba y depuración.
Una vez que se ha introducido el programa
a la computadora debe probarse continuamente ejecutando el programa hasta
concluir con los con los resultados deseados y que no tengan errores
Para ello se deben preparar datos de
prueba en papel así como su solución para compararlo con los resultados
que obtengan la computadora.
2.7 Documentación del problema.
Son todos los comentarios, referencias
desde que se dio el problema hasta que se encontró la solución.
a) documentación interna, es el
encabezado, descripción, declaración del problema, son todos los comentarios
que puedan llegar a servir dentro del código fuente.
b) documentación externa, son los manuales
que se hacen para una mejor ejecución del programa, ahí se explicara cómo usar
el programa.
PSeInt
Es
una herramienta para asistir a un estudiante en sus primeros pasos en
programación. Mediante un simple e intuitivo pseudolenguaje en español
(complementado con un editor de diagramas de flujo), le permite centrar su
atención en los conceptos fundamentales de la algoritmia computacional,
minimizando las dificultades propias de un lenguaje y proporcionando un entorno
de trabajo con numerosas ayudas y recursos didácticos.
PseInt
(Pseudo Intérprete) es un Entorno de Desarrollo Integrado (IDE, por sus siglas
en inglés) para PseudoCódigo, un lenguaje de programación imperativa simple y
en castellano.
Es decir, PseInt es un editor e intérprete de programas escritos en PseudoCódigo. Su interfaz gráfica permite crear, almacenar, ejecutar y corregir fácilmente programas en PseudoCódigo.
La sencillez del lenguaje PseudoCódigo lo hacen ideal para la enseñanza de la programación. Permite escribir programas con instrucciones condicionales (Si-Entonces-Sino, Segun) y ciclos (Mientras, Hasta Que, Para), y también usar valores numéricos (números decimales), lógicos, caracteres y arreglos. También provee funciones de entrada/salida y algunas funciones matemáticas.
Es decir, PseInt es un editor e intérprete de programas escritos en PseudoCódigo. Su interfaz gráfica permite crear, almacenar, ejecutar y corregir fácilmente programas en PseudoCódigo.
La sencillez del lenguaje PseudoCódigo lo hacen ideal para la enseñanza de la programación. Permite escribir programas con instrucciones condicionales (Si-Entonces-Sino, Segun) y ciclos (Mientras, Hasta Que, Para), y también usar valores numéricos (números decimales), lógicos, caracteres y arreglos. También provee funciones de entrada/salida y algunas funciones matemáticas.
lunes, 15 de junio de 2015
UNIDAD #3: Estructuras Lógicas Fundamentales y Extendidas.
Tema 3.1: Estructuras de Control.
INTRODUCCIÓN:
Hemos estudiado en los
contenidos anteriores los elementos fundamentales que nos permitirán avanzar en
el mundo de la programación, con estos contenidos en mente llegamos a los
fundamentos de la programación: Las estructuras de control fundamentales y
extendidas de la programación. Indistintamente del lenguaje que se utilice las
estructuras de control seguirán acompañándoles en su estructuras de control es
vital en su formación como programador. Iniciamos conociendo las
características que debe cumplir un
programa. Las estructuras de control principales permiten desarrollar
actividades básicas de programación, estas estructuras son tradicionalmente
conocidas como: Secuencial, Decisión, Repetitiva o Hacer Mientras. Para
proporcionar otras estructuras complementarias estudiamos las extendidas: Hacer
Hasta Que, Hacer Desde Hasta Incremento, Seleccionador Caso. Por ultimo
abordamos la temática de las Estructuras de datos.
CARACTERÍSTICAS DE UN PROGRAMA.
Un programa se define como
propio si se cumple con las siguientes características:
Posee un solo punto de
entrada y otro de salida para el control del programa.
Existen caminos desde la
entra hasta la salida que se pueden seguir y que pasan por todas partes del
programa.
Todas las instrucciones son ejecutables y no existen lazos o bucles infinitos.
Por lo tanto un programa se
puede escribir aplicando las estructuras fundamentales de programación son:
Estructuras de Control,Estructuras Extendidas,Estructura de Datos.
ESTRUCTURA DE CONTROL
Son construcciones mediante
las cuales se escribe la lógica de los programas, son empleadas y definidas de
manera ordenada y sistemática para dirigir el flujo de acciones que el
procesador efectuara sobre los datos que se manejan en un programa.
Entre las Estructuras de Control se encuentran:
Entre las Estructuras de Control se encuentran:
Estructuras de Secuenciación o Secuencial,Estructuras de Decisión o Condicional,
Estructuras de
Hacer-Mientras.
ESTRUCTURA DE SECUENCIACION O SECUENCIAL.
Es aquella en que una acción
sigue a otra en secuencia lógica y ordenada.
La acción 2 se ejecute
después de acción 1 y ninguna acción puede ejecutarse entre ellas. Las acción 3
sigue a la acción 2
Y así sucesivamente.
ESTRUCTURA CONDICIONAL O DE DECISION
Esta estructura lógica,
permite la toma de decisiones en un programa, es decir, que las soluciones a
este tipo de problemas son una serie de acciones en las que la ejecución de
algunas dependerá de que se cumplan una o varias condiciones.
Cuando el programador desea
especificar 2 o más caminos alternativos en un programa se deben utilizar una
estructura de decisión, que evalué una condición conteniendo una sola salida.
¿Qué es Condición? Es aquella que se establece por medio de una expresión lógica que puede ser simple o compuesta. Por lo tanto solo puede tomar dos valores: falso o verdadero.
CONDICIONES SIMPLES
Una condición simple se
identifica porque está constituida únicamente por una condición A > B
utilizando los operadores relacionales.
Ejemplos:
A>B D=A G>=T
B<C R< >W F<=H
CONDICIONES COMPUESTAS
Una condición compuesta, se
identifica porque para solucionarla se necesita establecer más de una condición
utilizando operadores lógicos relacionales, aritméticos y de asociación.
Ejemplos:
(P<=10) AND (P>=1)
[8=(2+6)-3^P] AND
[4=(5*3)-14]
ESTRUCTURA HACER MIENTRAS
Es la más importante desde
el punto de vista de la programación porque permite la ejecución de un conjunto
de instrucciones cuantas veces sea necesario.
También se le llama
estructura repetitiva a aquellas operaciones en cuya solución es necesario
utilizar un mismo conjunto de acciones que pueden ejecutarse más de una vez.
Para solucionar problemas repetitivos recurriremos al uso de ciclos, que nos
evitaran escribir muchas veces un conjunto de acciones.
ELEMENTOS QUE CONSTITUYEN LA ESTRUCTURA REPETITIVA
Ciclo: es la ejecución de un
mismo conjunto de acciones de dos o más veces.
Proceso: conjunto de acciones a lo que se les asigna un nombre, es decir, la operación a realizar.
Cuerpo de Ciclo: se considera una parte importante del ciclo en donde se ejecutara un proceso de dos o más veces.
Estructura Cíclica: conjunto
de acciones que permiten que el cuerpo del ciclo se ejecute dos o más veces.
La Iteración: se define como cada una de las ejecuciones del cuerpo de ciclo.
LA ESTRUCTURA HACER MIENTRAS FUNCIONA DE LA SIGUIENTE MANERA:
Evalúa la condición.
Si la condición es cierta
entonces se ejecutara las instrucciones mientras y se vuelve a ejecutar al paso
1; sino se ejecutan las instrucciones siguientes en el flujo normal del
algoritmo.
CLASIFICACION DE LOS CICLOS:
Ciclos con un número
determinado de iteracciones.
Ciclos con un número
indeterminado de iteracciones.
CICLOS CON UN NUMERO DETERMINADO DE ITERACCIONES
Son aquellos en que el
número de iteraciones es determinable antes de ejecutarse el ciclo, este número
de iteraciones pueden obtenerse de la definición del problema, o bien mediante
una entrada de datos cuando el problema indique que un conjunto de acciones se
debe de ejecutar N ocurrencias.
CICLOS CON UN NÚMERO DE INDETERMINADO DE ITERACIONES
Son aquellos en donde el
número de iteraciones permanece indeterminado durante la ejecución del ciclo y
el proceso repetitivo termina hasta que el usuario lo indique.
En este tipo de ciclos el
usuario decide dentro del ciclo cuando terminar con el proceso repetitivo sin
importar cuantas iteraciones se hayan efectuado a diferencia de los ciclos
anteriores, en donde el número de iteraciones está determinado desde el
principio. También se le llama BANDERA.
Antes de iniciar la evaluación de la estructura hacer mientras es necesario inicializar las variables a utilizar con el propósito que estas pueden ser identificadas en el programa.
TERMINSO RELACIONADOS CON ESTA ESTRUCTURA:
*Contador: variable que se
utiliza para llevar la cuenta de las vueltas que ejecuta la estructura del
ciclo.
*Acumulador: mantiene los resultados parciales de las operaciones, guardando el valor que obtiene en cada vuelta del ciclo en na variable.
CONCLUSIONES DE LA APLICACIÓN DE LA ESTRUCTURAS HACER MIENTRAS.
No es posible salir de la
estructura hacer mientras por otra ruta que no sea la que determina la
evaluación de la condición.
Puede darse el caso en que
la condición llegue a ser falsa en este caso si no pudiéremos salirnos de la
estructura tendríamos que aplicar banderas para salirse.
Es necesario inicializar
antes de entrar a la estructura, todas las variables que intervienen en la
condición con el fin que esta pueda ser evaluada por la computadora.
Tema
3.2 Estructuras Lógicas Extendidas.
Con el objeto de
proporcionarles a los programadores otras que faciliten las actividades de
programar se agregaran las siguientes:
Hacer – desde – hasta-
incremento
Hacer- hasta- que
Hacer caso- seleccionar caso
Estas estructuras
representan situaciones de control del flujo de ejecución de cualquier
programa, que no lo hacen las estructuras de control.
ESTRUCTURA
HACER-DESDE-HASTA-INCREMENTO
A esta estructura se le
considera una de las más útiles en la programación por ello la proveen casi
todos los lenguajes de programación.
ESTRUCTURA HACER-HASTA-QUE
Esta estructura repite la
ejecución de un conjunto de instrucciones hasta que tome el valor de cierto. La
condición se ubica al final de ciclo; el conjunto de acciones se repetirán
hasta que cumpla la condición si no cumple sigue interactuando.
ESTRUCTURA HACER CASO O SELECCIONAR CASO.
Permite asociar un conjunto
de condiciones a un conjunto de acciones que se excluyen mutuamente.
La estructura se conoce como
case y permite una deviación del flujo de control hacia múltiples procesos en
función del resultado de la evaluación de una expresión o indicador. Es decir;
que permite seleccionar las instrucciones que deben ser ejecutadas dependiendo
del valor de una expresión aritmética. Exp = opción.
Tema 3.3 Estructuras de Datos.
Una estructura de datos es
una forma de organizar un conjunto de datos elementos con el objetivo de
facilitar su manipulación. Un dato elemental es la mínima información que se
tiene en un sistema. Una estructura de datos define la organización e
interrelación de estos y un conjunto de operaciones que se pueden realizar
sobre ellos. Las operaciones básicas son:
Alta, adicionar un nuevo valor a la estructura.
Baja, borrar un valor de la
estructura.
Búsqueda, encontrar un
determinado valor en la estructura para realizar una operación con este valor en forma secuencial o binario (siempre y cuando los datos estén ordenados).
Las estructuras de datos más comunes son:
Arreglos (Matrices),Colas,Pilas o Listas Enlazados.
Hablaremos un poco sobre
cada una de ellas a continuación.
Arreglos:
Un arreglo es un conjunto
finito ordenado de elementos homogéneos, la propiedad de ordenación significa
que es posible identificar el primer, segundo, tercero… y el enésimo elemento
del arreglo, un arreglo, un arreglo puede ser un conjunto de elementos de tipo
cadena en tanto que potro puede ser tipo entero.
Los arreglos son una
herramienta maravillosa, permite asociar un solo nombre de variable a una
colección completa de datos puede mover el arreglo completo en menoría,
copiarlo y además solo haciendo referencia a un solo nombre de variable.
Arreglo Bidimensionales
Un arreglo bidimensional se
puede considerar como un vector de vectores. Es decir un conjunto de elementos
todos del mismo tipo, en el orden de los componentes es significativo y en el
que se necesita especificar dos subíndices para poder identificar cada elemento
del arreglo: una forma importante de representar datos en un array
bidimensional puede verse de forma lógica como una tabla de filas y columnas.
Arreglos Multidimensionales.
Existen grupos de datos que
se representan mejor en forma de tabla o matriz cada dos o más subíndices a
esos les llamamos arreglos multidimensionales se les llama así porque a
diferencia de un arreglo bidimensional estos constan de dos o más dimensiones.
Colas:
En las colas el elemento que
entro en primer lugar también es el primero en salir por ello se conocen como
listas FIFO (First in – First out).
Así pues la diferencia con
las pilas recibe en el modo de entrada y salida de datos. En las colas las
inserciones se realizan al final de la lista no al principio por ello las colas
se usan para almacenar datos que necesiten ser procesados según el orden de
llegada.
En la información muchas
aplicaciones para las colas (colas de aplicación) etc. Por ejemplo un sistema
de tiempo compartido suele tener un proceso central y una serie de periféricos
compartido: discos, impresoras, etc.
Los recursos se comparten
con diferentes usuarios y se utiliza una cola para almacenar el programa por
los diferentes usuarios que esperan su torno de ejecución. El procesador
atiende por riguroso orden de llamado de usuario.
Pilas:
Una pila es un tipo de lista
lineal en la que la inserción y borrada de nuevos elementos solo se pueden
realizar por un extremo que se denomina tope o cima.
La pila es una estructura
con numerosas analogías en la vida real, una pila de platos, una pila de
documentos, una pila de monedas. Dado que la operación de insertar y eliminar
se realizó por un solo extremo (superior) los elementos solo pueden eliminarse
en un orden inverso al que se inserta en la pila.
El último elemento que se
pone en la pila es el primero que se puede sacar; por ello a esta lista se les
conoce como LIFO (Last In – first Out).
Listas Enlazadas:
Se pueden almacenar los
elementos de una lista lineal en posiciones que no sean continuas o adyacentes
una lista enlazadas es un conjunto de elementos en la que cada elemento
contiene la posición o dirección del siguiente elemento en la lista debe tener
al menos dos campos. Un campo que tiene el valor del elemento y un campo que
contiene la dirección del siguiente elemento es decir su posición enlace o
encadenamiento a diferencia de las pilas las listas enlazadas mantienen un
orden dentro de ellas. Las listas requieren un campo que será la clave por la
que serán ordenadas.
CARACTERISTICAS
La lista debe estar
ordenada.
A diferencia de las pilas y
colas se pueden extraer e insertar elementos en cualquier parte de la lista.
Suscribirse a:
Comentarios (Atom)









