fundamentos de programacin
TRANSCRIPT
![Page 1: Fundamentos de Programacin](https://reader033.vdocuments.net/reader033/viewer/2022061503/55721457497959fc0b944f65/html5/thumbnails/1.jpg)
Fundamentos de Programación
![Page 2: Fundamentos de Programacin](https://reader033.vdocuments.net/reader033/viewer/2022061503/55721457497959fc0b944f65/html5/thumbnails/2.jpg)
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 Programacin](https://reader033.vdocuments.net/reader033/viewer/2022061503/55721457497959fc0b944f65/html5/thumbnails/3.jpg)
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 Programacin](https://reader033.vdocuments.net/reader033/viewer/2022061503/55721457497959fc0b944f65/html5/thumbnails/4.jpg)
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 Programacin](https://reader033.vdocuments.net/reader033/viewer/2022061503/55721457497959fc0b944f65/html5/thumbnails/5.jpg)
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 Programacin](https://reader033.vdocuments.net/reader033/viewer/2022061503/55721457497959fc0b944f65/html5/thumbnails/6.jpg)
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 Programacin](https://reader033.vdocuments.net/reader033/viewer/2022061503/55721457497959fc0b944f65/html5/thumbnails/7.jpg)
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 Programacin](https://reader033.vdocuments.net/reader033/viewer/2022061503/55721457497959fc0b944f65/html5/thumbnails/8.jpg)
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 Programacin](https://reader033.vdocuments.net/reader033/viewer/2022061503/55721457497959fc0b944f65/html5/thumbnails/9.jpg)
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 Programacin](https://reader033.vdocuments.net/reader033/viewer/2022061503/55721457497959fc0b944f65/html5/thumbnails/10.jpg)
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 Programacin](https://reader033.vdocuments.net/reader033/viewer/2022061503/55721457497959fc0b944f65/html5/thumbnails/11.jpg)
Ejemplo
Calcular porcentaje de hombres y mujeres en un grupo
![Page 12: Fundamentos de Programacin](https://reader033.vdocuments.net/reader033/viewer/2022061503/55721457497959fc0b944f65/html5/thumbnails/12.jpg)
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 Programacin](https://reader033.vdocuments.net/reader033/viewer/2022061503/55721457497959fc0b944f65/html5/thumbnails/13.jpg)
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 Programacin](https://reader033.vdocuments.net/reader033/viewer/2022061503/55721457497959fc0b944f65/html5/thumbnails/14.jpg)
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 Programacin](https://reader033.vdocuments.net/reader033/viewer/2022061503/55721457497959fc0b944f65/html5/thumbnails/15.jpg)
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 Programacin](https://reader033.vdocuments.net/reader033/viewer/2022061503/55721457497959fc0b944f65/html5/thumbnails/16.jpg)
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 Programacin](https://reader033.vdocuments.net/reader033/viewer/2022061503/55721457497959fc0b944f65/html5/thumbnails/17.jpg)
Repetitivas Mientras (WHILE)
MIENTRAS (WHILE) Se realiza una serie de instrucciones mientras la condición se cumple
![Page 18: Fundamentos de Programacin](https://reader033.vdocuments.net/reader033/viewer/2022061503/55721457497959fc0b944f65/html5/thumbnails/18.jpg)
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 Programacin](https://reader033.vdocuments.net/reader033/viewer/2022061503/55721457497959fc0b944f65/html5/thumbnails/19.jpg)
Repetir Hasta (Until)
HASTA (UNTIL) Se realiza una serie de instrucciones HASTA que la condición se cumple
![Page 20: Fundamentos de Programacin](https://reader033.vdocuments.net/reader033/viewer/2022061503/55721457497959fc0b944f65/html5/thumbnails/20.jpg)
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 Programacin](https://reader033.vdocuments.net/reader033/viewer/2022061503/55721457497959fc0b944f65/html5/thumbnails/21.jpg)
Arreglos
Arreglos: Son listas de datos del mismo tipo que pueden ser accedidos a través de un índice
![Page 22: Fundamentos de Programacin](https://reader033.vdocuments.net/reader033/viewer/2022061503/55721457497959fc0b944f65/html5/thumbnails/22.jpg)
Arreglos: Creación
![Page 23: Fundamentos de Programacin](https://reader033.vdocuments.net/reader033/viewer/2022061503/55721457497959fc0b944f65/html5/thumbnails/23.jpg)
Arreglos: Inicialización de Elementos
![Page 24: Fundamentos de Programacin](https://reader033.vdocuments.net/reader033/viewer/2022061503/55721457497959fc0b944f65/html5/thumbnails/24.jpg)
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 Programacin](https://reader033.vdocuments.net/reader033/viewer/2022061503/55721457497959fc0b944f65/html5/thumbnails/25.jpg)
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 Programacin](https://reader033.vdocuments.net/reader033/viewer/2022061503/55721457497959fc0b944f65/html5/thumbnails/26.jpg)
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 Programacin](https://reader033.vdocuments.net/reader033/viewer/2022061503/55721457497959fc0b944f65/html5/thumbnails/27.jpg)
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 Programacin](https://reader033.vdocuments.net/reader033/viewer/2022061503/55721457497959fc0b944f65/html5/thumbnails/28.jpg)
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 Programacin](https://reader033.vdocuments.net/reader033/viewer/2022061503/55721457497959fc0b944f65/html5/thumbnails/29.jpg)
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 Programacin](https://reader033.vdocuments.net/reader033/viewer/2022061503/55721457497959fc0b944f65/html5/thumbnails/30.jpg)
Lenguajes de programación: Máquina Virtual
![Page 31: Fundamentos de Programacin](https://reader033.vdocuments.net/reader033/viewer/2022061503/55721457497959fc0b944f65/html5/thumbnails/31.jpg)
Lenguajes de programación: Máquina Virtual
![Page 32: Fundamentos de Programacin](https://reader033.vdocuments.net/reader033/viewer/2022061503/55721457497959fc0b944f65/html5/thumbnails/32.jpg)
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 Programacin](https://reader033.vdocuments.net/reader033/viewer/2022061503/55721457497959fc0b944f65/html5/thumbnails/33.jpg)
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 Programacin](https://reader033.vdocuments.net/reader033/viewer/2022061503/55721457497959fc0b944f65/html5/thumbnails/34.jpg)
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 Programacin](https://reader033.vdocuments.net/reader033/viewer/2022061503/55721457497959fc0b944f65/html5/thumbnails/35.jpg)
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 Programacin](https://reader033.vdocuments.net/reader033/viewer/2022061503/55721457497959fc0b944f65/html5/thumbnails/36.jpg)
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 Programacin](https://reader033.vdocuments.net/reader033/viewer/2022061503/55721457497959fc0b944f65/html5/thumbnails/37.jpg)
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 Programacin](https://reader033.vdocuments.net/reader033/viewer/2022061503/55721457497959fc0b944f65/html5/thumbnails/38.jpg)
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 Programacin](https://reader033.vdocuments.net/reader033/viewer/2022061503/55721457497959fc0b944f65/html5/thumbnails/39.jpg)
Tomado de :http://www.monografias.com/trabajos19/algoritmos/algoritmos.shtml
http://es.wikipedia.org/wiki/Pseudoc%C3%B3digo