SlideShare une entreprise Scribd logo
1  sur  24
Resolución de problemas con la
computadora
Prof.Santiago Mena Zorrilla
ALGORITMOS Y PROGRAMAS
La principal razón por la cual las personas aprenden lenguajes
de programación es utilizar un ordenador como una
herramienta para la resolución de problemas complejos e
incrementar la productividad en sus tareas.
Puesto que las computadoras por si solas no pueden resolver
los problemas diarios el ser humano a creado mecanismos
y código que le permitan comunicarse con la maquina y
obtener lo que desea. Para esto desarrollo los llamados
algoritmos que simplifica el pensamiento humano a nivel
de códigos que van a ser interpretados por la computadora
Algoritmos
• Conjunto prescrito de instrucciones o reglas bien
definidas, ordenadas y finitas que permite realizar
una actividad mediante pasos sucesivos que no
generen dudas a quien lo ejecute.
• Conjunto de reglas completamente definidas y
procedimientos para resolver un problema mediante
un número finito de pasos.
• Conjunto de pasos ordenados que son necesarios
realizar para la resolución de un problema sea en
nuestra vida diaria o en la computadora.
Para crear el algoritmo en la resolución del
problema debemos pasar por las siguientes
etapas.
1. Análisis del problema
2. Definicion del problema
3. Especificaciones de entradas
4. Especificaciones de salidas
5. Diseño de la solución
6. Herramientas de programación
7. Codificación
8. Compilación
9. Prueba (verificación) y depuración
10. Documentación y mantenimiento
Análisis del problema
• Requiere que el problema sea comprendido claramente.
• El propósito del análisis de un problema es ayudar en la comprensión de la
naturaleza del problema.
Definición del problema
• Realizar una clara definición, donde se contemple exactamente lo que debe
hacer el programa y el resultado o solución deseada.
• La computadora requiere especificaciones detalladas de Entrada y Salida.
¿Qué entradas se requieren? (tipo y cantidad) ¿Cuál es la salida deseada? (tipo
y cantidad) ¿Qué método produce la salida deseada?.
• Diseño de la solución
• Establecer cómo hace el programa la tarea solicitada. Los métodos más
eficaces para el proceso de diseño se basan en el conocido por divide y
vencerás. Es decir, la resolución de un problema complejo se realiza dividiendo
el problema en subproblemas (módulos).
• Herramientas de programación
• Las más comunes son los diagramas de flujo (flowchart) y pseudocódigo.
• Los primeros es una representación gráfica de un algoritmo.
• Los segundos son donde las instrucciones se escriben en palabras similares al
inglés o español, que facilitan tanto la escritura como la lectura de programas.
Codificación
• Es la escritura en un lenguaje de programación de la representación de
algoritmos 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 leguaje o en otro.
Compilación
• El programa fuente debe ser traducido a lenguaje máquina, este proceso
se realiza con el compilador y el sistema operativo que se encarga
prácticamente de la compilación.
• Prueba (verificación) y depuración. La verificación de un programa es el
proceso de ejecución
• Documentación y mantenimiento.
1. Debe ser preciso e indicar el orden de realización de cada paso.
2. Debe estar definido.
3. Debe ser finito.
Diseño descendente
Descomposición del problema original en subproblemas más simples y a
continuación dividir estos subproblemas en otros más simples que puedan ser
implementados para su solución en la computadora.
Los problemas complejos se pueden resolver eficazmente con la computadora
cuando se dividen en subproblemas que sean más fáciles de solucionar que el
original.
Refinamiento por pasos
El problema se comprende más fácilmente al dividirse en partes más simples.
Las modificaciones son más fáciles.
Características de los algoritmo
Herramientas de programación
Diagrama de flujo
Es una de las técnicas de
representación gráfica de algoritmos.
Utiliza símbolos.
Los pasos del algoritmo son escritos
en esos símbolos unidos por flechas
[líneas de flujo] que indican la
secuencia en que se deben ejecutar.
Pseudocódigo
Es un lenguaje de especificación
[descripción] de algoritmos.
Hace el paso de codificación final.
Recomendaciones para el diseño de
Diagramas de Flujo
- Se deben se usar solamente líneas de flujo
horizontales y/o verticales.
- Se debe evitar el cruce de líneas utilizando los
conectores.
- Se deben usar conectores solo cuando sea necesario.
- No deben quedar líneas de flujo son conectar.
- Se deben trazar los símbolos de manera que se
puedan leer de arriba hacia abajo y de izquierda a
derecha.
- Todo texto escrito dentro de un símbolo deberá ser
escrito claramente, evitando el uso de muchas
palabras.
• Pseudocódigo
• Es un lenguaje de especificación [descripción]
de algoritmos.
• Hace el paso de codificación final.
• Utilización de palabras reservadas en inglés
paraepresentar acciones sucesivas.
if‐then‐else
while‐end
repeat‐until
Ejemplo
Este ejemplo presenta el análisis del problema y el diseño del algoritmo.
• Leer el radio de un círculo , calcular su superficie y la longitud de la circunferencia.
Análisis:
• Las entradas de datos en este problema se concretan en el radio del círculo. Las salidas
serán la superficie y la circunferencia.
• Entradas: Radio del círculo [varible RADIO]
• Salidas: Superficie del círculo [variable AREA] y Circunferencia del círculo [variable
CIRCUNFERENCIA]
• Variables: RADIO, AREA, CIRCUNFERENCIA
• Diseño del algoritmo:
Diseño descendente y Refinamiento por pasos
• El problema de cálculo de la circunferencia y superficie de un círculo se puede
descomponer en subproblemas más simples:
• Leer datos de entrada.
• Calcular superficie y longitud de circunferencia.
• Escribir resultados [datos de salida].
Diseño descendente [Subproblemas] Refinamiento
Leer radio Leer radio
Calcular superficie Superficie = 3.141592 * radio ^ 2
Calcular circunferencia Circunferencia = 2 * 3.141592 * radio
Escribir resultados Escribir radio, superficie, circunferencia
Diagrama de flujo
Desarrolla el siguiente ejemplo
¿Qué hacer para ver la película “El Gladiador"?
Ir al cine
Comprar una entrada
Ver la película
Regresar a casa
1. Inicio
2. Ver la cartelera de cine en Internet
3. Sino proyectan “El Gladiador"
entonces decidir por otra película
4. Si proyectan “El Gladiador" ir al cine
5. Si hay fila entonces formarse
mientras haya personas delante hacer
avanzar en la fila
si existen asientos disponibles entonces
comprar una entrada
encontrar el asiento correspondiente
mientras proyectan la película hacer ver la película
5. Abandonar el cine
6. Volver a casa
7. Fin
Tarea para la próxima clase 21 de Sept.
Elaborar utilizando las herramientas de diagrama de
flujo un algoritmos para solucionar algún problema
de las asignaturas de tu carrera
Realizar un algoritmo con la herramienta de diagrama
de flujo utilizando la variable tiempo o reloj como
principal para recibir la clase de computacion
Prepara tu explicación en Power Point y súbelo a tu
pagina WEB en www.Mex.tl
Explicar en la proxima clase como se llego al resultado
Diagramas Complejos
Diagrama de flujo que Rellena una matriz cuadrada de 7*7, y calcula la suma de cada
renglón o fila, y cada columna, y luego las almacena en un vector.
Algoritmos sencillos
Suponga que un individuo desea invertir su capital en un banco y
desea saber ¿Cuánto dinero ahorra después de un mes, si el
banco paga a razón de 2% mensual?
Un vendedor recibe un sueldo base mas un 10 % extra por comisión de sus
ventas, el vendedor desea saber cuanto dinero obtendrá por concepto de
comisiones por las tres ventas que realiza en el mes, y el total que recibirá en
el mes.
Una tienda ofrece un descuento del 15% sobre el total de la
compra, y un cliente desea saber cuanto deberá pagar
finalmente por su compra.
Un maestro desea saber que porcentaje de hombres y que
porcentaje de mujeres hay en un grupo de estudiantes.
Indique si una persona puede participar o no en las elecciones
del 2012.
Imprime un conteo del 0 al 100
La resolución de problemas con la computadora
por estos métodos ya sea los diagramas de
flujos o por medio de seudocódigo es una
forma de pensar muy útil para resolver
problemas complejos en nuestra vida diaria y
no solo aprender contenidos de memoria si no
por estos métodos descomponer el
aprendizaje y asimilar correctamente lo
aprendido

Contenu connexe

Tendances

El Computador y sus partes fundamentales
El Computador y sus partes fundamentalesEl Computador y sus partes fundamentales
El Computador y sus partes fundamentalesScarleth Soler Tatis
 
1. conceptos basicos computacion
1. conceptos basicos computacion1. conceptos basicos computacion
1. conceptos basicos computacionBlack Swan
 
Prueba de diagnostico 2do a 10mo
Prueba de diagnostico 2do a 10moPrueba de diagnostico 2do a 10mo
Prueba de diagnostico 2do a 10moJorge Suarez Conde
 
Tus primeros pasos con la computadora
Tus primeros pasos con la computadoraTus primeros pasos con la computadora
Tus primeros pasos con la computadoraSkater Jey
 
Monitor, tipos, ventajas, desventajas, funcionamiento
Monitor, tipos, ventajas, desventajas, funcionamientoMonitor, tipos, ventajas, desventajas, funcionamiento
Monitor, tipos, ventajas, desventajas, funcionamientoCristian León
 
Planteamiento y ejecucion del mantenimiento preventivo y correctivo de la mic...
Planteamiento y ejecucion del mantenimiento preventivo y correctivo de la mic...Planteamiento y ejecucion del mantenimiento preventivo y correctivo de la mic...
Planteamiento y ejecucion del mantenimiento preventivo y correctivo de la mic...Rogelio N Cornejo
 
Mapa conceptual de la computadora
Mapa conceptual de la computadoraMapa conceptual de la computadora
Mapa conceptual de la computadoraMarumanzi
 
Componentes internos y externos del pc
Componentes internos y externos del pcComponentes internos y externos del pc
Componentes internos y externos del pcvalenypaom
 
Presentacion power point sistema informatico
Presentacion power point sistema informaticoPresentacion power point sistema informatico
Presentacion power point sistema informaticosebaylola sebaylola
 
Conceptos basicos de la informatica
Conceptos basicos de la informaticaConceptos basicos de la informatica
Conceptos basicos de la informaticahospital de yopal
 
Mapa conceptual de las partes de una computadora
Mapa conceptual de las partes de una computadoraMapa conceptual de las partes de una computadora
Mapa conceptual de las partes de una computadoraApolo Salazar
 
Preguntas con seleccion multiple con multiple respuesta
Preguntas con seleccion multiple con multiple respuestaPreguntas con seleccion multiple con multiple respuesta
Preguntas con seleccion multiple con multiple respuestalaranapeluda
 
MODULO 1 CONCEPTOS BASICOS DEL COMPUTADOR
MODULO 1 CONCEPTOS BASICOS DEL COMPUTADORMODULO 1 CONCEPTOS BASICOS DEL COMPUTADOR
MODULO 1 CONCEPTOS BASICOS DEL COMPUTADORbelrosy
 
Tarea 2. Tabla de clasificación de dispositivos
Tarea 2. Tabla de clasificación de dispositivos Tarea 2. Tabla de clasificación de dispositivos
Tarea 2. Tabla de clasificación de dispositivos erikaguadaluperodrig
 
Que Es Una Computadora
Que Es Una ComputadoraQue Es Una Computadora
Que Es Una Computadoraedgar arellano
 

Tendances (20)

El Computador y sus partes fundamentales
El Computador y sus partes fundamentalesEl Computador y sus partes fundamentales
El Computador y sus partes fundamentales
 
Sistemas operativos power point
Sistemas operativos power pointSistemas operativos power point
Sistemas operativos power point
 
1. conceptos basicos computacion
1. conceptos basicos computacion1. conceptos basicos computacion
1. conceptos basicos computacion
 
Prueba de diagnostico 2do a 10mo
Prueba de diagnostico 2do a 10moPrueba de diagnostico 2do a 10mo
Prueba de diagnostico 2do a 10mo
 
Preguntas de informática básica
Preguntas de informática básicaPreguntas de informática básica
Preguntas de informática básica
 
Tus primeros pasos con la computadora
Tus primeros pasos con la computadoraTus primeros pasos con la computadora
Tus primeros pasos con la computadora
 
Guia computacion 9no grado
Guia computacion 9no gradoGuia computacion 9no grado
Guia computacion 9no grado
 
Monitor, tipos, ventajas, desventajas, funcionamiento
Monitor, tipos, ventajas, desventajas, funcionamientoMonitor, tipos, ventajas, desventajas, funcionamiento
Monitor, tipos, ventajas, desventajas, funcionamiento
 
Definicion software
Definicion softwareDefinicion software
Definicion software
 
Planteamiento y ejecucion del mantenimiento preventivo y correctivo de la mic...
Planteamiento y ejecucion del mantenimiento preventivo y correctivo de la mic...Planteamiento y ejecucion del mantenimiento preventivo y correctivo de la mic...
Planteamiento y ejecucion del mantenimiento preventivo y correctivo de la mic...
 
Mapa conceptual de la computadora
Mapa conceptual de la computadoraMapa conceptual de la computadora
Mapa conceptual de la computadora
 
Componentes internos y externos del pc
Componentes internos y externos del pcComponentes internos y externos del pc
Componentes internos y externos del pc
 
Presentacion power point sistema informatico
Presentacion power point sistema informaticoPresentacion power point sistema informatico
Presentacion power point sistema informatico
 
La Computadora y sus Partes
La Computadora y sus PartesLa Computadora y sus Partes
La Computadora y sus Partes
 
Conceptos basicos de la informatica
Conceptos basicos de la informaticaConceptos basicos de la informatica
Conceptos basicos de la informatica
 
Mapa conceptual de las partes de una computadora
Mapa conceptual de las partes de una computadoraMapa conceptual de las partes de una computadora
Mapa conceptual de las partes de una computadora
 
Preguntas con seleccion multiple con multiple respuesta
Preguntas con seleccion multiple con multiple respuestaPreguntas con seleccion multiple con multiple respuesta
Preguntas con seleccion multiple con multiple respuesta
 
MODULO 1 CONCEPTOS BASICOS DEL COMPUTADOR
MODULO 1 CONCEPTOS BASICOS DEL COMPUTADORMODULO 1 CONCEPTOS BASICOS DEL COMPUTADOR
MODULO 1 CONCEPTOS BASICOS DEL COMPUTADOR
 
Tarea 2. Tabla de clasificación de dispositivos
Tarea 2. Tabla de clasificación de dispositivos Tarea 2. Tabla de clasificación de dispositivos
Tarea 2. Tabla de clasificación de dispositivos
 
Que Es Una Computadora
Que Es Una ComputadoraQue Es Una Computadora
Que Es Una Computadora
 

En vedette

La Bitácora del Alumno en educación física
La Bitácora del Alumno en educación físicaLa Bitácora del Alumno en educación física
La Bitácora del Alumno en educación físicaFundación Impuls
 
Bitácora esc ejemplos
Bitácora esc ejemplosBitácora esc ejemplos
Bitácora esc ejemplosRaulrt
 
Guia para elaborar la bitacora del cte
Guia para elaborar la bitacora del cteGuia para elaborar la bitacora del cte
Guia para elaborar la bitacora del cteAmerica Magana
 
Los pasos para la elaboración de una bitácora son los siguientes
Los pasos para la elaboración de una bitácora son los siguientesLos pasos para la elaboración de una bitácora son los siguientes
Los pasos para la elaboración de una bitácora son los siguientesMariana Mejia
 
5. copia de formato de la bitácora
5. copia de formato de la bitácora5. copia de formato de la bitácora
5. copia de formato de la bitácoraWilmer_Morales
 
Diagramas de Flujo y Algoritmos (Informática ll)
Diagramas de Flujo y Algoritmos (Informática ll)Diagramas de Flujo y Algoritmos (Informática ll)
Diagramas de Flujo y Algoritmos (Informática ll)irvingsalazar2
 
Bitácora de mis actividades académicas
Bitácora de mis actividades académicasBitácora de mis actividades académicas
Bitácora de mis actividades académicasnataliacarolina18
 

En vedette (12)

Redes sociales
Redes socialesRedes sociales
Redes sociales
 
La Bitácora del Alumno en educación física
La Bitácora del Alumno en educación físicaLa Bitácora del Alumno en educación física
La Bitácora del Alumno en educación física
 
Herramientas de trabajo colaborativo
Herramientas de trabajo colaborativoHerramientas de trabajo colaborativo
Herramientas de trabajo colaborativo
 
Estructura secuencial
Estructura secuencialEstructura secuencial
Estructura secuencial
 
Solución de problemas con algoritmos
Solución de problemas con algoritmosSolución de problemas con algoritmos
Solución de problemas con algoritmos
 
Bitácora esc ejemplos
Bitácora esc ejemplosBitácora esc ejemplos
Bitácora esc ejemplos
 
Bitacora y portafolio
Bitacora y portafolioBitacora y portafolio
Bitacora y portafolio
 
Guia para elaborar la bitacora del cte
Guia para elaborar la bitacora del cteGuia para elaborar la bitacora del cte
Guia para elaborar la bitacora del cte
 
Los pasos para la elaboración de una bitácora son los siguientes
Los pasos para la elaboración de una bitácora son los siguientesLos pasos para la elaboración de una bitácora son los siguientes
Los pasos para la elaboración de una bitácora son los siguientes
 
5. copia de formato de la bitácora
5. copia de formato de la bitácora5. copia de formato de la bitácora
5. copia de formato de la bitácora
 
Diagramas de Flujo y Algoritmos (Informática ll)
Diagramas de Flujo y Algoritmos (Informática ll)Diagramas de Flujo y Algoritmos (Informática ll)
Diagramas de Flujo y Algoritmos (Informática ll)
 
Bitácora de mis actividades académicas
Bitácora de mis actividades académicasBitácora de mis actividades académicas
Bitácora de mis actividades académicas
 

Similaire à 3 resolucion de problemas con la computadora

Similaire à 3 resolucion de problemas con la computadora (19)

Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
AlgoritmoSoluciondeProblema.pdf
AlgoritmoSoluciondeProblema.pdfAlgoritmoSoluciondeProblema.pdf
AlgoritmoSoluciondeProblema.pdf
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
Clase 1 Itinerario
Clase 1 ItinerarioClase 1 Itinerario
Clase 1 Itinerario
 
Tema 4 -_introduccion_a_razonamiento_algoritmico
Tema 4 -_introduccion_a_razonamiento_algoritmicoTema 4 -_introduccion_a_razonamiento_algoritmico
Tema 4 -_introduccion_a_razonamiento_algoritmico
 
Visual basic terminado[1]
Visual basic terminado[1]Visual basic terminado[1]
Visual basic terminado[1]
 
Visual basic terminado[1]
Visual basic terminado[1]Visual basic terminado[1]
Visual basic terminado[1]
 
Algoritmos primero
Algoritmos primeroAlgoritmos primero
Algoritmos primero
 
Diseno dealgoritmos
Diseno dealgoritmosDiseno dealgoritmos
Diseno dealgoritmos
 
Principios de programacion
Principios de programacionPrincipios de programacion
Principios de programacion
 
Manual de java_3
Manual de java_3Manual de java_3
Manual de java_3
 
Manual de java
Manual de java Manual de java
Manual de java
 
manual 10
manual 10manual 10
manual 10
 
MANUAL DE JAVA 1
MANUAL DE JAVA 1MANUAL DE JAVA 1
MANUAL DE JAVA 1
 
Manual de javaa2
Manual de javaa2Manual de javaa2
Manual de javaa2
 
Manual de java 3
Manual de java 3Manual de java 3
Manual de java 3
 
resolucion de problemas: Algoritmos y programas
resolucion de problemas: Algoritmos y programas resolucion de problemas: Algoritmos y programas
resolucion de problemas: Algoritmos y programas
 

Plus de MIGUEL

10 bases de datos
10 bases de datos10 bases de datos
10 bases de datosMIGUEL
 
10 5 bases de datos
10 5 bases de datos10 5 bases de datos
10 5 bases de datosMIGUEL
 
9 comunidades virtuales
9 comunidades virtuales9 comunidades virtuales
9 comunidades virtualesMIGUEL
 
7 las redes de computadoras
7 las redes de computadoras7 las redes de computadoras
7 las redes de computadorasMIGUEL
 
8 la internet
8 la internet8 la internet
8 la internetMIGUEL
 
8 la internet
8 la internet8 la internet
8 la internetMIGUEL
 
7 las redes de computadoras
7 las redes de computadoras7 las redes de computadoras
7 las redes de computadorasMIGUEL
 
6 almacenamiento
6 almacenamiento6 almacenamiento
6 almacenamientoMIGUEL
 
5 software
5 software5 software
5 softwareMIGUEL
 
4 la computadora
4 la computadora4 la computadora
4 la computadoraMIGUEL
 
3 porque binario
3 porque binario3 porque binario
3 porque binarioMIGUEL
 
2 la computadora digital
2 la computadora digital2 la computadora digital
2 la computadora digitalMIGUEL
 
2 la computadora digital
2 la computadora digital2 la computadora digital
2 la computadora digitalMIGUEL
 
4 la computadora
4 la computadora4 la computadora
4 la computadoraMIGUEL
 
1 introduccion a la terminologia de la sociedad e informacion
1 introduccion a la terminologia de la sociedad e informacion1 introduccion a la terminologia de la sociedad e informacion
1 introduccion a la terminologia de la sociedad e informacionMIGUEL
 
Presentacion wiki
Presentacion wikiPresentacion wiki
Presentacion wikiMIGUEL
 
Resolucion de problema mediante el metodo de algortimos
Resolucion de problema mediante el metodo de algortimosResolucion de problema mediante el metodo de algortimos
Resolucion de problema mediante el metodo de algortimosMIGUEL
 
Binarios
BinariosBinarios
BinariosMIGUEL
 
Resolucion de problema mediante el metodo de algortimos
Resolucion de problema mediante el metodo de algortimosResolucion de problema mediante el metodo de algortimos
Resolucion de problema mediante el metodo de algortimosMIGUEL
 
Linux presentacion
Linux presentacionLinux presentacion
Linux presentacionMIGUEL
 

Plus de MIGUEL (20)

10 bases de datos
10 bases de datos10 bases de datos
10 bases de datos
 
10 5 bases de datos
10 5 bases de datos10 5 bases de datos
10 5 bases de datos
 
9 comunidades virtuales
9 comunidades virtuales9 comunidades virtuales
9 comunidades virtuales
 
7 las redes de computadoras
7 las redes de computadoras7 las redes de computadoras
7 las redes de computadoras
 
8 la internet
8 la internet8 la internet
8 la internet
 
8 la internet
8 la internet8 la internet
8 la internet
 
7 las redes de computadoras
7 las redes de computadoras7 las redes de computadoras
7 las redes de computadoras
 
6 almacenamiento
6 almacenamiento6 almacenamiento
6 almacenamiento
 
5 software
5 software5 software
5 software
 
4 la computadora
4 la computadora4 la computadora
4 la computadora
 
3 porque binario
3 porque binario3 porque binario
3 porque binario
 
2 la computadora digital
2 la computadora digital2 la computadora digital
2 la computadora digital
 
2 la computadora digital
2 la computadora digital2 la computadora digital
2 la computadora digital
 
4 la computadora
4 la computadora4 la computadora
4 la computadora
 
1 introduccion a la terminologia de la sociedad e informacion
1 introduccion a la terminologia de la sociedad e informacion1 introduccion a la terminologia de la sociedad e informacion
1 introduccion a la terminologia de la sociedad e informacion
 
Presentacion wiki
Presentacion wikiPresentacion wiki
Presentacion wiki
 
Resolucion de problema mediante el metodo de algortimos
Resolucion de problema mediante el metodo de algortimosResolucion de problema mediante el metodo de algortimos
Resolucion de problema mediante el metodo de algortimos
 
Binarios
BinariosBinarios
Binarios
 
Resolucion de problema mediante el metodo de algortimos
Resolucion de problema mediante el metodo de algortimosResolucion de problema mediante el metodo de algortimos
Resolucion de problema mediante el metodo de algortimos
 
Linux presentacion
Linux presentacionLinux presentacion
Linux presentacion
 

3 resolucion de problemas con la computadora

  • 1. Resolución de problemas con la computadora Prof.Santiago Mena Zorrilla
  • 2. ALGORITMOS Y PROGRAMAS La principal razón por la cual las personas aprenden lenguajes de programación es utilizar un ordenador como una herramienta para la resolución de problemas complejos e incrementar la productividad en sus tareas. Puesto que las computadoras por si solas no pueden resolver los problemas diarios el ser humano a creado mecanismos y código que le permitan comunicarse con la maquina y obtener lo que desea. Para esto desarrollo los llamados algoritmos que simplifica el pensamiento humano a nivel de códigos que van a ser interpretados por la computadora
  • 3. Algoritmos • Conjunto prescrito de instrucciones o reglas bien definidas, ordenadas y finitas que permite realizar una actividad mediante pasos sucesivos que no generen dudas a quien lo ejecute. • Conjunto de reglas completamente definidas y procedimientos para resolver un problema mediante un número finito de pasos. • Conjunto de pasos ordenados que son necesarios realizar para la resolución de un problema sea en nuestra vida diaria o en la computadora.
  • 4. Para crear el algoritmo en la resolución del problema debemos pasar por las siguientes etapas. 1. Análisis del problema 2. Definicion del problema 3. Especificaciones de entradas 4. Especificaciones de salidas 5. Diseño de la solución 6. Herramientas de programación 7. Codificación 8. Compilación 9. Prueba (verificación) y depuración 10. Documentación y mantenimiento
  • 5. Análisis del problema • Requiere que el problema sea comprendido claramente. • El propósito del análisis de un problema es ayudar en la comprensión de la naturaleza del problema. Definición del problema • Realizar una clara definición, donde se contemple exactamente lo que debe hacer el programa y el resultado o solución deseada. • La computadora requiere especificaciones detalladas de Entrada y Salida. ¿Qué entradas se requieren? (tipo y cantidad) ¿Cuál es la salida deseada? (tipo y cantidad) ¿Qué método produce la salida deseada?. • Diseño de la solución • Establecer cómo hace el programa la tarea solicitada. Los métodos más eficaces para el proceso de diseño se basan en el conocido por divide y vencerás. Es decir, la resolución de un problema complejo se realiza dividiendo el problema en subproblemas (módulos). • Herramientas de programación • Las más comunes son los diagramas de flujo (flowchart) y pseudocódigo. • Los primeros es una representación gráfica de un algoritmo. • Los segundos son donde las instrucciones se escriben en palabras similares al inglés o español, que facilitan tanto la escritura como la lectura de programas.
  • 6. Codificación • Es la escritura en un lenguaje de programación de la representación de algoritmos 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 leguaje o en otro. Compilación • El programa fuente debe ser traducido a lenguaje máquina, este proceso se realiza con el compilador y el sistema operativo que se encarga prácticamente de la compilación. • Prueba (verificación) y depuración. La verificación de un programa es el proceso de ejecución • Documentación y mantenimiento.
  • 7. 1. Debe ser preciso e indicar el orden de realización de cada paso. 2. Debe estar definido. 3. Debe ser finito. Diseño descendente Descomposición del problema original en subproblemas más simples y a continuación dividir estos subproblemas en otros más simples que puedan ser implementados para su solución en la computadora. Los problemas complejos se pueden resolver eficazmente con la computadora cuando se dividen en subproblemas que sean más fáciles de solucionar que el original. Refinamiento por pasos El problema se comprende más fácilmente al dividirse en partes más simples. Las modificaciones son más fáciles. Características de los algoritmo
  • 8. Herramientas de programación Diagrama de flujo Es una de las técnicas de representación gráfica de algoritmos. Utiliza símbolos. Los pasos del algoritmo son escritos en esos símbolos unidos por flechas [líneas de flujo] que indican la secuencia en que se deben ejecutar. Pseudocódigo Es un lenguaje de especificación [descripción] de algoritmos. Hace el paso de codificación final.
  • 9. Recomendaciones para el diseño de Diagramas de Flujo - Se deben se usar solamente líneas de flujo horizontales y/o verticales. - Se debe evitar el cruce de líneas utilizando los conectores. - Se deben usar conectores solo cuando sea necesario. - No deben quedar líneas de flujo son conectar. - Se deben trazar los símbolos de manera que se puedan leer de arriba hacia abajo y de izquierda a derecha. - Todo texto escrito dentro de un símbolo deberá ser escrito claramente, evitando el uso de muchas palabras.
  • 10. • Pseudocódigo • Es un lenguaje de especificación [descripción] de algoritmos. • Hace el paso de codificación final. • Utilización de palabras reservadas en inglés paraepresentar acciones sucesivas. if‐then‐else while‐end repeat‐until
  • 11. Ejemplo Este ejemplo presenta el análisis del problema y el diseño del algoritmo. • Leer el radio de un círculo , calcular su superficie y la longitud de la circunferencia. Análisis: • Las entradas de datos en este problema se concretan en el radio del círculo. Las salidas serán la superficie y la circunferencia. • Entradas: Radio del círculo [varible RADIO] • Salidas: Superficie del círculo [variable AREA] y Circunferencia del círculo [variable CIRCUNFERENCIA] • Variables: RADIO, AREA, CIRCUNFERENCIA • Diseño del algoritmo: Diseño descendente y Refinamiento por pasos • El problema de cálculo de la circunferencia y superficie de un círculo se puede descomponer en subproblemas más simples: • Leer datos de entrada. • Calcular superficie y longitud de circunferencia. • Escribir resultados [datos de salida].
  • 12. Diseño descendente [Subproblemas] Refinamiento Leer radio Leer radio Calcular superficie Superficie = 3.141592 * radio ^ 2 Calcular circunferencia Circunferencia = 2 * 3.141592 * radio Escribir resultados Escribir radio, superficie, circunferencia
  • 14. Desarrolla el siguiente ejemplo ¿Qué hacer para ver la película “El Gladiador"? Ir al cine Comprar una entrada Ver la película Regresar a casa 1. Inicio 2. Ver la cartelera de cine en Internet 3. Sino proyectan “El Gladiador" entonces decidir por otra película 4. Si proyectan “El Gladiador" ir al cine 5. Si hay fila entonces formarse mientras haya personas delante hacer avanzar en la fila si existen asientos disponibles entonces comprar una entrada encontrar el asiento correspondiente mientras proyectan la película hacer ver la película 5. Abandonar el cine 6. Volver a casa 7. Fin
  • 15. Tarea para la próxima clase 21 de Sept. Elaborar utilizando las herramientas de diagrama de flujo un algoritmos para solucionar algún problema de las asignaturas de tu carrera Realizar un algoritmo con la herramienta de diagrama de flujo utilizando la variable tiempo o reloj como principal para recibir la clase de computacion Prepara tu explicación en Power Point y súbelo a tu pagina WEB en www.Mex.tl Explicar en la proxima clase como se llego al resultado
  • 16. Diagramas Complejos Diagrama de flujo que Rellena una matriz cuadrada de 7*7, y calcula la suma de cada renglón o fila, y cada columna, y luego las almacena en un vector.
  • 18. Suponga que un individuo desea invertir su capital en un banco y desea saber ¿Cuánto dinero ahorra después de un mes, si el banco paga a razón de 2% mensual?
  • 19. Un vendedor recibe un sueldo base mas un 10 % extra por comisión de sus ventas, el vendedor desea saber cuanto dinero obtendrá por concepto de comisiones por las tres ventas que realiza en el mes, y el total que recibirá en el mes.
  • 20. Una tienda ofrece un descuento del 15% sobre el total de la compra, y un cliente desea saber cuanto deberá pagar finalmente por su compra.
  • 21. Un maestro desea saber que porcentaje de hombres y que porcentaje de mujeres hay en un grupo de estudiantes.
  • 22. Indique si una persona puede participar o no en las elecciones del 2012.
  • 23. Imprime un conteo del 0 al 100
  • 24. La resolución de problemas con la computadora por estos métodos ya sea los diagramas de flujos o por medio de seudocódigo es una forma de pensar muy útil para resolver problemas complejos en nuestra vida diaria y no solo aprender contenidos de memoria si no por estos métodos descomponer el aprendizaje y asimilar correctamente lo aprendido