SlideShare una empresa de Scribd logo
CURSO: LENGUAJE DE
PROGRAMACION PARA INGENIERÍA
UNIVERSIDAD NACIONAL DEL CALLAO
Facultad de Ingeniería Mecanica - Energia
Profesor: José Luis YUPANQUI PEREZ
Tema:
Metodología para la solución de
problemas
GENERALIDADES
DATO
Es la representación simbólica de un hecho, atributo o
característica de una entidad.
Ejm: nota de un alumno, nombre de un docente, color de un carro,
etc.
INFORMACION
Es un dato útil.
Ejm. El promedio final de un alumno para un curso, número
de aprobados en un examen, nombre de los primeros
alumnos de cada especialidad por cada ciclo.
La información se obtiene mediante el procesamiento de
los datos
Procesador
Entrada Salid
a
Algoritmo
DATOS INFORMACION
 Es realizado por el procesador el cual ejecuta un conjunto de
pasos previamente definidos (algoritmo)
 El procesamiento de datos puede ser:
Manual
Mecanizada (uso de calculadora, sumadora, etc)
Automatizado (uso del computador)
PROCESAMIENTO DE DATOS
Operaciones que transforman datos en información
PROCESAMIENTO DE DATOS
AUTOMATIZADO
Entrada
DATOS
Salid
a
INFORMACION
Programa
Algoritmo
Procesador
ALGORITMO
Secuencia ordenada de pasos (acciones) para resolver un
problema.
Se expresa en lenguaje natural
PROGRAMA
Es el algoritmo escrito en un lenguaje de programación para ser
ejecutado por el computador.
Tipos de lenguajes de Programación:
 Lenguaje de alto nivel: lenguaje similar al lenguaje natural.
Son fáciles de escribir. Es el mas usado por los programadores.
Ejm. C++, Pascal, Basic, Prolog, Java, etc
 Lenguaje de bajo nivel: lenguaje mnemotécnico.
Ejm. ADD M, N, P
 Lenguaje de máquina: lenguaje binario (0 y 1) entendible
directamente por el computador.
Ejm. 0110 1001 1010 1011
TIPOS DE PROGRAMAS (según el Lenguaje de Programación)
 PROGRAMA FUENTE (PF)
Programa escrito en lenguaje de alto o bajo nivel.
 PROGRAMA OBJETO (PO):
Programa escrito en lenguaje de máquina. Es el que ejecuta el computador.
TRADUCTORES DE LENGUAJE
Programas que traducen programas fuente a lenguaje de máquina.
Programa
Fuente
Compilado
r
Programa
Objeto
Program
a Fuente Intérprete
Ejecución del
Programa
Instrucción
en
leng.máq.
Ejecución de la
Instrucción
Tipos de Traductores: Compiladores e Intérpretes
instrucción
7
7
“ La mayoría de los cursos para aprender a
programar, son escencialmente iguales a
los cursos de manejo, en los cuales
enseñan a conducir el auto, pero no la
manera de usarlo para llegar a nuestro
destino ”
Edsger W. Dijsktra
8
8
METODOLOGIA PARA LA SOLUCION DE
PROBLEMAS POR MEDIO DE
COMPUTADORAS
Las etapas son :
1.
1. Definición del problema:
Definición del problema: describe en forma clara y
describe en forma clara y
precisa lo que se desea calcular. Se debe analizar los datos y
precisa lo que se desea calcular. Se debe analizar los datos y
formulas.
formulas.
2.
2. Solucion del Problema:
Solucion del Problema: describe la secuencia
describe la secuencia
ordenada de pasos -sin ambigüedades- que conducen a la
ordenada de pasos -sin ambigüedades- que conducen a la
solución de un problema dado.
solución de un problema dado.
Diseño del ALGORITMO
Diseño del ALGORITMO
3. Codificación:
3. Codificación: expresa el algoritmo como un programa
expresa el algoritmo como un programa
en un lenguaje de programación adecuado. (Dev C++
en un lenguaje de programación adecuado. (Dev C++ ).
).
4. Ejecución
4. Ejecución
FASES PARA LA CONSTRUCCION DE UN PROGRAMA
SOLUCION DEL
PROBLEMA
IMPLEMENTACION
EN LA
COMPUTADORA
Datos Programa
(Software)
Definicion del problema
Diseño del
algoritmo
Verificación
del algoritmo
Error de
lógica
OK
Codificación
del algoritmo
(programa)
Ejecución del
programa
Verificación del
programa
Programa
Error
sintaxis
OK
Algoritmo
10
10
1. Definición del problema
Está dada en sí por el enunciado del problema, el
cual debe ser claro y preciso.
Es importante que conozcamos exactamente "que
se desea obtener al final del proceso" ; mientras
esto no se comprenda no puede pasarse a la
siguiente etapa
11
11
2 Análisis de los datos
Para poder definir con precisión el problema se requiere que las
especificaciones de ENTRADA y SALIDA sean descritas con
detalle ya que esto es un requisito para lograr una solución
eficaz.
Una vez que el problema ha sido definido y comprendido, deben
analizarse los siguientes aspectos :
 Los resultados esperados.
Los resultados esperados.
 Los datos de entrada disponibles.
Los datos de entrada disponibles.
 Herramientas a nuestro alcance para manipular los datos
Herramientas a nuestro alcance para manipular los datos
y alcanzar un resultado (fórmulas, tablas, accesorios
y alcanzar un resultado (fórmulas, tablas, accesorios
diversos).
diversos).
Una medida aconsejable para facilitar esta etapa consiste en
colocarnos en lugar de la computadora deduciendo los
elementos que necesitaremos para alcanzar el resultado.
D A T O S
Tipos de Datos (reconocidos por el computador):
DATOS
BASICOS COMPUESTO
S
Numéricos Caracter Lógico Estático Dinámic
o
-Arreglos
-Registros
-Archivos
-Listas
-
Arboles
-Grafos
-Enteros
-Reales
DATOS SIMPLES O DATOS BASICOS
 DATOS NUMERICOS
Enteros y Reales
El rango y precisión de los datos numéricos depende del
lenguaje de programación que se utilice.
DATOS TIPO CARACTER
Conjunto de caracteres que el computador reconoce.
Se encuentran normalizados bajo el código ASCII o EBCDIC
Se tienen:
Caracteres alfabéticos: A - Z ; a - z
Caracteres numéricos: 0 - 9
Caracteres especiales: *, / , +, >, <, =, etc.
 DATOS TIPO LOGICO
Conjunto formado por dos valores lógicos:
verdad, falso
Operaciones con los datos
OPERACIONES INTERVIENEN OPERADORES RESULTADO
ARITMETICAS Datos
Numéricos
Aritméticos
+, - , *, /,
resto, entero
Dato
Numérico
DE
COMPARACION
Datos del
mismo tipo
Relacionales
>, <, >=, <=, =
Dato
Lógico
LOGICAS Datos
lógicos
Lógicos
No, Y, O
Dato
lógico
IMPORTANTE:
En operaciones aritméticas:
Muchos lenguajes cuentan con operadores adicionales a los
conocidos como los operadores para datos enteros:
entero (a/b): división entera de a/b
resto (a/b): resto de la división entera de a/b
Ejm. 10+ resto(5/3) Resultado: 12
En operaciones de Comparación:
En la comparación de datos tipo carácter se tiene:
‘0’<‘1’<‘2’<..<’9’<‘A’<‘B’<…<‘Z’<‘a’<‘b’<..<‘z’
En datos tipo lógico:
falso < verdad
Expresión de los datos
Un dato puede venir expresado como: constantes, variables,
expresiones, funciones, etc.
 CONSTANTE
Es un dato (de cualquier tipo) cuyo valor no cambia durante la
ejecución del algoritmo o programa.
Tipos de constantes:
 Literal: es un valor expresado en forma explícita.
Ejm. 3.1416
 Simbólica: viene expresado bajo un nombre que guarda
su valor
Ejm. Pi (Previamente se debe definir que Pi =
3.1416)
 VARIABLE
 Es un objeto (porción de memoria) que almacena un dato
 Para definir una variable es necesario:
- Darle un Nombre
- Indicar el tipo de dato que va almacenar
OJO: El valor de una variable puede cambiar
durante la ejecución del algoritmo.
Tipos de variables:
Entero: Ejm. nota, edad, examen,
Real: Ejm. promedio, sueldo, talla
Carácter: Ejm. sección, sexo,
Lógica: Ejm. Fin, encontrado, vale
Operador de asignación
Se utiliza para almacenar un dato en una variable,
perdiéndose cualquier otro valor
previamente almacenado en ella.
 Se representa con el símbolo 
Ejem.
Nota  12.3
Nota  Nota +2
12.3
Nota
Memoria RAM
14.3
 EXPRESIONES
Es una combinación de operandos y operadores
Tipos:
 Expresiones aritméticas
Operando: constantes, variables y expres. numér.
Operadores: aritméticos
Resultado: numérico
Ejm. (EP + 2*EF + PP)/4
 Expresiones lógicas
Operando: constantes, variables y expres. lógicas
Operadores: lógicos y relacionales
Resultado: lógico
Ejm. (PP>6.1 y PF>6.1)
21
21
EJEMPLO: Calcular el Area de un Rectángulo y su
Perimetro
Los datos de ENTRADA depende de la Formula.
Formula: Area-Rectangulo = Base x Altura
Perimetro = 2 (Base + Altura)
Entonces:
ENTRADA : Base y Altura
RESULTADO : IMPRIMIR Area-Rectangulo
Perimetro
22
22
3 Diseño de la solución
Una computadora no tiene capacidad para solucionar problemas más
que cuando se le proporcionan los sucesivos pasos a realizar, esto se
refiere a la obtención de un algoritmo que resuelva adecuadamente el
problema. En caso de obtenerse varios algoritmos, seleccionar uno
de ellos utilizando criterios ya conocidos.
Esta etapa incluye la descripción del algoritmo resultante en un lenguaje
natural - Pseudocodigo ó diagrama de flujo.
Como puede verse, solo se establece la metodología para alcanzar la
solución en forma conceptual, es decir ; sin alcanzar la
implementación en la Computadora.
De acuerdo al ejemplo 2.1 tenemos que la información proporcionada
constituye su entrada y la información producida por el algoritmo
constituye su salida. Los problemas complejos se pueden resolver
más eficazmente por la computadora cuando se dividen en
subproblemas que sean más fácil de solucionar
23
23
EJEMPLO: Calcular el Area de un Rectángulo y su
Perimetro
ANÁLISIS
 Los datos de ENTRADA depende de la Formula.
Formula: Area-Rectangulo = Base x Altura
Perimetro = 2 (Base + Altura)
Entonces:
ENTRADA : Base y Altura
CALCULO : Area-Rectangulo = ( Base * Altura ) / 2
Primetro = 2 * ( Base + Altura )
RESULTADO : IMPRIMIR Area-Rectangulo
Perimetro
24
24
4 Codificación
 Se refiere a la obtención de un programa definitivo que pueda
ser comprensible para la máquina. Incluye una etapa que se
reconoce como compilación.
 Si la codificación original se realizó en papel, previo a la
compilación deberá existir un paso conocido como
transcripción
25
25
 Programa Fuente
Esta escrito en un lenguaje de programación. (C++, Delphi,
Visual Basic, etc).
Es entendible por el programador.
 Programa Ejecutable
Está en lenguaje máquina.
Entendible por la máquina.
26
26
5 Prueba y depuración
 Una vez que se ha obtenido el programa ejecutable, este es
sometido a prueba a fin de determinar si resuelve o no el
problema planteado en forma satisfactoria.
 Las pruebas que se le aplican son de diversa índole y
generalmente dependen del tipo de problema que se está
resolviendo. Comúnmente se inicia la prueba de un programa
introduciendo datos válidos, inválidos e incongruentes y
observando como reacciona en cada ocasión.
 El proceso de depuración consiste en localizar los errores y
corregirlos en caso de que estos existan. Si no existen
errores, puede entenderse la depuración como una etapa de
refinamiento en la que se ajustan detalles para optimizar el
desempeño del programa
27
27
FLUJOGRAMA
DISEÑO
DE ALGORITMOS
ALGORITMO
 Secuencia ordenada de pasos o acciones o instrucciones
que se debe ejecutar para realizar una tarea o para resolver
un problema.
 Es expresado en lenguaje natural utilizando herramientas
estandarizadas.
Características de un algoritmo
 Preciso: El algoritmo debe indicar el orden en que se debe
realizar cada paso.
 Finito: El algoritmo tiene un número finito de pasos y debe
terminar en algún momento.
 Bien definido: Si el algoritmo se prueba dos veces con los
mismos datos de entrada, se debe obtener el mismo
resultado.
30
30
Resolución de un Problema
Resolución de un Problema
Start with problem
statement
Analyze problem &
develop algorithm
Write source code
Run & test program
Is there more
problem solving to
be done?
End
yes
no
Use program
Respuesta
= ‘2’
Problema
a Resolver
Ordenamiento
de las Ideas
Creación del
Algoritmo
Codificación
Compilación
Ejecución y obtención
de resultados
Análisis
Test
Correcciones
Fin
31
31
 Las actividades del aprendizaje se encadenan en
una mini-cascada con un alcance limitado por los
objetivos de la iteración al aprender.
Ciclo del proceso de aprendizaje en la
programacion es Iterativo e Incremental
Análisis
Diseño
Codific.
Pruebas e
Integración
n veces
INSTRUCCIONES
Son las acciones que van a ser ejecutadas por el computador
para resolver el problema.
TIPOS :
 Instrucciones de Inicio/Fin :
Indica el Inicio y el Fin del algoritmo
 Instrucciones de lectura:
Solicita al usuario el ingreso de datos desde un dispositivo de
entrada por ejemplo el teclado.
 Instrucciones de escritura:
Muestra los resultados a través de un dispositivo de salida por
ejemplo la pantalla, impresora, etc.
 Instrucciones de asignación:
Almacena un valor en una variable, perdiéndose cualquier
otro valor almacenado en ella.
 Instrucciones selectivas:
Permiten ejecutar unas u otras tareas de acuerdo al resultado
de una expresión condicional
 Instrucciones repetitivas:
Permiten la repetición de un grupo de instrucciones,
generando un bucle (lazo o loop).
EJEMPLO DE ALGORITMO
Se cuenta con las notas del EP, EF y PP de un alumno.
Se sabe que el promedio final (PF) se calcula con la fórmula:
PF=(EP+ PP+2EF)/4
Si el alumno cumple con la siguiente condición: PP>6.1 y
PF> 6.1 tiene opción a rendir un examen sustitutorio (ES)
Escriba un algoritmo reciba las notas del alumno y luego
muestre un mensaje indicando si el alumno puede rendir o no
puede rendir el ES.
En el caso que ya no pueda rendir el ES, debe mostrar
también el PF
Análisis
Datos de entrada: EP, EF, PP
Salida: mensaje y PF (si no puede rendir ES)
Algoritmo
Inicio del algoritmo
Ingresar las notas del alumno: EP, EF y PP
Calcular PF con la siguiente fórmula:
PF = (EP + 2EF + PP)/4
Si cumple la condición PP> 6.1 y PF>6.1entonces mostrar
el mensaje “Puede rendir el ES”
Si no cumple la condición entonces mostrar el mensaje “No
puede rendir ES” y mostrar PF
Fin del algoritmo.
HERRAMIENTAS PARA LA
REPRESENTACION DE ALGORITMOS
Para representar los algoritmos en forma estandarizada,
existen herramientas como:
 Diagrama de flujo
Técnica tipo gráfico
 Pseudocódigo
Lenguaje de especificación (palabras reservadas)
en lenguaje natural
 Diagrama de Nassi-Scheneiderman
Es una combinación de las dos anteriores
DIAGRAMA DE FLUJO PSEUDOCODIGO
Símbolos Significado Palabras
reservadas
Inicio / Fin
Lectura / Escritura
Proceso
Selectiva
Proceso
repetitivo
Inicio / Fin
Dirección o flujo
Leer / Escribir
Si -
entonces
+ - * / 
Mientras/
desde/Repetir
El algoritmo en Diagrama de Flujo
Inicio
Leer EP,EF, PP
PF=(EP+PP+2*EF)/4
PP>6.1 y PF>6.1
Escribir “Puede
rendir ES”
Escribir “No puede
rendir ES”
Fin
Escribir “La nota final
es: “ , PF
V
F
Escritura de un algoritmo en pseudocódigo
CABECERA
Contiene el nombre del algoritmo
(opcional)
Constantes
Nombre-constante = valor
Variables
Tipo-dato: nombre de variables
BLOQUE DE DECLARACIONES
Se utilizan para asignar espacios en la RAM
Se declaran: Constantes (opcional),
Variables (obligatorio),
Otros definidos por el usuario (opc.)
BLOQUE DE INSTRUCCIONES
• Inicio/Fin
• Lectura
Leer ( lista de variables)
• Escritura
Escribir ( resultado)
• Asignación
nombre de la variable  valor ó expresión
•Comentarios (no se ejecutan)
Sirven para escribir información interna
para facilitar el mantenimiento del
algoritmo.
Formato: // comentario
aAlgoritmo nombre del algoritmo
Inicio
instrucciones
Fin
El algoritmo en Pseudocódigo
Algoritmo PROMEDIO
Variables
entero: EP, EF
real: PP, PF
Inicio
Leer (EP, EF, PP)
PF = (EP+PP+2*EF)/4 // Calcula PF
Si (PP>6.1 y PF>6.1)
Escribir ( “Puede rendir el ES”)
sino
Escribir (“No puede rendir el ES”)
Escribir (“La nota final es: “, PF)
Fin-si
Fin
Cabecera del
algoritmo
Bloque de
declaraciones
Bloque de
Instruccione
s
 FUNCIONES
Son programas predefinidas que:
- Tienen un nombre con el cual se les invoca y
- Aceptan datos y devuelven un resultado.
Generalmente los lenguajes de programación poseen
funciones matemáticas, de cadenas y otros.
Ejm. En C++
Abs(X):devuelve el valor absoluto del número entero X
Sqrt(X):devuelve la raiz cuadrada del número X (X>=0)
Identificadores
 Son los nombres que se le dan a las constantes simbólicas,
variables, funciones y otros.
 Constan de una cadena de caracteres que debe empezar con
una letra.
 Deben ser significativos sugiriendo lo que representa.

Más contenido relacionado

PPT
Algoritmos Conceptos Basicos - www.ingfiis.tk
PPT
Algoritmosconeptosbasicos 1
DOC
Algoritmos y programas datos importantes
PPT
Algoritmos Y Programas Unidad1
PPT
Algoritmos y clase
PPTX
Unmsm01 2008
PDF
Fundamentos de programacion
DOCX
Algoritmo variables, constantes, tipos de datos y asignacion
Algoritmos Conceptos Basicos - www.ingfiis.tk
Algoritmosconeptosbasicos 1
Algoritmos y programas datos importantes
Algoritmos Y Programas Unidad1
Algoritmos y clase
Unmsm01 2008
Fundamentos de programacion
Algoritmo variables, constantes, tipos de datos y asignacion

Similar a Pasos para resolver un problema en lenguaje de programación (20)

PPTX
Clase 0 - Repaso de Programacion Orientada a Obejtos.pptx
PDF
UNIDAD 2_Tema 1.pdf
PPT
clase 1 programacion biomedica.ppt
DOCX
Lo básico para programar
PPTX
Exposicion unidad-iii
PDF
Unidad 1
PDF
Guia no1 algoritmos
PPSX
Programación estructurada presentación
PDF
Programacion primero
PDF
Programacion primero
PPTX
Fundamentos de programación 1. diseño de algoritmos
PDF
Programacion estructurada
PDF
Algoritmos y programacion en C++
DOC
Principios de programacion
PPT
Conceptos básicos sobre algortimia
PPTX
TEMA A TRATARSE: Fundamento de programación
PPT
Algoritmos conceptos basicos
PPT
Conceptos basicos
PDF
Lo básico para programar
Clase 0 - Repaso de Programacion Orientada a Obejtos.pptx
UNIDAD 2_Tema 1.pdf
clase 1 programacion biomedica.ppt
Lo básico para programar
Exposicion unidad-iii
Unidad 1
Guia no1 algoritmos
Programación estructurada presentación
Programacion primero
Programacion primero
Fundamentos de programación 1. diseño de algoritmos
Programacion estructurada
Algoritmos y programacion en C++
Principios de programacion
Conceptos básicos sobre algortimia
TEMA A TRATARSE: Fundamento de programación
Algoritmos conceptos basicos
Conceptos basicos
Lo básico para programar
Publicidad

Último (6)

PPTX
sistemas de informacion.................
PDF
AutoCAD Herramientas para el futuro, Juan Fandiño
PPTX
Derechos_de_Autor_y_Creative_Commons.pptx
PDF
Su punto de partida en la IA: Microsoft 365 Copilot Chat
DOCX
trabajo programacion.docxxdxxxddxdxxdxdxxxdxxdxdxd
PPTX
Conceptos basicos de Base de Datos y sus propiedades
sistemas de informacion.................
AutoCAD Herramientas para el futuro, Juan Fandiño
Derechos_de_Autor_y_Creative_Commons.pptx
Su punto de partida en la IA: Microsoft 365 Copilot Chat
trabajo programacion.docxxdxxxddxdxxdxdxxxdxxdxdxd
Conceptos basicos de Base de Datos y sus propiedades
Publicidad

Pasos para resolver un problema en lenguaje de programación

  • 1. CURSO: LENGUAJE DE PROGRAMACION PARA INGENIERÍA UNIVERSIDAD NACIONAL DEL CALLAO Facultad de Ingeniería Mecanica - Energia Profesor: José Luis YUPANQUI PEREZ Tema: Metodología para la solución de problemas
  • 2. GENERALIDADES DATO Es la representación simbólica de un hecho, atributo o característica de una entidad. Ejm: nota de un alumno, nombre de un docente, color de un carro, etc. INFORMACION Es un dato útil. Ejm. El promedio final de un alumno para un curso, número de aprobados en un examen, nombre de los primeros alumnos de cada especialidad por cada ciclo. La información se obtiene mediante el procesamiento de los datos
  • 3. Procesador Entrada Salid a Algoritmo DATOS INFORMACION  Es realizado por el procesador el cual ejecuta un conjunto de pasos previamente definidos (algoritmo)  El procesamiento de datos puede ser: Manual Mecanizada (uso de calculadora, sumadora, etc) Automatizado (uso del computador) PROCESAMIENTO DE DATOS Operaciones que transforman datos en información
  • 5. ALGORITMO Secuencia ordenada de pasos (acciones) para resolver un problema. Se expresa en lenguaje natural PROGRAMA Es el algoritmo escrito en un lenguaje de programación para ser ejecutado por el computador. Tipos de lenguajes de Programación:  Lenguaje de alto nivel: lenguaje similar al lenguaje natural. Son fáciles de escribir. Es el mas usado por los programadores. Ejm. C++, Pascal, Basic, Prolog, Java, etc  Lenguaje de bajo nivel: lenguaje mnemotécnico. Ejm. ADD M, N, P  Lenguaje de máquina: lenguaje binario (0 y 1) entendible directamente por el computador. Ejm. 0110 1001 1010 1011
  • 6. TIPOS DE PROGRAMAS (según el Lenguaje de Programación)  PROGRAMA FUENTE (PF) Programa escrito en lenguaje de alto o bajo nivel.  PROGRAMA OBJETO (PO): Programa escrito en lenguaje de máquina. Es el que ejecuta el computador. TRADUCTORES DE LENGUAJE Programas que traducen programas fuente a lenguaje de máquina. Programa Fuente Compilado r Programa Objeto Program a Fuente Intérprete Ejecución del Programa Instrucción en leng.máq. Ejecución de la Instrucción Tipos de Traductores: Compiladores e Intérpretes instrucción
  • 7. 7 7 “ La mayoría de los cursos para aprender a programar, son escencialmente iguales a los cursos de manejo, en los cuales enseñan a conducir el auto, pero no la manera de usarlo para llegar a nuestro destino ” Edsger W. Dijsktra
  • 8. 8 8 METODOLOGIA PARA LA SOLUCION DE PROBLEMAS POR MEDIO DE COMPUTADORAS Las etapas son : 1. 1. Definición del problema: Definición del problema: describe en forma clara y describe en forma clara y precisa lo que se desea calcular. Se debe analizar los datos y precisa lo que se desea calcular. Se debe analizar los datos y formulas. formulas. 2. 2. Solucion del Problema: Solucion del Problema: describe la secuencia describe la secuencia ordenada de pasos -sin ambigüedades- que conducen a la ordenada de pasos -sin ambigüedades- que conducen a la solución de un problema dado. solución de un problema dado. Diseño del ALGORITMO Diseño del ALGORITMO 3. Codificación: 3. Codificación: expresa el algoritmo como un programa expresa el algoritmo como un programa en un lenguaje de programación adecuado. (Dev C++ en un lenguaje de programación adecuado. (Dev C++ ). ). 4. Ejecución 4. Ejecución
  • 9. FASES PARA LA CONSTRUCCION DE UN PROGRAMA SOLUCION DEL PROBLEMA IMPLEMENTACION EN LA COMPUTADORA Datos Programa (Software) Definicion del problema Diseño del algoritmo Verificación del algoritmo Error de lógica OK Codificación del algoritmo (programa) Ejecución del programa Verificación del programa Programa Error sintaxis OK Algoritmo
  • 10. 10 10 1. Definición del problema Está dada en sí por el enunciado del problema, el cual debe ser claro y preciso. Es importante que conozcamos exactamente "que se desea obtener al final del proceso" ; mientras esto no se comprenda no puede pasarse a la siguiente etapa
  • 11. 11 11 2 Análisis de los datos Para poder definir con precisión el problema se requiere que las especificaciones de ENTRADA y SALIDA sean descritas con detalle ya que esto es un requisito para lograr una solución eficaz. Una vez que el problema ha sido definido y comprendido, deben analizarse los siguientes aspectos :  Los resultados esperados. Los resultados esperados.  Los datos de entrada disponibles. Los datos de entrada disponibles.  Herramientas a nuestro alcance para manipular los datos Herramientas a nuestro alcance para manipular los datos y alcanzar un resultado (fórmulas, tablas, accesorios y alcanzar un resultado (fórmulas, tablas, accesorios diversos). diversos). Una medida aconsejable para facilitar esta etapa consiste en colocarnos en lugar de la computadora deduciendo los elementos que necesitaremos para alcanzar el resultado.
  • 12. D A T O S
  • 13. Tipos de Datos (reconocidos por el computador): DATOS BASICOS COMPUESTO S Numéricos Caracter Lógico Estático Dinámic o -Arreglos -Registros -Archivos -Listas - Arboles -Grafos -Enteros -Reales
  • 14. DATOS SIMPLES O DATOS BASICOS  DATOS NUMERICOS Enteros y Reales El rango y precisión de los datos numéricos depende del lenguaje de programación que se utilice. DATOS TIPO CARACTER Conjunto de caracteres que el computador reconoce. Se encuentran normalizados bajo el código ASCII o EBCDIC Se tienen: Caracteres alfabéticos: A - Z ; a - z Caracteres numéricos: 0 - 9 Caracteres especiales: *, / , +, >, <, =, etc.  DATOS TIPO LOGICO Conjunto formado por dos valores lógicos: verdad, falso
  • 15. Operaciones con los datos OPERACIONES INTERVIENEN OPERADORES RESULTADO ARITMETICAS Datos Numéricos Aritméticos +, - , *, /, resto, entero Dato Numérico DE COMPARACION Datos del mismo tipo Relacionales >, <, >=, <=, = Dato Lógico LOGICAS Datos lógicos Lógicos No, Y, O Dato lógico
  • 16. IMPORTANTE: En operaciones aritméticas: Muchos lenguajes cuentan con operadores adicionales a los conocidos como los operadores para datos enteros: entero (a/b): división entera de a/b resto (a/b): resto de la división entera de a/b Ejm. 10+ resto(5/3) Resultado: 12 En operaciones de Comparación: En la comparación de datos tipo carácter se tiene: ‘0’<‘1’<‘2’<..<’9’<‘A’<‘B’<…<‘Z’<‘a’<‘b’<..<‘z’ En datos tipo lógico: falso < verdad
  • 17. Expresión de los datos Un dato puede venir expresado como: constantes, variables, expresiones, funciones, etc.  CONSTANTE Es un dato (de cualquier tipo) cuyo valor no cambia durante la ejecución del algoritmo o programa. Tipos de constantes:  Literal: es un valor expresado en forma explícita. Ejm. 3.1416  Simbólica: viene expresado bajo un nombre que guarda su valor Ejm. Pi (Previamente se debe definir que Pi = 3.1416)
  • 18.  VARIABLE  Es un objeto (porción de memoria) que almacena un dato  Para definir una variable es necesario: - Darle un Nombre - Indicar el tipo de dato que va almacenar OJO: El valor de una variable puede cambiar durante la ejecución del algoritmo. Tipos de variables: Entero: Ejm. nota, edad, examen, Real: Ejm. promedio, sueldo, talla Carácter: Ejm. sección, sexo, Lógica: Ejm. Fin, encontrado, vale
  • 19. Operador de asignación Se utiliza para almacenar un dato en una variable, perdiéndose cualquier otro valor previamente almacenado en ella.  Se representa con el símbolo  Ejem. Nota  12.3 Nota  Nota +2 12.3 Nota Memoria RAM 14.3
  • 20.  EXPRESIONES Es una combinación de operandos y operadores Tipos:  Expresiones aritméticas Operando: constantes, variables y expres. numér. Operadores: aritméticos Resultado: numérico Ejm. (EP + 2*EF + PP)/4  Expresiones lógicas Operando: constantes, variables y expres. lógicas Operadores: lógicos y relacionales Resultado: lógico Ejm. (PP>6.1 y PF>6.1)
  • 21. 21 21 EJEMPLO: Calcular el Area de un Rectángulo y su Perimetro Los datos de ENTRADA depende de la Formula. Formula: Area-Rectangulo = Base x Altura Perimetro = 2 (Base + Altura) Entonces: ENTRADA : Base y Altura RESULTADO : IMPRIMIR Area-Rectangulo Perimetro
  • 22. 22 22 3 Diseño de la solución Una computadora no tiene capacidad para solucionar problemas más que cuando se le proporcionan los sucesivos pasos a realizar, esto se refiere a la obtención de un algoritmo que resuelva adecuadamente el problema. En caso de obtenerse varios algoritmos, seleccionar uno de ellos utilizando criterios ya conocidos. Esta etapa incluye la descripción del algoritmo resultante en un lenguaje natural - Pseudocodigo ó diagrama de flujo. Como puede verse, solo se establece la metodología para alcanzar la solución en forma conceptual, es decir ; sin alcanzar la implementación en la Computadora. De acuerdo al ejemplo 2.1 tenemos que la información proporcionada constituye su entrada y la información producida por el algoritmo constituye su salida. Los problemas complejos se pueden resolver más eficazmente por la computadora cuando se dividen en subproblemas que sean más fácil de solucionar
  • 23. 23 23 EJEMPLO: Calcular el Area de un Rectángulo y su Perimetro ANÁLISIS  Los datos de ENTRADA depende de la Formula. Formula: Area-Rectangulo = Base x Altura Perimetro = 2 (Base + Altura) Entonces: ENTRADA : Base y Altura CALCULO : Area-Rectangulo = ( Base * Altura ) / 2 Primetro = 2 * ( Base + Altura ) RESULTADO : IMPRIMIR Area-Rectangulo Perimetro
  • 24. 24 24 4 Codificación  Se refiere a la obtención de un programa definitivo que pueda ser comprensible para la máquina. Incluye una etapa que se reconoce como compilación.  Si la codificación original se realizó en papel, previo a la compilación deberá existir un paso conocido como transcripción
  • 25. 25 25  Programa Fuente Esta escrito en un lenguaje de programación. (C++, Delphi, Visual Basic, etc). Es entendible por el programador.  Programa Ejecutable Está en lenguaje máquina. Entendible por la máquina.
  • 26. 26 26 5 Prueba y depuración  Una vez que se ha obtenido el programa ejecutable, este es sometido a prueba a fin de determinar si resuelve o no el problema planteado en forma satisfactoria.  Las pruebas que se le aplican son de diversa índole y generalmente dependen del tipo de problema que se está resolviendo. Comúnmente se inicia la prueba de un programa introduciendo datos válidos, inválidos e incongruentes y observando como reacciona en cada ocasión.  El proceso de depuración consiste en localizar los errores y corregirlos en caso de que estos existan. Si no existen errores, puede entenderse la depuración como una etapa de refinamiento en la que se ajustan detalles para optimizar el desempeño del programa
  • 29. ALGORITMO  Secuencia ordenada de pasos o acciones o instrucciones que se debe ejecutar para realizar una tarea o para resolver un problema.  Es expresado en lenguaje natural utilizando herramientas estandarizadas. Características de un algoritmo  Preciso: El algoritmo debe indicar el orden en que se debe realizar cada paso.  Finito: El algoritmo tiene un número finito de pasos y debe terminar en algún momento.  Bien definido: Si el algoritmo se prueba dos veces con los mismos datos de entrada, se debe obtener el mismo resultado.
  • 30. 30 30 Resolución de un Problema Resolución de un Problema Start with problem statement Analyze problem & develop algorithm Write source code Run & test program Is there more problem solving to be done? End yes no Use program Respuesta = ‘2’ Problema a Resolver Ordenamiento de las Ideas Creación del Algoritmo Codificación Compilación Ejecución y obtención de resultados Análisis Test Correcciones Fin
  • 31. 31 31  Las actividades del aprendizaje se encadenan en una mini-cascada con un alcance limitado por los objetivos de la iteración al aprender. Ciclo del proceso de aprendizaje en la programacion es Iterativo e Incremental Análisis Diseño Codific. Pruebas e Integración n veces
  • 32. INSTRUCCIONES Son las acciones que van a ser ejecutadas por el computador para resolver el problema. TIPOS :  Instrucciones de Inicio/Fin : Indica el Inicio y el Fin del algoritmo  Instrucciones de lectura: Solicita al usuario el ingreso de datos desde un dispositivo de entrada por ejemplo el teclado.  Instrucciones de escritura: Muestra los resultados a través de un dispositivo de salida por ejemplo la pantalla, impresora, etc.
  • 33.  Instrucciones de asignación: Almacena un valor en una variable, perdiéndose cualquier otro valor almacenado en ella.  Instrucciones selectivas: Permiten ejecutar unas u otras tareas de acuerdo al resultado de una expresión condicional  Instrucciones repetitivas: Permiten la repetición de un grupo de instrucciones, generando un bucle (lazo o loop).
  • 34. EJEMPLO DE ALGORITMO Se cuenta con las notas del EP, EF y PP de un alumno. Se sabe que el promedio final (PF) se calcula con la fórmula: PF=(EP+ PP+2EF)/4 Si el alumno cumple con la siguiente condición: PP>6.1 y PF> 6.1 tiene opción a rendir un examen sustitutorio (ES) Escriba un algoritmo reciba las notas del alumno y luego muestre un mensaje indicando si el alumno puede rendir o no puede rendir el ES. En el caso que ya no pueda rendir el ES, debe mostrar también el PF
  • 35. Análisis Datos de entrada: EP, EF, PP Salida: mensaje y PF (si no puede rendir ES) Algoritmo Inicio del algoritmo Ingresar las notas del alumno: EP, EF y PP Calcular PF con la siguiente fórmula: PF = (EP + 2EF + PP)/4 Si cumple la condición PP> 6.1 y PF>6.1entonces mostrar el mensaje “Puede rendir el ES” Si no cumple la condición entonces mostrar el mensaje “No puede rendir ES” y mostrar PF Fin del algoritmo.
  • 36. HERRAMIENTAS PARA LA REPRESENTACION DE ALGORITMOS Para representar los algoritmos en forma estandarizada, existen herramientas como:  Diagrama de flujo Técnica tipo gráfico  Pseudocódigo Lenguaje de especificación (palabras reservadas) en lenguaje natural  Diagrama de Nassi-Scheneiderman Es una combinación de las dos anteriores
  • 37. DIAGRAMA DE FLUJO PSEUDOCODIGO Símbolos Significado Palabras reservadas Inicio / Fin Lectura / Escritura Proceso Selectiva Proceso repetitivo Inicio / Fin Dirección o flujo Leer / Escribir Si - entonces + - * /  Mientras/ desde/Repetir
  • 38. El algoritmo en Diagrama de Flujo Inicio Leer EP,EF, PP PF=(EP+PP+2*EF)/4 PP>6.1 y PF>6.1 Escribir “Puede rendir ES” Escribir “No puede rendir ES” Fin Escribir “La nota final es: “ , PF V F
  • 39. Escritura de un algoritmo en pseudocódigo CABECERA Contiene el nombre del algoritmo (opcional) Constantes Nombre-constante = valor Variables Tipo-dato: nombre de variables BLOQUE DE DECLARACIONES Se utilizan para asignar espacios en la RAM Se declaran: Constantes (opcional), Variables (obligatorio), Otros definidos por el usuario (opc.) BLOQUE DE INSTRUCCIONES • Inicio/Fin • Lectura Leer ( lista de variables) • Escritura Escribir ( resultado) • Asignación nombre de la variable  valor ó expresión •Comentarios (no se ejecutan) Sirven para escribir información interna para facilitar el mantenimiento del algoritmo. Formato: // comentario aAlgoritmo nombre del algoritmo Inicio instrucciones Fin
  • 40. El algoritmo en Pseudocódigo Algoritmo PROMEDIO Variables entero: EP, EF real: PP, PF Inicio Leer (EP, EF, PP) PF = (EP+PP+2*EF)/4 // Calcula PF Si (PP>6.1 y PF>6.1) Escribir ( “Puede rendir el ES”) sino Escribir (“No puede rendir el ES”) Escribir (“La nota final es: “, PF) Fin-si Fin Cabecera del algoritmo Bloque de declaraciones Bloque de Instruccione s
  • 41.  FUNCIONES Son programas predefinidas que: - Tienen un nombre con el cual se les invoca y - Aceptan datos y devuelven un resultado. Generalmente los lenguajes de programación poseen funciones matemáticas, de cadenas y otros. Ejm. En C++ Abs(X):devuelve el valor absoluto del número entero X Sqrt(X):devuelve la raiz cuadrada del número X (X>=0) Identificadores  Son los nombres que se le dan a las constantes simbólicas, variables, funciones y otros.  Constan de una cadena de caracteres que debe empezar con una letra.  Deben ser significativos sugiriendo lo que representa.