Está en la página 1de 41

UNIVERSIDAD NACIONAL DEL CALLAO

Facultad de Ingeniería Mecanica - Energia

CURSO: LENGUAJE DE
PROGRAMACION PARA INGENIERÍA

Tema:
Metodología para la solución de
problemas

Profesor: José Luis YUPANQUI PEREZ


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
PROCESAMIENTO DE DATOS

Operaciones que transforman datos en información

DATOS INFORMACION
Procesador
Entrada Salida

Algoritmo

 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
AUTOMATIZADO

Procesador

DATOS INFORMACION

Entrada Salida

Programa

Algoritmo
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.

Tipos de Traductores: Compiladores e Intérpretes

Programa Programa
Compilador Ejecución del
Fuente Objeto
Programa

Programa instrucción
Instrucción Ejecución de la
Fuente Intérprete en leng.máq. Instrucción
“ 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

7
METODOLOGIA PARA LA SOLUCION DE
PROBLEMAS POR MEDIO DE
COMPUTADORAS
Las etapas son :
1. Definición del problema: describe en forma clara
y precisa lo que se desea calcular. Se debe analizar los datos y
formulas.
2. Solucion del Problema: describe la secuencia
ordenada de pasos -sin ambigüedades- que conducen a la
solución de un problema dado.
Diseño del ALGORITMO

3. Codificación: expresa el algoritmo como un programa


en un lenguaje de programación adecuado. (Dev C++ ).
4. Ejecución
8
FASES PARA LA CONSTRUCCION DE UN PROGRAMA

Datos IMPLEMENTACION Programa


SOLUCION DEL
EN LA
PROBLEMA
COMPUTADORA (Software)

Codificación
Definicion del problema del algoritmo
(programa)

Diseño del Ejecución del


programa Error
algoritmo
sintaxis
Verificación del
Verificación
Error de del algoritmo programa
lógica OK
OK

Algoritmo Programa
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

10
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 datos de entrada disponibles.
 Herramientas a nuestro alcance para manipular los datos y
alcanzar un resultado (fórmulas, tablas, accesorios 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.

11
DATOS
Tipos de Datos (reconocidos por el computador):

DATOS

BASICOS COMPUESTOS

Numéricos Caracter Lógico Estático Dinámico

-Enteros -Arreglos -Listas


-Reales -Registros -Arboles
-Archivos -Grafos
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

Aritméticos
ARITMETICAS Datos +, - , *, /, Dato
Numéricos resto, entero Numérico

DE Datos del Relacionales Dato


COMPARACION mismo tipo >, <, >=, <=, = Lógico

LOGICAS Datos Lógicos Dato


lógicos No, Y, O 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.
Memoria RAM
 Se representa con el símbolo 
Ejem.
Nota
Nota  12.3
12.3
14.3

Nota  Nota +2
 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)
Calcular el Area de un Rectángulo y su
EJEMPLO:

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

21
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

22
Calcular el Area de un Rectángulo y su
EJEMPLO:

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
23
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

24
 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.

25
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

26
FLUJOGRAMA

27
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.
Resolución de un Problema
Análisis
Codificación

Problema Ordenamiento Creación del


a Resolver de las Ideas Algoritmo
Start with problem
statement

Correcciones
Is there more
problem solving to
be done?

yes

Fin
no
Analyze problem &
Test
Compilación
develop algorithm

Write source code


Respuesta
Run & test program = ‘2’
Ejecución y obtención
Use program 30
de resultados
End
Ciclo del proceso de aprendizaje en la
programacion es Iterativo e Incremental
 Las actividades del aprendizaje se encadenan en
una mini-cascada con un alcance limitado por los
objetivos de la iteración al aprender.

Análisis

Diseño

Codific.
n veces Pruebas e
Integración

31
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 Inicio / Fin

Lectura / Escritura Leer / Escribir

Proceso
+-*/

Selectiva Si - entonces

Proceso Mientras/
repetitivo desde/Repetir

Dirección o flujo
El algoritmo en Diagrama de Flujo

Inicio

Leer EP,EF, PP

PF=(EP+PP+2*EF)/4

F V
PP>6.1 y PF>6.1

Escribir “No puede


rendir ES” Escribir “Puede
rendir ES”
Escribir “La nota final
es: “ , PF

Fin
Escritura de un algoritmo en pseudocódigo

CABECERA
aAlgoritmo nombre del algoritmo Contiene el nombre del algoritmo (opcional)

BLOQUE DE DECLARACIONES
Constantes Se utilizan para asignar espacios en la RAM
Nombre-constante = valor Se declaran: Constantes (opcional),
Variables Variables (obligatorio),
Tipo-dato: nombre de variables Otros definidos por el usuario (opc.)

BLOQUE DE INSTRUCCIONES
• Inicio/Fin
Inicio • Lectura
Leer ( lista de variables)
• Escritura
instrucciones Escribir ( resultado)
• Asignación
nombre de la variable  valor ó expresión

•Comentarios (no se ejecutan)


Fin Sirven para escribir información interna para
facilitar el mantenimiento del algoritmo.
Formato: // comentario
El algoritmo en Pseudocódigo

Algoritmo PROMEDIO Cabecera del algoritmo

Variables
entero: EP, EF Bloque de declaraciones
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”) Bloque de
sino Instrucciones
Escribir (“No puede rendir el ES”)
Escribir (“La nota final es: “, PF)
Fin-si
Fin
 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.

También podría gustarte