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
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 algoritm
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
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
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 main() { int i; for (i=0;i