You are on page 1of 30

ESTRUCTURA DE DATOS Y

ALGORITMOS I

ING. FERNANDO ESPINOZA


c08004@utp.edu.pe

Qu es un ALGORITMO ?
Un algoritmo es la secuencia de pasos ordenados y finitos con los cuales se da solucin a una determinada proposicin o problema. Ejemplo:
Como Elaborar una Torta Como Cambiar una llanta a un carro Como ensamblar una computadora

Qu necesito para armar un Algoritmo ?


Realizar operaciones matemticas bsicas, tales como : Sumar, Restar, Multiplicar y Dividir.

Lectura y Comprensin de Lectura, esto servir para poder entender y dar solucin a la proposicin o problema que me planteen.

Ej: Como elaborar una torta ?


PASOS:
1. 2. 3. 4. 5. 6. 7. 8.

Comprar los ingredientes Mezclar los ingredientes y hacer la masa Llevar la masa al horno por un tiempo X Llegado el tiempo X saca la masa procesada Decorar la masa procesada llamada ahora torta Colocarle unos adornos a la torta Cortar y repartir la torta A disfrutar de la torta

Herramientas de un Algoritmo
OPERADORES ARITMETICOS
OPERADOR + * DIV / MOD, % SIGNIFICADO SUMAR RESTAR MULTIPLICAR DIVISION ENTERA DIVISION REAL RESTO ARTIMETICO POTENCIACION

Herramientas de un Algoritmo
OPERADORES RELACIONALES
OPERADOR > < >= <= = <> SIGNIFICADO MAYOR MENOR MAYOR o IGUAL MENOR o IGUAL IGUAL DIFERENTE

Herramientas de un Algoritmo
OPERADORES LOGICOS
OPERADOR Y O NO SIGNIFICADO CONJUNCION DISYUNCION NEGACION

Observe la tabla

Herramientas de un Algoritmo
OPERADORES DE ASIGNACION Y AGRUPACION
OPERADOR () SIGNIFICADO ASIGNAR AGRUPAR

Transformacin de Expresiones
Expresin Matemtica
2A 2A + 3B (2A + 3B) / (2A) [(5C x 6D) / (3E)] x 5A [(2X + 3Y) x (5Y 2X)]/2A

Expresin Algortmica
2*A 2 *A + 3*B (2*A + 3*B) / (2*A) (((5*C) * (6*D))/(3*E)) * (5*A)

Qu es una variable ?
Es una entidad con nombre nico en un algoritmo y a la que se le puede asignar un valor y luego realizar algn tipo de calculo o comparacin. Las variables pueden asumir valores numricos, alfanumricos y lgicos. Existen 2 tipos de duracin o mbito de las variables, estas son (GLOBAL Y LOCAL). Las variables globales se pueden utilizar en cualquier parte del Algoritmo y las variables locales son dentro de un sub-programa (Procedimiento o Funcin).

Formacin del nombre de Variables


El nombre de una variable esta formada por una coleccin de caracteres alfabticos (A..Z,a..z), dgitos (0..9) y por el carcter subrayado ( _ ). El nombre de una variable siempre debe comenzar por un carcter alfabtico o por el carcter subrayado. El nombre de una variable JAMAS debe comenzar con un digito. El nombre de una variable no debe contener espacios en blanco o caracteres especiales tales como (, #, %, &, @, etc). El nombre de una variable no debe coincidir con una palabra clave de un algoritmo (SI, SINO, MIENTRAS, PARA, REPETIR, etc)

Ejemplos
DECLARACION ABC A123 1A2B _MiVariable Mi_Variable Mi_123456 _1_2_3 Mi@Variable VALIDEZ VALIDO VALIDO NO VALIDO VALIDO VALIDO VALIDO VALIDO NO VALIDO

Tipos de Datos
NUMERICOS
Entero Real

ALFANUMERICOS
Carcter Cadena

LOGICOS (Verdad o Falso)

Como se declaran las variables


Para declarar variables en un algoritmo se hace uso de la siguiente sintaxis : Tipo_Dato Ejemplo : ENTERO REAL CARCTER CADENA LOGICO Lista_variables

A, B, C X, Y, Z Car1, Car2 Texto1, Texto2 Estado, Ok, Done

Evaluacin de Expresiones
SI LAS VARIABLES A, B, C y D CONTINEN LOS VALORES 10, 20, 30 Y 5 RESPECTIVAMENTE, EVALUAR :

EXPRESION (A + B) DIV D (A + B) MOD D (A > B) Y (C < D) NO (A > B) O ( C <> D)

RESULTADO

Instrucciones de Entrada y Salida de Informacin


Instruccin LEER : Se utiliza para ingresar un valor y asignrselo a una variable del algoritmo. Sintaxis : LEER(Lista_Variables)
Instruccin IMPRIMIR : Se utiliza para visualizar el valor de una variable, constante, texto y combinacin de los mismos existentes en un algoritmo. Sintaxis : IMPRIMIR (Lista_Variables)

Estructura bsica de un ALGORITMO


INICIO

VARIABLES
INGRESO PROCESO SALIDA
Instrucciones
y/o Sentencias

FIN

Problema 1 : Ingrese un nmero entero, luego smele 2 unidades y visualcelo. INICIO ENTERO LEER A A A + 2 IMPRIMIR A FIN A

Problema 2 : Ingrese un nmero entero, luego halle su mitad y visualcelo.


INICIO ENTERO LEER N N N DIV 2 IMPRIMIR N FIN N

Problema 3 : Ingrese 2 nmeros enteros y luego calcule y visualice la suma, diferencia y producto de los 2 nmeros ingresados.
INICIO ENTERO A, B, Suma, Resta, Producto LEER A, B Suma A + B Resta A B Producto A * B IMPRIMIR Suma, Resta, Producto FIN

Problema 4 : Ingresar un nmero entero y luego calcular y visualizar su 5%.


INICIO ENTERO REAL N Porcentaje

LEER N Porcentaje N * (5 / 100) IMPRIMIR Porcentaje FIN

Problema 5 : Ingrese el precio y la cantidad comprada de un producto, luego calcule y visualice el total a pagar por la compra realizada. INICIO ENTERO REAL Cantidad Precio, Total

LEER Cantidad, Precio Total Cantidad * Precio IMPRIMIR Total FIN

Problema 6 : Un tienda comercial ofrece a sus clientes un descuento del 3% del total de venta, calcular el total a pagar por una compra. INICIO REAL Vcompra, Descuento, Total LEER Vcompra Descuento Vcompra * 0.03 Total Vcompra Descuento IMPRIMIR Total FIN

Problema 7 : Una empresa decide otorgar una bonificacin del 5% del haber bsico por cada hijo a todos sus trabajadores. Calcule el total a pagar a un trabajador. INICIO ENTERO NroHijos REAL Hbasico, Bonificacion, Total LEER Hbasico, NroHijos Bonificacion (Hbasico * 0.05) * NroHijos Total Hbasico + Bonificacion IMPRIMIR Total FIN

Problema 8 : Una tienda otorga un descuento del 0.25% por cada 5 productos adquiridos, calcular el total a pagar por una compra. Inicio entero real cant_prod,fact desc,tot_pag,prec_uni

Leer cant_prod,prec_uni fact <--- cant_prod DIV 5 desc <--- (fact*0.0025 )*cant_prod*prec_uni tot_pag <--- (cant_prod*prec_uni) - desc Imprimir tot_pag
Fin

Problema 9: La reparticin de ganancias en una empresa se hace en forma proporcional al nmero de acciones de cada uno de sus tres socios. Dada la ganancia de un ao, disee un algoritmo que determine el monto que le corresponde a cada socio.

Problema 9: entero acc_soc1,acc_soc2,acc_soc3,tot_acc real gan_soc1,gan_soc2,gan_soc3,gan_anual Leer acc_soc1,acc_soc2,acc_soc3,gan_anual tot_acc <--- acc_soc1+acc_soc2+acc_soc3 gan_soc1 <--gan_anual*(acc_soc1/(tot_acc*1.0)) gan_soc2 <--gan_anual*(acc_soc2/(tot_acc*1.0)) gan_soc3 <--gan_anual*(acc_soc3/(tot_acc*1.0)) Imprimir gan_soc1,gan_soc2,gan_soc3

Problema 10 : El clculo del pago mensual de un empleado de una empresa se efecta de la siguiente manera: el sueldo bsico se calcula en base al nmero total de horas trabajadas basado en una tarifa horaria; al sueldo bsico, se le aplica una bonificacin del 20% obtenindose el sueldo bruto; al sueldo bruto, se le aplica un descuento del 10% obtenindose el sueldo neto. Escriba un programa que calcule e imprima el sueldo bsico, el sueldo bruto y el sueldo neto de un trabajador.

Problema 11 : Dado un nmero de 3 cifras, mostrar un nuevo nmero formado las cifras extremas.

Problema 12 . Una persona ha recorrido tres tramos de una carretera. La longitud del primer tramo esta dada en kilmetros, del segundo tramo en pies y del tercer tramo en millas. Disee un programa que determine la longitud total recorrida en metros y en yardas. Considere los siguientes factores de conversin: 1 metro = 3.2808 pies 1 yarda = 3 pies 1 kilmetro = 1000 metros 1milla = 1609 metros

You might also like