DEFINICIÓN DE UN ALGORITMO
Un algoritmo es una lista definida y ordenada de operaciones o acciones para poder encontrar la solución a un problema.
Esta compuesto por operaciones, métodos y variables.
Entre las operaciones se conocen las matemáticas: +, -, /, *. Los métodos son las funciones disponibles: Mostrar en pantalla.
Tipos de Datos
Operadores.
Funciones.
El Pseudo-código
Las características de este pseudolenguaje fueron propuestas en 2001 por el responsable de la asignatura Fundamentos de Programación de la carrera de Ingeniería Informática de la FICH-UNL. Las premisas son:Todo algoritmo en pseudocógido tiene la siguiente estructura general:
Proceso SinTitulo
accion 1;
accion 1;
.
.
.
accion n;
FinProcesoComienza con la palabra clave Proceso seguida del nombre del programa, luego le sigue una secuencia de instrucciones y finaliza con la palabra FinProceso. Una secuencia de instrucciones es una lista de una o más instrucciones, cada una terminada en punto y coma.
Las acciones incluyen operaciones de entrada y salida, asignaciones de variables, condicionales si-entonces o de selección múltiple y/o lazos mientras, repetir o para.
En este caso como utilizaremos el Pseint la
sección de declaraciones del algoritmo no se toma en cuenta, ya que el software
se encarga de asignarle el tipo de dato a cada variable dependiendo del uso que
se le dé.
Veamos un ejemplo: Hacer un algoritmo donde me permita hallar la suma de dos números:
Como es habitual en matemáticas, el símbolo + será el que utilizaremos para calcular una suma. La resta se indicará con -, la multiplicación con *, la potencia con ^ y la división con /. Una operación menos habitual, el resto de la división, también tiene un símbolo asociado: %. Lo usaremos con frecuencia para saber si un número es múltiplo de otro (por ejemplo, será múltiplo de 10 si su resto entre 10 es 0, o será impar si su resto entre 2 es 1).
Ejercicio: Crea un programa que pida dos números al usuario y responda si son iguales o no lo son.
Un ejemplo de su uso sería:
Ejercicio: Crea un programa que escriba "Comienzo a aprender"
Ejercicio: Crea un programa que escriba el resultado de multiplicar 123 por 134
Ejercicio: Crea un programa que calcule el cuadrado de 25
Ejercicio: Crea un programa que permita hallar el área y perímetro de un triangulo rectángulo y un cuadrado.
Ejercicio: Crea un programa que escriba el resto de la división de 37 entre 5
Variables
Vamos a hacer algo un poco más complejo: vamos a sumar dos números que no estén prefijados dentro del programa, sino que deberá teclear el usuario.
Para eso, usaremos la orden "Leer", que nos permite obtener un dato que el usuario teclee y dejarlo guardado para utilizarlo después. Deberemos dar un nombre temporal a estos datos que leemos del usuario. Parece razonable que el primer número que teclee el usuario se llame algo como "primerNumero", y el segundo sea algo como "segundoNumero". El resultado que queremos obtener será la suma de ese primer número y ese segundo número, así que nuestro programa podría quedar así:
Proceso Ejemplo003 Escribir "Dime un numero" Leer primerNumero Escribir "Dime otro numero" Leer segundoNumero Escribir "Su suma es ", primerNumero + segundoNumero FinProceso
Ejercicio: Crea un programa que escriba el resultado de multiplicar los dos números que introduzca el usuario
Ejercicio: Crea un programa que calcule la superficie de un rectángulo a partir de su base y su altura, y que después muestre el valor de dicha superficie.
Ejercicio: Crea un programa que calcule la superficie de un círculo a partir de su radio (la fórmula es "PI * radio2") y que después muestre el valor de dicha superficie (pista: para calcular el cuadrado de un número puedes usar la operción "potencia": x^2, o bien multiplicar el número por él mismo: x2=x*x).
Comprobando condiciones
En casi cualquier secuencia de instrucciones para un ordenador, será vital poder comprobar si se cumple alguna condición. Una primera forma básica de comprobar condiciones es con la orden "SI". Su uso básico sería
Si condicion Entonces pasos_a_dar_si_es_verdadero SiNo pasos_a_dar_si_es_falso FinSi
Proceso Ejemplo004 Escribir "Ingrese un numero" Leer primerNumero Escribir "Ingrese otro numero" Leer segundoNumero Si primerNumero > segundoNumero Entonces Escribir "El primero es mayor" Sino Escribir "El segundo es mayor" FinSi FinProceso
En ese ejemplo hemos comparado si un valor es mayor que el otro (>). Los operadores de comparación que tenemos disponibles son:
| Operador relacional | ||
| Mayor que | 3>2 | |
| Menor que | 2<3 | |
| Igual que | 3=3 | |
| Menor o igual que | 5<=5 | |
| Mayor o igual que | 6>=5 |
Ejercicio: Crea un programa que pida dos números al usuario y responda si son iguales o no lo son.
También es posible comprobar varias condiciones a la vez, para hacer construcciones más complejas, como: "si a es mayor que b y b es mayor que c", o como "si a es igual a 1 o b es igual a 1 ". Los operadores lógicos que de los que disponemos son:
| Conjunción (y). | (7>4) & (2=1) //falso | |
| Disyunción (o). | (1=1 | 2=1) //verdadero | |
| Negación (no). | ~(2<5) //falso |
Un ejemplo de su uso sería:
Proceso Ejemplo004b Escribir "Dime un numero" Leer primerNumero Si primerNumero > 0 o primerNumero = 0 Entonces Escribir "Es mayor o igual que cero" Sino Escribir "Es negativo" FinSi FinProceso
Ejercicio: Crea un programa que pida un número al usuario y diga si es positivo, negativo o cero.
Ejercicio: Haz un programa que pida al usuario dos números y diga cuántos de ellos son positivos.
Ejercicio: Crea un programa que pida al usuario dos números y muestre su división si el segundo no es cero, o un mensaje de aviso en caso contrario.
Ejercicio: Prepara un programa que pida al usuario tres números y diga cuál es el mayor de los tres.
Comprobando Condiciones (2: Segun)
Es frecuente tener que comprobar más de una condición a la vez, o bien varias condiciones consecutivas. En concreto, un caso especialmente habitual es el de que una variable pueda un valor de entre varios. Por ejemplo, en el sistema de notas escolares español clásico, ciertas notas numéricas tienen "nombres" asociados: un 5 es un aprobado, un 9 y un 10 son sobresaliente, etc. Si queremos hacer un programa que convierta de la nota numérica a su equivalente escrito, podríamos emplear varias órdenes IF, una tras la otra. Pero en muchos lenguajes de programación (y por tanto, también en muchas variantes de pseudocódigo) existe una alternativa más compacta y más legible: la orden "SEGUN". Esta órden permite hacer unas cosas u otras según el valor que tome una variable. Su uso sería así:
Segun variable Hacer valor1: pasos_a_dar_si_es_el_valor1 valor2: pasos_a_dar_si_es_el_valor2 valor3: pasos_a_dar_si_es_el_valor3 De Otro Modo: pasos_a_dar_si_es_otro_valor FinSegun
Proceso EjemploCasos Escribir "Introduzca la nota"; Leer nota; Segun nota Hacer 10: Escribir "Ha obtenido un sobresaliente alto"; 9: Escribir "Ha obtenido un sobresaliente bajo"; 8: Escribir "Ha obtenido un notable alto"; 7: Escribir "Ha obtenido un notable bajo"; 6: Escribir "Ha obtenido un aprobado alto"; 5: Escribir "Ha obtenido un aprobado"; De Otro Modo: Escribir "Ha suspendido"; FinSegun FinProceso
Ejercicio: Haz un programa que pida un número al usuario un número de día de la semana (del 1 al 7) y escriba el nombre de ese día (por ejemplo, "martes" para el día 2). Debes emplear la orden SEGUN.
Ejercicio: Crea un programa que pida un número al usuario un número de mes (por ejemplo, el 4) y escriba el nombre del mes correspondiente (por ejemplo, "abril"). Debes usar la orden SEGUN.




No hay comentarios:
Publicar un comentario