Introducción a La Programación2-2

23
Introducción a la Programación Semana 2 Docente: Boris González

description

segunda clase

Transcript of Introducción a La Programación2-2

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