pasos a seguir para desarrollar un algoritmo

6
PASOS A SEGUIR PARA DESARROLLAR UN ALGORITMO 1. Analizar el problema que se nos esta planteando. En este análisis hay que identificar cuales son los datos de salida , es decir, los resultados que debe de arrojar nuestro algoritmo; identificar cuales son los datos de entrada necesarios para lograr los resultados esperados, es decir, los datos que nos tiene que dar el usuario; identificar los procesos a realizar con los datos de entrada para obtener los datos de salida, en otras palabras las expresiones a calcular; y en caso de ser necesario identificar los datos que permanecen constantes durante todo el proceso o algoritmo. 2. Diseñar el Algoritmo en alguna de las tres técnicas algorítmicas conocidas, pero en estos casos serán todas. 3. Probar el algoritmo para evitar un posible error lógico, para lo cual se hace una corrida de escritorio, lo cual significa dar valores ficticios a las variables y checar los resultados. Ejemplo Realizar un algoritmo que calcule la edad de una persona a la cual solo se le solicitará el año en que nació. Paso I. Analizar el problema. Cada uno de estos datos se debe de expresar en variables y no en frases largas. Salidas Entrada Constantes Procesos Edad Año_nac Año_act Edad = Año_act – Año_nac Paso II. Diseñar El algoritmo PSEUDOCÓDIGO Pseudocódigo: Edad personal Variables: Edad: entera : trabajo // almacenará la edad del usuario Año_nac: entera : trabajo // guardará el año en que nació Año_act: entera : trabajo // Contendrá el año en que estamos 1. Inicio 2. Escribir “En que año naciste?” // muestra el mensaje que esta entre comillas 3. Leer Año_nac // guarda el dato que es tecleado por el usuario en la variable 4. Escribir “En que año estamos?” 5. Leer Año_act

Upload: jeanc25

Post on 01-Jul-2015

23.745 views

Category:

Documents


9 download

TRANSCRIPT

Page 1: PASOS A SEGUIR PARA DESARROLLAR UN ALGORITMO

PASOS A SEGUIR PARA DESARROLLAR UN ALGORITMO

1. Analizar el problema que se nos esta planteando. En este análisis

hay que identificar cuales son los datos de salida, es decir, los

resultados que debe de arrojar nuestro algoritmo; identificar cuales

son los datos de entrada necesarios para lograr los resultados

esperados, es decir, los datos que nos tiene que dar el usuario;

identificar los procesos a realizar con los datos de entrada para

obtener los datos de salida, en otras palabras las expresiones a

calcular; y en caso de ser necesario identificar los datos que

permanecen constantes durante todo el proceso o algoritmo.

2. Diseñar el Algoritmo en alguna de las tres técnicas algorítmicas

conocidas, pero en estos casos serán todas.

3. Probar el algoritmo para evitar un posible error lógico, para lo

cual se hace una corrida de escritorio, lo cual significa dar

valores ficticios a las variables y checar los resultados.

Ejemplo Realizar un algoritmo que calcule la edad de una persona a la cual solo se le solicitará el año en que nació.

Paso I. Analizar el problema.Cada uno de estos datos se debe de expresar en variables y no en frases largas.

Salidas Entrada Constantes Procesos

Edad Año_nac Año_act

Edad = Año_act – Año_nac

Paso II. Diseñar El algoritmoPSEUDOCÓDIGO

Pseudocódigo: Edad personal

Variables:Edad: entera : trabajo // almacenará la edad del usuarioAño_nac: entera : trabajo // guardará el año en que nacióAño_act: entera : trabajo // Contendrá el año en que estamos

1. Inicio2. Escribir “En que año naciste?” // muestra el mensaje que esta entre comillas3. Leer Año_nac // guarda el dato que es tecleado por el usuario en la variable4. Escribir “En que año estamos?”5. Leer Año_act6. Edad = Año_act – Año_nac // realiza una operación y almacena el resultado en

// la variable de la izquierda de la expresión.7. Escribir “Tu edad actual es:”, Edad // Cuando deseamos mostrar el contenido

// de una variable, esta no debe de// estar entre comillas

8. Fin

// Es recomendable poner comentarios en todos nuestros algoritmos, ya que esto los // hace más entendibles no solo para nosotros sino para cualquier persona.

Page 2: PASOS A SEGUIR PARA DESARROLLAR UN ALGORITMO

Paso III. Prueba Del Algoritmo.Valores a entradas Procesos ResultadosAño_nac = 1977Año_act = 2004

Edad = Año_act – Año_nacEdad = 2004 - 1977 Edad = 27

Ejemplo Supongamos que en una tortillería se necesita un sistema que calcule y le muestre el total a pagar por cada cliente, si sabemos que cada kilo de tortilla cuesta $4.50.

Paso I. Analizar el problema.Salidas Entrada Constantes Procesos

Total Kilos P_kilo = 4.5 Total = kilos * P_kilosPaso II. Diseñar El algoritmo

PSEUDOCÓDIGOPseudocódigo: total a pagar

Constantes:P_kilo: real = 4.5

Variables:Total : real : trabajoKilos : real : trabajo

1. Inicio2. Escribir “Cuantos Kilos quieres?”3. Leer kilos4. Total = Kilos * P_kilos5. Escribir “el total a pagar es:”, Total6. Fin

Paso III. Prueba Del Algoritmo.Valores a entradas Procesos ResultadosKilos = 3.5 Total = Kilos * P_kilos

Total = 3.5 * 4.5 Total = 15.75

Ejemplo Suponga que un individuo desea invertir su capital en un banco y desea saber cuanto dinero ganará después de un año si el banco paga a razón de 2% mensual.

Paso I. Analizar el problema.Salidas Entrada Constantes Procesos

Ganancia Capital Interes = 0.02 Año = 12

Ganancia =(Capital * Interes) * Año

Paso II. Diseñar El algoritmoPSEUDOCÓDIGO

Pseudocódigo: Ganancias Anuales

Variables:Ganancia : real : trabajoCapital : real : trabajo

Constantes:Interes : real = 0.02Año : entero = 12

1. Inicio2. Escribir “cuanto dinero piensas invertir?”3. Leer Capital4. Ganancia = ( Capital * Interes ) * Año5. Escribir “Tu ganancia será de:”, Ganancia6. Fin

Page 3: PASOS A SEGUIR PARA DESARROLLAR UN ALGORITMO

Paso III. Prueba Del Algoritmo.Valores a entradas Procesos ResultadosCapital = 10000 Ganancia = ( Capital * Interes ) * Año

Ganancia = ( 10000 * 0.02 ) * 12 Ganancia = 2400

Ejercicios. Resuelve lo que se te pide.

I. Diseña un algoritmo para cada uno de los problemas que se te plantean, utilizando las tres técnicas algorítmicas.1. Un vendedor recibe un sueldo base más 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.

2. Una tienda ofrece un descuento del 15% sobre el total de la compra y un cliente desea saber cuanto deberá pagar finalmente por su compra.

3. Un alumno desea saber cual será su calificación final en la materia de Algoritmos. Dicha calificación se compone de tres exámenes parciales.

4. Un maestro desea saber que porcentaje de hombres y que porcentaje de mujeres hay en un grupo de estudiantes.

5. Dada una cantidad en pesos, obtener la equivalencia en dólares, asumiendo que la unidad cambiaria es un dato desconocido.

6. Calcular el nuevo salario de un obrero si obtuvo un incremento del 25% sobre su salario anterior.

7. Calcular el área de un círculo.8. Convertir una distancia en metros a pies y pulgadas.9. Elevar al cubo un número.10. Desplegar el peso dado en kilos de una persona en gramos, libras y

toneladas.

Problemas Secuenciales

1) Suponga que un individuo desea invertir su capital en un banco y desea saber cuanto dinero ganara después de un mes si el banco paga a razón de 2% mensual.

Inicio Leer cap_inv gan = cap_inv * 0.02 Imprimir ganFin

2) 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.

Inicio Leer sb, v1, v2, v3 tot_vta = v1 + v2 + v3 com = tot_vta * 0.10 tpag = sb + com Imprimir tpag, comFin

3) Una tienda ofrece un descuento del 15% sobre el total de la compra y un cliente desea saber cuanto deberá pagar finalmente por su compra.

Inicio Leer tc

Page 4: PASOS A SEGUIR PARA DESARROLLAR UN ALGORITMO

d = tc * 0.15 tp = tc - d Imprimir tpFin

4) Un alumno desea saber cual será su calificación final en la materia de Algoritmos. Dicha calificación se compone de los siguientes porcentajes:

55% del promedio de sus tres calificaciones parciales.30% de la calificación del examen final. 15% de la calificación de un trabajo final.

Inicio Leer c1, c2, c3, ef, tf prom = (c1 + c2 + c3)/3 ppar = prom * 0.55 pef = ef * 0.30 ptf = tf * 0.15 cf = ppar + pef + ptf Imprimir cfFin

5) Un maestro desea saber que porcentaje de hombres y que porcentaje de mujeres hay en un grupo de estudiantes.Inicio Leer nh, nm ta = nh + nm ph = nh * 100 / ta pm = nm * 100 / ta Imprimir ph, pmFin

6) Realizar un algoritmo que calcule la edad de una persona.Inicio Leer fnac, fact edad = fact - fnac Imprimir edadFin.

Problemas Propuestos1) Dada un cantidad en pesos, obtener la equivalencia en dólares, asumiendo que la unidad cambiaría es un dato desconocido.

2) Leer un numero y escribir el valor absoluto del mismo.

3) La presión, el volumen y la temperatura de una masa de aire se relacionan por la formula:masa = (presión * volumen)/(0.37 * (temperatura + 460))

4) Calcular el numero de pulsaciones que una persona debe tener por cada 10 segundos de ejercicio, si la formula es:num. pulsaciones = (220 - edad)/10

5) Calcular el nuevo salario de un obrero si obtuvo un incremento del 25% sobre su salario anterior.

6) En un hospital existen tres áreas: Ginecología, Pediatría, Traumatologia. El presupuesto anual del hospital se reparte conforme a la sig. tabla:

Área Porcentaje del presupuestoGinecología 40%Traumatologia 30%Pediatría 30%

Obtener la cantidad de dinero que recibirá cada área, para cualquier monto presupuestal.

7) El dueño de una tienda compra un articulo a un precio determinado. Obtener el precio en que lo debe vender para obtener una ganancia del 30%.

Page 5: PASOS A SEGUIR PARA DESARROLLAR UN ALGORITMO

8) Todos los lunes, miércoles y viernes, una persona corre la misma ruta y cronometra los tiempos obtenidos. Determinar el tiempo promedio que la persona tarda en recorrer la ruta en una semana cualquiera.

9) Tres personas deciden invertir su dinero para fundar una empresa. Cada una de ellas invierte una cantidad distinta. Obtener el porcentaje que cada quien invierte con respecto a la cantidad total invertida.

10) Un alumno desea saber cual será su promedio general en las tres materias mas difíciles que cursa y cual será el promedio que obtendrá en cada una de ellas. Estas materias se evalúan como se muestra a continuación:

La calificación de Matemáticas se obtiene de la sig. manera:Examen 90%Promedio de tareas 10%En esta materia se pidió un total de tres tareas.

La calificación de Física se obtiene de la sig. manera:Examen 80%Promedio de tareas 20%En esta materia se pidió un total de dos tareas.

La calificación de Química se obtiene de la sig. manera:Examen 85%Promedio de tareas 15%En esta materia se pidió un promedio de tres tareas.

Lenguaje Pascalpascal: {Descripcion: Determina el area de un triangulo dada la base y altura

}uses        crt; {Cargamos librerias de la pantalla}var        base, altura    : integer;        area            : real;begin        clrscr; {Limpiamos pantalla}        writeln('base y altura: ');{Salida en pantalla}        readln(base,altura);{Entrada desde el teclado}        area:=(base*altura)/2;{evaluamos altura}        writeln('Area: ',area:0:2);{Salida en pantalla}        readkey; {Esperamos una tecla para finalizar}end.