DEFINICIÓN DEL PROBLEMAES EL ENUNCIADO DEL PROBLEMA EL CUAL DEBE SER CLARO Y PRECISO.ES NECESARIO SABER LO QUE SE DESEA REALIZAR, MIENTRAS NO SE CONOZCA DEL TODO NO SE PUEDE CONTINUAR AL SIGUIENTE PASO.
ANÁLISIS DEL PROBLEMAYA CONOCIENDO LO QUE SE DESEA OBTENER AQUÍ DEFINIMOS LOS DATOS DE ENTRADA, LA INFORMACIÓN DE SALIDA, MÉTODOS Y OPERACIONES QUE SE NECESITEN PARA PROCESAR LOS DATOS.
DISEÑO DEL ALGORITMOAQUÍ DISEÑAMOS UNA SERIE DE PASOS ORGANIZADOS QUE NOS DESCRIBEN EL PROCESO QUE SE DEBE SEGUIR PARA DARLE SOLUCIÓN AL PROBLEMA. LAS CARACTERÍSTICAS DE UN BUEN ALGORITMO SON:TENER UN PUNTO DE INICIO, DEBE SER DEFINIDO, DEBE SER GENERAL Y DEBE SER FINITO.
Metodología para la Solución de Problemas
CODIFICACIÓNCONSISTE EN ESCRIBIR LA SOLUCIÓN DEL PROBLEMA EN UNA SERIE DE INSTRUCCIONES DETALLADAS EN UN CÓDIGO RECONOCIBLE POR LA COMPUTADORA; ES DECIR A UN LENGUAJE DE PROGRAMACIÓN YA SEA DE BAJO O ALTO NIVEL.
PRUEBA Y DEPURACIÓNES EL PROCESO DE IDENTIFICAR LOS ERRORES QUE SE PRESENTEN DURANTE LA EJECUCIÓN DEL PROGRAMA, Y LA DEPURACIÓN CONSISTE EN ELIMINAR LO ERRORES ENCONTRADOS DURAN TE LA PRUEBA , PARA DAR PASO A UNA SOLUCIÓN SIN ERRORES.
DOCUMENTACIÓNES LA GUÍA O COMUNICACIÓN ESCRITA QUE SIRVE COMO AYUDA PARA USAR UN PROGRAMA , O FACILITAR FUTURAS MODIFICACIONES.
MANTENIMIENTOSE LLEVA A CABO DESPUÉS DE TERMINADO EL PROGRAMA, CUANDO SE HA ESTADO TRABAJANDO UN TIEMPO Y ES NECESARIO REALIZARLE UN CAMBIO O AJUSTE PARA QUE SIGA TRABAJANDO DE MANERA CORRECTA.
Lenguaje de Programación Y su Clasificación
SON UN CONJUNTO DE SIMBOLOS CARACTERES Y REGLAS,QUE LE PERMITE A
LAS PERSONAS COMUNICARSE CON LAS COMPUTADORAS. SE CLASIFICAN EN:
LENGUAJE MAQUINA: 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.
LENGUAJE DE BAJO NIVEL: 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 ingles), lo que facilita la escritura y comprensión del programa.
Que es un ProgramaEs el conjunto de instrucciones escritas de algún lenguaje de
programacióny que ejecutadas secuencialmente resuelven un problema especifico.
Que son AlgoritmosEs una serie de pasos organizados que describe el proceso que se debeseguir, para dar solución a un problema especifico.
TIPOS DE ALGORITMOS:
Cualitativos: Son aquellos en los que se describen los pasos utilizandopalabras.Cuantitativos: Son aquellos en los que se utilizan cálculos numéricos
paradefinir los pasos del proceso.
Expresiones: Son combinaciones de constantes, variables,
Símbolos de operación, paréntesis y nombres de funciones especiales. Por
ejemplo: a+(b + 3)/c.
Operadores y OperandosOperadores: Son elementos que relacionan de forma diferente, losvalores de una o mas variables y/o constantes. Es decir, los operadoresnos permiten manipular valores.AritméticosTipos de Operadores RelaciónalesLógicosOperadores Aritméticos: Los operadores aritméticos permiten la
realizaciónde operaciones matemáticas con los valores (variables y constantes).Los operadores aritméticos pueden ser utilizados con tipos de datosenteros o reales. Si ambos son enteros, el resultado es entero; si alguno
deellos es real, el resultado es real. ( (+) suma, (-) resta, (*) multiplicacion,(/) división, Mod Modulo.
Prioridad de los Operadores AritméticosTodas las expresiones entre paréntesis se evalúan primero. Lasexpresiones con paréntesis anidados se evalúan de dentro a fuera, elparéntesis mas interno se evalúa primero.Dentro de una misma expresión los operadores se evalúan en el
siguienteorden.1.- ^ Exponenciación2.- *, /, mod Multiplicación, división, modulo.3.- +, - Suma y resta.Operadores Relaciónales: Se utilizan para establecer una relación entre dos valores.Compara estos valores entre si y esta comparación produce un
resultadode certeza o falsedad (verdadero o falso).Los operadores relaciónales comparan valores del mismo tipo
(numéricos ocadenas)Tienen el mismo nivel de prioridad en su evaluación.Los operadores relaciónales tiene menor prioridad que los aritméticos.
Operadores Relaciónales> Mayor que< Menor que> = Mayor o igual que< = Menor o igual que< > Diferente= IgualOperadores Lógicos: Estos operadores se utilizan para establecer relaciones entre
valoreslógicos. Estos valores pueden ser resultado de una expresión
relacional.( And Y ) , ( Or O ) , ( Not Negación ) .
Prioridad de los Operadores LógicosNotAndOr
Estructuras SecuencialesLa estructura secuencial es aquella en la que una acción (instrucción) sigue a
otraen secuencia. Las tareas se suceden de tal modo que la salida de una es la
entradade la siguiente y así sucesivamente hasta el fin del proceso. Una estructurasecuencial se representa de la siguiente forma:
Accion1
Accion2 . .
AccionN
Estructuras Secuenciales Inicio y Fin: Las palabras Inicio y Fin representan el inicio y final de un algoritmo. Entre ellas van
escritaslas demás estructuras algorítmicas.INICIO Accion1 Accion2 . AccionNFIN
Estructura Secuencial LecturaLa lectura consiste en recibir desde un dispositivo de entrada (p.ej. el teclado) un valor.
El valor leido se asigna a la variable que haya sido mencionada en la estructura. Esta
Operación se representa en pseudocódigo como sigue:
LEA “mensaje”, a
Estructura Secuencial EscrituraLa escritura consiste en mandar a un dispositivo de salida (p.ej. monitor o impresora) un
resultado o mensaje. Este proceso se representa en pseudocódigo como sigue:
ESCRIBA “mensaje”, r
Estructura Secuencial AsignaciónLa asignación representa a los procesos que se realizan y consiste, en el paso de
valores o resultados a una zona de la memoria. Dicha zona será reconocida con el
nombre de la variable que recibe el valor. La asignación se representa con el símbolo
, en su lado izquierdo lleva el nombre de la variable que recibirá el valor asignado y en
el lado derecho trae el valor a asignar. Ejemplos:
edad 17
a b
pago precio * cantidad
Estructuras SelectivasSe utilizan para tomar decisiones lógicas. Mediante la evaluación de
unacondición, éstas estructuras comparan a una variable contra otro(s)valor(es), para que en base al resultado de esta comparación, se siga
uncurso de acción dentro del programa. Estructura Selectiva Simple:A las estructuras selectivas simples se les conoce como “Tomas de
decisión”.Estas estructuras tienen la siguiente forma:
Si <condición> entonces Accion1 Accion2 . AccionN
Fin-Si
Estructura Selectiva DobleLas estructuras selectivas dobles permiten elegir entre dos
opciones oalternativas posibles en función del cumplimiento o no de una
determinadacondición. Se representa de la siguiente forma:
Si <condición> entonces Accion A1 Accion A2 . . Accion AN Sino Accion B1 Accion B2 . .
Accion BN
Fin-Si
Estructura Selectiva MúltipleLas estructuras selectivas múltiples, son tomas de decisión especializadas
que permitencomparar una variable contra distintos posibles resultados, ejecutando para
cada casoUna serie de instrucciones especificas. Las formas más comunes son las
siguientes:
En caso de <expresión> haga: op1: Accion1 op2: Accion2 . opN:AccionN sino:AccionZFin-casos
Según <expresión> haga: op1: Accion1 op2: Accion2 . opN:AccionN sino:AccionZFin-casos
Estructuras RepetitivasSe llaman problemas repetitivos o cíclicos a aquellos en cuya solución es necesario utilizar
unmismo conjunto de acciones que se puedan ejecutar una cantidad especifica de veces.
Estacantidad puede ser fija (previamente determinada por el programador) o puede ser
variable(estar en función de algún dato dentro del programa).Estructura Repetitiva Para o DesdeEsta estructura puede utilizarse cuando el número de iteraciones se conoce antes deEjecutarse el ciclo. Dado que el nº de iteraciones está establecido previamente, no serequiere evaluar ninguna condición para decidir si se sigue repitiendo el bucle o seinterrumpen las repeticiones. El control de iteraciones se hace automáticamente
medianteuna variable que actúa como contador del número de repeticiones.PARA vc = vi a vf, inc HAGA Acción1 Acción2 . Acción NFPARADonde:Vc Variable que controla las iteracionesvi Valor inicialvf Valor finalinc Incremento
Estructura Repetitiva Mientras_que
La Estructura Mientras-que se especifica una condición que se evalúa al comienzo
del bucle y de acuerdo con el resultado de esa evaluación se decide ejecutar o no
las acciones que conforman el bucle. Cuando termina cada iteración la condición
se evalúa de nuevo; la condición debe seguirse cumpliendo para que se sigan
ejecutando las acciones del bucle. Cuando la condición deja de cumplirse,entonces se deja de ejecutar el bucle, es decir, cuando la condición se hace
falsa.
MIENTRAS QUE <condición> HAGA Acción1 Acción2 . . Acción NFMQ
Estructura Repetitiva Hasta_que
Esta estructura repite un grupo de acciones, hasta que la condición se cumple por
primera vez esta estructura permite realizar el proceso cuando menos una vez, ya
que la condición se evalúa al final del proceso. La forma de la estructura Hasta_que es:
REPETIR Acción1 Acción2 . . Acción NHASTA QUE <condición>