Recordar:) - UNICEN · 2015. 11. 6. · Recordar:) •...
Transcript of Recordar:) - UNICEN · 2015. 11. 6. · Recordar:) •...
Recordar:
• Dos algoritmos diferentes pueden resolver el mismo problema.
• La documentación a medida que se desarrolla la solución nos puede servir de ayuda.
• La verificación del algoritmo puede evitar programas que no funcionen correctamente
Estructuras Algorítmicas
Variables
Asignación de valores a las variables
• La asignación es una operación que sitúa un valor determinado en una posición de memoria.
Variable ß expresión; (la expresión debe ser el mismo Epo que la variable) Reglas: • Una variable en el lado derecho de una sentencia de asignación debe tener un valor antes de que la sentencia de asignación se ejecute. Hasta que un programa no le de un valor a una variable, esa variable no Eene valor.
• En la izquierda de una sentencia de asignación solo pueden exisEr variables.
Variables y Constantes
Cada dato se asocia a una variable o a una constante.
• Las variables Eenen dos componentes: nombre y Epo. Los nombres son IDENTIFICADORES
• Cada constante Eene dos componentes: Nombre y valor
Constantes
Es un dato numérico o alfanumérico que no cambia durante la ejecución del programa.
Ejemplo: piß 3.1416
IDENTIFICADORES Para dar nombres a las variables hay que seguir ciertas reglas: • Pueden tener hasta 40 caracteres
• Debe empezar obligatoriamente con una letra (a-‐z o A-‐Z)
• No pueden contener espacios en blanco
• El resto de los caracteres pueden ser números
• Se pueden incluir caracteres especiales como el guión o el punto.
Ejemplos de nombres válidos de variables FechaNueva
C1 totalGuaranies CONTADOR-‐5 H123 canEdad_de_Alumnos Pedido.Almacen
Ejemplos de nombres de variables NO válidos Fecha nueva
1contador 24ABC primer-‐valor N
IDENTIFICADORES
Tipos de datos
El $po de dato determina la naturaleza del conjunto de valores que puede tomar una variable.
incluye a los números enteros y los reales. dos valores (cierto o falso)
secuencia de caracteres alfanuméricos Ejemplo: “Facultad de Ingeniería”
Clasificación de las Variables
Operadores Son elementos que relacionan de forma diferente, los valores de una o mas variables y/o constantes.
Es decir, los operadores nos permiten manipular valores.
AritméEcos: +, -‐, *, /, mod Relaciónales: >, <, =, >=, <=, <> Lógicos: AND, OR, NOT; ( Y, O, NO)
Expresiones
Las expresiones son combinaciones de constantes, variables, símbolos de operación (operadores), paréntesis y nombres de funciones especiales.
Por ejemplo: AritmeEca: a+(b + 3)/c Relacional: a -‐ b < c Logica: Bueno AND Barato
Operadores Lógicos
Op1 Op2 AND OR XOR NAND NOT (Op1) 0 0 0 0 0 1 1 0 1 0 1 1 1 1 1 0 0 1 1 1 0 1 1 1 1 0 0 0
Operaciones de Entrada / Salida Los datos que vamos a obtener del usuario para procesarlos también deben ser asignados a variables, la operación de lectura, lee un dato y lo asigna a una variable
Ej: leer Edad; Edad=input(‘Ingrese la Edad ‘); Cuando queramos mostrar el resultado del algoritmo, un mensaje, un valor, etc, vamos a uElizar el comando imprimir. Por ejemplo:
Ej: imprimir "Hola" ; disp(“Hola”); imprimir Edad; disp(Edad);
Estructuras de Control Básicas (Secuencia)
Estructura de control mas simple. Esta representada por una sucesión de operaciones (por ej.
Asignaciones) que se ejecutan en forma ordenada.
Inicio Accion1 Accion2 . . . Fin
Problemas Secuenciales
En Pseudocódigo real cap_inv, gan
Inicio Leer cap_inv gan ß cap_inv * 0.02 Imprimir gan
Fin
En Matlab cap_inv=input(‘ingrese capital’); gan=cap_inv*0.02; disp(gan);
Un individuo desea inverEr su capital en un banco y desea saber cuanto dinero ganará después de un mes si el banco paga a razón de 2% mensual.
Problemas Secuenciales
En Pseudocódigo real v1,v2,v3,sb,tot_vta,com,tpag Inicio Leer sb, v1, v2, v3 tot_vta ß v1 + v2 + v3 com ß tot_vta * 0.10 tpag ß sb + com Imprimir tpag, com
Fin
En Matlab v1=input(‘venta 1’); v2=input(‘venta 2’); v3=input(‘venta 3’); tot_vta = v1 + v2 + v3 com = tot_vta * 0.10 tpag = sb + com disp([tpag com]);
Un vendedor recibe un sueldo base mas un 10% extra por comisión de sus ventas, el vendedor desea saber cuanto dinero obtendrá por concepto de comisiones por las tres ventas que realiza en el mes y el total que recibirá en el mes tomando en cuenta su sueldo base y comisiones.
Estructuras de Control Básicas: CONDICIONAL -‐ SIMPLE
Si condición entonces Accion1 Accion2 ......... AccionN
Fin_si
Las estructuras condicionales simples se les conoce como “Tomas de decisión”. Estas tomas de decisión Eenen la siguiente forma:
Estructuras de Control Básicas: CONDICIONAL -‐ SIMPLE
Si <condición> entonces Accion1 ...... AcciónN
sino Accion1 ...... AcciónN
Fin-‐si
Estructuras de Control Básicas: CONDICIONAL – MULTIPLE (SI anidados) Si <condición> entonces Acción(es)
si no Si <condición> entonces Acción(es) si no . . Varias condiciones . fin_si
fin_si
Estructuras de Control Básicas: CONDICIONAL -‐ CASE
Casos Variable Op1: Acción(es) Op2: Acción(es) ...... . OpN: Acción(es)
[sino sentencia(s)]
Fin-‐casos
Condicionales en Matlab if expression commands
end if expression commands (evaluated if expression is true)
else commands (evaluated if expression is false)
end
if expression1
commands (evaluated if expression 1 istrue)
elseif expression 2 commands (evaluated if expression 2 is true)
elseif … ... else
commands (executed if all previous expressions evaluate to false)
end
CASE en Matlab
switch expression (scalar or string) case value1 (executes if expression evaluates to value1) commands case value2 (executes if expression evaluates to value2) commands ... otherwise statements
end
x = ceil(10*rand); % Generate a random integer in {1, 2, ... , 10}
switch x case {1,2} disp('Probability = 20%'); case {3,4,5} disp('Probability = 30%'); otherwise disp('Probability = 50%');
end
CASE en Matlab (ejemplo)
Problemas de estructuras Condicionales
real p_int,cap,capf,int Inicio
Leer p_int, cap capf ß cap int ß cap * p_int si int > 7000 entonces capf ß cap + int fin-‐si Imprimir capf
Fin
p_int=input(‘interes’); cap=input(‘capital’); capf=cap; int = cap * p_int; If (int > 7000)
capf = cap + int; end disp capf;
Un hombre desea saber cuanto dinero se genera en intereses sobre la canEdad que Eene inverEda en el banco. ReinverErá los intereses siempre y cuando estos excedan a $7000, y en ese caso desea saber cuanto dinero tendrá finalmente en su cuenta.
Pseudocódigo Matlab
Problemas de estructuras Condicionales
entero calif1,calif2,calif3 real prom Inicio
Leer calif1, calif2, calif3 prom ß (calif1 + calif2 + calif3)/3 Si prom >= 70 entonces Imprimir “alumno aprobado” si no Imprimir “alumno reprobado” Fin-‐si
Fin
calif1=input(‘Ingrese C1’); calif2=input(‘Ingrese C2’); calif3=input(‘Ingrese C3’); prom = (calif1 + calif2 + calif3)/3; if (prom >= 70)
disp(‘alumno aprobado’); else disp(‘alumno aprobado’);
end
Determinar si un alumno aprueba o reprueba un curso, sabiendo que aprobara si su promedio de tres calificaciones es mayor o igual a 70; reprueba en caso contrario.
Pseudocódigo Matlab
Estructuras Condicionales ++ Se solicita al operador que ingrese tres números enteros cualesquiera. En base a estos números, mostrar por pantalla cual es el mayor de todos.
Inicio variable1ß0 variable2ß0 Imprimir “Ingrese tres números enteros “ Desde 1 a 3 Leer variable1 si (variable1>variable 2) entonces variable2ßvariable1 Fin si Fin Desde imprimir “El mayor valor ingresado es ” imprimir variable2 Fin
v1=0; v2=0; disp(‘Ingrese tres números enteros’); for i=[1..3] v1=input(‘ingrese un entero ‘); if (v1 > v2) v2=v1; end End disp(‘El mayor valor es’); disp(v2);
Diag. De Flujos Pseudocódigo Matlab