You are on page 1of 34

PROBLEMAS RESUELTOS

CON COMPUTADORAS Y
HERRAMIENTAS DE
PROGRAMACION

1
INDICE
• OBJETIVO
• SOLUCION DE PROBLEMAS
• ANALISIS DEL PROBLEMA
• DISEÑO DEL ALGORITMO
• SOLUCION DEL PROBLEMA MEDIANTE
COMPUTADORA
• REPRESENTACION GRAFICA DE
ALGORITMOS
• PSEUDOCODIGO
2
2.1 OBJETIVO

• EXPONER LOS CONOCIMIENTOS


INDISPENSABLES PARA EL APRENDIZAJE
DE LA PROGRAMACION.

3
2.2 SOLUCION DE PROBLEMAS
• Fases de fragmentación:
– Análisis del problema: definición concisa
a fin de que sea analizado en todo
detalle.
– Diseño del algoritmo: procedimiento,
paso a paso, para la solucionar el
problema dado.
– Solución del algoritmo con la
computadora: codificación del algoritmo
en un lenguaje de programación
4
2.3 ANALISIS DEL PROBLEMA
• El propósito es ayudar al programador a
llegar a un cierto grado de comprensión
de la naturaleza del problema.

• Una buena definición del problema,


junto con una descripción detallada de
entrada y salida, son los requisitos más
importantes para una solución eficaz.

5
2.3 ANALISIS DEL PROBLEMA cont.

1. Que información debe proporcionar la


solución del problema.
Solución del
Problema

Análisis del Diseño del Solución por


Problema algoritmo computadora

6
2.3 ANALISIS DEL PROBLEMA cont.

2. Que datos se necesitan para resolver el


problema.
Análisis del
Problema

Definición del Especificaciones Especificaciones


Problema de entrada de salida

7
2.3 ANALISIS DEL PROBLEMA cont.

• Ejemplo: leer los lados de un triángulo


rectángulo e imprima la hipotenusa.

– Entradas: valores de los lados (variable


LADO1 y variable LADO2).
– Salida: valor de la hipotenusa (variable
LADO3).
– Variables: LADO1, LADO2 y LADO3 (tipo
reales).
8
2.4 DISEÑO DEL ALGORITMO
• La información proporcionada al algoritmo
constituye su entrada y la información
producida constituye su salida.

• Los problemas complejos se resuelven


eficazmente si se fragmentan en
subproblemas que sean más sencillos de
solucionar que el original. Esta técnica es
conocida como divide y vencerás (divide and
conquer).
9
2.4 DISEÑO DEL ALGORITMO cont.

• La descomposición del problema


original en subproblemas cuya solución
puede implementarse a través de la
computadora se le denomina diseño
descendente (top down design)
• La descripción detallada de la solución
mediante pasos específicos se le
denomina refinamiento del algoritmo
(stepwise refinement).
10
2.4 DISEÑO DEL ALGORITMO cont.

Diseño del
algoritmo

Diseño Refinamiento Herramientas de


descendente por pasos programación
- diagramas de flujo
- pseudocódigo

11
2.4 DISEÑO DEL ALGORITMO cont.
• Ejemplo: Determine a los números
menores que 90 y múltiplos de 9, así
como su sumatoria.
Definición del Especificaciones Especificaciones
Problema de entrada de salida

Imprimir TOTAL = 0 NUM, TOTAL


múltiplos de 9 NUM = 9
y su suma LIMITE = 90
siempre y
cuando sea
12
menor que 90
2.4 DISEÑO DEL ALGORITMO cont.
Diseño Refinamiento Herramientas de
descendente por pasos programación

Múltiplos de 9 a) Num=9
b) Print num
c) Num <= 90
regresar a)
d) Num=+9

Sumatoria Total=+num
13
2.4 DISEÑO DEL ALGORITMO cont.

1. Inicio
2. Total=0, Num=9, Limite=90
3. Print Num
4. Total=Total+Num
5. Si Num <= Limite entonces
Num=Num+9 y regresar a 3
6. Print Total
7. Fin
14
tarea
1. Determine si una palabra es un
palíndromo.
2. Determine el máximo común divisor
para dos números enteros.
3. Lea e imprima una serie de números
distintos de cero. El algoritmo
terminará con un valor que no se debe
imprimir . Finalmente obtenga la
cantidad de valores leídos.
15
tarea

4. Imprima y sume la serie de números


múltiplos de 3 en el rango cerrado de 3 y
99.
5. Lea cuatro números e imprima el mayor
de ellos.
6. Calcule la superficie de un triangulo en
función de la base y la altura.

16
2.5 SOLUCION DE PROBLEMAS
MEDIANTE LA COMPUTADORA
• Una vez diseñado el algoritmo y
representado mediante una herramienta de
programación se debe:
Solución del
Problema por
Computadora

Codificación Ejecución del Comprobación


del programa programa del programa

17
2.6 REPRESENTACION GRAFICA DE
LOS ALGORITMOS

• Los métodos usuales para representarlo


son:
1. Diagrama de flujo
2. Lenguaje de especificación de algoritmo

18
2.6 REPRESENTACION GRAFICA DE
LOS ALGORITMOS cont

19
2.7 PSEUDOCODIGO
• Es un lenguaje de especificación de
algoritmos que permite una codificación
rápida y simple.
• Su ventaja radica en que el
programador no debe preocuparse por
la sintaxis de un lenguaje de
programación en particular.
• Utiliza palabras sencillas de entender
para codificar programas.
20
ESTRUCTURA

DE UN

PROGRAMA

21
Concepto de Programa

Conjunto de instrucciones que producirán la


ejecución de una determinada tarea.
Esencialmente es un medio para lograr un
fin.

22
PROCESO DE
PROGRAMACION

Consiste en la solución de
problemas y el desarrollo de
programas

23
Fases del proceso de
programación
• Definición y análisis del problema.
• Diseño de algoritmos:
– Diagrama de flujo.
– Diagrama (N-S).
– Pseudocódigo
• Codificación del programa.
• Depuración y verificación del programa.
• Documentación.
• Mantenimiento.

24
Partes de un programa

concepto de caja negra

Entrada Algoritmo Salida

25
Tipos de Instrucciones
(acciones que resuelven un
problema)

• De inicio / fin.
• De asignación.
• De lectura,
• De escritura.
• De bifurcación.

26
Elementos básicos de un
programa
 Palabras reservadas.
 Identificadores (nombres de variables).
 Caracteres especiales.
 Constantes.
 Variables.
 Expresiones.
 instrucciones.

27
Otros elementos…

 Iteraciones,
 Contadores,
 Acumuladores,
 Interruptores,
 Estructuras:
Secuenciales,
Selectivas,
Repetitivas.

28
Iteraciones

Es el segmento de un algoritmo o programa,


cuyas instrucciones se repiten un número
determinado de veces mientras se cumple
una determinada condición. Sus partes son:
decisión
cuerpo del bucle
salida

29
Contadores

 Un contador es una variable cuyo valor se


incrementa o decrementa en una cantidad
constante en cada iteración.

30
Acumuladores

 Un Acumulador es una variable cuya misión


es almacenar cantidades distintas resultantes
de sumas sucesivas.

31
Interruptores

 Un interruptor ( conmutador, bandera, flag)


es una variable que puede tomar diversos
valores durante la ejecución de un programa
y que permite comunicar información desde
una parte a otra del mismo.

32
Componentes de un algoritmo

Algoritmo

Cabecera del programa


Sección de declaración
Sección de acciones

33
34

You might also like