9 febrero16 3

30
FUNDAMENTOS DE PROGRAMACION

Upload: zeta2015

Post on 13-Apr-2017

170 views

Category:

Internet


0 download

TRANSCRIPT

Page 1: 9 febrero16 3

FUNDAMENTOS DE

PROGRAMACION

Page 2: 9 febrero16 3

REPASO.- COMPETENCIAS:DOMINA LOS FUNDAMENTOS DE PROGRAMACIÓN.― Formula y redacta la definición de un problema de programación.― Realiza el análisis de variables (Entrada-Proceso-Salida).

Agenda

Page 3: 9 febrero16 3

Tarea/ División usual (con punto flotante)Da el resultado de la división con varios decimales, según el largo del número.Print 3/5 ' Resultado= .6Print 137/5 ' Resultado= 27.4Print 30/5 ' Resultado= 6

\ División enteraDa el resultado de la división entera. Es casi lo mismo que hacer la división y sacarle los decimales.Print 3\5 ' Resultado= 0Print 137\5 ' Resultado= 27Print 30\5 ' Resultado= 6

mod Resto de la división enteraDa el resto de la división entera. Por ejemplo al dividir 921 por 9, el resultado es 102 y el resto es 3.Print 3 Mod 5 ' Resultado= 3Print 137 Mod 5 ' Resultado= 2Print 30 Mod 5 ' Resultado= 0

Page 4: 9 febrero16 3

Recordando… LENGUAJE DE PROGRAMACION.

Es la principal herramienta de las utilizadas por el programador para la creación de programas. Todo lenguaje se compone de un conjunto más o menos extenso de palabras claves y símbolos, que forman la denominada sintaxis del lenguaje, y una serie de normas o reglas para el correcto uso y combinación de tales palabras y símbolos.

Page 5: 9 febrero16 3

Recordando…¿QUÉ ES UN PROGRAMA?Un programa (o aplicación, como también lo denominaremos) es un conjunto de instrucciones escritas en un lenguaje de programación, que pueden llevar a cabo uno o múltiples procesos, normalmente relacionados, aunque sin ser esto obligatorio, y que en definitiva nos permiten resolver uno o más problemas. A las instrucciones o código que forman parte de un programa se le denomina código fuente.

Page 6: 9 febrero16 3

TEMA: METODOLOGIAS

PARA DESARROLAR PROGRAMAS.

Page 7: 9 febrero16 3

Se centra en la elaboración de un texto queNos permitirá saber qué es lo que se pretende solucionar, y nos proporcionaráInformación útil para el planteamiento de la solución.

Definición del Problema/Necesidad

Page 8: 9 febrero16 3

En este paso se debe entender por completo El problema, y dejar en claro cuál es la Información útil que se no da, que otra nos hace falta y, con base en esto, determinar lamejor solución. Se deben tomar en cuenta los siguientesaspectos:• SALIDA.• ENTRADA.• PROCESO.• DATOS ADICIONALES.

Planeación de la Solución

Page 9: 9 febrero16 3

- NECESIDAD/PROBLEMA/CASO.- ANALISIS DE VARIABLES (PLANEACION DE LA SOLUCION).

ACTIVIDAD EN EQUIPO: • Redactar 5 enunciados de problemas.• Realizar la planeación de la solución de los 5 problemas que se plantearon.

Ejemplos-Ejercicios

Page 10: 9 febrero16 3

Fundamentos de Programación

COMPETENCIAS:DOMINA LOS FUNDAMENTOS DE PROGRAMACIÓN.― Desarrolla algoritmos para la solución de problemas o necesidades.― Diseña flujogramas empleando los símbolos y reglas para su correcta elaboración.

ALGORITMOS

Page 11: 9 febrero16 3

ALGORITMO

• Secuencia de instrucciones que representan un modelo de solución para determinado tipo de problemas.

• Conjunto de instrucciones que realizadas en orden conducen a obtener la solución de un problema.

• Conjunto ordenado y finito de pasos que nos permite solucionar un problema.

Page 12: 9 febrero16 3

ALGORITMO

CARACTERÍSTICAS DE UN ALGORITMO:Todo algoritmo debe tener las siguientes características:

• Debe ser Preciso, porque cada uno de sus pasos debe indicar de manera precisa e inequívoca que se debe hacer.

• Debe ser Finito, porque un algoritmo debe tener un número limitado de pasos.

• Debe ser Definido, porque debe producir los mismos resultados para las mismas condiciones de entrada.

• Puede tener cero o más elementos de entrada.• Debe producir un resultado. Los datos de salida serán

los resultados de efectuar las instrucciones.

Page 13: 9 febrero16 3

ALGORITMO

PARTES DE UN ALGORITMO:

• Entrada de datos: son los datos necesarios que el algoritmo necesita para ser ejecutado.

• Proceso: es la secuencia de pasos para ejecutar el algoritmo.

• Salida de resultados: son los datos obtenidos después de la ejecución del algoritmo.

TÉCNICAS DE REPRESENTACIÓN:  Pseudocódigo.Diagramación libre (Diagramas de flujo).Diagramas Nassi-Schneiderman

Page 14: 9 febrero16 3

ALGORITMO

PseudocódigoUna descripción de un algoritmo que resulta independiente de otros lenguajes de programación.

Page 15: 9 febrero16 3

• Un Flujograma, también denominado diagrama de flujo, es una muestra visual de una línea de pasos de acciones que implican un proceso determinado.

• Consiste en representar gráficamente, situaciones, hechos, movimientos y relaciones de todo tipo a partir de símbolos.

• Es una forma esquemática de representar ideas y conceptos en relación.

FLUJOGRAMA

Page 16: 9 febrero16 3
Page 17: 9 febrero16 3

• Diagramas Nassi-Schneiderman.

También denominados N-S, se basan en la representación de los pasos del algoritmo mediante recuadros adyacentes, eliminando los símbolos de flechas y líneas de conexión. Al mismo estilo de los diagramas de flujo, podemos situar una o varias acciones en un único recuadro.

Page 18: 9 febrero16 3

• Diagramas Nassi-Schneiderman.

Page 19: 9 febrero16 3

• CODIFICACIÓN Y EDICIÓN • DEL PROGRAMA.

Consiste en traducir el diagrama de flujo a instrucciones de un lenguaje de computadora

Page 20: 9 febrero16 3

• CODIFICACIÓN Y EDICIÓN • DEL PROGRAMA.

LENGUAJE PHP -EJEMPLO

<?php

$stdin = fopen('php://stdin','r');

echo 'INGRESA EL RADIO: ',PHP_EOL;

fscanf($stdin,"%f",$r);

$area = M_PI*pow($r,2);

echo 'EL AREA ES: ',$area,PHP_EOL;

?>

Page 21: 9 febrero16 3

• CODIFICACIÓN Y EDICIÓN • DEL PROGRAMA.

LENGUAJE PYTHON -EJEMPLO

from math import pi

if __name__ == '__main__':

print("INGRESA EL RADIO: ")

r = float(input())

area = pi*r**2

print("EL AREA ES: ", area)

Page 22: 9 febrero16 3

• PRUEBAS Y DEPURACIÓN.

Probar el programa exhaustivamente, ejecutándolo hasta concluir que los resultados son los deseados y que no tiene errores. Para esto se deben preparar los datos de prueba en papel, así como su solución para cotejarlo con la solución que obtenga la computadora. Si el programa tiene errores sintácticos éstos pueden corregirse simplemente consultando un libro de instrucciones del lenguaje. No así si el problema es de lógica, en cuyo caso debe revisarse y corregirse desde el algoritmo.

Page 23: 9 febrero16 3

• DOCUMENTACIÓN• Y MANTENIMIENTO

Documentación: Pasar en limpio y archivar en un folder (de preferencia digital), todos los detalles del programa o aplicación. Esto incluye la creación de diferentes tipos de manuales.Al proceso de mantener los programas y su documentación actualizados se le llama Mantenimiento.

Page 24: 9 febrero16 3

• METODOLOGIA PARA • DESARROLLAR PROGRAMAS

Otra manera de dividir las Etapas: • Análisis del problema.o Estudio del problema.o Desarrollo del algoritmo.o Comprobación del algoritmo.• Implementación del programa.o Escritura del programa en base a los resultados obtenidos del algoritmo.o Ejecución del programao Depuración del programa.o Documentación del programa.

Page 25: 9 febrero16 3

PROGRAMACION ESTRUCTURADA

• Es una teoría de programación que consiste en construir programas de fácil comprensión, es especialmente útil, cuando se necesitan realizar correcciones o modificaciones después de haber concluido un programa o aplicación.

Page 26: 9 febrero16 3

PROGRAMACION ESTRUCTURADA

• La programación estructurada propone segregar los procesos en estructuras lo más simple posibles, las cuales se conocen como secuencia, selección e iteración, que están disponibles en todos los lenguajes modernos de programación.

Page 27: 9 febrero16 3

1. Estructura Secuencial:

DEFINICIÓN DE LAS 3 ESTRUCTURASBÁSICAS:

Indica que las instrucciones de un programa se ejecutan una después de la otra, en el mismo orden en el cual aparecen en el programa.

Page 28: 9 febrero16 3

2. Estructura de Selección:

Permite ejecutar un bloque de código, dependiendo del resultado de la evaluación de una expresión situada en la cabecera de la estructura. Bufurcará el algoritmo en una determinada dirección. Decisión Simple.Decisión Doble.Decisión Múltiple.

Page 29: 9 febrero16 3

3. Estructura Repetitiva (Iterativa):

Permiten la ejecución repetida de una instrucción.Ejemplo: hacer – mientras – que … …se cumple una determinada condición.

Page 30: 9 febrero16 3

Dudas y preguntas...