SlideShare ist ein Scribd-Unternehmen logo
1 von 23
Lógica de la Programación Armando Cabrera Silva 2010
Introducción La programación, en cierta forma, es la ciencia y el arte de solucionar problemas. Para ser un buen programador, debe ser bueno solucionando problemas. Para lograrlo, debe enfrentarlos en forma metódica:  desde la definición inicial e inspección del problema hasta la solución final, verificación y comentarios.  Cuando se inicia en la programación y se enfrenta a un problema, se verá tentado a codificar tan pronto como tenga una idea de cómo resolverlo.  Hay que resistirse a esta tentación.  Tal enfoque puede funcionar para problemas simples, pero no ocurre lo mismo con problemas complejos.
Objetivos: Aprenderá un método sistemático que lo convertirá en un buen solucionador de problemas y, por lo tanto, en un buen programador. A este método le llamaremos elalgoritmodel programador. Aprenderá y utilizará los pasos que se requieren para resolver casi cualquier problema de programación usando el método estructurado descendente o de arriba-abajo (top– down). Estudiará el concepto de abstracción que se requiere para un lenguaje de computadora, que permite ver los problemas en términos generales sin la angustia de los detalles de implantación. A partir de una solución inicial abstracta, refinará la solución paso a paso hasta que alcance un nivel que pueda ser codificado directamente en un lenguaje de programación.
El algoritmo del programador Un algoritmo es una secuencia ordenada de pasos, sin ambigüedades, que conducen a la solución de un problema dado y expresado en lenguaje natural, por ejemplo el castellano. Todo algoritmo debe ser: Preciso. Indicando el orden de realización de cada uno de los pasos. Definido. Si se sigue el algoritmo varias veces proporcionándole los mismos datos, se deben obtener siempre los mismos resultados. Finito. Al seguir el algoritmo, éste debe terminar en algún momento, es decir, debe terminar en un número finito de pasos.
El algoritmo del programador(1) Los algoritmos no son exclusivos de la computación. Cualquier conjunto de instrucciones, como las que se encuentran en una receta de cocina o guía de ensamblaje, pueden ser considerados algoritmos.  El algoritmo del programador es una receta que el programador sigue cuando desarrolla programas. Este algoritmo consta básicamente de cinco pasos: Definición del problema. Planeación de la solución del problema. Codificación del programa. Verificación y depuración del programa. Documentación del programa.
La definición de problema Es un paso obvio en la solución de cualquier problema. Es el que más se pasa por alto, en especial en programación.  La deficiencia de una buena definición del problema a menudo tiene como resultado tejer en el aire, especialmente en aplicaciones complejas de programación. Piense en un problema típico de programación: controlar el inventario de una gran tienda.  “¿Qué debe considerar como parte de la definición del problema?”
La definición de problema(1) La primera consideración es ¿qué se quiere lograr del sistema? La información consiste en un reporte impreso del inventario o adicionalmente,  ¿el sistema generará automáticamente las órdenes del producto basado en las ventas?  ¿Debe guardarse en disco cualquier información generada por la transacción de un cliente o puede ser descartada?  ¿Qué tipo de datos se encuentran en la información de salida o en que consiste?  ¿Es un dato numérico, de tipo carácter o ambos?  ¿Qué formato deben tener los datos de salida?  Todas estas preguntas deben contestarse para definir los requerimientos de salida.
La definición de problema(2) La segunda consideración es: dados los requerimientos de salida, ¿Cuáles son los requerimientos de entrada? Los requerimientos de salida por lo general sugieren lo que debe de introducirse (requerimientos de entrada) dentro del sistema. Por ejemplo, en nuestro problema de inventario, una salida podría ser un resumen de las compras de los clientes.  ¿Cómo se ingresan estas compras en el sistema?  ¿El dato se obtiene desde el teclado o es producto de la información que se ingresa en forma automática por un sistema óptico de reconocimientos de caracteres (OCR) que lee el precio del producto a través de código de barras ? La entrada consiste en ¿datos numéricos, datos de tipo carácter o una combinación de ambos?  ¿Cuál es el formato de los datos?
La definición del problema(4) La tercera consideración es: dados los requerimientos de salida y los de entrada 	¿Cuales son los procesos que deben de realizarse con las entradas para obtener las salidas deseadas? Para nuestro ejemplo de inventario, la mayor parte del procesamiento de los Clientes: ¿Se hace en la terminal de la caja registradora o será manejada por una computadora central de la tienda?  ¿Qué hay con respecto a la verificación de la tarjeta de crédito y los registros de inventarios? ¿Se hará este proceso en una microcomputadora local, una minicomputadora localizada dentro de la tienda o una macrocomputadora localizada en otra parte de la ciudad?  ¿Qué clase de programas se escribirán para realizar el procesamiento y quién los escribirá? ¿Qué clase de cálculos y decisiones deben hacerse a los datos dentro de los programas individuales para llevar a cabo la salida deseada?
La definición del problema(4) La definición del problema debe considerar los requerimientos de salida, entrada y procesamiento. Salida Entrada  Proceso Nombres Nombres Verbos
Planeación de la solución La etapa de planeación asociada con cualquier problema es tal vez la más importante de la solución.  Imagínese construyendo una casa sin un buen número de planos ¡Los resultados podrían ser catastróficos! Lo mismo sucede al desarrollar sistemas de información sin un buen plan.  Cuando se desarrollan sistemas de información, la etapa de planeación se implementa usando una serie de algoritmos.  Cuando se planean programas de computadora, se utilizan los algoritmos para esquematizar los pasos de la solución usando declaraciones en lenguaje natural como el castellano, llamadas seudo código, que requieren menos precisión que un lenguaje formal de programación.  Un buen algoritmo en seudocódigo debe ser independiente pero fácilmente traducible a cualquier lenguaje formal de programación.
Planeación de la solución(1) El prefijo seudo se usa para resaltar que no se pretende que este código sea compilado y ejecutado en una computadora.  La razón para usar seudo código es que nos permite transmitir en términos generales las ideas básicas de un algoritmo.  Si los programadores entienden el algoritmo que está siendo expresado por el seudo código, pueden implementarlo en el lenguaje de programación de su elección.  Un programa en seudo código simplemente expone los pasos necesarios para realizar algún cómputo mientras que el programa informático correspondiente es la traducción de estos pasos en la sintaxis de un lenguaje de programación particular. El seudo código básicamente consiste en palabras reservadas y frases afines al castellano que se utilizan para indicar el flujo de control.
Codificación del programa La codificación del programa es una de las actividades más sencillas dentro del proceso de programación, siempre y cuando se haya hecho un buen trabajo en la definición del problema y la planeación de la solución. La codificación implica la escritura real del programa en un lenguaje formal de programación.  El lenguaje que se utilice será determinado por la naturaleza del problema, los lenguajes disponibles y los límites de su sistema de cómputo.  Una vez que se selecciona un lenguaje, se escribe o codifica el programa, traduciendo los pasos de su algoritmo en código de lenguaje formal.
Codificación del programa(1) Sin embargo, la codificación es en realidad un proceso mecánico y debe ser considerada secundario para desarrollar algoritmos. En el futuro, las computadoras generarán sus propios códigos de programa a partir de algoritmos bien construidos.  La investigación en el campo de la inteligencia artificial ha dado origen al software de generación de código. Es necesario recordar que si bien las computadoras algún día puedan generar sus propios códigos de programación a partir de algoritmos, serán indispensables la creatividad y el sentido común de un humano en la planeación de la solución y el desarrollo del algoritmo.
Verificación y depuración del programa Es motivo de alegría cuando un programa corre sin ningún error por primera vez.  Una buena definición del problema y una buena planeación evitarán muchos errores en el programa. Sin embargo, siempre hay unas cuantas fallas que no son detectadas, sin importar que tan minuciosa haya sido la planeación.  Quitar las fallas del programa (depuración) a menudo es la parte del trabajo que consume más tiempo en todo el proceso de programación. Las estadísticas muestran que a menudo más de 50% del tiempo de un programador se consume en la depuración del programa.
Verificación y depuración del programa(1) No hay en absoluto un procedimiento correcto para depurar un programa, pero un enfoque sistemático puede ayudar a hacer más fácil ese proceso.  Los pasos básicos de depuración son: Darse cuenta que tiene un error Localizar y determinar la causa del error Corregir el error
Verificación y depuración del programa(2) Prueba de escritorio La prueba de escritorio de un programa es similar a revisar una carta o manuscrito. La idea es seguir el programa mentalmente para asegurarse que éste trabaja en forma lógica.  Debe considerar varias posibilidades de entrada y escribir cualquier resultado generado durante la ejecución del programa.  En particular, trate de determinar qué hará el programa con datos no muy comunes considerando posibilidades de entrada que no deberían pasar.  Siempre tenga presenta la ley de Murphy cuando haga una prueba de escritorio de un programa:  “si una condición dada no puede o no debe ocurrir, ¡ocurrirá!”
Operaciones de Seudo código
Operaciones de Seudo código Las operaciones de la tabla anterior se agrupan en tres categorías:  Secuencia,  incluye operaciones que producen una acción o resultado único. decisión e  incluye las operaciones que le permiten a la computadora tomar decisiones iteración.  incluye aquellas operaciones que se usan para ciclos o repeticiones dentro del algoritmo. “Estas categorías se llaman estructuras de control. “
Ejercicio 1 Problema Diseñar un algoritmo que lea e imprima una serie de números distintos de cero. El algoritmo debe terminar con un valor cero que no se debe imprimir. Finalmente se desea obtener la cantidad de valores leídos distintos de 0. Planteamiento de la solución  Se deben leer números dentro de un ciclo que terminará cuando el último número leído sea cero. Cada vez que ejecute dicho ciclo y antes que se lea el siguiente número se imprime éste y se incrementa el contador en una unidad. Una vez se haya salido del ciclo se debe escribir la cantidad de números leídos, es decir, el contador.
Ejercicio 1
Ejercicio 2 Problema Escribir un algoritmo para determinar el máximo común divisor de dos números enteros utilizando el algoritmo de Euclides. Planteamiento de la solución Para halla el máximo común divisor de dos números se debe dividir uno entre otro. Si la división es exacta, es decir si el residuo es 0, el máximo común divisor es el divisor. Si no, se deben dividir otra vez los números, pero en este caso el dividendo será el antiguo divisor y el divisor el residuo de la división anterior. El proceso se repetirá hasta que la división sea exacta.
Ejercicio 2

Weitere ähnliche Inhalte

Was ist angesagt?

11 estructuras de repeticion-tema11
11 estructuras de repeticion-tema1111 estructuras de repeticion-tema11
11 estructuras de repeticion-tema11Elba Sepúlveda
 
Diagrama de Flujos Ejemplos.
Diagrama de Flujos Ejemplos.Diagrama de Flujos Ejemplos.
Diagrama de Flujos Ejemplos.luismarlmg
 
LENGUAJE DE PROGRAMACION. INVESTIGACION
LENGUAJE DE PROGRAMACION. INVESTIGACIONLENGUAJE DE PROGRAMACION. INVESTIGACION
LENGUAJE DE PROGRAMACION. INVESTIGACIONKathGon1
 
Alfabetos-Lenguajes y Automatas 1
Alfabetos-Lenguajes y Automatas 1Alfabetos-Lenguajes y Automatas 1
Alfabetos-Lenguajes y Automatas 1Osiris Mirerus
 
investigacion topicos avanzados de programacion unidad dos interfaz grafica
investigacion topicos avanzados de programacion unidad dos interfaz graficainvestigacion topicos avanzados de programacion unidad dos interfaz grafica
investigacion topicos avanzados de programacion unidad dos interfaz graficaAnel Sosa
 
EJERCICIOS DE ALGORITMOS
EJERCICIOS DE ALGORITMOSEJERCICIOS DE ALGORITMOS
EJERCICIOS DE ALGORITMOS1002pc3
 
Manual algoritmos y_estructura_de_datos
Manual algoritmos y_estructura_de_datosManual algoritmos y_estructura_de_datos
Manual algoritmos y_estructura_de_datosJuan Timoteo Cori
 
1 introduccion a la programacion 1
1 introduccion  a la programacion 11 introduccion  a la programacion 1
1 introduccion a la programacion 1Evelin Claudia
 
Introducción a la Programación :: Unidad 01 :: Parte 01
Introducción a la Programación :: Unidad 01 :: Parte 01Introducción a la Programación :: Unidad 01 :: Parte 01
Introducción a la Programación :: Unidad 01 :: Parte 01Facultad de Ciencias y Sistemas
 
Tasas relacionadas
Tasas relacionadasTasas relacionadas
Tasas relacionadasfavalenc
 
Estructuras de control en Visual Basic
Estructuras de control en Visual BasicEstructuras de control en Visual Basic
Estructuras de control en Visual BasicVane Borjas
 
52 ejercicios resueltos en pseudocodigo
52 ejercicios resueltos en pseudocodigo52 ejercicios resueltos en pseudocodigo
52 ejercicios resueltos en pseudocodigoBrivé Soluciones
 
Listas de adyacencia
Listas de adyacenciaListas de adyacencia
Listas de adyacencialeidy2220
 

Was ist angesagt? (20)

AnáLisis De Algoritmos1
AnáLisis De Algoritmos1AnáLisis De Algoritmos1
AnáLisis De Algoritmos1
 
11 estructuras de repeticion-tema11
11 estructuras de repeticion-tema1111 estructuras de repeticion-tema11
11 estructuras de repeticion-tema11
 
Diagrama de Flujos Ejemplos.
Diagrama de Flujos Ejemplos.Diagrama de Flujos Ejemplos.
Diagrama de Flujos Ejemplos.
 
Ciclos
CiclosCiclos
Ciclos
 
Estructura repetitiva
Estructura repetitivaEstructura repetitiva
Estructura repetitiva
 
LENGUAJE DE PROGRAMACION. INVESTIGACION
LENGUAJE DE PROGRAMACION. INVESTIGACIONLENGUAJE DE PROGRAMACION. INVESTIGACION
LENGUAJE DE PROGRAMACION. INVESTIGACION
 
Alfabetos-Lenguajes y Automatas 1
Alfabetos-Lenguajes y Automatas 1Alfabetos-Lenguajes y Automatas 1
Alfabetos-Lenguajes y Automatas 1
 
investigacion topicos avanzados de programacion unidad dos interfaz grafica
investigacion topicos avanzados de programacion unidad dos interfaz graficainvestigacion topicos avanzados de programacion unidad dos interfaz grafica
investigacion topicos avanzados de programacion unidad dos interfaz grafica
 
Acumuladores y Contadores
Acumuladores y ContadoresAcumuladores y Contadores
Acumuladores y Contadores
 
Teoría de Conjuntos
Teoría de ConjuntosTeoría de Conjuntos
Teoría de Conjuntos
 
EJERCICIOS DE ALGORITMOS
EJERCICIOS DE ALGORITMOSEJERCICIOS DE ALGORITMOS
EJERCICIOS DE ALGORITMOS
 
Manual algoritmos y_estructura_de_datos
Manual algoritmos y_estructura_de_datosManual algoritmos y_estructura_de_datos
Manual algoritmos y_estructura_de_datos
 
1 introduccion a la programacion 1
1 introduccion  a la programacion 11 introduccion  a la programacion 1
1 introduccion a la programacion 1
 
Exactitud numerica
Exactitud numericaExactitud numerica
Exactitud numerica
 
Introducción a la Programación :: Unidad 01 :: Parte 01
Introducción a la Programación :: Unidad 01 :: Parte 01Introducción a la Programación :: Unidad 01 :: Parte 01
Introducción a la Programación :: Unidad 01 :: Parte 01
 
Tasas relacionadas
Tasas relacionadasTasas relacionadas
Tasas relacionadas
 
Estructuras de control en Visual Basic
Estructuras de control en Visual BasicEstructuras de control en Visual Basic
Estructuras de control en Visual Basic
 
52 ejercicios resueltos en pseudocodigo
52 ejercicios resueltos en pseudocodigo52 ejercicios resueltos en pseudocodigo
52 ejercicios resueltos en pseudocodigo
 
Listas de adyacencia
Listas de adyacenciaListas de adyacencia
Listas de adyacencia
 
Lectores y escritores
Lectores y escritoresLectores y escritores
Lectores y escritores
 

Andere mochten auch

Energía Alternativa
Energía Alternativa Energía Alternativa
Energía Alternativa Camila Flores
 
Plan estratégico seguridad de los pacientes de extremadura
Plan estratégico seguridad de los pacientes de extremaduraPlan estratégico seguridad de los pacientes de extremadura
Plan estratégico seguridad de los pacientes de extremaduraSociosaniTec
 
Informe mantenimiento mecanico
Informe mantenimiento mecanicoInforme mantenimiento mecanico
Informe mantenimiento mecanicoJDPVasquez
 
Proyectos_de_innovacion
Proyectos_de_innovacionProyectos_de_innovacion
Proyectos_de_innovacionWebMD
 
Training Schrijven voor het Web
Training Schrijven voor het WebTraining Schrijven voor het Web
Training Schrijven voor het WebSimone Levie
 
Marco del buen desempeño docente
Marco del buen desempeño docenteMarco del buen desempeño docente
Marco del buen desempeño docente0013
 
Primer Paquete Económico 2017 Zacatecas (2/9)
Primer Paquete Económico 2017 Zacatecas (2/9)Primer Paquete Económico 2017 Zacatecas (2/9)
Primer Paquete Económico 2017 Zacatecas (2/9)Zacatecas TresPuntoCero
 
Wal Mart México 2009: lo barato sale caro
Wal Mart México 2009: lo barato sale caroWal Mart México 2009: lo barato sale caro
Wal Mart México 2009: lo barato sale caroPedro Guadiana
 
Análisis situacional integral de salud final
 Análisis situacional integral de salud final Análisis situacional integral de salud final
Análisis situacional integral de salud finalEstefanía Echeverría
 
Portafolio de Evidencias de mi Práctica Docente
Portafolio de Evidencias de mi Práctica DocentePortafolio de Evidencias de mi Práctica Docente
Portafolio de Evidencias de mi Práctica DocenteNorma Vega
 
El emprendedor y el empresario profesional cert
El emprendedor y el empresario profesional certEl emprendedor y el empresario profesional cert
El emprendedor y el empresario profesional certMaestros Online
 
1ºBACH Economía Tema 5 Oferta y demanda
1ºBACH Economía Tema 5 Oferta y demanda1ºBACH Economía Tema 5 Oferta y demanda
1ºBACH Economía Tema 5 Oferta y demandaGeohistoria23
 
Implementación de la Administración de Integridad de ductos en México
Implementación de la Administración de Integridad de ductos en MéxicoImplementación de la Administración de Integridad de ductos en México
Implementación de la Administración de Integridad de ductos en MéxicoAcademia de Ingeniería de México
 
Onderzoeksrapport acrs v3.0_definitief
Onderzoeksrapport acrs v3.0_definitiefOnderzoeksrapport acrs v3.0_definitief
Onderzoeksrapport acrs v3.0_definitiefrloggen
 

Andere mochten auch (20)

Energía Alternativa
Energía Alternativa Energía Alternativa
Energía Alternativa
 
Pasivo A Corto Y Largo Plazo
Pasivo A Corto Y Largo PlazoPasivo A Corto Y Largo Plazo
Pasivo A Corto Y Largo Plazo
 
Plan estratégico seguridad de los pacientes de extremadura
Plan estratégico seguridad de los pacientes de extremaduraPlan estratégico seguridad de los pacientes de extremadura
Plan estratégico seguridad de los pacientes de extremadura
 
Informe mantenimiento mecanico
Informe mantenimiento mecanicoInforme mantenimiento mecanico
Informe mantenimiento mecanico
 
Proyectos_de_innovacion
Proyectos_de_innovacionProyectos_de_innovacion
Proyectos_de_innovacion
 
Training Schrijven voor het Web
Training Schrijven voor het WebTraining Schrijven voor het Web
Training Schrijven voor het Web
 
Marco del buen desempeño docente
Marco del buen desempeño docenteMarco del buen desempeño docente
Marco del buen desempeño docente
 
Primer Paquete Económico 2017 Zacatecas (2/9)
Primer Paquete Económico 2017 Zacatecas (2/9)Primer Paquete Económico 2017 Zacatecas (2/9)
Primer Paquete Económico 2017 Zacatecas (2/9)
 
"Protección de la salud mental luego del terremoto y tsunami del 27 de febrer...
"Protección de la salud mental luego del terremoto y tsunami del 27 de febrer..."Protección de la salud mental luego del terremoto y tsunami del 27 de febrer...
"Protección de la salud mental luego del terremoto y tsunami del 27 de febrer...
 
Wal Mart México 2009: lo barato sale caro
Wal Mart México 2009: lo barato sale caroWal Mart México 2009: lo barato sale caro
Wal Mart México 2009: lo barato sale caro
 
Análisis situacional integral de salud final
 Análisis situacional integral de salud final Análisis situacional integral de salud final
Análisis situacional integral de salud final
 
Portafolio de Evidencias de mi Práctica Docente
Portafolio de Evidencias de mi Práctica DocentePortafolio de Evidencias de mi Práctica Docente
Portafolio de Evidencias de mi Práctica Docente
 
Guia para el aviso de privacidad
Guia para el aviso de privacidadGuia para el aviso de privacidad
Guia para el aviso de privacidad
 
De impact van adhd
De impact van adhdDe impact van adhd
De impact van adhd
 
PMP Sonora Saludable 2010 2015
PMP Sonora Saludable 2010   2015  PMP Sonora Saludable 2010   2015
PMP Sonora Saludable 2010 2015
 
El emprendedor y el empresario profesional cert
El emprendedor y el empresario profesional certEl emprendedor y el empresario profesional cert
El emprendedor y el empresario profesional cert
 
1ºBACH Economía Tema 5 Oferta y demanda
1ºBACH Economía Tema 5 Oferta y demanda1ºBACH Economía Tema 5 Oferta y demanda
1ºBACH Economía Tema 5 Oferta y demanda
 
Tears In The Rain
Tears In The RainTears In The Rain
Tears In The Rain
 
Implementación de la Administración de Integridad de ductos en México
Implementación de la Administración de Integridad de ductos en MéxicoImplementación de la Administración de Integridad de ductos en México
Implementación de la Administración de Integridad de ductos en México
 
Onderzoeksrapport acrs v3.0_definitief
Onderzoeksrapport acrs v3.0_definitiefOnderzoeksrapport acrs v3.0_definitief
Onderzoeksrapport acrs v3.0_definitief
 

Ähnlich wie Clase de programacion

Fases de programacion
Fases de programacionFases de programacion
Fases de programacionbrayan_2012
 
Resolver problemas con_una_computadora
Resolver problemas con_una_computadoraResolver problemas con_una_computadora
Resolver problemas con_una_computadoraFaridCastillo2
 
Resolver problemas con_una_computadora
Resolver problemas con_una_computadoraResolver problemas con_una_computadora
Resolver problemas con_una_computadoraJulioVizcarra5
 
Conceptos básicos y metodología de la programación
Conceptos básicos y metodología de la programaciónConceptos básicos y metodología de la programación
Conceptos básicos y metodología de la programaciónjusto morales
 
METODOLOGÍA PARA LA SOLUCIÓN DE PROBLEMAS
METODOLOGÍA PARA LA SOLUCIÓN DE PROBLEMASMETODOLOGÍA PARA LA SOLUCIÓN DE PROBLEMAS
METODOLOGÍA PARA LA SOLUCIÓN DE PROBLEMASadark
 
Metodología para la solución de problemas utilizando la computadora 2°Am Prog...
Metodología para la solución de problemas utilizando la computadora 2°Am Prog...Metodología para la solución de problemas utilizando la computadora 2°Am Prog...
Metodología para la solución de problemas utilizando la computadora 2°Am Prog...Dulcevelazquez6
 
resolucion de problemas: Algoritmos y programas
resolucion de problemas: Algoritmos y programas resolucion de problemas: Algoritmos y programas
resolucion de problemas: Algoritmos y programas panchofronteras
 
Lenguajes de programación parte i.3
Lenguajes de programación parte i.3Lenguajes de programación parte i.3
Lenguajes de programación parte i.3Marquina, Santiago
 
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
 
Introduccion A La Programacion
Introduccion A La ProgramacionIntroduccion A La Programacion
Introduccion A La ProgramacionMary Sanchez
 
Srahi garcia ruiz_2am_programacion2
Srahi garcia ruiz_2am_programacion2Srahi garcia ruiz_2am_programacion2
Srahi garcia ruiz_2am_programacion2Sarahi Garcia Ruiz
 
Diagramas de flujo
Diagramas de flujoDiagramas de flujo
Diagramas de flujocasdilacol
 

Ähnlich wie Clase de programacion (20)

Las fases de la programación
Las fases de la programaciónLas fases de la programación
Las fases de la programación
 
Fases de programacion
Fases de programacionFases de programacion
Fases de programacion
 
Resolver problemas con_una_computadora
Resolver problemas con_una_computadoraResolver problemas con_una_computadora
Resolver problemas con_una_computadora
 
Resolver problemas con_una_computadora
Resolver problemas con_una_computadoraResolver problemas con_una_computadora
Resolver problemas con_una_computadora
 
Conceptos básicos y metodología de la programación
Conceptos básicos y metodología de la programaciónConceptos básicos y metodología de la programación
Conceptos básicos y metodología de la programación
 
Bloque 1
Bloque 1Bloque 1
Bloque 1
 
Metodologia
MetodologiaMetodologia
Metodologia
 
Diseño Estructurado de Algoritmos
Diseño Estructurado de AlgoritmosDiseño Estructurado de Algoritmos
Diseño Estructurado de Algoritmos
 
METODOLOGÍA PARA LA SOLUCIÓN DE PROBLEMAS
METODOLOGÍA PARA LA SOLUCIÓN DE PROBLEMASMETODOLOGÍA PARA LA SOLUCIÓN DE PROBLEMAS
METODOLOGÍA PARA LA SOLUCIÓN DE PROBLEMAS
 
Metodología para la solución de problemas utilizando la computadora 2°Am Prog...
Metodología para la solución de problemas utilizando la computadora 2°Am Prog...Metodología para la solución de problemas utilizando la computadora 2°Am Prog...
Metodología para la solución de problemas utilizando la computadora 2°Am Prog...
 
resolucion de problemas: Algoritmos y programas
resolucion de problemas: Algoritmos y programas resolucion de problemas: Algoritmos y programas
resolucion de problemas: Algoritmos y programas
 
Lenguajes de programación parte i.3
Lenguajes de programación parte i.3Lenguajes de programación parte i.3
Lenguajes de programación parte i.3
 
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
 
Clase 1 lógica de programación
Clase 1 lógica de programaciónClase 1 lógica de programación
Clase 1 lógica de programación
 
Introduccion A La Programacion
Introduccion A La ProgramacionIntroduccion A La Programacion
Introduccion A La Programacion
 
01 texto - módulo n° 1 • algoritmos
01 texto - módulo n° 1 • algoritmos01 texto - módulo n° 1 • algoritmos
01 texto - módulo n° 1 • algoritmos
 
Srahi garcia ruiz_2am_programacion2
Srahi garcia ruiz_2am_programacion2Srahi garcia ruiz_2am_programacion2
Srahi garcia ruiz_2am_programacion2
 
Diagramas de flujo
Diagramas de flujoDiagramas de flujo
Diagramas de flujo
 
Introduccion a-la-programacion-1234039307400760-3
Introduccion a-la-programacion-1234039307400760-3Introduccion a-la-programacion-1234039307400760-3
Introduccion a-la-programacion-1234039307400760-3
 
Fp03
Fp03Fp03
Fp03
 

Mehr von Andrea Jimenez

Introduccion a la Arquitectura
Introduccion a la ArquitecturaIntroduccion a la Arquitectura
Introduccion a la ArquitecturaAndrea Jimenez
 
Jardines en la Revolucion industrial
Jardines en la Revolucion industrialJardines en la Revolucion industrial
Jardines en la Revolucion industrialAndrea Jimenez
 
Andrea Jimenez Origen De La Arquitectura
Andrea Jimenez  Origen De La ArquitecturaAndrea Jimenez  Origen De La Arquitectura
Andrea Jimenez Origen De La ArquitecturaAndrea Jimenez
 
Introduccion a la Arquitectura
Introduccion a la ArquitecturaIntroduccion a la Arquitectura
Introduccion a la ArquitecturaAndrea Jimenez
 
Andrea Jimenez Origen De Las Universidades
Andrea Jimenez Origen De Las UniversidadesAndrea Jimenez Origen De Las Universidades
Andrea Jimenez Origen De Las UniversidadesAndrea Jimenez
 
El Intelectualismo Barroco
El Intelectualismo BarrocoEl Intelectualismo Barroco
El Intelectualismo BarrocoAndrea Jimenez
 
Conservatorio De MúSica ‘‘Salvador Bustamante Celi’’
Conservatorio De MúSica ‘‘Salvador Bustamante Celi’’Conservatorio De MúSica ‘‘Salvador Bustamante Celi’’
Conservatorio De MúSica ‘‘Salvador Bustamante Celi’’Andrea Jimenez
 

Mehr von Andrea Jimenez (14)

Web 2.0
Web 2.0Web 2.0
Web 2.0
 
Introduccion a la Arquitectura
Introduccion a la ArquitecturaIntroduccion a la Arquitectura
Introduccion a la Arquitectura
 
Literatura 3
Literatura 3Literatura 3
Literatura 3
 
Desarrollo Espiritual
Desarrollo EspiritualDesarrollo Espiritual
Desarrollo Espiritual
 
Desarrollo Espiritual
Desarrollo EspiritualDesarrollo Espiritual
Desarrollo Espiritual
 
Jardines en la Revolucion industrial
Jardines en la Revolucion industrialJardines en la Revolucion industrial
Jardines en la Revolucion industrial
 
ComputacióN BáSica
ComputacióN BáSicaComputacióN BáSica
ComputacióN BáSica
 
Ingles
InglesIngles
Ingles
 
Semiotica
SemioticaSemiotica
Semiotica
 
Andrea Jimenez Origen De La Arquitectura
Andrea Jimenez  Origen De La ArquitecturaAndrea Jimenez  Origen De La Arquitectura
Andrea Jimenez Origen De La Arquitectura
 
Introduccion a la Arquitectura
Introduccion a la ArquitecturaIntroduccion a la Arquitectura
Introduccion a la Arquitectura
 
Andrea Jimenez Origen De Las Universidades
Andrea Jimenez Origen De Las UniversidadesAndrea Jimenez Origen De Las Universidades
Andrea Jimenez Origen De Las Universidades
 
El Intelectualismo Barroco
El Intelectualismo BarrocoEl Intelectualismo Barroco
El Intelectualismo Barroco
 
Conservatorio De MúSica ‘‘Salvador Bustamante Celi’’
Conservatorio De MúSica ‘‘Salvador Bustamante Celi’’Conservatorio De MúSica ‘‘Salvador Bustamante Celi’’
Conservatorio De MúSica ‘‘Salvador Bustamante Celi’’
 

Kürzlich hochgeladen

BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICABIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICAÁngel Encinas
 
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VSOCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VSYadi Campos
 
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.Alejandrino Halire Ccahuana
 
Imperialismo informal en Europa y el imperio
Imperialismo informal en Europa y el imperioImperialismo informal en Europa y el imperio
Imperialismo informal en Europa y el imperiomiralbaipiales2016
 
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...JAVIER SOLIS NOYOLA
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Lourdes Feria
 
actividades comprensión lectora para 3° grado
actividades comprensión lectora para 3° gradoactividades comprensión lectora para 3° grado
actividades comprensión lectora para 3° gradoJosDanielEstradaHern
 
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAJAVIER SOLIS NOYOLA
 
PIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonablesPIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonablesYanirisBarcelDelaHoz
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMarjorie Burga
 
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxSEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxYadi Campos
 
Criterios ESG: fundamentos, aplicaciones y beneficios
Criterios ESG: fundamentos, aplicaciones y beneficiosCriterios ESG: fundamentos, aplicaciones y beneficios
Criterios ESG: fundamentos, aplicaciones y beneficiosJonathanCovena1
 
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...JAVIER SOLIS NOYOLA
 
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxzulyvero07
 
plande accion dl aula de innovación pedagogica 2024.pdf
plande accion dl aula de innovación pedagogica 2024.pdfplande accion dl aula de innovación pedagogica 2024.pdf
plande accion dl aula de innovación pedagogica 2024.pdfenelcielosiempre
 
Dinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dDinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dstEphaniiie
 

Kürzlich hochgeladen (20)

BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICABIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
 
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VSOCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
 
Medición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptxMedición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptx
 
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
 
Imperialismo informal en Europa y el imperio
Imperialismo informal en Europa y el imperioImperialismo informal en Europa y el imperio
Imperialismo informal en Europa y el imperio
 
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
 
Fe contra todo pronóstico. La fe es confianza.
Fe contra todo pronóstico. La fe es confianza.Fe contra todo pronóstico. La fe es confianza.
Fe contra todo pronóstico. La fe es confianza.
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...
 
actividades comprensión lectora para 3° grado
actividades comprensión lectora para 3° gradoactividades comprensión lectora para 3° grado
actividades comprensión lectora para 3° grado
 
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
 
PIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonablesPIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonables
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grande
 
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxSEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
 
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdfTema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
 
Unidad 3 | Metodología de la Investigación
Unidad 3 | Metodología de la InvestigaciónUnidad 3 | Metodología de la Investigación
Unidad 3 | Metodología de la Investigación
 
Criterios ESG: fundamentos, aplicaciones y beneficios
Criterios ESG: fundamentos, aplicaciones y beneficiosCriterios ESG: fundamentos, aplicaciones y beneficios
Criterios ESG: fundamentos, aplicaciones y beneficios
 
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
 
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
 
plande accion dl aula de innovación pedagogica 2024.pdf
plande accion dl aula de innovación pedagogica 2024.pdfplande accion dl aula de innovación pedagogica 2024.pdf
plande accion dl aula de innovación pedagogica 2024.pdf
 
Dinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dDinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes d
 

Clase de programacion

  • 1. Lógica de la Programación Armando Cabrera Silva 2010
  • 2. Introducción La programación, en cierta forma, es la ciencia y el arte de solucionar problemas. Para ser un buen programador, debe ser bueno solucionando problemas. Para lograrlo, debe enfrentarlos en forma metódica: desde la definición inicial e inspección del problema hasta la solución final, verificación y comentarios. Cuando se inicia en la programación y se enfrenta a un problema, se verá tentado a codificar tan pronto como tenga una idea de cómo resolverlo. Hay que resistirse a esta tentación. Tal enfoque puede funcionar para problemas simples, pero no ocurre lo mismo con problemas complejos.
  • 3. Objetivos: Aprenderá un método sistemático que lo convertirá en un buen solucionador de problemas y, por lo tanto, en un buen programador. A este método le llamaremos elalgoritmodel programador. Aprenderá y utilizará los pasos que se requieren para resolver casi cualquier problema de programación usando el método estructurado descendente o de arriba-abajo (top– down). Estudiará el concepto de abstracción que se requiere para un lenguaje de computadora, que permite ver los problemas en términos generales sin la angustia de los detalles de implantación. A partir de una solución inicial abstracta, refinará la solución paso a paso hasta que alcance un nivel que pueda ser codificado directamente en un lenguaje de programación.
  • 4. El algoritmo del programador Un algoritmo es una secuencia ordenada de pasos, sin ambigüedades, que conducen a la solución de un problema dado y expresado en lenguaje natural, por ejemplo el castellano. Todo algoritmo debe ser: Preciso. Indicando el orden de realización de cada uno de los pasos. Definido. Si se sigue el algoritmo varias veces proporcionándole los mismos datos, se deben obtener siempre los mismos resultados. Finito. Al seguir el algoritmo, éste debe terminar en algún momento, es decir, debe terminar en un número finito de pasos.
  • 5. El algoritmo del programador(1) Los algoritmos no son exclusivos de la computación. Cualquier conjunto de instrucciones, como las que se encuentran en una receta de cocina o guía de ensamblaje, pueden ser considerados algoritmos. El algoritmo del programador es una receta que el programador sigue cuando desarrolla programas. Este algoritmo consta básicamente de cinco pasos: Definición del problema. Planeación de la solución del problema. Codificación del programa. Verificación y depuración del programa. Documentación del programa.
  • 6. La definición de problema Es un paso obvio en la solución de cualquier problema. Es el que más se pasa por alto, en especial en programación. La deficiencia de una buena definición del problema a menudo tiene como resultado tejer en el aire, especialmente en aplicaciones complejas de programación. Piense en un problema típico de programación: controlar el inventario de una gran tienda. “¿Qué debe considerar como parte de la definición del problema?”
  • 7. La definición de problema(1) La primera consideración es ¿qué se quiere lograr del sistema? La información consiste en un reporte impreso del inventario o adicionalmente, ¿el sistema generará automáticamente las órdenes del producto basado en las ventas? ¿Debe guardarse en disco cualquier información generada por la transacción de un cliente o puede ser descartada? ¿Qué tipo de datos se encuentran en la información de salida o en que consiste? ¿Es un dato numérico, de tipo carácter o ambos? ¿Qué formato deben tener los datos de salida? Todas estas preguntas deben contestarse para definir los requerimientos de salida.
  • 8. La definición de problema(2) La segunda consideración es: dados los requerimientos de salida, ¿Cuáles son los requerimientos de entrada? Los requerimientos de salida por lo general sugieren lo que debe de introducirse (requerimientos de entrada) dentro del sistema. Por ejemplo, en nuestro problema de inventario, una salida podría ser un resumen de las compras de los clientes. ¿Cómo se ingresan estas compras en el sistema? ¿El dato se obtiene desde el teclado o es producto de la información que se ingresa en forma automática por un sistema óptico de reconocimientos de caracteres (OCR) que lee el precio del producto a través de código de barras ? La entrada consiste en ¿datos numéricos, datos de tipo carácter o una combinación de ambos? ¿Cuál es el formato de los datos?
  • 9. La definición del problema(4) La tercera consideración es: dados los requerimientos de salida y los de entrada ¿Cuales son los procesos que deben de realizarse con las entradas para obtener las salidas deseadas? Para nuestro ejemplo de inventario, la mayor parte del procesamiento de los Clientes: ¿Se hace en la terminal de la caja registradora o será manejada por una computadora central de la tienda? ¿Qué hay con respecto a la verificación de la tarjeta de crédito y los registros de inventarios? ¿Se hará este proceso en una microcomputadora local, una minicomputadora localizada dentro de la tienda o una macrocomputadora localizada en otra parte de la ciudad? ¿Qué clase de programas se escribirán para realizar el procesamiento y quién los escribirá? ¿Qué clase de cálculos y decisiones deben hacerse a los datos dentro de los programas individuales para llevar a cabo la salida deseada?
  • 10. La definición del problema(4) La definición del problema debe considerar los requerimientos de salida, entrada y procesamiento. Salida Entrada Proceso Nombres Nombres Verbos
  • 11. Planeación de la solución La etapa de planeación asociada con cualquier problema es tal vez la más importante de la solución. Imagínese construyendo una casa sin un buen número de planos ¡Los resultados podrían ser catastróficos! Lo mismo sucede al desarrollar sistemas de información sin un buen plan. Cuando se desarrollan sistemas de información, la etapa de planeación se implementa usando una serie de algoritmos. Cuando se planean programas de computadora, se utilizan los algoritmos para esquematizar los pasos de la solución usando declaraciones en lenguaje natural como el castellano, llamadas seudo código, que requieren menos precisión que un lenguaje formal de programación. Un buen algoritmo en seudocódigo debe ser independiente pero fácilmente traducible a cualquier lenguaje formal de programación.
  • 12. Planeación de la solución(1) El prefijo seudo se usa para resaltar que no se pretende que este código sea compilado y ejecutado en una computadora. La razón para usar seudo código es que nos permite transmitir en términos generales las ideas básicas de un algoritmo. Si los programadores entienden el algoritmo que está siendo expresado por el seudo código, pueden implementarlo en el lenguaje de programación de su elección. Un programa en seudo código simplemente expone los pasos necesarios para realizar algún cómputo mientras que el programa informático correspondiente es la traducción de estos pasos en la sintaxis de un lenguaje de programación particular. El seudo código básicamente consiste en palabras reservadas y frases afines al castellano que se utilizan para indicar el flujo de control.
  • 13. Codificación del programa La codificación del programa es una de las actividades más sencillas dentro del proceso de programación, siempre y cuando se haya hecho un buen trabajo en la definición del problema y la planeación de la solución. La codificación implica la escritura real del programa en un lenguaje formal de programación. El lenguaje que se utilice será determinado por la naturaleza del problema, los lenguajes disponibles y los límites de su sistema de cómputo. Una vez que se selecciona un lenguaje, se escribe o codifica el programa, traduciendo los pasos de su algoritmo en código de lenguaje formal.
  • 14. Codificación del programa(1) Sin embargo, la codificación es en realidad un proceso mecánico y debe ser considerada secundario para desarrollar algoritmos. En el futuro, las computadoras generarán sus propios códigos de programa a partir de algoritmos bien construidos. La investigación en el campo de la inteligencia artificial ha dado origen al software de generación de código. Es necesario recordar que si bien las computadoras algún día puedan generar sus propios códigos de programación a partir de algoritmos, serán indispensables la creatividad y el sentido común de un humano en la planeación de la solución y el desarrollo del algoritmo.
  • 15. Verificación y depuración del programa Es motivo de alegría cuando un programa corre sin ningún error por primera vez. Una buena definición del problema y una buena planeación evitarán muchos errores en el programa. Sin embargo, siempre hay unas cuantas fallas que no son detectadas, sin importar que tan minuciosa haya sido la planeación. Quitar las fallas del programa (depuración) a menudo es la parte del trabajo que consume más tiempo en todo el proceso de programación. Las estadísticas muestran que a menudo más de 50% del tiempo de un programador se consume en la depuración del programa.
  • 16. Verificación y depuración del programa(1) No hay en absoluto un procedimiento correcto para depurar un programa, pero un enfoque sistemático puede ayudar a hacer más fácil ese proceso. Los pasos básicos de depuración son: Darse cuenta que tiene un error Localizar y determinar la causa del error Corregir el error
  • 17. Verificación y depuración del programa(2) Prueba de escritorio La prueba de escritorio de un programa es similar a revisar una carta o manuscrito. La idea es seguir el programa mentalmente para asegurarse que éste trabaja en forma lógica. Debe considerar varias posibilidades de entrada y escribir cualquier resultado generado durante la ejecución del programa. En particular, trate de determinar qué hará el programa con datos no muy comunes considerando posibilidades de entrada que no deberían pasar. Siempre tenga presenta la ley de Murphy cuando haga una prueba de escritorio de un programa: “si una condición dada no puede o no debe ocurrir, ¡ocurrirá!”
  • 19. Operaciones de Seudo código Las operaciones de la tabla anterior se agrupan en tres categorías: Secuencia, incluye operaciones que producen una acción o resultado único. decisión e incluye las operaciones que le permiten a la computadora tomar decisiones iteración. incluye aquellas operaciones que se usan para ciclos o repeticiones dentro del algoritmo. “Estas categorías se llaman estructuras de control. “
  • 20. Ejercicio 1 Problema Diseñar un algoritmo que lea e imprima una serie de números distintos de cero. El algoritmo debe terminar con un valor cero que no se debe imprimir. Finalmente se desea obtener la cantidad de valores leídos distintos de 0. Planteamiento de la solución Se deben leer números dentro de un ciclo que terminará cuando el último número leído sea cero. Cada vez que ejecute dicho ciclo y antes que se lea el siguiente número se imprime éste y se incrementa el contador en una unidad. Una vez se haya salido del ciclo se debe escribir la cantidad de números leídos, es decir, el contador.
  • 22. Ejercicio 2 Problema Escribir un algoritmo para determinar el máximo común divisor de dos números enteros utilizando el algoritmo de Euclides. Planteamiento de la solución Para halla el máximo común divisor de dos números se debe dividir uno entre otro. Si la división es exacta, es decir si el residuo es 0, el máximo común divisor es el divisor. Si no, se deben dividir otra vez los números, pero en este caso el dividendo será el antiguo divisor y el divisor el residuo de la división anterior. El proceso se repetirá hasta que la división sea exacta.