UNIDAD 3: Estructuras lógicas fundamentales y extendidas
CARACTERÍSTICAS DE UN PROGRAMA.
Un programa se define como propio si cumple con las siguientes
características:
·
Posee un punto de entrada y otro de salida
para el control del programa.
·
Existen caminos desde la entrada 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 bluces infinitos.
Por lo tanto un programa se puede escribir aplicando las
estructuras fundamentales de programación que son:
·
Estructuras de control
·
Estructuras Extendidas
·
Estructuras de datos.
ESTRUCTURAS 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 del procesador efectuara sobre los datos que maneja en un programa.
Entre las estructuras de control se encuentran:
·
Estructuras de secuenciación o secuencial.
·
Estructuras de decisión o condicional.
·
Estructura de hacer-mientras.
ESTRUCTURA DE SECUENCIACION O SECUENCIAL.
Es aquella en que una acción sigue a otra secuencia
lógica y ordenada.
·
La acción 2 se ejecuta después de la acción 1
y ninguna acción puede ejecutarse entre ellas. La acción 3 sigue a la acción 2.
·
Y así sucesivamente
ESTRUCTURA CONDICIONAL O DE DECISIÓN:
Esta estructura lógica, permite la toma de decisiones en
un programa, es decir, que la soluciones a este tipo de problemas son una serie
de acciones en las que la ejecución de algunas
dependerán de que se cumpla na o barias condiciones.
Cuando el programa desea especificar os o más caminos
alternativo en un programa se debe utilizar una estructura de decisión, que
evalúa una condición obteniendo una sola salida.
¿Qué es una condición?
Es aquella que se establece por medio de una expresión
lógica que puede ser simple o compuesta. Por lo cual puede tomar dos valores falso o verdadero.
Condiciones simples: Está constituida únicamente por una
condición.
Condiciones compuestas: para solucionarla se necesita
establecer más de una condición utilizando operadores lógicos relacionales,
aritméticos y de asociación.
Ejemplo: crear un programa que determine se x número es par o impar.
En Pseint se representa así:Ejemplo: crear un programa que determine se x número es par o impar.
Proceso par_impar
definir n Como Entero;
escribir "Ingrese
numero";
leer n;
Si n mod 2=0 Entonces
escribir n, " es
par";
Sino
escribir n, " es
impar";
FinSi
FinProceso
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 beses sea necesario.
Elementos que contribuyen la estructura repetitiva.
·
Ciclo: es
la ejecución de un miso conjunto de acciones dos o más veces.
·
Proceso:
conjunto
de acciones a la que asigna un nombre, es decir, la operación a realizar.
·
Cuerpo
del ciclo: se considera una parte importante del ciclo en donde se
ejecutara un proceso 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
del ciclo.
La estructura hacer mientras funciona de
la siguiente manera:
·
Evalúa la condición
·
Si la condición es cierta entonces se ejecuta
las instrucciones mientras y se vuelve a ejecutar el paso 1; si no se ejecutan
as instrucciones siguientes en el flujo normal del algoritmo.
Clasificación de los ciclos:
·
Ciclo con un número determinado de
interacciones.
·
Ciclo con un número indeterminado de
interacciones.
Ciclos con un número determinado de interacciones es
indeterminable antes de ejecutarse el ciclo, este número de interacciones puede
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 ejecutar N
ocurrencias.
Ciclos con números determinados de interacciones
Son aquellos en donde números de interacciones 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 termina con el proceso repetitivo sin importar cuantas iteraciones se
hayan efectuado a diferencias de los ciclos anteriores, en donde el número de
iteraciones está determinado desde el principio. También se llama BANDERA.
Antes de iniciar la evaluación de la estructura hacer
mientras es necesario inicializar las briales a utilizar con el propósito que
estas puedan ser identificadas en el programa.
TERMINOS RELACIONADOS CON ESTA ESTRUCTURA.
Contador:
variable
que se utiliza para llevar la cuentas de las vueltas que ejecuta la estructura
del ciclo.
Acumulador: Mantienen los resultados parciales de las operaciones, guardando el valor que obtiene en cada vuelta del ciclo en una variable.
Acumulador: Mantienen los resultados parciales de las operaciones, guardando el valor que obtiene en cada vuelta del ciclo en una variable.
Ejemplo: elaborar un programa que determine la suma, la resta, la multiplicación y la división de dos cantidades.
Proceso numero
definir n1,n2,suma,resta,multiplicacion,divicion
Como Real;
definir x como entero;
x=0;
Mientras x=0 Hacer
Escribir "ingrese la primera cantidad" ;
Leer n1;
Escribir "ingrese la segunda cantidad" ;
Leer n2;
suma=n1+n2;
resta=n1-n2;
multiplicacion=n1*n2;
divicion=n1/n2;
x=1;
FinMientras
Escribir "Total suma " ,suma;
Escribir "Total resta " ,resta;
Escribir "Total multiplicacion ",multiplicacion;
Escribir "Total divicion " ,divicion;
FinProceso
CONCLUSIONES DE LA ESTRUCTURA
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 e caso en que la condición llegue
a ser falsa en este caso si no pudiéramos 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.
Tema3.2
Estructuras lógicas extendidas
Con el objeto de proporcionarles a los programadores
otras estructuras que facilitan las actividades de programar se generan las
siguientes:
·
Hacer-Desde-Hasta-Incremento
·
Hacer-Hasta-Que
·
Hacer caso- Seleccionar caso
Estas estructuras representas 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 y por ellos proveen casi todos los lenguajes de
programación
Ejemplo: crear un programa que sume x cantidad desde 1 hasta 3.
En flujograma se representa así:
Ejemplo: crear un programa que sume x cantidad desde 1 hasta 3.
En flujograma se representa así:
En Pseint se representa así:
Proceso suma
definir n,x,z como
real ;
z=0;
Para x<-1 Hasta
3 Con Paso 1 Hacer
Escribir "ingrese la
cantidad" ;
Leer n;
z=z+n;
FinPara
escribir " El total
de la suma es " ,z;
FinProceso
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 e repitira hsta que cumpla la condición si no
cumple sigue interactuando.
Funciona de la siguiente manera:
·
Se ejecuta las instrucciones hasta que.
·
Se evalúa la condición, si el valor es falso
entonces se repite el paso 1, si no se sale
de la estructura es decir, que ejecuta las siguientes estructuras
normales de un algoritmo.
·
Las instrucciones se ejecutaran al menos una
vez antes de evaluar a condición.
En Pseint se representa así:
Proceso multiplicar
Definir n Como entero;
Definir cn,x,m Como
Real;
x=1;
Escribir
"Ingrese el número que decea multiplicar: ";
leer n;
escribir "cuantas
beses desea multiplicar";
leer m;
Repetir
Escribir n, "X",
x,"=",n*x;
x=x+1;
Hasta Que x>m
FinProceso
ESTRUCTURA HACER CASO O SELECCIONAR CASO
Permite asociar un conjunto de condiciones ha un conjunto
de acciones que escluyen mutuamente
La estructura se conoce como case y permite una división
del flujo de contro hacia múltiplos procesos en función del resultado de la
evaluación de una espresion o indicador. Es decir; que permite seleccionar las
intrucciones que desean ser ejecutadas depediendo del valor de una expresión
aritmética.
Ejemplo : crear un programa que permita elegir una sima o
una resta;
En flujograma se representa así:
En flujograma se representa así:
En Pseint se representa así:
Proceso operacion
definir n1,n2,s,r,x,opc Como
Real;
x=1;
mientras
x=1 hacer
escribir "ingresar el primer valor";
leer n1;
escribir "ingresar el segundo valor";
leer n2;
escribir "operaciones aritmeticas";
escribir "1. suma";
escribir "2. resta";
escribir "seleccione el numero de la operacion que desea
realizar";
leer opc;
Segun opc
Hacer
1:
s=n1+n2;
escribir "Elresultado de la suma es ",s;
2:
r=n1-n2;
escribir "Elresultado de la resta es ",r;
De Otro Modo:
escribir "Opcion incorrecta intente nuevamente ";
FinSegun
escribir " si desea continuar escriba 1 sino otro numero ";
leer x;
limpiar pantalla;
FinMientras
FinProceso
ESTRUCTURA
DE DATOS
Una estructura de datos es una forma de organizar un
conjunto de datos elementales con el objetivo de facilitar su manipulación. Un
dato elemental es la mínima información que se tiene es un sistema. Una estructura
de datos define la organización de un conjunto de operaciones que se puede
realizar sobre ello. Las operaciones básicas son :
·
Alta, adicionar un numero
·
Baja, borrar un valor de la estructura
·
Búsqueda, encontrar un determinado valor en
la estructura para realzar una operación con este valor , en forma secuencial o
binaria (siempre y cuando los datos estén ordenados)
Las estructuras de datos mas comunes son:
- Arreglos
- Cola
- Pilas
- Listas enlazadas
ARREGLOS
Es un conjunto finito ordenado de elementos homogéneos,
la propiedad de ordenación significa que es posible ordenar el primero,
segundo, tercero… y el enésimo elemento
del arreglo, el arreglo puede ser un conjunto de elementos de tipo cadena en
tanto que otro puede ser de tipo entero.
Vista gráfica de un arreglo:
[1]
|
[2]
|
[3]
|
[4]
|
[5]
|
ARREGLOS BIDICIONALES.
Un array binacional se puede
considerar como un vector de vectores. Es decir un conjunto de elementos todos
del mismo tipo, en el cual 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 representas datos en un array
bidimensional puede verse de forma lógica como una tabla de filas y columnas
ARREGLOS MULTIDIMENCIONALES.
Existen datos que se
representan mejor en una tabla o matriz cada dos o más sub índices a esos 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.
El las colas el elemento que
entro en primer lugar también es el primero en salir por ello se conoce como lista
FIFO (First in - First out).
PILAS.
Es un tipo de lista lineal
en la que inserción y borrado de nuevos elementos solo se puede realizar por un
extremo que se denomina tope o cima.
LISTAS ENLAZADAS.
Se deben almacenar los
elementos en una lista lineal en posiciones que no sean contiguas o adyacentes
una lista enlazada es un conjunto de elementos en la que cada elemento contiene
la posición o dirección del siguiente elemento de la lista cada elemento de la
lista debe tener al menos dos campos. Un campo que tiene el valor del elemento
y un campo que tiene la dirección del
siguiente elemento.
Características:
·
La lista debe estar ordenada
·
A diferencia de las pilas y colas se pueden
extraer e insertar elementos en cualquier parte de la lista.
No hay comentarios:
Publicar un comentario