martes, 16 de julio de 2013

SEMANA # 22

AUTO ESTUDIO

1/*labore un algoritmo que lea un número entero y que produzca el mensaje acerca de si el entero leído es par o impar.
DAN= NUMERO ENTERO
PIDEN = SI EL NUMERO ES PAR O IMPAR
COMO = COMPARANDO 
NRO<- NUMERO
*/

ENTERO NRO

INICIO

ESCRIBA " Diga un numero entero "
LEA NRO
LLAMAR NUEVA_LINEA

SI (NRO MOD 2=0) ENTONCES 
ESCRIBA " El numero es par:", NRO

SINO 

SI (NRO MOD 2<> 0) ENTONCES 
ESCRIBA " El numero es impar:", NRO

FIN SI
FIN SI

FIN

2/*Elabore un algoritmo que lea tres datos numéricos enteros y que determine si con esos tres datos se puede construir un triángulo equilátero.
 Su algoritmo debe imprimir:'sí se puede' o 'no se puede
 DAN= N1, N2, N3
 PIDEN= SI PUEDEN O NO CONSTRUIR UN TRIANGULO EQUILATERO

 N1 <- NUMERO UNO
 N2 <- NUMERO DOS
 N3 <- NUMERO TRES
 */

 ENTERO N1, N2, N3

 INICIO

 ESCRIBA " Diga el valor del primer numero entero: "
 LEA N1
 LLAMAR NUEVA_LINEA

 ESCRIBA " Diga el valor del segundo numero entero: "
 LEA N2
 LLAMAR NUEVA_LINEA

 ESCRIBA " Diga el valor del tercer numero entero: "
 LEA N3
 LLAMAR NUEVA_LINEA

 SI ( N1 = N2) Y (N2=N3) ENTONCES
 ESCRIBA " Si se puede construir un triangulo equilatero"

 SINO

 ESCRIBA "No se puede construir un tiangulo equilatero"
 FIN SI
 FIN

3/*Elabore un algoritmo que lea año, mes y día de nacimiento de una persona, y año, mes y día actual. El algoritmo debe determinar e imprimir
 el mensaje apropiado si la edad de la persona está entre 18 y 25 años
  DAN = AN, MN, DN; AA, MA, DA,ED 
  PIDEN=  si la edad de la persona está entre 18 y 25
   
 ED <- EDAD 
 AN <- AÑO NACIMIENTO
 MN <- MES DE NACIMIENTO
 DN <- DIA DE NACIMIENTO
 AA <- AÑO ACTUAL
 MA <- MES ACTUAL
 DA <- DIA ACTUAL
 DTN <- DIAS TOTAL NACIMIENTO
 DTA <- DIAS TOTAL ACTUAL
 */

 ENTERO AN, MN, DN, AA, MA, DA, ED, DTA, DTN

INICIO

ESCRIBA " Diga el año de nacimiento: "
LEA AN
LLAMAR NUEVA_LINEA

ESCRIBA " Diga el mes de nacimiento: "
LEA MN
LLAMAR NUEVA_LINEA

ESCRIBA " Diga el dia de nacimiento: "
LEA DN
LLAMAR NUEVA_LINEA

ESCRIBA " Diga el año actual: "
LEA AA
LLAMAR NUEVA_LINEA

ESCRIBA " Diga el mes de actual: "
LEA MA
LLAMAR NUEVA_LINEA

ESCRIBA " Diga el dia de actual: "
LEA DA
LLAMAR NUEVA_LINEA

/*PROCEDIMIENTO*/

DTA <- ((AA*365)/1)+((MA*30)/1)+DA
DTN <- ((AN*365)/1)+((MN*30)/1)+DN
ED <- (DTA-DTN)/365

SI (ED>=18)Y(ED<=25)ENTONCES
ESCRIBA " la edad de la persona esta en el rango:",ED

SINO
ESCRIBA "La edad de la persona no esta en el rango:",ED

FIN SI
FIN

4/*Elabore un algoritmo que lea dos números enteros, efectúe el producto y la suma de ellos, y luego imprima el resultado mayor, es decir, que 
entre la suma y el producto, con un mensaje apropiado, diga, cuál de los dos fue el mayor mostrando dicho mensaje y el valor
 DAN = N1, N2
 PIDEN =MAYOR ENTRE ELLOS
 N1<- NUMERO UNO
 N2 <- NUMERO DOS
 PR <- PRODUCTO
 SM <- SUMA
 */

 ENTERO N1 
 ENTERO N2
 ENTERO PR
 ENTERO SM

 INICIO

 ESCRIBA " Diga el primer numero entero "
 LEA N1
 LLAMAR NUEVA_LINEA

 ESCRIBA " Diga el segundo numero entero "
 LEA N2
 LLAMAR NUEVA_LINEA

 PR <- N1*N2
 SM <- N1+N2


 SI (PR>SM) ENTONCES
 ESCRIBA " el producto es mayor que la suma:", PR

 SINO 

 SI (PR<SM)ENTONCES
 ESCRIBA " La suma es mayor que el producto:", SM

 FIN SI
 FIN SI

 FIN

* Elabore un algoritmo que lea tres enteros positivos y que determine si pueden formar triángulo o no. Si pueden formar triángulo debe imprimir
 qué clase de triángulo es: equilátero, isósceles o escaleno
 DAN= N1, N2, N3
 PIDEN=si pueden formar triángulo o no. qué clase de triángulo es: equilátero, isósceles o escaleno
 N1 <- NUMERO UNO
 N2 <- NUMERO DOS
 N3 <- NUMERO TRES
 */

 ENTERO N1, N2, N3

 INICIO

 ESCRIBA " Diga el valor del primer numero entero: "
 LEA N1
 LLAMAR NUEVA_LINEA

 ESCRIBA " Diga el valor del segundo numero entero: "
 LEA N2
 LLAMAR NUEVA_LINEA

 ESCRIBA " Diga el valor del tercer numero entero: "
 LEA N3
 LLAMAR NUEVA_LINEA

 SI N1<0 ENTONCES
 N1<- N1*(-1)

  SINO
  
 SI N2<0 ENTONCES
 N2<- N2*(-1)

  SINO
  
  SI N3<0 ENTONCES
 N3<- N3*(-1)

  FIN SI 
  FIN SI
  FIN SI
  
 SI ( N1 = N2) Y (N2=N3) ENTONCES
 ESCRIBA "Es un triangulo equilatero" 

 SINO

 SI ( N1 = N2) Y (N2 <>N3) ENTONCES
 ESCRIBA " Es triangulo Isosceles"

 SINO

 SI ( N1 <> N2) Y (N2<>N3) ENTONCES
 ESCRIBA " Es un triangulo escaleneo"

FIN SI
FIN SI
FIN SI
FIN

6/* En una tienda se ofrece un descuento del 15% sobre el total de la compra si  la compra es mayor o igual a 50 mil pesos, sino, el descuento
 es del 5%.Un cliente desea saber cuánto deberá pagar finalmente   por su compra, mostrar el total a pagar y la cantidad que le dan de descuento.
 D <- DESCUENTO DEL 15%
TC <- TOTAL DE LA COMPRA 
PT <- PAGO TOTAL
D2 <- DESCUENTO DEL 5%
PT2 <- PAGO CON DESCUENTO 5%
*/

REAL D
REAL TC 
REAL PT
REAL D2
REAL PT2

INICIO

ESCRIBA " El total de la compra"
LEA TC
LLAMAR NUEVA_LINEA

/*OPERACION*/
D <- 0.15*TC
D2 <- 0.05*TC
PT <- TC-D
PT2 <- TC-D2

SI (TC>=50000) ENTONCES
ESCRIBA "su descuento es:", D
LLAMAR NUEVA_LINEA
ESCRIBA "El total a pagar es:", PT
SINO 

SI(TC<50000) ENTONCES
ESCRIBA "Su descuento es:",D2
LLAMAR NUEVA_LINEA
ESCRIBA "El total a pagar es:", PT2

FIN SI
FIN SI
FIN

7/*Imprimir la edad promedio de 4 estudiantes, y determinar si el promedio obtenido corresponde a adultos o a jóvenes.
EE1 <-EDAD ESTUDIANTE UNO
EE2 <-EDAD ESTUDIANTE DOS
EE3 <-EDAD ESTUDIANTE TRES
EE4 <-EDAD ESTUDIANTE CUATRO 
EDP <-EDAD PROMEDIO
*/

ENTERO EE1
ENTERO EE2
ENTERO EE3
ENTERO EE4
ENTERO EDP

INICIO 

ESCRIBA "diga la edad del estudiante uno "
LEA EE1
LLAMAR NUEVA_LINEA

ESCRIBA "diga la edad del estudiante dos "
LEA EE2
LLAMAR NUEVA_LINEA

ESCRIBA "diga la edad del estudiante tres "
LEA EE3
LLAMAR NUEVA_LINEA

ESCRIBA "diga la edad del estudiante cuatro "
LEA EE4
LLAMAR NUEVA_LINEA

EDP <- (EE1+EE2+EE3+EE4)/4

SI (EDP<18) ENTONCES
ESCRIBA " la edad promedio de los estudiantes corresponde a jovenes: ", EDP

SINO

SI (EDP>=18)ENTONCES
ESCRIBA " la edad promedio de los estudiantes corresponde ha adultos: ", EDP

FIN SI
FIN SI
FIN

/*Un maestro desea saber cuál es el porcentaje de hombres y el porcentaje de mujeres hay en un grupo de estudiantes, leer la cantidad de hombres y 
de mujeres
CM <- CANTIDAD MUJERES
CH <- CANTIDAD HOMBRE
PM <- PORCENTAJE MUJERES
PH <- PORCENTAJE HOMBRES
CT <- CANTIDAD TOTAL
*/

ENTERO CM
ENTERO CH
ENTERO CT
REAL   PM
REAL   PH

INICIO

ESCRIBA " diga la cantidad de mujeres "
LEA CM
LLAMAR NUEVA_LINEA

ESCRIBA " Diga la cantidad de hombres "
LEA CH
LLAMAR NUEVA_LINEA

PM <- (CM*100)/CT
PH <- (CH*100)/CT

ESCRIBA "el promedio de mujeres es:", PM
ESCRIBA "el promedio de hombres es:", PH

FIN

martes, 9 de julio de 2013

SEMANA # 21

ENUNCIADOS DE DECISIÓN

Sabemos que una decisión a nivel lógica de programación es la escogencia de un camino entre varios caminos lógicos dependientes todos de una condición

ESTRUCTURA SI—ENTONCES—SINO

Esta es la estructura que se utiliza para resolver algoritmos donde haya que tomar un decisión, podemos decir que su utilización fundamentalmente es permitir que el computador escoja uno de los dos ramales lógicos, dependiendo de una determinada condición. En este curso trabajaremos las decisiones simples, compuestas, y en cascada.

DECISIONES SIMPLES

Estas obedecen a la siguiente estructura 

SI CONDICIÓN ENTONCES
ENUNCIADOS
SI LA CONDICIÓN ES VERDADERA
SINO
ENUNCIADO
SI LA CONDICIÓN ES FALSA
FIN SI

DECISIONES COMPUESTAS

Son aquellas donde utilizamos una condición doble o una condición anidada dentro de otra

DECISIONES EN CASCADA

Esto no es mas que un esquema en donde el SINO de cada SI condicional da inicio a un nuevo SI condicional y así sucesivamente. Su estructura es la siguiente:

SI CONDICIONAL ENTONCES
INSTRUCCIONES
SI LA CONDICIÓN ES VERDADERA
SINO
SI CONDICIÓN ENTONCES
INSTRUCCIONES
SI LA CONDICIÓN ES VERDADERA
SINO
SI CONDICIÓN ENTONCES
INSTRUCCIONES
SI LA CONDICIÓN ES VERDADERA
FIN SI
FIN SI
FIN SI


El esquema anterior es utilizado en el caso de tres condiciones de cascada pero de acurdo a la necesidad del algoritmo pueden ser mas. Todo dependería del objetivo que se quiera lograr

EJ1

/* Haga un programa que pida tres números y que los muestre de menor a mayor
N1<- NUMERO UNO
N2<- NUMERO DOS
N3<- NUMERO TRES
*/
REAL N1, N2, N3

INICIO
ESCRIBA "Diga el numero uno:"
LEA N1
LLAMAR NUEVA_LINEA

ESCRIBA "Diga el numero dos:"
LEA N2
LLAMAR NUEVA_LINEA

ESCRIBA "Diga el numero tres:"
LEA N3
LLAMAR NUEVA_LINEA

SI (N1<N2) Y (N2<N3) ENTONCES
ESCRIBA " El menor es:", N1
LLAMAR NUEVA_LINEA
ESCRIBA " El medio es:", N2
LLAMAR NUEVA_LINEA
ESCRIBA " El mayor es:", N3

SINO

SI (N1<N3) Y (N3<N2) ENTONCES
ESCRIBA " El menor es:", N1
LLAMAR NUEVA_LINEA
ESCRIBA " El medio es:", N3
LLAMAR NUEVA_LINEA
ESCRIBA " El mayor es:", N2

SINO

SI (N2<N1  )Y  (N1<N3) ENTONCES
ESCRIBA " El menor es:",N2
LLAMAR NUEVA_LINEA
ESCRIBA " El medio es:",N1
LLAMAR NUEVA_LINEA
ESCRIBA " El mayor es:",N3

SINO

SI (N2<N3 )Y(N3<N1) ENTONCES
ESCRIBA " El monor es:",N2
LLAMAR NUEVA_LINEA
ESCRIBA " El medio es:",N3
LLAMAR NUEVA_LINEA
ESCRIBA " El mayor es:",N1

SINO

SI (N3<N1)Y(N1<N2) ENTONCES
ESCRIBA " El monor es:",N3
LLAMAR NUEVA_LINEA
ESCRIBA " El medio es:",N1
LLAMAR NUEVA_LINEA
ESCRIBA " El mayor es:",N2

SINO

SI (N3<N2)Y(N2<N1) ENTONCES
ESCRIBA " El monor es:",N3
LLAMAR NUEVA_LINEA
ESCRIBA " El medio es:",N2
LLAMAR NUEVA_LINEA
ESCRIBA " El mayor es:",N1


FIN SI
FIN SI
FIN SI
FIN SI
FIN SI
FIN SI


FIN

viernes, 5 de julio de 2013

SEMANA # 20


REVISIÓN DE EXÁMENES DE ALGORITMOS

/* Calcular el numero de pulsaciones que una persona debe tener por cada 10 segundos de ejercicios, si la formula es numero pulsaciones=(220-edad)/10
NP <- NUMERO DE PULSACIONES
E <- EDAD
*/
 ENTERO NP
 ENTERO E

 INICIO

 ESCRIBA "INGRESE EDAD"
 LEA E
 LLAMAR NUEVA_LINEA

 /*operacion*/
 NP <- (220-E)/10

 ESCRIBA " NUMERO DE PULSACIONES ES:",NP
 FIN


/* leer las coordenadas cartesianas de dos puntos en el plano y hallar la distancia entre estod dos puntos D=((X1*X1-X2*X2)+(Y1*Y1-Y2*Y2))*(1/2)
D <- DISTANCIA
X1 <- PUNTO X UNO
X2 <- PUNTO X DOS
Y1 <- PUNTO Y UNO
Y2 <- PUNTO Y DOS
*/

REAL D
REAL X1
REAL X2
REAL Y1 
REAL Y2

INICIO

ESCRIBA " El valor de X1"
LEA X1
LLAMAR NUEVA_LINEA

ESCRIBA " El valor de X2"
LEA X2
LLAMAR NUEVA_LINEA

ESCRIBA " El valor de Y1"
LEA Y1
LLAMAR NUEVA_LINEA

ESCRIBA " El valor de Y2"
LEA Y2
LLAMAR NUEVA_LINEA

/*OPERACION*/
D<-((X1*X1-X2*X2)+(Y1*Y1-Y2*Y2))*(1/2)
ESCRIBA " EL VALOR DE LA DISTANCIA ENTRE LOS PUNTOS ES:", D
FIN 

/* Una tienda ofrece un descuento del 15% sobre el total de la compra y un cliente desea saber debería pagar finalmente por su compra 
D <- DESCUENTO
TC <- TOTAL DE LA COMPRA 
PT <- PAGO TOTAL
*/

REAL D
REAL TC 
REAL PT

INICIO

ESCRIBA " El total de la compra"
LEA TC
LLAMAR NUEVA_LINEA

/*OPERACION*/
D <- 0.15*TC
PT <- TC-D

ESCRIBA "El total a pagar es:", PT

FIN

SEMANA # 19

LPP
/* 5° Se leen los catetos de un triangulo rectángulo  calcular la hipotenusa con la siguiente formula:
H= (a^2 + b^2)^(1/2)
H <- Hipotenusa
a <- Cateto UNO
b <- Cateto DOS */


REAL H
REAL a
REAL b

INICIO 

ESCRIBA " Escriba el Cateto UNO "
LEA a
LLAMAR NUEVA_LINEA 

ESCRIBA " Escriba Cateto DOS "
LEA b
LLAMAR NUEVA_LINEA

/* OPERACIONES */

H <- (a^2+b^2)^(1/2)

ESCRIBA " El valor de la Hipotenusa es: ", H

FIN 

/* 8° El dueño de una tienda compra un articulo a un precio determinado. Obtener el precio al que se debe vender el articulo si se debe obtener una ganancia del 30%.
PD <- Precio Determinado
G  <- Ganancia 
PV <- Precio a Vender*/

REAL PD
REAL G
REAL PV

INICIO

ESCRIBA " El precio determinado del ariticulo es "
LEA PD
LLAMAR NUEVA_LINEA

/* PROCEDIMIENTO */

G  <- PD*0.3
PV <- PD+G

ESCRIBA " El precio al que se debe vender el ariculo es:", PV

FIN

/* 13° 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 
TL <- Tiempo Lunes
TM <- Tiempo Miércoles
TV <- Tiempo Viernes
PS <- Promedio Semanal*/ 

REAL TL
REAL TM
REAL TV
REAL PS

INICIO

ESCRIBA " El tiempo en el que se recorrió la ruta el Lunes es "
LEA TL
LLAMAR NUEVA_LINEA

ESCRIBA " El tiempo en el que se recorrio la ruta el Miercoles es "
LEA TM
LLAMAR NUEVA_LINEA

ESCRIBA " El tiempo en el que se recorrio la ruta el Viernes es "
LEA TV
LLAMAR NUEVA_LINEA

/* PROCEDIMIENTO */

PS <- (TL+TM+TV)/3

ESCRIBA " El tiempo promedio en el que se recorrio la ruta en la semana es: ", PS

FIN

/* 18° Un alumno desea saber cual es su promedio general en las tres materias mas difíciles que cursa y cual sera el promedio que obtendrá en cada una de ellas 
matematicas: examen 90%, tareas3 10%
algoritmos: examen 80%, tareas2 20%
fisica: examen 85%, tareas3 15%
5
CEM <- Calificacion examen Matematicas
PTM <- Promedio Tareas Matematicas
T1M <- Tarea N° 1 Matematicas
T2M <- Tarea N° 2 Matematicas
T3M <- Tarea N° 3 Matematicas
CEA <- Calificacion examen Algoritmos
PTA <- Promedio Tareas Algoritmos
T1A <- Tarea N° 1 Algoritmos
T2A <- Tarea N° 2 Algoritmos 
CEF <- Calificacion examen Fisica
PTF <- Promedio Tareas Fisica
T1F <- Tarea N° 1 Fisica
T2F <- Tarea N° 2 Fisica
T3F <- Tarea N° 3 Fisica 
PM  <- Promedio Matematicas
PA  <- Promedio Algorimos
PF  <- Promedio Fisica
PGM <- Promedio General de las 3 Materias */

REAL CEM
REAL PTM
REAL T1M
REAL T2M 
REAL T3M 
REAL CEA
REAL PTA
REAL T1A
REAL T2A
REAL CEF
REAL PTF
REAL T1F
REAL T2F
REAL T3F
REAL PM
REAL PA
REAL PF
REAL PGM

INICIO

ESCRIBA " Escriba la calificacion del examen de Matematicas "
LEA CEM
LLAMAR NUEVA_LINEA

ESCRIBA " Escriba la calificacion de la Tarea N° 1 de Matematicas "
LEA T1M
LLAMAR NUEVA_LINEA

ESCRIBA " Escriba la calificacion de la Tarea N° 2 de Matematicas "
LEA T2M
LLAMAR NUEVA_LINEA

ESCRIBA " Escriba la calificacion de la Tarea N° 3 de Matematicas "
LEA T3M
LLAMAR NUEVA_LINEA

ESCRIBA " Escriba la calificacion del examen de Algoritmos "
LEA CEA
LLAMAR NUEVA_LINEA

ESCRIBA " Escriba la calificación de la Tarea N° 1 de Algoritmos "
LEA T1A
LLAMAR NUEVA_LINEA

ESCRIBA " Escriba la calificacion de la Tarea N° 2 de Algoritmos "
LEA T2A
LLAMAR NUEVA_LINEA

ESCRIBA " Escriba la calificacion del examen de Fisica "
LEA CEF
LLAMAR NUEVA_LINEA

ESCRIBA " Escriba la calificacion de la Tarea N° 1 de Fisica "
LEA T1F
LLAMAR NUEVA_LINEA

ESCRIBA " Escriba la calificacion de la Tarea N° 2 de Fisica "
LEA T2F
LLAMAR NUEVA_LINEA

ESCRIBA " Escriba la calificacion de la Tarea N° 3 de Fisica "
LEA T3F
LLAMAR NUEVA_LINEA

/* PROCEDIMIENTOS */

PTM <- (T1M+T2M+T3M)/3
PM  <- (CEM*0.9)+(PTM*0.1)
PTA <- (T1A+T2A)/2
PA  <- (CEA*0.8)+(PTA*0.2)
PTF <- (T1F+T2F+T3F)/3
PF  <- (CEF*0.85)+(PTF*0.15)
PGM <- (PM+PA+PF)/3

ESCRIBA " El promedio de Matemáticas es:", PM
LLAMAR NUEVA_LINEA

ESCRIBA " El promedio de Algoritmos es:", PA
LLAMAR NUEVA_LINEA

ESCRIBA " El promedio de Fisica es:", PF
LLAMAR NUEVA_LINEA

ESCRIBA " El promedio general de las tres materia es:", PGM
LLAMAR NUEVA_LINEA

FIN

/* 19° Un vendedor recibe un sueldo base mas un 10% extra por comisiones de sus ventas, el vendedor desea saber cuanto dinero obtendra por concepto de
 comisiones de las tres ventas realizadas en el mes y el total que recibira en el mes tomando en cuenta su sueldo base y comisiones
SB <- Sueldo Base
CC <- Concepto de Comisiones
ST <- Sueldo Total
CM <- COMISION*/

REAL SB
REAL CM
REAL CC
REAL ST

INICIO

ESCRIBA " Escriba el Salario Basico del Vendedor "
LEA SB
LLAMAR NUEVA_LINEA

/* PROCEDIMIENTOS */

CM <- SB*0.1
CC <- CM*3
ST <- SB+CC

ESCRIBA " El dinero que obtendra por Concepto de Comisiones de las tres ventas es: ", CC
LLAMAR NUEVA_LINEA 

ESCRIBA " El Sueldo total del vendedor es: ", ST 
LLAMAR NUEVA_LINEA

FIN

 

/* 21° Se lee de un registro el nombre, el Salario Basico mensual. Calcule el Salario Neto mensual y muestrelo con el nombre y el valor de las deducciones; las deducciones son: 3% para el seguro social y el 5% para impuestos
N  <- Nombre
SB <- Salario Basico
SS <- Seguro Social
IM <- Impuestos
TD <- Total Deducciones
SN <- Salario Neto */

CADENA [30] N
REAL SB
REAL SS
REAL IM
REAL TD
REAL SN

INICIO

ESCRIBA " Escriba el Nombre "
LEA N
LLAMAR NUEVA_LINEA

ESCRIBA " Escriba el Salario Basico Mensual "
LEA SB
LLAMAR NUEVA_LINEA

/* PROCEDIMIENTOS */

SS <- SB*0.03
IM <- SB*0.05
TD <- SS+IM
SN <- SB-TD

ESCRIBA " El valor total de Deducciones es: ", TD
LLAMAR NUEVA_LINEA

ESCRIBA " El salario neto mensual de ", N
ESCRIBA " es: ", SN
LLAMAR NUEVA_LINEA

FIN