Introduccin a la Programacin Semana 2
Introduccin a la ProgramacinSemana 2
Docente: Boris Gonzlez
Objetivo de la Clase
Lograr que el estudiante comprenda los conceptos de algoritmo, Diagrama de flujo y Pseudocdigo
Lograr que el estudiante realice un algoritmo en Diagrama de Flujo y Pseudocdigo
Contenido de la Clase
Concepto de algoritmo
Caractersticas del Algoritmo
Partes del Algoritmo
Tipos de algoritmos
Lenguaje algortmico
Diagrama de Flujo
Partes del diagrama de flujo
Elaboracin de DDF con programa Pseint
Elaboracin de un programa en Pseudocdigo en PSeint
Concepto de algoritmo
Se denomina algoritmo a un grupo finito de operaciones organizadas de manera lgica y ordenada que permite solucionar un determinado problema.
Se trata de una serie de instrucciones o reglas establecidas que, por medio de una sucesin de pasos, permiten arribar a un resultado o solucin.
Caractersticas del Algoritmo
1.Carcter finito. "Un algoritmo siempre debe terminar despus de un nmero finito de pasos".
2.Precisin. "Cada paso de un algoritmo debe estar precisamente definido; las operaciones a llevar a cabo deben ser especificadas de manera rigurosa y no ambigua para cada caso".
3.Entrada. "Un algoritmo tiene cero o ms entradas: cantidades que le son dadas antes de que el algoritmo comience, o dinmicamente mientras el algoritmo corre. Estas entradas son tomadas de conjuntos especficos de objetos".
4.Salida. "Un algoritmo tiene una o ms salidas: cantidades que tienen una relacin especfica con las entradas".
5.Eficacia. "Tambin se espera que un algoritmo sea eficaz, en el sentido de que todas las operaciones a realizar en un algoritmo deben ser suficientemente bsicas como para que en principio puedan ser hechas de manera exacta y en un tiempo finito por un hombre usando lpiz y papel".
6. Resolucin. El algoritmo deber llegar a un resultado especfico, producir un resultado. Los datos de salida sern los resultados de efectuar las instrucciones.
Partes del Algoritmo
ENTRADA: es donde seescribenlos datos necesarios para darlesolucinal problema
PROCESO: son los pasosnecesariospararesolverel problema ya sea suma, resta,multiplicacin.divisinu otros etc.
SALIDA: son los resultados que se arrojan como la suma de los datos o las variables (A Y B)segnlo que se ha pedido
Tipos de algoritmos
Existen dos tipos y son llamados as por su naturaleza:
Cualitativos:
Son aquellos en los que se describen los pasos utilizando palabras.
Ejemplo: lo que hicimos al comienzo la clase pasada
Cuantitativos:
Son aquellos en los que se utilizan clculos numricos para definir los pasos del proceso
Ejemplo: Se quiere calcular el rea de un rectngulo, se tiene en cuenta la forma que es (A x B) en la cual a y b son dos de los lados.
Lenguaje algortmico
Los algoritmos pueden describirse utilizando diversos lenguajes. Cada uno de estos lenguajes permiten describir los pasos con mayor o menor detalle.
La clasificacin de los lenguajes para algoritmos puede enunciarse de la siguiente manera :
Lenguaje Natural.
Lenguaje de Diagrama de Flujo.
Lenguaje Natural de Programacin.
Lenguaje de Programacin de Algoritmos.
Lenguaje Natural.
Es aqul que describe en espaol, para nuestro caso, los pasos a seguir utilizando un vocabulario cotidiano.
Se le conoce comolenguaje jerga cuando se utilizan trminos especializados de una determinada ciencia, profesin o grupo.
Lenguaje de Diagrama de Flujo.
Es aqul que se vale de diversos smbolos para representar las ideas o acciones a desarrollar. Es til para organizar las acciones o pasos de un algoritmo pero requiere de etapas posteriores para implementarse en un sistema de cmputo.
Lenguaje Natural de Programacin
Son aqullos que estn orientados a la solucin de problemas que se definen de una manera precisa. Generalmente son aplicados para la elaboracin de frmulas o mtodos cientficos.
El lenguaje natural tiene las siguientes caractersticas :
Evita la ambigedad (algo confuso que se puede interpretar de varias maneras).
Son precisos y bien definidos.
Utilizan trminos familiares al sentido comn.
Elimina instrucciones innecesarias.
Lenguaje de Programacin de Algoritmos
Es aqul que se utiliza para introducir en la computadora un algoritmo especfico. Se les conoce tambin comoLenguaje de Programacin.
Lenguaje de Programacin :
Es un conjunto de palabras, smbolos y reglas sintcticas mediante los cuales puede indicarse a la computadora los pasos a seguir para resolver un problema.
Los lenguajes de programacin pueden clasificarse por diversos criterios, siendo el ms comn su nivel de semejanza con el lenguaje natural, y su capacidad de manejo de niveles internos de la mquina.
Los principales tipos de lenguajes utilizados son tres :
Lenguaje Mquina.
00010101
Ventajas del Lenguaje Mquina :
Posibilidad de cargar (transferir un programa a la memoria) sin necesidad de traduccin posterior, lo que supone una velocidad de ejecucin superior a cualquier otro lenguaje de programacin.
Desventajas del Lenguaje Mquina
Dificultad y lentitud en la codificacin.
Poca fiabilidad.
Gran dificultad para verificar y poner a punto los programas.
Los programas solo son ejecutables en el mismo procesador (CPU).
En la actualidad, las desventajas superan a las ventajas, lo que hace prcticamente no recomendables a los lenguajes mquinas.
Lenguaje de bajo Nivel (ensamblador).
Son ms fciles de utilizar que los lenguajes mquina, pero al igual que ellos, dependen de la mquina en particular.
El lenguaje de bajo nivel por excelencia es elensamblador.
Las instrucciones en lenguaje ensamblador son instrucciones conocidas comonemotcnicos.
Por ejemplo, nemotcnicos tpicos de operaciones aritmticas son : en ingls : ADD, SUB, DIV, etc. ; en espaol : SUM, RES, DIV, etc.
Ventajas del lenguaje ensamblador frente al lenguaje mquina.
Mayor facilidad de codificacin y, en general, su velocidad de clculo.
Desventajas del lenguaje ensamblador.
Dependencia total de la mquina lo que impide la transportabilidad de los programas (posibilidad de ejecutar un programa en diferentes mquinas. El lenguaje ensamblador del PC es distinto del lenguaje ensamblador del Apple Machintosh.
La formacin de los programadores es ms compleja que la correspondiente a los programadores de alto nivel, ya que exige no solo las tcnicas de programacin, sino tambin el conocimiento del interior de la mquina.
Los lenguajes ensamblador tienen sus aplicaciones muy reducidas, se centran bsicamente en aplicaciones de tiempo real, control de procesos y de dispositivos electrnicos.
Lenguajes de Alto Nivel.
Estos lenguajes son los ms utilizados por los programadores. Estn diseados para que las personas escriban y entiendan los programas de un modo mucho ms fcil que los lenguajes mquina y ensambladores.
Un programa escrito en lenguaje de alto nivel es independiente de la mquina (las instrucciones no dependen del diseo del hardware o de una computadora en particular), por lo que estos programas son portables o transportables.Los programas escritos en lenguaje de alto nivel pueden ser ejecutados con poca o ninguna modificacin en diferentes tipos de computadoras.
Ventajas de los lenguajes de alto nivel.
El tiempo de formacin de los programadores es relativamente corto comparado con otros lenguajes.
La escritura de programas se basa en reglas sintcticas similares a los lenguajes humanos. Nombres de las instrucciones tales como READ, WRITE, PRINT, OPEN, etc.
Las modificaciones y puestas a punto de los programas son ms fciles.
Reduccin del costo de los programas.
Transportabilidad.
Desventajas de los lenguajes de alto nivel.
Incremento del tiempo de puesta a punto al necesitarse diferentes traducciones del programa fuente para conseguir el programa definitivo.
No se aprovechan los recursos internos de la mquina que se explotan.
mucho mejor en lenguajes mquina y ensambladores.
Aumento de la ocupacin de memoria.
El tiempo de ejecucin de los programas es mucho mayor.
Diagrama de Flujo
Los diagramas de flujo son descripciones grficas de algoritmos; usan smbolos conectados con flechas para indicar la secuencia de instrucciones y estn regidos porISO.
Los diagramas de flujo son usados para representar algoritmos pequeos, ya que abarcan mucho espacio y su construccin es laboriosa.
Por su facilidad de lectura son usados como introduccin a los algoritmos, descripcin de un lenguaje y descripcin de procesos a personas ajenas a la computacin.
Partes del diagrama de flujo
Elaboracin de DDF con programa Pseint
Primero partamos con un Ejemplo
Sumar 2 nmeros
Ahora Uds. solucionen el resto de los ejercicios
Restar 2 nmeros
Dividir 2 nmeros
Multiplicar 2 nmeros
Cual nmeros es mayor de 2 nmeros
Si un numero ingresado es par
Si un numero ingresado es impar
Terminaron?
Ahora entre el ejercicio 1 al 4 aumenten el ingreso en un numero sea si le estoy pidiendo que ingresen 2 ahora le pido que ingrese 3 y vuelvo a realizar casi la misma operacin