Fundamentos de Programación

39
Fundamentos de Programación

description

Fundamentos de Programación

Transcript of Fundamentos de Programación

Page 1: Fundamentos de Programación

Fundamentos de Programación

Page 2: Fundamentos de Programación

Pasos básicos de programación Identificación del problema

Establecer las condiciones de operación (Entradas) Operaciones que debe realizar (de datos, matemáticas

conversiones ) Los resultados que va entregar

Descripción funcional Reglas que debe cumplir (Semánticas) Propiedades del modelo que va soportar

Conocimiento de un lenguaje de programación Escribir programa Pruebas Compilación

Page 3: Fundamentos de Programación

Algoritmo

Conjunto de reglas, ordenadas de forma lógica, para desarrollar un cálculo o para solucionar un problema, ya sea de forma manual o utilizando una máquina. Es recomendable la utilización de un algoritmo como paso previo al desarrollo de un programa de computador.

Debe tratarse que cada paso descrito en el algoritmo pueda ser reflejado mediante una instrucción en un lenguaje de programación.

Page 4: Fundamentos de Programación

Características De Un Algoritmo

Preciso: Cada paso del algoritmo se desarrolla en un una secuencia estricta, ya que el cambio en el orden puede modificar los resultados.

Finito:Debe tener un inicio y un final. Presentación formal: Debe seguir un estándar conocido para

que pueda ser entendido: Las presentaciones mas conocidas son:Diagrama de Flujo de Datos, Pseudocodigo, Diagramas de Nassi/Schneiderman

Correcto: Es decir las salida final sea la esperada como resultado.

Eficiente: Optimizar recursos de almacenamiento y procesamiento

Page 5: Fundamentos de Programación

Diagrama de flujo de datos Reflejan la secuencia de pasos

realizados para la resolución de un determinado problema.

Proceso

Decisión

Entrada/Salidas

Conector

Entrada manual

Documento

Pantalla

Inicio Fin

Page 6: Fundamentos de Programación

Ejemplo

Calcular el área y perímetro de un rectángulo

inicio

b= base

h= altura

area= b*h

perímetro= 2*(b+h)

areaperímetro

Fin

Page 7: Fundamentos de Programación

Pseudocodigo Un pseudocódigo o falso Lenguaje, es una serie de

normas léxicas y gramaticales parecidas a la mayoría de los lenguajes de programación, pero sin llegar a la rigidez de sintaxis.

Permite codificar un programa con mayor agilidad que en cualquier lenguaje de programación, con la misma validez semántica, normalmente se utiliza en las fases de análisis o diseño de software.

Page 8: Fundamentos de Programación

Pseudocodigo No puede ser ejecutado o interpretado por un PC.

El pseudocódigo describe un algoritmo utilizando una mezcla de frases en lenguaje común, instrucciones de programación y palabras clave que definen las estructuras básicas.

El objetivo del pseudocódigo es permitir que el programador se centre en los aspectos lógicos de la solución, evitando las reglas de sintaxis de los lenguajes de programación.

Page 9: Fundamentos de Programación

Ejemplo Calcular el salario neto de un trabajador: De acuerdo al

número de horas trabajadas, precio de la hora. Al salario se le hacen descuentos por concepto de impuestos equivalentes al 20% del salario bruto

Inicio leer nombre, horas, precio_hora salario_bruto = horas * precio_hora

impuestos =0.20 * salario_brutosalario_neto = salario_bruto - impuestos

escribir nombre,, salario_neto

Fin

Page 10: Fundamentos de Programación

Diagramas Estructurados Nassi/Schneiderman El diagrama N-S o también conocido como

diagrama de Chapin es una técnica de especificación de algoritmos que combina la descripción textual, propia del pseudocódigo, con la representación gráfica del diagrama de flujo.

Las palabras reservadas más utilizadas son:Inicio Fin Leer EscribirMientras Repita Hasta ParaIncrementar Decrementar Hacer FunciónEntero Real Caracter CadenaLógico Retornar

Page 11: Fundamentos de Programación

Ejemplo

Calcular porcentaje de hombres y mujeres en un grupo

Page 12: Fundamentos de Programación

Estructuras De Control Secuencia: Un conjunto de instrucciones ejecutadas en

el mismo orden que ha sido escritas Condicionales:

Simples Múltiples

Repetitivas: Mientras Desde Repetir

Page 13: Fundamentos de Programación

Condicionales (If)

Mediante la evaluación de una expresión, se ejecuta una alternativa determinada. Se utilizan para tomar decisiones lógicas; de ahí que se suelan denominar también estructuras de decisión o alternativas.

Page 14: Fundamentos de Programación

RepresentaciónDiagrama de Flujo Pseudocodigo Diagramas N/S

Condición

Acción

si

no

SI <CONDICIÓN> ENTONCES

ACCIÓN

….

SINO

….

FIN_SI

CONDICIÓN?si no

ACCIÓN

….

Page 15: Fundamentos de Programación

Alternativas Multiples (Case)

Cuando existen más de dos alternativas posibles, es cuando se presenta el caso de alternativas múltiples.

Page 16: Fundamentos de Programación

RepresentaciónDiagrama de Flujo Pseudocodigo Diagramas N/S

Condición

a3

3

no

CASE <CONDICIÓN>

V1: a1

V2: a2

V3: a3

V4: a4

ELSE

OTRAS

END_CASE

CONDICIÓN?

N= 1otros

a1

a1

1

a2

2

a4

4a2 a3

2 3

Page 17: Fundamentos de Programación

Repetitivas Mientras (WHILE)

MIENTRAS (WHILE) Se realiza una serie de instrucciones mientras la condición se cumple

Page 18: Fundamentos de Programación

RepresentaciónDiagrama de Flujo Pseudocodigo Diagramas N/S

Condición

no

MIENTRAS <CONDICIÓN> HAGA

A1

A2

FIN MIENTRAS

a1

a1

Mientras Condicion

A1

A2

Page 19: Fundamentos de Programación

Repetir Hasta (Until)

HASTA (UNTIL) Se realiza una serie de instrucciones HASTA que la condición se cumple

Page 20: Fundamentos de Programación

RepresentaciónDiagrama de Flujo Pseudocodigo Diagramas N/S

Condición

no

HAGA

A1

A2

HASTA QUE CONDICION

a1HAGA HASTA Condicion

A1

A2

a1

Page 21: Fundamentos de Programación

Arreglos

Arreglos: Son listas de datos del mismo tipo que pueden ser accedidos a través de un índice

Page 22: Fundamentos de Programación

Arreglos: Creación

Page 23: Fundamentos de Programación

Arreglos: Inicialización de Elementos

Page 24: Fundamentos de Programación

Lenguajes de programación

Programar Plantear solución a un problema mediante un Lenguaje de Programación.

El Paradigma de Programación condiciona la forma en que se expresa la solución a un problema.

El Lenguaje de Programación (que se encuadra en un determinado paradigma) es la herramienta que permite expresar nuestra solución.

Page 25: Fundamentos de Programación

Lenguajes de programación

Los lenguajes de programación son herramientas que nos permiten crear programas y software. Entre ellos tenemos Delphi, Visual Basic, Pascal, Java,Javascript etc..

Los lenguajes de programación facilitan la tarea de programación, ya que disponen de formas adecuadas que permiten ser leídas y escritas por personas, a su vez resultan independientes del modelo de computador a utilizar.

Page 26: Fundamentos de Programación

Lenguajes de programación

Los lenguajes de " Alto Nivel" son los mas utilizados como lenguaje de programación. En ese sentido se llama "Independientes de la maquina". Ejemplos de estos lenguajes de alto nivel son PASCAL , JAVA y FORTRAN ,COBOL C, ETC.

Los "Lenguajes Ensambladores" y los "Lenguajes Maquina" son dependientes de la maquina. Cada tipo de maquina, tal como VAX de digital, tiene su propio lenguaje maquina distinto y su lenguaje ensamblador asociado.

Page 27: Fundamentos de Programación

Lenguajes de programación La programación de un lenguaje de alto nivel requiere,

de algún tipo de interfaz con el lenguaje maquina para que el programa pueda ejecutarse. Las interfaces mas comunes: un "compilador" y un "interprete".

El compilador traduce el programa a otro equivalente en el lenguaje X de la maquina "residente" como un paso separado antes de la ejecución.

El interprete ejecuta directamente las instrucciones en un lenguaje Y de alto nivel, sin un paso de procesamiento previo.

Page 28: Fundamentos de Programación

Lenguajes de programación Hay lenguajes de programación que utilizan compilador. 1) Traducir el programa simbólico a código máquina2) Ejecución y procesamiento de los datos.

Otros lenguajes de programación utilizan un programa intérprete o traductor, el cual analiza directamente la descripción simbólica del programa fuente y realiza las instrucciones dadas.

Page 29: Fundamentos de Programación

Lenguajes de programación

El intérprete en los lenguajes de programación simula una máquina virtual, donde el lenguaje de máquina es similar al lenguaje fuente.

Máquina virtual: Software que crea un entorno virtual entre la plataforma de la computadora y su sistema operativo, de tal forma que un usuario final puede ejecutar programas en una Máquina Abstracta

Page 30: Fundamentos de Programación

Lenguajes de programación: Máquina Virtual

Page 31: Fundamentos de Programación

Lenguajes de programación: Máquina Virtual

Page 32: Fundamentos de Programación

Lenguajes de programación

La ventaja del proceso interprete es que no necesita de dos fases para ejecutar el programa, sin embargo su inconveniente es que la velocidad de ejecución es más lenta ya que debe analizar e interpretar las instrucciones contenidas en el programa fuente.

Page 33: Fundamentos de Programación

Cuerpo del programa

Conformado por una serie de preposiciones, de diferentes tipos:Declarativas: Define las variables y elementos

que participan en el programaOperacionales: Realizan operaciones con las

variablesEstructurales: Controlan el flujo del programa

Page 34: Fundamentos de Programación

Cuerpo del programa

Una variable se define como un identificador que se utiliza para almacenar todos los datos generados durante la ejecución de un programa. Claras y con referencia directa al problema. No espacios en blanco, ni símbolos extraños en

ellas. Se pueden usar abreviaturas, pero solo de carácter

general. No deben ser palabras reservadas del lenguaje.

Page 35: Fundamentos de Programación

Ejemplo 1: Serie de Fibonacci

Serie de Fibonacci: es una sucesión de números enteros que fue descrita por primera vez en Europa por Leonardo de Pisa, también conocido como Fibonacci.

Page 36: Fundamentos de Programación

Ejemplo 1: Serie de Fibonacci Se obtiene mediante la siguiente función

recursiva:

O sea, que se empieza con 0 y 1, y luego cada número es la suma de los dos anteriores.

Page 37: Fundamentos de Programación

Ejemplo 1: Serie de Fibonaccin F(n)

0 0

1 1

2 1

3 2

4 3

5 5

6 8

7 13

8 21

9 34

10 55

11 89

12 144

Page 38: Fundamentos de Programación

Ejemplo 1 Serie de

Fibonacci

inicio

LeaNumero términos

(N)

N1 = 1

T = 1

Serie = T

Índice = 2

Índice >=2

N2 = N1

N1 = T

T = N1 + N2

Serie = Serie & T

Índice <= N-1

índice = índice +1

serieFIN

NO

SI

SI

NO

Serie = 1 & Serie

Page 39: Fundamentos de Programación

Tomado de :http://www.monografias.com/trabajos19/algoritmos/algoritmos.shtml

http://es.wikipedia.org/wiki/Pseudoc%C3%B3digo