SlideShare a Scribd company logo
1 of 47
Download to read offline
RESOLUCIÓN DE PROBLEMAS CON
COMPUTADORA Y HERRAMIENTAS
   M   A    A      AM N A
DE PROGRAMACIÓN
Contenido
 Fases en la resolución de un problema
                              p
 Herramientas de programación
 Ejemplos
 Programación modular
 Estructuras de control
 Resumen
Fases en la resolución de un problema
 Análisis del problema
 Diseño del algoritmo
 Codificación
 Compilación y ejecución
 Verificación
 Depuración
 D        ió
 Mantenimiento
 Documentación
Cont…
Cont
 Análisis.- el problema se analiza teniendo presente las
 especificaciones de los requisitos dados por el cliente o la
 empresa que encarga el programa
 Diseño.- una vez analizado el problema se di ñ una
 Di ñ                   li d      l    bl        diseña
 solución que conducirá a un algoritmo que resuelva el
 p
 problema
 Codificación (implementación).- la solución se escribe en la
 sintaxis del lenguaje de alto nivel (por ejemplo C) y se
 obtiene un programa
   bi
Cont…
Cont
 Compilación, ejecución y verificación.- El programa se
 ejecuta, se comprueba rigurosamente y se eliminan todos los
 errores que puedan aparecer
 Depuración y mantenimiento.- el programa se analiza y
 D        ió          t i i t      l                  li
 modifica cada vez que sea necesario, de modo que se
 cumplan todas las necesidades de cambio de sus usuarios
     p
 Documentación.- escritura de las diferentes fases del ciclo
 de vida del software, esencialmente el análisis, diseño y
 codificación, unidos a manuales d usuario y d referencia
   difi ió       id          l de       i    de f        i
Algoritmo
 Algoritmo.- es un método para resolver un problema
   g                           p                    p
 mediante una serie de pasos precisos definidos y finitos
 Características de un algoritmo
   Preciso (indicar el orden de realización en cada paso)
   Definido (si se sigue dos veces se obtiene el mismo resultado cada
   vez)
   Finito (tiene fin; un numero determinado de pasos)
Herramientas de programación
 Las dos herramientas mas utilizadas comúnmente para diseñar
                                                 p
 algoritmos son; diagramas de flujo y pseudocódigos
 Diagramas de flujo.- es una representación grafica de un
 algoritmo. Los símbolos utilizados están normalizados por el
 ANSI
 Pseudocódigo.- es una h
 P d ódi                   herramienta d programación en l
                                        de              ó       la
 que las instrucciones se escriben en palabras similares al ingles
 o español, que facilitan tanto la escritura como la lectura de
 programas
Símbolos mas utilizados en diagramas de flujo
Símbolos de diagrama de flujo
 Terminal, ( p
          , (representa el inicio y el final de
 un programa, también puede representar
 una parada o interrupción programada
 que sea necesario realizar)
 Entrada/salida, (cualquier tipo de
 introducción d datos en l memoria desde
 i    d ió de d             la         i d d
                                                  Salida
 los periféricos o registro de la información
 procesada en los periféricos)
Símbolos de diagrama de flujo
 Proceso, (
         , (cualquier tipo de operación que
                q       p      p         q
 pueda originar cambio de valor, formato o
 posición de la información almacenada,
 operaciones aritméticas, transferencia, etc.)
                                f
 Decisión, (indica operaciones lógicas o de
 comparación entre d
            ió        datos, y en función del
                                  f ió d l
 resultado se determina cual de los distintos
 caminos el programa debe seguir
Ejemplo 1
 Calcular la paga neta
             p g          Algoritmo
 de un trabajador           Leer Horas, Tarifa, tasa
 conociendo el numero       Calcular Paga bruta=Horas * Tarifa
                                       g
 de horas trabajadas,       Calcular impuestos=Paga Bruta * Tasa
 la tarifa horaria y la     Calcular paga Neta=Paga Bruta –
 tasa de impuestos          impuestos
                            Visualizar Paga bruta, Impuestos, Paga
                            Neta
Ejemplo 2; Suma o producto
 //Algoritmo que lee 3 números y si el primero es positivo, calcula el producto de los otros dos y en otro caso calcula la
 //suma. Se usan 3 variable enteras num1, num2 y num3, en las que se leen los datos, y otras dos en las que se calcula el
 //producto o l suma.
 // d         la
 Proceso Suma_o_Producto
          Escribir "Introduce 3 números";
          Leer num1, num2,num3;
          Si num1>0 Entonces
                         producto<-num2*num3;
                         Escribir "El producto de los dos últimos números es: ",producto;
          Sino
                         suma<-num2+num3;
                         Escribir "La suma de los dos últimos números es: ",suma;
          FinSi


 FinProceso
Ejemplo; Suma o producto
Ejemplos para la clase
 Calcular el valor de la   Dados 3 números
 suma 1+2+3..+100          determinar si la suma de
                           cualquier pareja de ellos
 Realizar la suma de       es igual al tercer numero.
 todos los números         Si se cumple esta
 pares entre 2 y 1000
          t                condición,
                           condición escribir
                           “iguales” y , en caso
                           contario escribir “distintos”
Deber
 Ejercicios, capitulo 2
   2.2
   2.3
   23
   2.6
Codificación de un programa
 Codificación es la escritura de un lenguaje de programación
                                       g j      p g
 de la representación del algoritmo desarrollada en las
 etapas precedentes. Dado que el diseño de un algoritmo es
 independiente del lenguaje de programación utilizado para
 su implementación, el código puede ser escrito con igual
 facilidad en un lenguaje o en otro
Programación modular
 La descomposición de un
 programa en módulos
 independientes mas simples
 se conoce como “divide y
 vencerás”. Se diseña cada
 modulo con independencia
 de los demás hasta la
 descomposición del
 problema en módulos en
 forma jerárquica
Programación estructurada
 Se refiere a un conjunto de técnicas que aumentan
 considerablemente l productividad d l programa reduciendo el
      id bl         la    d i id d del                 d i d l
 tiempo requerido para escribir, verificar, depurar y mantener los
 programas. La programación estructurada utiliza un numero
 limitado de estructuras de control que minimizan la complejidad
 de los programas y reducen los errores
 La programación estructurada es el conjunto de técnicas que
 incorpora;
   Recursos abstractos
   Diseño descendente
   Estructuras básicas
Estructuras de control
 Las estructuras de control de un lenguaje de programación,
                                       g j       p g        ,
 son métodos de especificar el orden en que las instrucciones
 de un algoritmo se ejecutaran. El orden de ejecución de las
 sentencias o instrucciones determinan el flujo de control
 Las estructuras de control básico son
   Secuencia
   Selección
   repetición
        i ió
Resumen
 El sistema mas idóneo para resolver un problema es
 descomponerlo en módulos mas sencillos, y l
 d             l          ód l              ill       luego mediante
                                                              di
 diseños descendentes y refinamiento sucesivo, llegar a módulos
 fácilmente codificables. Estos módulos se deben codificar con las
 estructuras de control de programación estructurada
 Secuenciales.- las instrucciones se ejecutan sucesivamente
 Repetitivas.- una serie de instrucciones se repiten una y otra vez
    p                                            p
 hasta que se cumpla una cierta condición
 Selectivas.- permite elegir entre dos alternativas dependiendo de
 una condición determinada
ESTRUCTURA GENERAL DE UN
PROGRAMA
Contenido
 Partes constitutivas de un programa
 Instrucciones y tipos de instrucciones
 Elementos básicos de un programa
 Datos, tipos de datos
 Expresiones
 La operación de asignación
 Estructura de algoritmo
 Ejemplos
 E      l
Partes constitutivas de un programa
 Conceptualmente un programa puede ser considerad como
       p             p g        p
 una caja negra. La caja negra o el algoritmo de resolución,
 en realidad es el conjunto de códigos que transforman las
 entradas del programa (datos) en salidas (resultados)
Instrucciones y tipos de instrucciones
 El proceso de diseño del algoritmo o posteriormente de
 codificación del programa consiste en definir las acciones o
 instrucciones que resolverán el problema
 Tipos de instrucciones
   Instrucciones de inicio/ fin
   Instrucciones de asignación
   Instrucciones de lectura
   Instrucciones de escritura
   Instrucciones de bifurcación
Instrucciones de asignación
 A 80 la variable A toma el valor de 80
 Cual será el valor que tomara la variable C tras la
 ejecución de las siguientes instrucciones
 A 80
 B A
 C D
Instrucciones de lectura y escritura
 Esta instrucción lee datos de un dispositivo de entrada
   leer (A,B,C)
   Leer (num1)
 Estas instrucciones se escriben en un dispositivo de
 salida
   escribir (A,B,C)
   Escribir (num1)
            (n m1)
Instrucciones de bifurcación
 El desarrollo lineal de un programa se interrumpe
 cuando se ejecuta una bifurcación. Las bifurcaciones
 pueden ser según el punto del programa a donde
          ser,
 se bifurca, hacia adelante o hacia atrás
 Las bifurcaciones en el fl j d un programa se
 L bif         i         l flujo de
 realizan de modo condicional en función del
 resultado d l evaluación e l condición
     l d de la       l ió la        di ió
Elementos básicos de un programa
 Los elementos básicos constitutivos de un programa o
 algoritmo son;
   Palabras reservadas (inicio, fin, si-entonces..etc.)
   identificadores (nombres de variables, procedimientos..etc.)
                                variables procedimientos etc )
   Caracteres especiales (coma, apostrofe, etc.)
   Constantes
   Variables
   Expresiones
   Instrucciones
Cont…
Cont
 Además de estos elementos básicos, existen otros elementos que
 forman parte d l programas, cuya comprensión y f i
 f             de los                            ió   funcionamiento
                                                                i
 será vital para el correcto diseño de un algoritmo y la codificación
 del programa
   Bucles
       l
   Acumuladores
   Interruptores
   Estructuras
      Secuenciales
      Selectivas
      Repetitivas
Datos,
Datos tipos de datos
 Los distintos tipos de datos se representan en
 diferentes formas en la computadora. Los tipos de
 datos simple son los siguientes;
   Numéricos (integer, real)
   Lógicos (b l )
   Ló i (boolean)
   Carácter (chart, string)
Datos numéricos
 El tipo numérico es el conjunto de los valores
 numéricos. Estos pueden representarse en dos
 formas distintas;
   Tipo numérico entero (integer)
     5, 15 20
     5 -15, 20, 6
   Tipo numérico real (real)
     0.8, 8 12 3 17 5 0 1240 23
     0 8 -8.12, 3.17, 5.0, 1240.23
Datos booleanos y tipo carácter
 El tipo lógico es aquel dato que solo puede tomar uno de
 dos valores;
   Verdadero (true)
   Faso (false)
 El tipo carácter es el conjunto finito ordenado de caracteres
 que la computadora reconoce (A,B,C,a,b,c,1,2,3,+,-,*)
 Una cadena (string) de caracteres es una sucesión de
 caracteres que se encuentran delimitados por una comilla
 ‘hola buen día’
  hola       día
Constantes y variables
 Los programas de computadora contienen ciertos
 valores que no deben cambiar durante al ejecución del
 programa. Tales valores se llaman constantes
 De igual f
 D i       l forma existen otros valores que cambiaran
                      it    t      l             bi
 durante la ejecución de del programa; a estos valores
 se les llama variables
 Una constante es una partida de datos que pertenecen
 sin cambios durante todo el desarrollo del algoritmo o
 durante l ejecución d l programa
 d      t la j     ió del
Expresiones
 Las expresiones son combinaciones de constantes,
 variables símbolos de operación, paréntesis y nombres
 de funciones especiales; por ejemplo; a+(b+3)+√3
 Las
 L expresiones se clasifican en;
            i        l ifi
   Aritméticas
   Relacionales
   Lógicas
   Carácter
Expresiones aritméticas
 Las expresiones aritméticas son análogas a las formulas
 matemáticas
   + suma
   - resta
   * multiplicación
   / división
   **, ^ exponenciación
   div división entera
   mod modulo (resto)
Reglas de prioridad
 Las operaciones aritméticas dentro de una
      p
 expresión suelen seguir el siguiente orden de
 prioridad;
   Operador exponecial (^, **)
   Operadores *,/
    p           /
   Operadores div y mod
   Operadores +,-
    p           ,
Ejemplos
 -4*7+2^3/4-5
 8+7*3+4*6
 Que se obtiene en las variables A, B, C después de ejecutar
 las instrucciones siguientes
 l i t       i      i i t
   A   3
   B   20
   C   A+B
   B   A+B
   A   B-C
       BC
Expresiones lógicas (booleanas)
 Un segundo tipo de expresiones es la expresión lógica o
 booleana, cuyo valor es siempre verdadero o falso
 Operadores de relación
   < menor que
   > mayor que
   = igual que
   <= menor o igual que
   >= mayor o igual que
   <> distinto de
Operadores lógicos
 Los operadores lógicos o booleanos básicos son; not
 (no), and (y) y or (o)
    AND               OR         NOT
Funciones internas
 Las operaciones que se requieren en los
 programas exigen en numerosas
 ocasiones un numero determinado de
 operadores
  p             especiales
                  p           q
                              que     se
 denominan funciones internas
La operación de asignación
 La operación de asignación es el modo de almacenar valores
      p              g
 a una variable. La operación de asignación se representa con
 el símbolo u operador
   A   5
   X   Y+2
   N   N+1
   N   8<5
Entrada y salida de información
 Los cálculos que realizan las computadoras requieren para ser
               q                  p           q       p
 útiles la entrada de datos necesarios para ejecutar las
 operaciones que posteriormente se convertirán en resultados,
 es decir, salida
 Leer (A, B, C)
 Escribir (‘hola a todos’)
Estructura de algoritmo
 Un algoritmo constara de dos componentes; una cabecera de
 programa y un bl bloque algoritmo. L cabecera d programa es una
                           l i      La b          de
 acción simple que comienza con la palabra algoritmo. Esta palabra
 estará seguida por el nombre asignado al programa. El bloque
 algoritmo es el resto del programa y consta de dos componentes o
 secciones; las acciones de declaración y las acciones ejecutables
   Algoritmo
   Cabecera d l programa
   C b       del
   Sección de declaración
   Sección de acciones
Cont…
Cont
 Cabecera del programa o algoritmo
    Todos los programas deben comenzar con una cabecera en la que se exprese el
    identificador o nombre correspondiente
 Declaración de variables
    En esta sección se declaran o describen todas las variables utilizadas en el
    algoritmo
 Declaración de constantes
    En esta sección se declaran todas las constantes que tengan nombre
 Comentarios
    La documentación del programa es el conjunto de información interna externa
    al programa que facilita su posterior mantenimiento
     l              f l
Ejemplos
 Escriba un algoritmo que acepte 3 números enteros
 e imprima el mayor de ellos
 Diseñar un algoritmo para resolver una ecuación de
 segundo orden AX2+BX+C=0
 Escribir un algoritmo que calcule el producto de los
 n primeros números naturales
Deber
 Ejercicios, capitulo 3
   3.12
   3.16
   3 16
   3.21
Patrón de prueba de pantalla panorámica (16:9)




                               Prueba de la
                                relación de
                                  aspecto
                            (Debe parecer circular)




       4x3

16x9

More Related Content

What's hot

Disenoestructuradoalgoritmos
DisenoestructuradoalgoritmosDisenoestructuradoalgoritmos
Disenoestructuradoalgoritmosarmando_franco
 
Diagramas flujo
Diagramas flujoDiagramas flujo
Diagramas flujoinfobran
 
Fundamentos de programación
Fundamentos de programaciónFundamentos de programación
Fundamentos de programaciónEdison Morales
 
Programacion Estructurada
Programacion EstructuradaProgramacion Estructurada
Programacion Estructuradaramirezadi
 
Métodos de programación, diagramas y pseudocódigos
Métodos de programación, diagramas y pseudocódigos Métodos de programación, diagramas y pseudocódigos
Métodos de programación, diagramas y pseudocódigos kira-akira
 
Fundamentos de programación
Fundamentos de programaciónFundamentos de programación
Fundamentos de programaciónIng Cabrera
 
Fundamentos de Programacion
Fundamentos de ProgramacionFundamentos de Programacion
Fundamentos de Programacionneyvajms
 
Fundamentos de Programación. Unidad I
Fundamentos de Programación. Unidad IFundamentos de Programación. Unidad I
Fundamentos de Programación. Unidad IFranco Guamán
 
Clase de metodologia para analisis y planteamiento de problemas
Clase de metodologia para analisis y planteamiento de problemasClase de metodologia para analisis y planteamiento de problemas
Clase de metodologia para analisis y planteamiento de problemasSol Hernández
 
Trabajo de tecnologia
Trabajo de tecnologia Trabajo de tecnologia
Trabajo de tecnologia JuanGarcia1543
 
Clase 3. Datos y Entidades Primitivas - Sullin Santaella
Clase 3. Datos y Entidades Primitivas - Sullin SantaellaClase 3. Datos y Entidades Primitivas - Sullin Santaella
Clase 3. Datos y Entidades Primitivas - Sullin SantaellaJosé Ricardo Tillero Giménez
 
ResolucióN De Problemas
ResolucióN De ProblemasResolucióN De Problemas
ResolucióN De Problemasguest796d29
 
ALGORITMO Y METODOLOGÍA PARA LA RESOLUCIÓN PROBLEMAS BASADOS EN EL COMPUTADOR
ALGORITMO Y METODOLOGÍA PARA LA RESOLUCIÓN PROBLEMAS BASADOS EN EL COMPUTADOR ALGORITMO Y METODOLOGÍA PARA LA RESOLUCIÓN PROBLEMAS BASADOS EN EL COMPUTADOR
ALGORITMO Y METODOLOGÍA PARA LA RESOLUCIÓN PROBLEMAS BASADOS EN EL COMPUTADOR DarkStarPlay
 
Algoritmos TECNICO EN DESARROLLO DE SOFTWARE
Algoritmos TECNICO EN DESARROLLO DE SOFTWAREAlgoritmos TECNICO EN DESARROLLO DE SOFTWARE
Algoritmos TECNICO EN DESARROLLO DE SOFTWAREPedro Alvarez
 

What's hot (18)

Anexo1
Anexo1Anexo1
Anexo1
 
Disenoestructuradoalgoritmos
DisenoestructuradoalgoritmosDisenoestructuradoalgoritmos
Disenoestructuradoalgoritmos
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Diagramas flujo
Diagramas flujoDiagramas flujo
Diagramas flujo
 
Fundamentos de programación
Fundamentos de programaciónFundamentos de programación
Fundamentos de programación
 
Programacion Estructurada
Programacion EstructuradaProgramacion Estructurada
Programacion Estructurada
 
Métodos de programación, diagramas y pseudocódigos
Métodos de programación, diagramas y pseudocódigos Métodos de programación, diagramas y pseudocódigos
Métodos de programación, diagramas y pseudocódigos
 
Fundamentos de programación
Fundamentos de programaciónFundamentos de programación
Fundamentos de programación
 
Fundamentos de Programacion
Fundamentos de ProgramacionFundamentos de Programacion
Fundamentos de Programacion
 
Fundamentos de Programación. Unidad I
Fundamentos de Programación. Unidad IFundamentos de Programación. Unidad I
Fundamentos de Programación. Unidad I
 
Clase de metodologia para analisis y planteamiento de problemas
Clase de metodologia para analisis y planteamiento de problemasClase de metodologia para analisis y planteamiento de problemas
Clase de metodologia para analisis y planteamiento de problemas
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Trabajo de tecnologia
Trabajo de tecnologia Trabajo de tecnologia
Trabajo de tecnologia
 
Clase 3. Datos y Entidades Primitivas - Sullin Santaella
Clase 3. Datos y Entidades Primitivas - Sullin SantaellaClase 3. Datos y Entidades Primitivas - Sullin Santaella
Clase 3. Datos y Entidades Primitivas - Sullin Santaella
 
ResolucióN De Problemas
ResolucióN De ProblemasResolucióN De Problemas
ResolucióN De Problemas
 
ALGORITMO Y METODOLOGÍA PARA LA RESOLUCIÓN PROBLEMAS BASADOS EN EL COMPUTADOR
ALGORITMO Y METODOLOGÍA PARA LA RESOLUCIÓN PROBLEMAS BASADOS EN EL COMPUTADOR ALGORITMO Y METODOLOGÍA PARA LA RESOLUCIÓN PROBLEMAS BASADOS EN EL COMPUTADOR
ALGORITMO Y METODOLOGÍA PARA LA RESOLUCIÓN PROBLEMAS BASADOS EN EL COMPUTADOR
 
Algoritmos TECNICO EN DESARROLLO DE SOFTWARE
Algoritmos TECNICO EN DESARROLLO DE SOFTWAREAlgoritmos TECNICO EN DESARROLLO DE SOFTWARE
Algoritmos TECNICO EN DESARROLLO DE SOFTWARE
 
Diagrama secuencial
Diagrama secuencialDiagrama secuencial
Diagrama secuencial
 

Similar to Clase 2

Solución de problemas aplicando la computadora
Solución de problemas aplicando la computadoraSolución de problemas aplicando la computadora
Solución de problemas aplicando la computadorarestradal
 
Algoritmos Conceptos Basicos - www.ingfiis.tk
Algoritmos Conceptos Basicos - www.ingfiis.tkAlgoritmos Conceptos Basicos - www.ingfiis.tk
Algoritmos Conceptos Basicos - www.ingfiis.tkLaurence HR
 
Algoritmosconeptosbasicos 1
Algoritmosconeptosbasicos 1Algoritmosconeptosbasicos 1
Algoritmosconeptosbasicos 1Espoch_lvaca
 
Resolución de problemas y algoritmo
Resolución de problemas y algoritmoResolución de problemas y algoritmo
Resolución de problemas y algoritmoNombre Apellidos
 
Fundamentos de Programación
Fundamentos de ProgramaciónFundamentos de Programación
Fundamentos de ProgramaciónKudos S.A.S
 
Entrada y salida de información; Escritura de algoritmos.
Entrada y salida de información; Escritura de algoritmos.Entrada y salida de información; Escritura de algoritmos.
Entrada y salida de información; Escritura de algoritmos.Damian Chuncho
 
Etapas del desarrolo de un programa
Etapas del desarrolo de un programaEtapas del desarrolo de un programa
Etapas del desarrolo de un programazeta2015
 
Pricipios de Programación
Pricipios de Programación Pricipios de Programación
Pricipios de Programación Adolfo Vazcoy
 
Desarrollo de lógica algorítmica_PARTE 1.PPTX
Desarrollo de lógica algorítmica_PARTE 1.PPTXDesarrollo de lógica algorítmica_PARTE 1.PPTX
Desarrollo de lógica algorítmica_PARTE 1.PPTXReyna FalcÓn
 
Fpr Tema 1 www.fresymetal.com
Fpr Tema 1 www.fresymetal.comFpr Tema 1 www.fresymetal.com
Fpr Tema 1 www.fresymetal.comFresyMetal
 
Video Primer Bimestre Metodologia Abierta
Video Primer Bimestre Metodologia AbiertaVideo Primer Bimestre Metodologia Abierta
Video Primer Bimestre Metodologia AbiertaDanilo Jaramillo
 

Similar to Clase 2 (20)

Solución de problemas aplicando la computadora
Solución de problemas aplicando la computadoraSolución de problemas aplicando la computadora
Solución de problemas aplicando la computadora
 
Algoritmo
AlgoritmoAlgoritmo
Algoritmo
 
Algoritmos Conceptos Basicos - www.ingfiis.tk
Algoritmos Conceptos Basicos - www.ingfiis.tkAlgoritmos Conceptos Basicos - www.ingfiis.tk
Algoritmos Conceptos Basicos - www.ingfiis.tk
 
Algoritmosconeptosbasicos 1
Algoritmosconeptosbasicos 1Algoritmosconeptosbasicos 1
Algoritmosconeptosbasicos 1
 
Resolución de problemas y algoritmo
Resolución de problemas y algoritmoResolución de problemas y algoritmo
Resolución de problemas y algoritmo
 
Fundamentos de Programación
Fundamentos de ProgramaciónFundamentos de Programación
Fundamentos de Programación
 
Entrada y salida de información; Escritura de algoritmos.
Entrada y salida de información; Escritura de algoritmos.Entrada y salida de información; Escritura de algoritmos.
Entrada y salida de información; Escritura de algoritmos.
 
Etapas del desarrolo de un programa
Etapas del desarrolo de un programaEtapas del desarrolo de un programa
Etapas del desarrolo de un programa
 
Pricipios de Programación
Pricipios de Programación Pricipios de Programación
Pricipios de Programación
 
BORLAND
BORLANDBORLAND
BORLAND
 
Desarrollo de lógica algorítmica_PARTE 1.PPTX
Desarrollo de lógica algorítmica_PARTE 1.PPTXDesarrollo de lógica algorítmica_PARTE 1.PPTX
Desarrollo de lógica algorítmica_PARTE 1.PPTX
 
Programación
ProgramaciónProgramación
Programación
 
INTRODUCCION
INTRODUCCIONINTRODUCCION
INTRODUCCION
 
Fpr Tema 1 www.fresymetal.com
Fpr Tema 1 www.fresymetal.comFpr Tema 1 www.fresymetal.com
Fpr Tema 1 www.fresymetal.com
 
Apartes De Algoritmos
Apartes De AlgoritmosApartes De Algoritmos
Apartes De Algoritmos
 
TEMA11.ppt
TEMA11.pptTEMA11.ppt
TEMA11.ppt
 
Unidad 2
Unidad 2Unidad 2
Unidad 2
 
Video Primer Bimestre Metodologia Abierta
Video Primer Bimestre Metodologia AbiertaVideo Primer Bimestre Metodologia Abierta
Video Primer Bimestre Metodologia Abierta
 
Resumen prgramacion
Resumen prgramacionResumen prgramacion
Resumen prgramacion
 
Unmsm01 2008
Unmsm01 2008Unmsm01 2008
Unmsm01 2008
 

More from diego MC

Que es_mision
 Que es_mision Que es_mision
Que es_misiondiego MC
 
Contenido cient fico(didactica especial)
Contenido cient fico(didactica especial)Contenido cient fico(didactica especial)
Contenido cient fico(didactica especial)diego MC
 
Sicolog a evolutiva_contenido
Sicolog a evolutiva_contenidoSicolog a evolutiva_contenido
Sicolog a evolutiva_contenidodiego MC
 
Neurociencias 4
Neurociencias 4Neurociencias 4
Neurociencias 4diego MC
 
Clase 10_ programacion
Clase 10_ programacionClase 10_ programacion
Clase 10_ programaciondiego MC
 
Clase 9- programacion
Clase 9- programacionClase 9- programacion
Clase 9- programaciondiego MC
 
Clase 11- fundamentos de la programacion
Clase 11- fundamentos de la programacionClase 11- fundamentos de la programacion
Clase 11- fundamentos de la programaciondiego MC
 
Neurociencias 4
Neurociencias 4Neurociencias 4
Neurociencias 4diego MC
 
Presentacion unidad 4_neurociencias
Presentacion unidad 4_neurocienciasPresentacion unidad 4_neurociencias
Presentacion unidad 4_neurocienciasdiego MC
 

More from diego MC (14)

Que es_mision
 Que es_mision Que es_mision
Que es_mision
 
Contenido cient fico(didactica especial)
Contenido cient fico(didactica especial)Contenido cient fico(didactica especial)
Contenido cient fico(didactica especial)
 
Sicolog a evolutiva_contenido
Sicolog a evolutiva_contenidoSicolog a evolutiva_contenido
Sicolog a evolutiva_contenido
 
Neurociencias 4
Neurociencias 4Neurociencias 4
Neurociencias 4
 
Clase 10_ programacion
Clase 10_ programacionClase 10_ programacion
Clase 10_ programacion
 
Clase 9- programacion
Clase 9- programacionClase 9- programacion
Clase 9- programacion
 
Clase 6
Clase 6Clase 6
Clase 6
 
Clase 5
Clase 5Clase 5
Clase 5
 
Clase 4
Clase 4Clase 4
Clase 4
 
Clase 3
Clase 3Clase 3
Clase 3
 
Clase 1
Clase 1Clase 1
Clase 1
 
Clase 11- fundamentos de la programacion
Clase 11- fundamentos de la programacionClase 11- fundamentos de la programacion
Clase 11- fundamentos de la programacion
 
Neurociencias 4
Neurociencias 4Neurociencias 4
Neurociencias 4
 
Presentacion unidad 4_neurociencias
Presentacion unidad 4_neurocienciasPresentacion unidad 4_neurociencias
Presentacion unidad 4_neurociencias
 

Clase 2

  • 1. RESOLUCIÓN DE PROBLEMAS CON COMPUTADORA Y HERRAMIENTAS M A A AM N A DE PROGRAMACIÓN
  • 2. Contenido Fases en la resolución de un problema p Herramientas de programación Ejemplos Programación modular Estructuras de control Resumen
  • 3. Fases en la resolución de un problema Análisis del problema Diseño del algoritmo Codificación Compilación y ejecución Verificación Depuración D ió Mantenimiento Documentación
  • 4. Cont… Cont Análisis.- el problema se analiza teniendo presente las especificaciones de los requisitos dados por el cliente o la empresa que encarga el programa Diseño.- una vez analizado el problema se di ñ una Di ñ li d l bl diseña solución que conducirá a un algoritmo que resuelva el p problema Codificación (implementación).- la solución se escribe en la sintaxis del lenguaje de alto nivel (por ejemplo C) y se obtiene un programa bi
  • 5. Cont… Cont Compilación, ejecución y verificación.- El programa se ejecuta, se comprueba rigurosamente y se eliminan todos los errores que puedan aparecer Depuración y mantenimiento.- el programa se analiza y D ió t i i t l li modifica cada vez que sea necesario, de modo que se cumplan todas las necesidades de cambio de sus usuarios p Documentación.- escritura de las diferentes fases del ciclo de vida del software, esencialmente el análisis, diseño y codificación, unidos a manuales d usuario y d referencia difi ió id l de i de f i
  • 6. Algoritmo Algoritmo.- es un método para resolver un problema g p p mediante una serie de pasos precisos definidos y finitos Características de un algoritmo Preciso (indicar el orden de realización en cada paso) Definido (si se sigue dos veces se obtiene el mismo resultado cada vez) Finito (tiene fin; un numero determinado de pasos)
  • 7. Herramientas de programación Las dos herramientas mas utilizadas comúnmente para diseñar p algoritmos son; diagramas de flujo y pseudocódigos Diagramas de flujo.- es una representación grafica de un algoritmo. Los símbolos utilizados están normalizados por el ANSI Pseudocódigo.- es una h P d ódi herramienta d programación en l de ó la que las instrucciones se escriben en palabras similares al ingles o español, que facilitan tanto la escritura como la lectura de programas
  • 8. Símbolos mas utilizados en diagramas de flujo
  • 9. Símbolos de diagrama de flujo Terminal, ( p , (representa el inicio y el final de un programa, también puede representar una parada o interrupción programada que sea necesario realizar) Entrada/salida, (cualquier tipo de introducción d datos en l memoria desde i d ió de d la i d d Salida los periféricos o registro de la información procesada en los periféricos)
  • 10. Símbolos de diagrama de flujo Proceso, ( , (cualquier tipo de operación que q p p q pueda originar cambio de valor, formato o posición de la información almacenada, operaciones aritméticas, transferencia, etc.) f Decisión, (indica operaciones lógicas o de comparación entre d ió datos, y en función del f ió d l resultado se determina cual de los distintos caminos el programa debe seguir
  • 11. Ejemplo 1 Calcular la paga neta p g Algoritmo de un trabajador Leer Horas, Tarifa, tasa conociendo el numero Calcular Paga bruta=Horas * Tarifa g de horas trabajadas, Calcular impuestos=Paga Bruta * Tasa la tarifa horaria y la Calcular paga Neta=Paga Bruta – tasa de impuestos impuestos Visualizar Paga bruta, Impuestos, Paga Neta
  • 12. Ejemplo 2; Suma o producto //Algoritmo que lee 3 números y si el primero es positivo, calcula el producto de los otros dos y en otro caso calcula la //suma. Se usan 3 variable enteras num1, num2 y num3, en las que se leen los datos, y otras dos en las que se calcula el //producto o l suma. // d la Proceso Suma_o_Producto Escribir "Introduce 3 números"; Leer num1, num2,num3; Si num1>0 Entonces producto<-num2*num3; Escribir "El producto de los dos últimos números es: ",producto; Sino suma<-num2+num3; Escribir "La suma de los dos últimos números es: ",suma; FinSi FinProceso
  • 13. Ejemplo; Suma o producto
  • 14. Ejemplos para la clase Calcular el valor de la Dados 3 números suma 1+2+3..+100 determinar si la suma de cualquier pareja de ellos Realizar la suma de es igual al tercer numero. todos los números Si se cumple esta pares entre 2 y 1000 t condición, condición escribir “iguales” y , en caso contario escribir “distintos”
  • 15. Deber Ejercicios, capitulo 2 2.2 2.3 23 2.6
  • 16. Codificación de un programa Codificación es la escritura de un lenguaje de programación g j p g de la representación del algoritmo desarrollada en las etapas precedentes. Dado que el diseño de un algoritmo es independiente del lenguaje de programación utilizado para su implementación, el código puede ser escrito con igual facilidad en un lenguaje o en otro
  • 17. Programación modular La descomposición de un programa en módulos independientes mas simples se conoce como “divide y vencerás”. Se diseña cada modulo con independencia de los demás hasta la descomposición del problema en módulos en forma jerárquica
  • 18. Programación estructurada Se refiere a un conjunto de técnicas que aumentan considerablemente l productividad d l programa reduciendo el id bl la d i id d del d i d l tiempo requerido para escribir, verificar, depurar y mantener los programas. La programación estructurada utiliza un numero limitado de estructuras de control que minimizan la complejidad de los programas y reducen los errores La programación estructurada es el conjunto de técnicas que incorpora; Recursos abstractos Diseño descendente Estructuras básicas
  • 19. Estructuras de control Las estructuras de control de un lenguaje de programación, g j p g , son métodos de especificar el orden en que las instrucciones de un algoritmo se ejecutaran. El orden de ejecución de las sentencias o instrucciones determinan el flujo de control Las estructuras de control básico son Secuencia Selección repetición i ió
  • 20. Resumen El sistema mas idóneo para resolver un problema es descomponerlo en módulos mas sencillos, y l d l ód l ill luego mediante di diseños descendentes y refinamiento sucesivo, llegar a módulos fácilmente codificables. Estos módulos se deben codificar con las estructuras de control de programación estructurada Secuenciales.- las instrucciones se ejecutan sucesivamente Repetitivas.- una serie de instrucciones se repiten una y otra vez p p hasta que se cumpla una cierta condición Selectivas.- permite elegir entre dos alternativas dependiendo de una condición determinada
  • 21. ESTRUCTURA GENERAL DE UN PROGRAMA
  • 22. Contenido Partes constitutivas de un programa Instrucciones y tipos de instrucciones Elementos básicos de un programa Datos, tipos de datos Expresiones La operación de asignación Estructura de algoritmo Ejemplos E l
  • 23. Partes constitutivas de un programa Conceptualmente un programa puede ser considerad como p p g p una caja negra. La caja negra o el algoritmo de resolución, en realidad es el conjunto de códigos que transforman las entradas del programa (datos) en salidas (resultados)
  • 24. Instrucciones y tipos de instrucciones El proceso de diseño del algoritmo o posteriormente de codificación del programa consiste en definir las acciones o instrucciones que resolverán el problema Tipos de instrucciones Instrucciones de inicio/ fin Instrucciones de asignación Instrucciones de lectura Instrucciones de escritura Instrucciones de bifurcación
  • 25. Instrucciones de asignación A 80 la variable A toma el valor de 80 Cual será el valor que tomara la variable C tras la ejecución de las siguientes instrucciones A 80 B A C D
  • 26. Instrucciones de lectura y escritura Esta instrucción lee datos de un dispositivo de entrada leer (A,B,C) Leer (num1) Estas instrucciones se escriben en un dispositivo de salida escribir (A,B,C) Escribir (num1) (n m1)
  • 27. Instrucciones de bifurcación El desarrollo lineal de un programa se interrumpe cuando se ejecuta una bifurcación. Las bifurcaciones pueden ser según el punto del programa a donde ser, se bifurca, hacia adelante o hacia atrás Las bifurcaciones en el fl j d un programa se L bif i l flujo de realizan de modo condicional en función del resultado d l evaluación e l condición l d de la l ió la di ió
  • 28. Elementos básicos de un programa Los elementos básicos constitutivos de un programa o algoritmo son; Palabras reservadas (inicio, fin, si-entonces..etc.) identificadores (nombres de variables, procedimientos..etc.) variables procedimientos etc ) Caracteres especiales (coma, apostrofe, etc.) Constantes Variables Expresiones Instrucciones
  • 29. Cont… Cont Además de estos elementos básicos, existen otros elementos que forman parte d l programas, cuya comprensión y f i f de los ió funcionamiento i será vital para el correcto diseño de un algoritmo y la codificación del programa Bucles l Acumuladores Interruptores Estructuras Secuenciales Selectivas Repetitivas
  • 30. Datos, Datos tipos de datos Los distintos tipos de datos se representan en diferentes formas en la computadora. Los tipos de datos simple son los siguientes; Numéricos (integer, real) Lógicos (b l ) Ló i (boolean) Carácter (chart, string)
  • 31. Datos numéricos El tipo numérico es el conjunto de los valores numéricos. Estos pueden representarse en dos formas distintas; Tipo numérico entero (integer) 5, 15 20 5 -15, 20, 6 Tipo numérico real (real) 0.8, 8 12 3 17 5 0 1240 23 0 8 -8.12, 3.17, 5.0, 1240.23
  • 32. Datos booleanos y tipo carácter El tipo lógico es aquel dato que solo puede tomar uno de dos valores; Verdadero (true) Faso (false) El tipo carácter es el conjunto finito ordenado de caracteres que la computadora reconoce (A,B,C,a,b,c,1,2,3,+,-,*) Una cadena (string) de caracteres es una sucesión de caracteres que se encuentran delimitados por una comilla ‘hola buen día’ hola día
  • 33. Constantes y variables Los programas de computadora contienen ciertos valores que no deben cambiar durante al ejecución del programa. Tales valores se llaman constantes De igual f D i l forma existen otros valores que cambiaran it t l bi durante la ejecución de del programa; a estos valores se les llama variables Una constante es una partida de datos que pertenecen sin cambios durante todo el desarrollo del algoritmo o durante l ejecución d l programa d t la j ió del
  • 34. Expresiones Las expresiones son combinaciones de constantes, variables símbolos de operación, paréntesis y nombres de funciones especiales; por ejemplo; a+(b+3)+√3 Las L expresiones se clasifican en; i l ifi Aritméticas Relacionales Lógicas Carácter
  • 35. Expresiones aritméticas Las expresiones aritméticas son análogas a las formulas matemáticas + suma - resta * multiplicación / división **, ^ exponenciación div división entera mod modulo (resto)
  • 36. Reglas de prioridad Las operaciones aritméticas dentro de una p expresión suelen seguir el siguiente orden de prioridad; Operador exponecial (^, **) Operadores *,/ p / Operadores div y mod Operadores +,- p ,
  • 37. Ejemplos -4*7+2^3/4-5 8+7*3+4*6 Que se obtiene en las variables A, B, C después de ejecutar las instrucciones siguientes l i t i i i t A 3 B 20 C A+B B A+B A B-C BC
  • 38. Expresiones lógicas (booleanas) Un segundo tipo de expresiones es la expresión lógica o booleana, cuyo valor es siempre verdadero o falso Operadores de relación < menor que > mayor que = igual que <= menor o igual que >= mayor o igual que <> distinto de
  • 39. Operadores lógicos Los operadores lógicos o booleanos básicos son; not (no), and (y) y or (o) AND OR NOT
  • 40. Funciones internas Las operaciones que se requieren en los programas exigen en numerosas ocasiones un numero determinado de operadores p especiales p q que se denominan funciones internas
  • 41. La operación de asignación La operación de asignación es el modo de almacenar valores p g a una variable. La operación de asignación se representa con el símbolo u operador A 5 X Y+2 N N+1 N 8<5
  • 42. Entrada y salida de información Los cálculos que realizan las computadoras requieren para ser q p q p útiles la entrada de datos necesarios para ejecutar las operaciones que posteriormente se convertirán en resultados, es decir, salida Leer (A, B, C) Escribir (‘hola a todos’)
  • 43. Estructura de algoritmo Un algoritmo constara de dos componentes; una cabecera de programa y un bl bloque algoritmo. L cabecera d programa es una l i La b de acción simple que comienza con la palabra algoritmo. Esta palabra estará seguida por el nombre asignado al programa. El bloque algoritmo es el resto del programa y consta de dos componentes o secciones; las acciones de declaración y las acciones ejecutables Algoritmo Cabecera d l programa C b del Sección de declaración Sección de acciones
  • 44. Cont… Cont Cabecera del programa o algoritmo Todos los programas deben comenzar con una cabecera en la que se exprese el identificador o nombre correspondiente Declaración de variables En esta sección se declaran o describen todas las variables utilizadas en el algoritmo Declaración de constantes En esta sección se declaran todas las constantes que tengan nombre Comentarios La documentación del programa es el conjunto de información interna externa al programa que facilita su posterior mantenimiento l f l
  • 45. Ejemplos Escriba un algoritmo que acepte 3 números enteros e imprima el mayor de ellos Diseñar un algoritmo para resolver una ecuación de segundo orden AX2+BX+C=0 Escribir un algoritmo que calcule el producto de los n primeros números naturales
  • 46. Deber Ejercicios, capitulo 3 3.12 3.16 3 16 3.21
  • 47. Patrón de prueba de pantalla panorámica (16:9) Prueba de la relación de aspecto (Debe parecer circular) 4x3 16x9