Resolución de problemas mediante algoritmos

Anuncio
Resolución de problemas
mediante algoritmos
Metodología de resolución
1.Planteamiento del problema
a)Datos de entrada y de salida
b)Algoritmo conceptual básico
2.Diseño del algoritmo (pseudocódigo)
3.Prueba con ejemplos
Ejemplo: Algoritmo para generar coste de una
factura mensual telefónica
Datos de entrada
Cálculo
Salida
Resolución algorítmica
2
Elementos principales de un algoritmo
●
Variables, constantes y expresiones
●
Sentencias
–
Asignación
–
Entrada/Salida
–
Estructuras de selección
–
Estructuras de repetición
Resolución algorítmica
3
Variables, constantes y valores constantes
Variable: elemento del algoritmo que posee
un valor, es conocido por un nombre o
identificador y pertenece a un tipo de dato.
a
Constante: elemento del algoritmo similar a
una variable, pero cuyo valor no cambia a lo
largo del algoritmo.
PI 3.1416
Un valor constante o constante literal es
un valor de cualquier tipo que se utiliza
como tal.
Resolución algorítmica
2.79
5.38
“Hola”
4
Expresiones
Expresión: combinación de variables, constantes,
valores constantes, operadores y funciones que al
evaluarla en el orden correcto tiene un valor concreto
cos(2*PI*r)  Dato numérico
Las expresiones más representativas son las
numéricas y las lógicas
Resolución algorítmica
5
Representación de algoritmos
Pseudocódigo
ALGORITMO nombre del algoritmo
ENTRADA descripción de los datos de entrada al algoritmo
SALIDA descripción de los datos de salida del algoritmo
VARIABLES lista de variables con sus tipos
INICIO
sentencias
FIN
6
Representación de algoritmos
●
Asignación
–
almacena un valor en una variable
–
operador asignación:
Variable
●
Expresión
Entrada/Salida
–
Lectura o entrada: permite introducir datos desde disp. externos
(teclado) o desde ficheros
–
Leer lista de variables separadas por comas
–
Salida o escritura: permite visualizar datos en disp. externos
(pantalla, impresora) o almacenarlos en ficheros
–
Escribir lista de variables o expresiones separadas por comas
7
Ejemplo: área de un triángulo
Escribir “Base del triángulo: “
Leer base
Escribir “Altura del triángulo: “
Leer altura
#include <stdio.h>
codificación en C
ALGORITMO área de un triángulo
ENTRADA su base y altura
SALIDA el área del triángulo
VARIABLES base, altura, area: reales
INICIO
main()
{
float base,altura,area;
printf("Base del triángulo: ");
scanf("%f",&base);
printf("Altura del triángulo: ");
scanf("%f",&altura);
area = base*altura/2;
area ← base*altura/2
Escribir “El área es “, area
printf("El área es %f\n",area);
}
FIN
http://bit.ly/OV5Avm
Resolución algorítmica
8
Representación de algoritmos
Estructuras de control selectivas
Permite codificar alternativas dobles o múltiples
En el caso doble:
SI condición
sentencia 1
….
SI NO
sentencia 2
….
FIN_SI
Resolución algorítmica
9
Ejemplo: comprobar área de un triángulo
Escribir “Base del triángulo: “
Leer base
Escribir “Altura del triángulo: “
Leer altura
area ← base*altura/2
Si area>50
Escribir “El área es mayor que 50”
si no
Escribir “El área no es mayor que
50”
Fin Si
#include <stdio.h>
codificación en C
ALGORITMO área de un triángulo
ENTRADA su base y altura
SALIDA comprobación si el área es >50
VARIABLES base, altura, area: reales
INICIO
main()
{
float base,altura,area;
printf("Base del triángulo: ");
scanf("%f",&base);
printf("Altura del triángulo: ");
scanf("%f",&altura);
area = base*altura/2;
if (area>50)
printf("El área es mayor que
50\n");
else
printf("El área no es mayor que
50\n");
}
FIN
http://bit.ly/SNA0kd
10
Representación de algoritmos
Estructuras de control repetitiva
bucle PARA
PARA i=0 HASTA i=9 CON INCREMENTO 1
Entrar en
el bucle
Salida
del bucle
Sentencias
del bucle
Sentencias
del bucle
Sentencias
del bucle
i=0
i=1
i=9
Resolución algorítmica
11
Representación de algoritmos
bucle PARA
En pseudocódigo sería:
PARA contador = vi HASTA vf CON INCREMENTO n
Bloque de sentencias
FIN_PARA
Resolución algorítmica
12
ALGORITMO números pares
ENTRADA
SALIDA números pares hasta 50
VARIABLES i: entero
INICIO
Para i = 0 hasta 50 con incr. 2
Escribir i
Fin Para
FIN
codificación en C
Ejemplo: números pares hasta 50
#include <stdio.h>
main()
{
int i;
for (i=0;i<=50;i=i+2)
printf("%d\n",i);
}
http://bit.ly/PAmORk
Resolución algorítmica
13
Representación de algoritmos
Estructuras de control repetitiva
bucle MIENTRAS
Entrar en
el bucle
¿se cumple la
condición?
NO
SI
Sentencias
del bucle
Salir del
bucle
14
Representación de algoritmos
bucle MIENTRAS
En pseudocódigo sería:
MIENTRAS condición_lógica HACER
Bloque de sentencias
FIN_MIENTRAS
Resolución algorítmica
15
ALGORITMO números pares
ENTRADA
SALIDA números pares hasta 50
VARIABLES i: entero
INICIO
i ← 0
Mientras i <= 50
Escribir i
i ← i + 2
Fin Mientras
codificación en C
Ejemplo: números pares hasta 50
#include <stdio.h>
main()
{
int i;
i = 0;
while (i<=50)
{
printf("%d\n",i);
i = i + 2;
}
FIN
}
http://bit.ly/Vw0Pxj
Resolución algorítmica
16
Resumen
●
●
Programar significa combinar de forma
“inteligente” un conjunto de elementos para
resolver un problema con el ordenador
Elementos:
17
Descargar