Documentos de Académico
Documentos de Profesional
Documentos de Cultura
MECANICA-
ENERGIA
Edsger W. Dijsktra
5
METODOLOGIA PARA LA SOLUCION DE
PROBLEMAS POR MEDIO DE
COMPUTADORAS
Las etapas son :
DEFINICIN DEL PROBLEMA, describe en
forma clara lo que se desea calcular.
DISEO DEL ALGORITMO, describe la
secuencia ordenada de pasos -sin
ambigedades- que conducen a la solucin de
un problema dado. (Anlisis del problema y
desarrollo del algoritmo.).
CODIFICACIN, expresa el algoritmo como un
programa en un lenguaje de programacin
adecuado. (Visual C++).
EJECUCIN Y VALIDACIN del programa por
la computadora.
6
1. Definicin del problema
7
2 DISEO DEL ALGORITMO
8
Calcular el Area de un Rectngulo y su
EJEMPLO:
Perimetro
Entonces:
ENTRADA : Base y Altura
9
Una computadora no tiene capacidad para solucionar problemas
ms que cuando se le proporcionan los sucesivos pasos a
realizar, esto se refiere a la obtencin 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 descripcin del algoritmo resultante en un
lenguaje natural - Pseudocodigo diagrama de flujo.
10
Calcular el Area de un Rectngulo y su
EJEMPLO:
Perimetro
ANLISIS
Los datos de ENTRADA depende de la Formula.
Formula: Area-Rectangulo = Base x Altura
Perimetro = 2 (Base + Altura)
Entonces:
ENTRADA : Base y Altura
11
3 Codificacin
12
Programa Fuente
Esta escrito en un lenguaje de
programacin. (C++, Delphi, Visual Basic,
etc).
Es entendible por el programador.
Programa Ejecutable
Est en lenguaje mquina.
Entendible por la mquina.
13
4. EJECUCION Y VALIDACION
14
FLUJOGRAMA
15
ALGORITMO
Conjunto de reglas para resolver un
problema. Su ejecucin requiere
unos recursos.
Un algoritmo es un mtodo para resolver un
problema
E/S Comunicaciones
Memoria
0 ms 1 ms
ALGORITMO
entradas salidas
16
CARACTERISTICAS DE LOS ALGORITMOS
17
Para llegar a la realizacin de un programa es necesario el
diseo previo de un algoritmo, de modo que sin algoritmo
no puede existir un programa.
Los algoritmos son independientes tanto del lenguaje de
programacin en que se expresan como de la computadora
que los ejecuta. En cada problema el algoritmo se puede
expresar en un lenguaje diferente de programacin y
ejecutarse en una computadora distinta; sin embargo, el
algoritmo ser siempre el mismo.
En la ciencia de la computacin y en la programacin, los
algoritmos son ms importantes que los lenguajes de
programacin o las computadoras. Un lenguaje de
programacin es tan slo un medio para expresar un
algoritmo y una computadora es slo un procesador para
ejecutarlo. Tanto el lenguaje de programacin como la
computadora son los medios para obtener un fin:
conseguir que el algoritmo se ejecute y se efecte el
proceso correspondiente.
El diseo de la mayora de los algoritmos requiere creatividad
y conocimientos profundos de la tcnica de la
programacin. En esencia, la solucin de un problema se
puede expresar mediante un algoritmo.
18
EJEMPLO: Una receta de un plato de cocina se
puede expresar en espaol, ingls o francs,
pero cualquiera que sea el lenguaje, los pasos
para la elaboracin del plato se realizarn sin
importar el idioma del cocinero.
19
software
20
TENICAS PARA LA FORMULACION DE
ALGORITMOS
Pseudocdigo
Diagrama de flujo
Diagramas estructurados
21
Diagramas de Flujo
22
Pseudocdigo
23
ESTRUCTURA
Inicio Caractersticas
accin1 1. Debe tener Un Inicio
accin2 y un Final
: 2. Secuencia Lgica
24
LENGUAJE DE PROGRAMACION
26
Que es programar?
27
Resolucin de un Problema
Anlisis
Correcciones
Fin Test
Compilacin
Respuesta
= 2
Ejecucin y obtencin
de resultados
28
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 iteracin al aprender.
Anlisis
Diseo
Codific.
n veces Pruebas e
Integracin
29
Resolucin de
problemas
30
Fases en la solucin de un problema
Problema
Anlisis
Especificacin
Diseo
Algoritmo
Programacin Prueba
Programa
31
Diseo
Esta etapa consiste en el diseo de
la solucin al problema planteado.
32
Diseo
Un algoritmo es una frmula, un
conjunto de pasos para resolver
un problema.
diseo modular o
Resolucin Diseo del descendente
de un algoritmo
problema refinamiento por pasos
36
Desarrollo de Algoritmos
Si
en (cond
t
de once icin
l
acc co s acc )
o
i n n t r i n
2 ari 1
o,
37
Pseudocdigo
Veamos un ejemplo..
MOSTRAR Hola
L A
HO
ESCRIBIR Hola
38
Pseudocdigo
Otro ejemplo..
2500
CALCULAR X A + B
Variables
43
Elementos de un programa
hora horaLlegada
44
Elementos de un programa
Expresiones
Son conjuntos de variables y/o
constantes unidas o relacionadas por
operadores.
Hay tres tipos de expresiones:
- Numricas
- Alfanumricas
- Lgicas
45
Elementos
de un
Expresiones Numricas programa
Las que producen resultados de
tipo numrico.
XY+57+C
Para su construccin se utilizan los
Operadores aritmticos.
( ) Parntesis
^
Potencia
*
Multiplicacin
46
Elementos de un
programa
Expresiones Numricas
Al evaluar expresiones numricas
debemos tomar en cuenta el
orden de precedencia de las
operaciones:
1. Parntesis
2. Potencias
3. Multiplicacin y Divisin
4. Suma y Resta
47
Expresiones Numricas
Supongamos tres variables con
sus valores.
var1 var 2 var3
5 8 3
suma 16 48
Expresiones Numricas
Otros ejemplos:
var1 var 2 var3
5 8 3
Calcular
suma (var1 + var2) * var3 + ( var 2 / 2 )
suma
43
49
Elementos de
un
Expresiones Numricas programa
Otros ejemplos:
var1 var 2 var3
5 8 3
Calcular
suma var1 + ( var2 * var3) + ( var 2 / 2 )
suma
33
50
Elementos de un
programa
Expresiones Alfanumricas
Las que producen resultados de
tipo alfanumrico.
Ejemplo:
51
Elementos de un programa
Expresiones Lgicas
Son las que producen resultados
de tipo lgico, es decir, Verdadero
o Falso. (True False)
(A > 0)
(B < 5)
(C == D)
(F != E)
52
Expresiones Lgicas
Para su construccin se utilizan los
Operadores Relacionales.
= Igual
< Menor que
<= Menor o igual que
> Mayor que
>= Mayor o igual que
!= Distinto a
53
Expresiones Lgicas
( 7 != 3 ) Verdadero ( True )
54
Expresiones Lgicas
OR Disjuncin
NOT Negacin
Por ejemplo:
57
Expresiones Lgicas
Decisin
1.Inicio CalculoMonto
2. precio,monto: numrico
3.Leer precio
4.Si (precio > 10.000) entonces
4.1 Calcular monto (precio (precio * 0.06))
sino
4.2 Calcular monto (precio (precio * 0.05))
5. Mostrar (El monto a pagar es: , monto)
6. Terminar CalculoMonto
Salida: monto: numerico
60
Escribir un programa que lea tres nmeros y los imprima.
Salida:
num1, num2, num3: numrico 61
Ejemplo
Escribir un programa que lea tres nmeros, los sume e imprima el resultado de la
suma.
Salida:
suma: numrico
62
Ejercicio
ESCRIBIR UN PROGRAMA QUE LEA TRES NMEROS, LOS
SUME Y MULTIPLIQUE E IMPRIMA EL RESULTADO
MAYOR.
Algoritmo
Entrada: 1.Inicio TresNumeros
num1, num2, num3:
numrico 2.num1,num2,num3,suma, multi: numrico
3.Leer num1,num2,num3
4.Calcular suma num1+num2+num3
5.Calcular multi num1*num2*num3
6.Si suma > multi entonces
Salida:
6.1 Escribir (El resultado mayor es : suma)
suma, multi: numrico
Sino
6.2 Escribir (El resultado mayor es : multi)
7. Terminar TresNumeros
63
Operaciones y Expresiones
64
Operadores Aritmticos
Operador Accin
+ Adicin
- Substraccin
* Multiplicacin
/ Divisin
% Resto de divisin
entera
++ Incremento
-- Decremento
65
Operadores Relacionales
Operador Accin
> Mayor que
>= Mayor que o igual
< Menor que
<= Menor que o igual
== Igual
!= No igual
66
Operadores Lgicos
Operador Accin
&& Y
|| O
! NO
&& Y
Tabla de Verdad
p q p&&q p||q !p
0 0 0 0 1
0 1 0 1 1
1 1 1 1 0
1 0 0 1 0
67
Tipos, Operadores y
Expresiones.
Introduccin
69
Nombres de Variables
70
Tipos de Variables
Tipo Asignacin
Nombre Comentario
72
Constantes
74
Constantes
75
Declaracin de constantes
76
Declaracin de variables
Todas las variables han de ser declaradas
antes de ser usadas y pueden cambiar su
valor durante la ejecucin del programa.
Forma:
Tipo
lista_de_variables;
77
Declaraciones
78
Variables Locales vs. Globales
79
Inicializacin de variables
Nombre_de_variable = constante;
80
Comentarios
Ejemplo:
/* Este es un comentario */
...
81
SHORTHAND
Shorthand Equivalente
i+=10 i=i+10
i*=10 i=i*10
i/=10 i=i/10
i%=10 i=i%10
82
INCREMENTO Y DECREMENTO
DECLARACION:
86
Variables Estticas