Download - Programacion Estructurada
Sistema de símbolos y reglas que permiten la construcción de programas con los que la computadora puede operar, así como resolver problemas de manera eficaz.
Adriana Lizette Ramírez Franco
Lenguaje Máquina. o Son aquellos cuyas instrucciones son
directamente entendibles por la computadora y no necesitan traducción posterior.
o Las instrucciones se expresan en términos de la unidad de memoria más pequeña, el bit (dígito binario 0 ó 1).
Adriana Lizette Ramírez Franco
Lenguaje de Bajo Nivel (Ensamblador)o En este lenguaje las instrucciones se escriben
en códigos alfabéticos conocidos como nemotécnicos para las operaciones y direcciones simbólicas.
Adriana Lizette Ramírez Franco
Lenguajes de Alto Nivel.o Son aquellos en que las instrucciones o
sentencias a la computadora son escritas con palabras similares a los lenguajes humanos, lo que facilita la escritura y comprensión del programa.
Adriana Lizette Ramírez Franco
Se deriva de la traducción al latín de la palabra árabe alkhowarizmi, nombre de un matemático y astrónomo árabe que escribió un tratado sobre manipulación de números y ecuaciones en el siglo IX.
La solución a cualquier problema de cómputo involucra la ejecución de una serie de acciones en orden específico, en términos de:Las acciones a ejecutarse.El orden el cual las acciones se ejecutan.
Adriana Lizette Ramírez Franco
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.
Adriana Lizette Ramírez Franco
1. Definición del problema. Está dada por el enunciado del problema, el cual requiere una definición clara y precisa.
2. Análisis del problema. Una vez que se ha comprendido lo que se desea que la computadora haga, es necesario definir:
a) Datos de entrada.b) Información que se desea producir (salida).c) Métodos y fórmulas que se necesitan para
procesar los datos.
Adriana Lizette Ramírez Franco
3. Diseño del algoritmo. Las características de un buen algoritmo son:
Debe tener un inicio y un fin. Debe estar bien definido, no debe permitir
dobles interpretaciones. Debe ser general, soportar la mayoría de las
variantes que se puedan presentar en el problema.
Debe ser finito en tamaño y tiempo de ejecución.
Adriana Lizette Ramírez Franco
4. Codificación. Es la operación de escribir la solución del problema en una serie de instrucciones detalladas, en un código reconocible por la computadora (lenguaje de alto nivel), a esto se le conoce como código fuente.
5. Prueba y Depuración. 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.)
Adriana Lizette Ramírez Franco
6. Documentación. Es la guía o comunicación escrita en varias formas, ya sean enunciados, procedimientos, dibujos o diagramas.La documentación sirve para ayudar a comprender o usar un programa o para facilitar futuras modificaciones.
Adriana Lizette Ramírez Franco
7. Mantenimiento. Se lleva acabo después de terminado el programa, cuando se detecta que es necesario hacer algún cambio, ajuste o complementación al programa para que siga trabajando de manera correcta.Todos los programas tienen actualizaciones, por lo que surgen versiones diferentes.
Adriana Lizette Ramírez Franco
Representan objetos de un programa (constantes, variables, funciones, etc.).
Un identificador es una secuencia de caracteres que pueden ser de cualquier longitud.
Cada lenguaje de programación tiene sus propias características de tamaño.
Adriana Lizette Ramírez Franco
Debe comenzar con una letra, mayúsculas o minúsculas, y no puede contener espacios en blanco.
Letras, dígitos y caracteres de subrayado están permitidos después del primer carácter.
No se puede utilizar una palabra reservada como identificador, sin embargo, los identificador estándar se pueden redefinir.
Adriana Lizette Ramírez Franco
Los diferentes objetos de información con los que un programa trabaja se conocen colectivamente como datos.
Todos los datos tienen un tipo asociado con ellos, los tipos de datos son los valores que una variable puede tomar.
La asignación de tipos a los datos tiene dos objetivos principales:
1. Detectar errores de operaciones en programas.
2. Determinar como ejecutar las operaciones.Adriana Lizette Ramírez Franco
Las variables son objetos del programa cuyo valor puede cambiar en tiempo de ejecución.
Todas las variables deben ser declaradas Todas las variables deben ser declaradas antes de usarlas.antes de usarlas.
Cuando una variable se declara se reserva espacio en memoria.
Adriana Lizette Ramírez Franco
Formatotipo_dato variable(s)
Ejemploentero i, j, k
real numcaracter x
caracter nom[25]
Adriana Lizette Ramírez Franco
Formatotipo_dato variablevalor
Ejemploentero i0
real num 3.8caracter x ’d’
caracter nom[] “Hola mundo”
Adriana Lizette Ramírez Franco
Identificadores del programa cuyo valor no cambia en tiempo de ejecución.
Valores fijos que no pueden ser alterados por el usuario.
Adriana Lizette Ramírez Franco
Formatoconstante IDconstantevalor
Ejemploconstante MAX100constante PI 3.14constante CAR ’d’
constante NOM “Hola mundo”
Adriana Lizette Ramírez Franco
Pueden ser utilizados con tipos enteros o reales.
Si ambos son enteros, el resultado es entero.Si uno es real y el otro es entero, el resultado
es real.
Adriana Lizette Ramírez Franco
Por ejemplo: a15, b 3
Adriana Lizette Ramírez Franco
OperadorOperador SignificadSignificadoo
EjemploEjemplo ResultadoResultado
+ Suma a + b 18
- Resta a – b 12
* Multiiplicación
a * b 45
/ División a / b 5
mod Residuo a mod b 0
1. Todas las expresiones entre paréntesis se evalúan primero.
I. Las expresiones con paréntesis anidados se evalúan de adentro hacia afuera.
II. El paréntesis más interno se evalúa primero.2. Dentro de una misma expresión, los
operadores se evalúan en el siguiente orden.
Adriana Lizette Ramírez Franco
Operador Orden* , /, mod Primero
+ , - último
3. Los operadores en una misma expresión con igual nivel de prioridad, se evalúan de izquierda a derecha.
Adriana Lizette Ramírez Franco
x - ( A + B mod 2 ) + y * z
_+
mod *
+
Se utilizan para expresar condiciones y describen una relación entre 2 valores.
Adriana Lizette Ramírez Franco
Pseudocódigo Significado Código C> Mayor que >< Menor que <= Igual que ==
>= Mayor o igual que
>=
<= Menor o igual que
<=
<> Diferente que !=
El resultado de una expresión lógica es un valor de tipo booleano: verdadero (1) o falso (0).
Adriana Lizette Ramírez Franco
7.7 < 6.8 F 0
-124 < 0.003 V 1
8 = 8.0 V 1
‘A’ > ‘B’ F 0
‘z’ > ‘h’ V 1
Las expresiones lógicas pueden combinarse para formar expresiones más complejas utilizando los operadores lógicos: y (&&), ó (||), no (!).
Estos se utilizan con constantes lógicas de forma similar al modo en que los operadores aritméticos se utilizan con las constantes numéricas.
Estos operadores trabajan con operandos que son expresiones lógicas.
Adriana Lizette Ramírez Franco
Son combinaciones de constantes, variables, símbolos de operación, paréntesis y nombres de funciones especiales.
Cada expresión toma un valor que se determina tomando los valores de variables y constantes implicadas y la ejecución de las operaciones indicadas.
Según el tipo de datos que se manipulen, una expresión puede ser:Aritmética.Relacional.Lógica.
Adriana Lizette Ramírez Franco
Son palabras que tienen un significado especial para el lenguaje y no se pueden utilizar como identificadores.
Las más utilizadas son:
Adriana Lizette Ramírez Franco
PSEUDOCÓDIGO LENGUAJE C SIGNIFICADOleer scanf Lee un dato en una
variableImprimir printf Imprime en
pantallaLeercad gets Lee una cadena de
caracteresEscribircad puts Imprime una
cadena de caracteres
Raizcuad() sqrt() Realiza la raiz cuadrada
potencia() pow() Eleva un número a una potencia
Inicio { Inicio de función o bloque
Fin } Fin de función o bloque
Adriana Lizette Ramírez Franco
Adriana Lizette Ramírez Franco
PSEUDOCÓDIGO LENGUAJE C SIGNIFICADOsi if Estructura
selectivaSino else Parte falsa de la
estructura selectiva
Según_sea switch Estructura selectiva múltiple
Otro_caso default Ninguna opción de la selectiva
múltipleCaso case Opción de la
selectiva múltipleDesde for Estructura
repetitivaMientras while Estructura
repetitivahacer do Estructura
repetitiva
Adriana Lizette Ramírez Franco
PSEUDOCÓDIGO LENGUAJE C SIGNIFICADO
Entero int Tipo de dato entero
Real float Tipo de dato real
caracter char Tipo de dato carácter
Pueden aparecer en cualquier parte del programa, mientras estén situados entre los delimitadores /*comentario*/.
Son útiles para identificar los elementos principales de un programa o para explicar la lógica de estos.
Adriana Lizette Ramírez Franco
Un diagrama de flujo es la representación gráfica de un algoritmo.
Es la representación detallada en forma gráfica de cómo deben realizarse los pasos en la computadora para producir resultados.
Esto se da cuando varios símbolos se relacionan entre sí mediante líneas que indican el orden en que se deben ejecutar los procesos.
Adriana Lizette Ramírez Franco
Símbolo DescripciónIndica el inicio y fin del
diagrama de flujo.
Indica la entrada y salida de datos.
Indica la realización de una comparación de valores
(condición)Símbolo de proceso, nos
indica la asignación de un valor en memoria y/o
ejecución de una operación aritmética.
Adriana Lizette Ramírez Franco
Adriana Lizette Ramírez Franco
Símbolo DescripciónLíneas de flujo de dirección. Indican la secuencia en que se realizan las operaciones.Repetitiva desde, numero de iteraciones o repeticiones.
Impresión.
Diagrama de flujo
Todo diagrama debe tener un inicio y un fin.No se especifica la declaración de variables.No se agregan las líneas de impresión de
etiquetas.Se deben utilizar líneas de flujo horizontal y/o
verticales.Se debe evitar el cruce de líneas utilizando
conectores.
Adriana Lizette Ramírez Franco
Se deben usar conectores solo cuando sea necesario.
No deben quedar líneas de flujo sin conectar.Los diagramas se harán de tal forma que se
deben leer de arriba – abajo y de izquierda – derecha.
Evitar terminología de un lenguaje de programación.
Adriana Lizette Ramírez Franco
Es una mezcla de lenguaje de programación y español (o inglés), que se emplea dentro de la programación estructurada, para realizar el diseño de un algoritmo.
Es la representación narrativa de los pasos que debe seguir un algoritmo para dar solución a un problema determinado.
Adriana Lizette Ramírez Franco
Es el conjunto de técnicas para desarrollar programas fáciles de escribir, verificar, leer (por el usuario) y mantener (modificar).
La programación estructurada incluye:Estructuras de datosEstructuras de controlDiseño descendente (Top-Down)Programación Modular
Adriana Lizette Ramírez Franco
Son una colección de datos cuya organización se caracteriza por las funciones de acceso que se usan para almacenar y acceder a elementos individuales de datos.
Adriana Lizette Ramírez Franco
1. Pueden descomponerse en los elementos que las forman.
2. La manera que se colocan los elementos dentro de la estructura afectará la forma en que se realicen los accesos a cada elemento.
3. La colocación de los elementos y la manera en que se accede a ellos puede ser encapsulada.
Adriana Lizette Ramírez Franco
Controlan como se ejecutan los programas, es decir, el orden de las instrucciones.
Tienen un solo punto de entrada y de salida.Existen 3 tipos de estructuras de control:
1. Secuencial2. Selectiva3. Repetitiva
Adriana Lizette Ramírez Franco
Declaración de constantesPrincipal inicio declaración de variables locales cuerpo del programa (estructuras de control) fin
Adriana Lizette Ramírez Franco
Adriana Lizette Ramírez Franco
Principal inicio inst1 inst2 . instN fin
Diagrama de Flujo
inst 1
inst 2
inst n
Todo pseudocódigo inicia con la palabra reservada Principal para especificar la función denominada main() en lenguaje C.
Toda función debe contener un inicio y un fin que delimita las instrucciones del programa.
Adriana Lizette Ramírez Franco
Adriana Lizette Ramírez Franco
Principal inicio entero n1, n2, suma leer n1 leer n2 suman1+n2 imprimir “La suma
es”, suma fin
Diagrama de flujo
n1
n2
suma ← n1+ n2
suma
DATOS DE ENTRADA: n1, n2DATOS DE SALIDA: sumaFÓRMULA: suma n1 + n2
El nombre de las variables, se recomienda que haga referencia a lo solicitado o calculado.
Adriana Lizette Ramírez Franco
Adriana Lizette Ramírez Franco
constante PI 3.14
Principal inicio real radio, area, volumen leer radio areaPI *radio * radio volumen4/3*PI*potencia(radio,3) imprimir “El radio es”, radio imprimir “El volumen es”,
volumen fin
Diagrama
radio
area= PI * radio * radio *RADIO
área
Volumen = 4/3 * PI * radio * radio *radio
volumen
Es aquella en que el programa sólo pasa por una o más instrucciones según una condición u opción.
Adriana Lizette Ramírez Franco
Adriana Lizette Ramírez Franco
si(condición) instrucción
si(condición) inicio inst1 inst2 instN fin
Diagrama
Inst 1Inst 2Inst 3
Cond
f v
Adriana Lizette Ramírez Franco
si(condición) inicio inst1 inst2 instN finsino inicio inst1 inst2 inst3 fin
Diagrama
Inst 1Inst 2
Inst 3Inst 4
Cond
vf
Adriana Lizette Ramírez Franco
Principal inicio real cal leer cal si(cal>=60) imprimir
“Aprobado” fin
Diagrama
aprobada
cal>=60
cal
vf
Adriana Lizette Ramírez Franco
Principal inicio real cal leer cal si(cal>=60) imprimir “Aprobado” sino imprimir
“Reprobado” fin
Diagrama
Cal>=60
reprobada
aprobada
cal
Cuando existen más de 2 opciones se puede utilizar la estructura selectiva múltiple, solo que no acepta condiciones, sólo números enteros o caracteres para entrar a la opción.
NO DEPENDE DE UNA CONDICIÓN, SINO DE UN VALOR ESPECÍFICO.
Adriana Lizette Ramírez Franco
Adriana Lizette Ramírez Franco
segun_sea (expresión) inicio caso 1 : inst1 salir caso 2 : inst2 salir - - caso n : inst n salir
caso contrario: inst 4
fin
Diagrama de Flujo
opción
Inst 1 Inst 2 Inst n Inst 4
Adriana Lizette Ramírez Franco
Principal inicio entero num leer num según_sea(num) inicio caso 1: imprimir “lunes” salir caso 2: imprimir “Martes” salir - - caso 7: imprimir “Domingo” salir finfin
Diagrama
num
num
lunes
martes
miércoles
jueves
viernes
sábado
domingo
El día no existe en la semana
Se basa en una expresión lógica cuyo resultado debe ser V ó F, y se repite el bloque de instrucciones si ésta se cumple.
En esta estructura no se conoce necesariamente el número de veces que se entrará al ciclo.
Adriana Lizette Ramírez Franco
Adriana Lizette Ramírez Franco
mientras(condición) inicio inst 1 inst 2 - - inst N fin
Código
condición
Inst 1
-
-
Inst n
vf
La condición se evalúa antes del bloque de instrucciones. Si la condición es verdadera se ejecuta el bloque de instrucciones y si es falsa el control pasa a la instrucción siguiente del bloque.
Si existe una sola instrucción no necesita las palabras reservadas inicio y fin.
Si existe más de una instrucción se necesitan las palabras reservadas inicio y fin para delimitar el bloque de instrucciones.
Adriana Lizette Ramírez Franco
Adriana Lizette Ramírez Franco
Principal inicio entero m m ←7 mientras ( m < 150 ) inicio imprimir m m ← m + 7 fin fin
Diagrama de flujo
m < 150
Imprimir m
m ← m + 7
v
f
m ←7