33
TÉCNICAS DE PROGRAMACIÓN ING. EDDYE ARTURO SANCHEZ CASTILLO [email protected]

TÉCNICAS DE PROGRAMACIÓN ING. EDDYE ARTURO SANCHEZ CASTILLO [email protected]

Embed Size (px)

Citation preview

Page 1: TÉCNICAS DE PROGRAMACIÓN ING. EDDYE ARTURO SANCHEZ CASTILLO eddiesanchez0710@gmail.com

TÉCNICAS DE PROGRAMACIÓN

I N G . E D D Y E A R T U R O S A N C H E Z C A S T I L L O

e d d i e s a n c h e z 0 7 1 0 @ g m a i l . c o m

Page 2: TÉCNICAS DE PROGRAMACIÓN ING. EDDYE ARTURO SANCHEZ CASTILLO eddiesanchez0710@gmail.com

QUE ES LA TÉCNICA EN PROGRAMACIÓN

La técnica de programación es el medio a través del cual se escoge de que forma se creara la secuencia de ordenes lógicas que desarrollara un determinado programa que se creara. Es la forma como se desarrollara la ejecución de un determinado software y el conjunto de datos que entraran y los resultados que se mostraran. Los tipos o técnicas de programación son bastante variados, aunque puede que muchos de los lectores sólo conozcan una metodología para realizar programas.

Page 3: TÉCNICAS DE PROGRAMACIÓN ING. EDDYE ARTURO SANCHEZ CASTILLO eddiesanchez0710@gmail.com

Es la rama de matemáticas puras que estudia las propiedades de los números en general y de los enteros en particular, así como diversos problemas derivados de su estudio.Este campo estudia los problemas que surgen con el estudio de los enteros

TEORIA DE NUMEROS

Page 4: TÉCNICAS DE PROGRAMACIÓN ING. EDDYE ARTURO SANCHEZ CASTILLO eddiesanchez0710@gmail.com

La teoría de números se subdivide en diversas ramas: • Teoría elemental de números• Teoría analítica de números• Teoría algebraica de números• Teoría geométrica de números• Teoría combinatoria de números• Teoría computacional de números

TEORIA DE NUMEROS

Page 5: TÉCNICAS DE PROGRAMACIÓN ING. EDDYE ARTURO SANCHEZ CASTILLO eddiesanchez0710@gmail.com

Teoría elemental de númerosse estudian los números enteros sin emplear técnicas procedentes de otros campos de las matemáticas. Pertenecen a la teoría elemental de números las cuestiones de divisibilidad, el algoritmo de Euclides para calcular el máximo común divisor, la factorización de los enteros como producto de números primos, la búsqueda de los números perfectos y las congruencias.

RAMAS DE LA TEORIA DE NUMEROS

Page 6: TÉCNICAS DE PROGRAMACIÓN ING. EDDYE ARTURO SANCHEZ CASTILLO eddiesanchez0710@gmail.com

Teoría analítica de númerosemplea como herramientas el cálculo y el análisis complejo para abordar preguntas acerca de los números enteros.Algunos ejemplos de esta son el teorema de los números primos y la hipótesis de Riemann. El problema de Waring, la conjetura de los números primos gemelos y la conjetura de Goldbach también están siendo atacados a través de métodos analíticos.

RAMAS DE LA TEORIA DE NUMEROS

Page 7: TÉCNICAS DE PROGRAMACIÓN ING. EDDYE ARTURO SANCHEZ CASTILLO eddiesanchez0710@gmail.com

Teoría algebraica de númerosEl concepto de número se expande a los números algebraicos, los cuales son las raíces de los polinomios con coeficientes racionales.

Teoría geométrica de númerosTradicionalmente llamada geometría de números incorpora todas las formas de geometría. Comienza con el teorema de Minkowski acerca de los puntos comunes en conjuntos convexos e investigaciones sobre superficies esféricas.

RAMAS DE LA TEORIA DE NUMEROS

Page 8: TÉCNICAS DE PROGRAMACIÓN ING. EDDYE ARTURO SANCHEZ CASTILLO eddiesanchez0710@gmail.com

Teoría combinatoria de númerosTrata los problemas de la teoría de números involucrando ideas combinatorias y sus formulaciones o soluciones.Los métodos algebraicos o analíticos son bastante poderosos en este campo.

Teoría computacional de númerosLa teoría computacional de números estudia los algoritmos relevantes de la teoría de números.Los algoritmos rápidos para evaluar números primos y factorización de enteros tienen importantes aplicaciones en criptografía.

RAMAS DE LA TEORIA DE NUMEROS

Page 9: TÉCNICAS DE PROGRAMACIÓN ING. EDDYE ARTURO SANCHEZ CASTILLO eddiesanchez0710@gmail.com

Un sistema de numeración es un conjunto de símbolos y reglas de generación que permiten construir todos los números válidos en el sistema.

Un sistema de numeración puede representarse como

Donde:N: es el sistema de numeración considerado (p.ej. decimal, binario, etc.)

S son los símbolos permitidos en el sistema. En el caso del sistema decimal son {0,1...9}; en el binario son {0,1}; en el octal son {0,1...7}; en el hexadecimal son {0,1...9,A,B,C,D,E,F}

R son las reglas que nos indican qué números son válidos en el sistema, y cuáles no.

SISTEMA DE NUMERACION

Page 10: TÉCNICAS DE PROGRAMACIÓN ING. EDDYE ARTURO SANCHEZ CASTILLO eddiesanchez0710@gmail.com

Estas reglas son diferentes para cada sistema de numeración.

pero una regla común es que para construir números válidos S.N. determinado sólo se pueden utilizar los símbolos permitidos en ese sistema.

Para indicar en qué sistema de numeración se representa una cantidad se añade como subíndice a la derecha del número

Ejemplosel número 125(10) es un número válido en el sistema decimal, pero el número 12A(16) no lo es, ya que utiliza un símbolo A no válido en el sistema decimal.

el número 35(8) es un número válido en el sistema octal, pero el número 39(8) no lo es, ya que el símbolo 9 no es un símbolo válido en el sistema octal.

SISTEMA DE NUMERACION

Page 11: TÉCNICAS DE PROGRAMACIÓN ING. EDDYE ARTURO SANCHEZ CASTILLO eddiesanchez0710@gmail.com

Este teorema establece la forma general de construir números en un sistema de numeración posicional.

Primero estableceremos unas definiciones básicas:N: Número válido en el Sistema de numeración b: base del sistema de numeración. Número de símbolos permitidos en el sistema. d: un símbolo cualquiera de los permitidos en el sistema de numeración n: número de dígitos de la parte entera. ,: coma fraccionaria. Símbolo utilizado para separar la parte entera de un número de su parte fraccionaria. k: número de dígitos de la parte decimal. TEOREMA DE LA NUMERACION

Page 12: TÉCNICAS DE PROGRAMACIÓN ING. EDDYE ARTURO SANCHEZ CASTILLO eddiesanchez0710@gmail.com

Los símbolos válidos para construir números son {0...9}, por tanto la base es 10.

Por ejemplo, el número 1492,36 en decimal, puede expresarse como:

EJEMPLO DEL SISTEMA DECIMAL

Page 13: TÉCNICAS DE PROGRAMACIÓN ING. EDDYE ARTURO SANCHEZ CASTILLO eddiesanchez0710@gmail.com

Sistema binario o de base 2. En este sistema los dígitos válidos son {0,1}, y dos unidades forman una unidad de orden superior.

111(2): El primer 1 (empezando por la izquierda) representa un valor de , el segundo de y el tercero de , dando como resultado el valor del número: .

EJEMPLO DEL SISTEMA BINARIO

Page 14: TÉCNICAS DE PROGRAMACIÓN ING. EDDYE ARTURO SANCHEZ CASTILLO eddiesanchez0710@gmail.com

OPERACIONES CON NUMEROS BINARIOS

Resta de Binarios

Los términos que intervienen en la resta se llaman minuendo, sustraendo y diferencia.Las restas básicas 0-0, 1-0 y 1-1 son evidentes:0 - 0 = 0 1 - 0 = 1 1 - 1 = 0 0 - 1 = no cabe o se pide prestado al próximo. La resta 0 - 1 se resuelve, igual que en el sistema decimal, tomando una unidad prestada de la posición siguiente: 10 - 1 = 1 y me llevo 1, lo que equivale a decir en decimal, 2 - 1 = 1. Esa unidad prestada debe devolverse, sumándola, a la posición siguiente.

Page 15: TÉCNICAS DE PROGRAMACIÓN ING. EDDYE ARTURO SANCHEZ CASTILLO eddiesanchez0710@gmail.com

PROBLEMOLOGÍA

Es la Piedra Angular para el inicio de cualquier Estudio Sistémico.Es el proceso que DEFINE de manera adecuada las Situaciones-ProblemaLas grandes dificultades con que se encuentran los “SOLUCIONADORES de PROBLEMAS” es que en el MUNDO REAL, los Problemas no están definidos, razón por lo cual es el Observante quien debe realizar esta Tarea.Las forma como un OBSERVANTE defina los Problemas estará ligado estrechamente relacionado con las Imágenes que la Persona tenga sobre la porción del Mundo Real que tiene al Frente

Page 16: TÉCNICAS DE PROGRAMACIÓN ING. EDDYE ARTURO SANCHEZ CASTILLO eddiesanchez0710@gmail.com

PROBLEMOLOGIA COMO ACTITUD SISTEMICA

Los Problemas no están en el Mundo Real; por el contrario, hay que Definirlos

El Problema: Es un Estado que Vivimos.Cuando nos encontramos en esta Situación:EXISTE una BRECHA entre la que Vivimos y la que Desearíamos Vivir.

Es muy Importante que al iniciar cualquier Estudio de Sistemas definamos adecuadamente la Situación Problemática.Dicha Definición la hace el “SOLUCIONADOR dePROBLEMAS”, si usa la Visión Sistémica se le llama“Analista de Sistemas”

Page 17: TÉCNICAS DE PROGRAMACIÓN ING. EDDYE ARTURO SANCHEZ CASTILLO eddiesanchez0710@gmail.com

Conceptos Para Definir Adecuadamente Los Problemas

A. Sistema de Solucionador de Problemas SSP

Es la persona(s) que adopta la función de Solucionador de Problemas y por lo tanto emplean un Esquema Determinado (METODOLOGIA) que permita enfrentar una situación determinada en el Mundo Real.

Esta METODOLOGIA debe cumplir:

* Reconocer las Múltiples Causas del Problema* Reconocer Múltiples Efectos que tiene o podría tener.* Reconocer los distintos sectores de la Realidad que serian o podrían ser influenciados por las diversas soluciones posibles del Problema.

Page 18: TÉCNICAS DE PROGRAMACIÓN ING. EDDYE ARTURO SANCHEZ CASTILLO eddiesanchez0710@gmail.com

La METODOLOGIA puede emplear estas TECNICAS:

* Método Delphi: Permite obtener consenso sobre tópicos especiales de discusión en una agenda determinada.

* Brainstorning (Tormenta de Ideas): Seguir un proceso determinado manejado por un Modelador.

La característica de esta técnica es establecer tiempo de intervención por participante donde expone el problema y la forma de Solucionarlo.

No se admiten criticas a opiniones expresadas, este proceso se efectúa en varias rondas.

Conceptos Para Definir Adecuadamente Los Problemas

Page 19: TÉCNICAS DE PROGRAMACIÓN ING. EDDYE ARTURO SANCHEZ CASTILLO eddiesanchez0710@gmail.com

b. Sistema Contenedor de Problemas S C P

Conceptos para Definir Adecuadamente los Problemas

Son las Personas que tienen vocación de “VIVIR los PROBLEMAS” (vivir una situación problemática o presentar un conjunto de Problemas, una Serie de Necesidades de Cambio).

Tipología de Problemas

Rango de Problemas

ProblemasDuros

ProblemasDuros/Blandos

ProblemasBlandos

Page 20: TÉCNICAS DE PROGRAMACIÓN ING. EDDYE ARTURO SANCHEZ CASTILLO eddiesanchez0710@gmail.com

Es aquel que define con Claridad la situación por Resolver, de manera que no hay Cuestionamiento a la DEFINICION del Problema Planteado.

Es aquel en que el “QUE” (que es el Problema) y el “COMO” (como solucionarlo) son claramente distinguibles y no existen dudas acerca de uno y otro Proceso

Problema Duro

Ejemplos de Problemas Duros:* Maximizar Utilidad de la Empresa.* Minimizar los Costos de Producción de la Empresa.* Incrementar la participación del Mercado en un 10%.* Instalar una nueva línea de producción en la Empresa

Conceptos para Definir Adecuadamente los Problemas

Page 21: TÉCNICAS DE PROGRAMACIÓN ING. EDDYE ARTURO SANCHEZ CASTILLO eddiesanchez0710@gmail.com

La Solución de un Problema Duro: Implicara el establecimiento estructurado de unos pasos claramente definidos a través de los cuales se buscará obtener la solución previamente establecida.

No esta definido en el Mundo Real, sino que aparecen en el las Imágenes de los Analistas que Observan la Realidad y de las personas que Viven el o los Problemas, siendo estas Imágenes Co-Construidas entre el Analista y las Personas que Viven la Situación Problemática.

Los Problemas Blandos

Conceptos para Definir Adecuadamente los Problemas

Page 22: TÉCNICAS DE PROGRAMACIÓN ING. EDDYE ARTURO SANCHEZ CASTILLO eddiesanchez0710@gmail.com

Esto Significa la Apreciación de la Situación_Problema complica significativamente la apreciación de la Situaciónen Estudio, surgiendo tantas “REALIDADES” como imagen posibles de ellas existen.

Los Problemas Blandos

Es aquel en que tanto el “QUE” como el “COMO” son difíciles de definir.

Como se pudo Observar, cada uno de los Problemas planteados es de gran complejidad y requiere de un tratamiento y estudios especiales.De igual modo, la búsqueda de las Soluciones a los mismos resulta compleja y cuestionable.

Conceptos para Definir Adecuadamente los Problemas

Page 23: TÉCNICAS DE PROGRAMACIÓN ING. EDDYE ARTURO SANCHEZ CASTILLO eddiesanchez0710@gmail.com

Ejemplo de Problemas Blandos:

* Definir la Misión de la Empresa.* Establecer las Estrategias que debe seguir la

empresa en los Próximos tres años.* Solucionar la Pobreza del País.• Realizar un cambio de la Cultura y los principios

del País, de manera que viva en un ambiente de armonía,respeto y cooperación.

* Desarrollar un Sistema de Información que apoye la

Gestión de la Empresa.

Conceptos para Definir Adecuadamente los Problemas

Page 24: TÉCNICAS DE PROGRAMACIÓN ING. EDDYE ARTURO SANCHEZ CASTILLO eddiesanchez0710@gmail.com

Ejemplo de Problemas Duros/Blandos:

Problemas Duro/Blandos

Un Problema Duro/Blando: Es aquel que se definecontemplando los dos aspectos* Automatización de Planta.* Estudio de Marketing.* Planeamiento Informático

* Automatización de Planta.* Estudio de Marketing.* Planeamiento Informático

Conceptos para Definir Adecuadamente los Problemas

Page 25: TÉCNICAS DE PROGRAMACIÓN ING. EDDYE ARTURO SANCHEZ CASTILLO eddiesanchez0710@gmail.com
Page 26: TÉCNICAS DE PROGRAMACIÓN ING. EDDYE ARTURO SANCHEZ CASTILLO eddiesanchez0710@gmail.com
Page 27: TÉCNICAS DE PROGRAMACIÓN ING. EDDYE ARTURO SANCHEZ CASTILLO eddiesanchez0710@gmail.com

Proceso

Su objetivo es transformar la entrada en salida. Los procesos tienen una duración limitada y producen un resultados bien definido y previsto.

METODO PARA LA SOLUCION DE PROBLEMAS

Entrada Proceso Salida

Informática (Information + Automatique)

Ciencia orientada al tratamiento de la información.Su objetivo es transformar la entrada en salida. Los procesos tienen una duración limitada y producen un resultados bien definido y previsto.

Page 28: TÉCNICAS DE PROGRAMACIÓN ING. EDDYE ARTURO SANCHEZ CASTILLO eddiesanchez0710@gmail.com

Los procesos son automáticos y se desarrollan a través de los algoritmos. Los cuales son codificados por los programas de computadoras.

METODO PARA LA SOLUCION DE PROBLEMAS

Entrada Proceso Salida

Informática (Information + Automatique)

La Información representa datos procesados.

Los datos son la materia prima de donde se obtiene la información.

Almacenamiento

Page 29: TÉCNICAS DE PROGRAMACIÓN ING. EDDYE ARTURO SANCHEZ CASTILLO eddiesanchez0710@gmail.com

Método de solución de problemas.

METODO PARA LA SOLUCION DE PROBLEMAS

Algoritmo

En Informática, el término algoritmo se utiliza para describir un método de solución de problemas que es adecuado para ser expresado como programa de computadoras.

Problema

Método de solución

Problema

Método de solución Expresado en

Page 30: TÉCNICAS DE PROGRAMACIÓN ING. EDDYE ARTURO SANCHEZ CASTILLO eddiesanchez0710@gmail.com

Constituye una lista completa de pasos secuenciales y una descripción de datos necesarios para resolver un determinado problema.La definición de algoritmo tiene dos partes esenciales: a) Una lista de pasos secuenciales que deben ser ejecutados b) Una descripción de los datos que son manipulados por estos pasos

METODO PARA LA SOLUCION DE PROBLEMAS

Algoritmo

Problema

Método de solución Expresado en

Lista de Pasos

Descripción de datos

Sentencias

Declaración y definición de datos

Page 31: TÉCNICAS DE PROGRAMACIÓN ING. EDDYE ARTURO SANCHEZ CASTILLO eddiesanchez0710@gmail.com

• Descripción de acciones que deben ser ejecutadas (pasos secuenciales).

• Descripción de datos que deben ser manipulados por las acciones (estructura de datos).

• Un algoritmo debe ser preciso, indicando el orden de cada paso.

• Todo algoritmo debe ser finito.• Todo algoritmo debe estar definido.• Un algoritmo puede o no tener datos de entrada.• Un algoritmo producirá uno o mas datos de salida.• Los datos de entrada y salida deben almacenarse en

variables• El resultado que se obtenga debe satisfacer los

requerimientos de la persona interesada (efectividad).• Debe ser estructurado. Es decir, debe ser fácil de leer,

entender, usar y cambiar si es preciso.METODO PARA LA SOLUCION DE PROBLEMAS

Características

Page 32: TÉCNICAS DE PROGRAMACIÓN ING. EDDYE ARTURO SANCHEZ CASTILLO eddiesanchez0710@gmail.com

METODO PARA LA SOLUCION DE PROBLEMAS

DESCRIPCIONPROBLEMA

DEFINICIONSOLUCION

DOCUMEN-TACION

DEPURACIONPRUEBAS

DESARROLLOCODIFICACION

DISEÑOLOGICA

•Descripción general del problema.

•Enunciado del problema (claro y concreto)

•Definir el resultado deseado

•Definir los datos necesarios

•Definir el proceso

•Definir las alternativas de solución

•Seleccionar la mejor alternativa

•Recopilar el material elaborado en cada una de las etapas

•Generar el manual del programa con la siguiente información

•Enunciado del problema

•Especificaciones de análisis

•Diagramas y Algoritmos

•Programas

•Pruebas realizadas

•Realizar la depuración de los programas de computadora

•Realizar las pruebas de lógica de los programas de computadora

•Seleccionar las herramientas con las cuales se diseñara la solución.

•Diseñar la solución

•Probar el diseño (prueba de escritorio)

•Seleccionar las herramientas con las cuales se implementara el diseño.

• Implementar el diseño

•Realizar copias de seguridad de la implementación

ETAPA 01 ETAPA 06ETAPA 05ETAPA 04ETAPA 03ETAPA 02

Page 33: TÉCNICAS DE PROGRAMACIÓN ING. EDDYE ARTURO SANCHEZ CASTILLO eddiesanchez0710@gmail.com

ENUNCIADO

METODO PARA LA SOLUCION DE PROBLEMAS

DESCRIPCIONPROBLEMA

DEFINICIONSOLUCION

DOCUMEN-TACION

DEPURACIONPRUEBAS

DESARROLLOCODIFICACION

DISEÑOLOGICA

ETAPA 01 ETAPA 06ETAPA 05ETAPA 04ETAPA 03ETAPA 02

RESULTADOSPROGRAMASDIAGRAMAS Y ALGORITMO

ESPECIFICACIONES

Manuales