:: Foro Oficial de Algoritmos ::

Hola me gustaria saber si me pueden colaborar con 3 ejercicios de diagrama de flujo
1) diseñar un diagrama de flujo que calcule e imprima la suma de los primeros n numeros impares
2) diseñar un diagrama de flujo que, de 5 numeros por el usuario, averigue si la suma de ellos es numero primo
3) diseñar un diagrama de flujo que, de 5 numeros por el usuario, averigue si la suma de ellos es numero impar
 
Hola me gustaria saber si me pueden colaborar con 3 ejercicios de diagrama de flujo
1) diseñar un diagrama de flujo que calcule e imprima la suma de los primeros n numeros impares
2) diseñar un diagrama de flujo que, de 5 numeros por el usuario, averigue si la suma de ellos es numero primo
3) diseñar un diagrama de flujo que, de 5 numeros por el usuario, averigue si la suma de ellos es numero impar

http://www.laneros.com/showpost.php?p=3094716&postcount=49
en ese link hay un documento con muchos algoritmos ya realizados, eso te ayuda a desarrollar tu lógica.... t los recomiendo.
 
Vean este codigo con ayuda de el sensei Bart. xD
Que se le podria mejorar, escucho propuestas ;)


// Algoritmo para el control administrativo del historial clínico en el consultorio A.O.A (Armando Otero Anaya)

/* INTEGRANTES
Jefri simanca Berrio
Luis fernando Agamez
Harold Cabrales Lara
German de la Parra */

const
max=100 // Variable numero de pacientes
var
aux,aux1,reco,pulse1,edad,opc,tecla,tele,y,u,i,aux3:numerico
pulse,nom,ape,dir,rec :cadena
nom_paciente,apell_paciente,docu_paciente,dir_paciente: vector[max]cadena
edad_paciente,tel_paciente :vector [max] numerico
nom_tratamiento, nom_paciente_pago, apell_paciente_pago,dir_paciente_pago,id_paciente_pago :vector [max] cadena
cod_tratamiento, precio_tratamiento,cod_depagos, docu_paciente_pagos, cod_tratamiento_pago: vector [max] numerico
codigo_tratamiento_pago,precio_tra_pago, tel_paciente_pago,cod_ingreso_pag,tipo_ingrese_pago:vector [max] numerico
valor_pago: vector [max] numerico

inicio

aux=0
repetir
cls()
set_color(5,1)
cls()

set_curpos(3,16)
imprimir(" * * * * * * * * * * * * * * * * * * * * ")
set_curpos(4,16)
imprimir(" * * **** * *")
set_curpos(5,16)
imprimir(" * * * * * * * *")
set_curpos(6,16)
imprimir(" * ***** * * ***** *")
set_curpos(7,16)
imprimir(" * * * * * * * *")
set_curpos(8,16)
imprimir(" * * * * **** * * * *")
set_curpos(9,16)
imprimir(" * * * * * * * * * * * * * * * * * * * *" )

imprimir("\n\n******************* CONSULTORIO ODONTOLOGICO ARMANDO OTERO ANAYA *************\n")
imprimir("\t\1) REGISTRO PACIENTES\n\n")
imprimir("\t\2) REGISTRO DE TRATAMIENTOS \n\n")
imprimir("\t\3) INGRESO DE PAGOS\n\n")
imprimir("\t\4) LISTADO DE HISTORIAS CLINICAS\n\n")
imprimir("\t\5) LISTADO DE CITAS\n\n")


// Posicion del Pantalla (*)
desde i=1 hasta 40{
set_color(5,1)
readkey(50)
set_curpos(23,i)
imprimir("*")
}
//*******************************/

imprimir("\tELIJA UNA OPCIÒN:")
leer(opc)



eval{
caso (opc>6)
imprimir ("Opcion no Valida")

caso (opc==1)
cls()
imprimir("\n\t\t\t\t REGISTRO PACIENTES\n\n")
imprimir("\n\t1) Nombre")
imprimir("\n\t2) Apellido")
imprimir("\n\t3) Cedula o TI")
imprimir("\n\t4) Dirección")
imprimir("\n\t5) Teléfono")
imprimir("\n\t6) Edad")

// Para llamar a la Subrutina Registro de Paciente
paciente()


caso (opc==2)
cls()
imprimir("\n\t\t\t\t REGISTRO DE TRATAMIENTOS\n\n")
imprimir("\n\t1) Codigo de Tratamiento")
imprimir("\n\t1) Nombre del tratamiento")
imprimir("\n\t1) Precio del tratamiento")

// Para llamar a la Subrutina tratamiento
tratamiento ()

caso (opc==3)
cls()
imprimir("\n\t\t\t\t INGRESO DE PAGOS\n\n")
imprimir("\n\t1) Efectivo")
imprimir("\n\t2) Tarjeta de crédito")
imprimir("\n\t3) Cheques")

// Para llamar a la Subrutina Ingreso de Pagos
ingreso_de_pagos()

caso (opc==4)
cls()
imprimir("\n\t\t\t\t LISTADO DE HISTORIAS CLINICAS\n\n")
imprimir ("1) LISTADO DE HISTORIAS CLINICAS")

caso (opc==5)
cls()
imprimir("\n\t\t\t\t LISTADO DE CITAS\n\n")
imprimir("\n\t1) Hora ")
imprimir("\n\t2) Día")


}
hasta (opc==6) // Finaliza el Repetir hasta 6

fin


// Sburutinas

subrutina paciente()
var
nom,ape,dir,tel,e,c:cadena
pulse:cadena

inicio
aux=aux+1

imprimir("\n\nDigite el Nombre:")
leer(nom)
nom_paciente[aux]=nom
pulse=nom

imprimir("\n\nDigite el Apellido:")
leer(ape)
apell_paciente[aux]=ape
pulse=ape

imprimir("\n\nDigite el Cedula,T.identidad, R.C:")
leer(c)
docu_paciente[aux]=c
pulse=c

imprimir("\n\nDigite el direccion:")
leer(dir)
dir_paciente[aux]=dir
pulse=dir

imprimir("\n\nDigite el telefono:")
leer(tele)
tel_paciente[aux]=tele
pulse1=tele

imprimir("\n\nDigite la edad:")
leer(edad)
edad_paciente[aux]=edad
pulse1=edad

imprimir("\n\nDigite cualquier tecla para ver el resultado......")
readkey()
cls()

imprimir("\n\n\t\t\tLos Datos del Paciente Son:")


pulse=nom
imprimir("\n\n\t\a-nombre:",pulse)


pulse=ape
imprimir("\n\n\t\b-apellido:",pulse)


pulse=c
imprimir("\n\n\t\b-Cedula o T.identidad :",pulse)


pulse=dir
imprimir("\n\n\t\c-direccion:",pulse)

pulse=tel
imprimir("\n\n\t\d-telefono:",pulse)

pulse=e
imprimir("\n\n\t\e-edad:",pulse)

imprimir("\n\n\t\pulse culaquier tecla para regresar....")
readkey()
cls()

fin

// Sub rutinas tratamiento
subrutina tratamiento()

var
codigo_tratamiento,prec_tratamiento: numerico
nom_tratam: cadena
inicio

aux1=aux1+1
imprimir("\n\nDigite el Codigo tratamiento :")
leer(codigo_tratamiento)
cod_tratamiento[aux1]=codigo_tratamiento
pulse1=codigo_tratamiento

imprimir("\n\nDigite el Nombre del Tratamiento:")
leer(nom_tratam)
nom_tratamiento[aux1]=nom_tratam
pulse=nom_tratam

imprimir("\n\nDigite el Precio del Tratamiento:")
leer(prec_tratamiento)
precio_tratamiento[aux1]=prec_tratamiento
pulse1=prec_tratamiento

imprimir("\n\nDigite cualquier tecla para ver el resultado......")
readkey()
cls()

imprimir("\n\n\t\t\tLos Datos del Tratamiento Son:")

pulse1=codigo_tratamiento
imprimir("\n\n\t\A- Codigo de Tratamiento:",pulse1)


pulse=nom_tratam
imprimir("\n\n\t\B- Nombre de Tratamiento:",pulse)


pulse1=prec_tratamiento
imprimir("\n\n\t\C- Precio de Tratamiento:",pulse1)


imprimir("\n\n\t\Pulse culaquier tecla para regresar....")
readkey()

fin

// Subrutina Ingreso de pagos
subrutina ingreso_de_pagos()

var
cod_ingreso_pago,aux2,sw,codigo_tra_pago,cont,i: numerico
id_tratamiento,tipo_pago,valor: numerico
id_paciente_ingresopago: cadena

inicio

cont=0
aux3=aux3+1
cod_ingreso_pag[aux3] =random(100000)

imprimir("\n\nCodigo de Ingreso de pago:",cod_ingreso_pag[aux3])
pulse1=cod_ingreso_pago

repetir
imprimir("\n\nDigite el Codigo del Tratamiento:")
leer(codigo_tra_pago)
desde i=1 hasta max{
si (codigo_tra_pago==cod_tratamiento){
aux2=i
cont=1
i=aux
}
}
si (cont==1){
imprimir("\n\nNombre del Tratamiento es:",nom_tratamiento[aux2] )
imprimir("\n\nValor del Tratamiento es:",precio_tratamiento[aux2])
codigo_tratamiento_pago[aux3]=codigo_tra_pago
precio_tra_pago[aux3]=precio_tratamiento[aux2]
sw=1
sino
imprimir("\nPor favor ingrese un Codigo de tratamiento valido.")
}
hasta (sw==1)

imprimir("\n\nDigite la identificacion del paciente:")
leer(id_paciente_ingresopago)
repetir
desde i=1 hasta max{
si (id_paciente_ingresopago == docu_paciente){
aux2=i
cont=1
i=aux
}
}
si (cont==1){

imprimir("\n\nNombre del Paciente:",nom_paciente[aux2] )
imprimir("\n\nApellido del Paciente:",apell_paciente[aux2])
imprimir("\n\nTelefono del Paciente:",tel_paciente[aux2] )
imprimir("\n\nDireccion del Paciente:",dir_paciente[aux2])

id_paciente_pago[aux3]=id_paciente_ingresopago[aux2]
nom_paciente_pago[aux3]=nom_paciente[aux2]
apell_paciente_pago[aux3]=apell_paciente[aux2]
tel_paciente_pago[aux3]=tel_paciente[aux2]
dir_paciente_pago[aux3]=dir_paciente[aux2]
sw=1
sino
imprimir("\nPor favor ingrese una identificacion valida.")
sw=0
}
hasta (sw==1)

repetir
imprimir("\n\nIngrese El tipo de Pago: 1.Efectivo: 2. Tarjeta debito: 3. Cheque:")
leer(tipo_pago)
si (tipo_pago>3){
imprimir("\nPor Favor ingresar una opcion valida")
}
hasta (tipo_pago<=3)
tipo_ingrese_pago[aux3]=tipo_pago


imprimir("\nEl valor es:")
leer(valor)
valor_pago[aux3]=valor

//.......................................................... Imprime todo los datos digitados .......................................

imprimir("\n\nDigite cualquier tecla para ver el resultado......")

imprimir("\n\n\t\t\tLos Datos Son:")

pulse1=cod_ingreso_pag[aux3]
imprimir("\n\n\t Codigo de Ingreso de pago",pulse1)


pulse1=precio_tratamiento[aux2]
imprimir("\n\n\t Precio pago por Tratamiento",pulse1)


pulse=nom_tratamiento[aux2]
imprimir("\n\n\t Nombre de Tratamiento:",pulse)

pulse=nom_paciente[aux2]
imprimir("\n\n\t Nombre de Paciente:",pulse)

pulse=apell_paciente[aux2]
imprimir("\n\n\t Apellido del Paciente:",pulse)

pulse1=tel_paciente[aux2]
imprimir("\n\n\t Telefono del Paciente",pulse1)

pulse=dir_paciente[aux2]
imprimir("\n\n\t Direccion del Paciente:",pulse)

pulse1=tipo_ingrese_pago[aux3]
imprimir("\n\n\t Tipo de Pago:",pulse1)

pulse1=valor_pago[aux3]
imprimir("\n\n\t Valor de Pago:",pulse1)



imprimir("\n\n\t\Pulse culaquier tecla para regresar....")
readkey()


fin

 
mñana lo miro con calma y le miro q le mejoramos....xD

Viejo Jose quede esperando su ayuda, mijo necesito saber algunos significados de variables.


/* Bart estan son las preguntas que tengo sobre el programa

aux, aux1,aux2,aux3 : Para que sirvem que funcion tienen????
y,u,i: Igualamente para que sirven??

*/
 

Viejo Jose quede esperando su ayuda, mijo necesito saber algunos significados de variables.


/* Bart estan son las preguntas que tengo sobre el programa

aux, aux1,aux2,aux3 : Para que sirvem que funcion tienen????
y,u,i: Igualamente para que sirven??

*/


listo en el transcuso de la mañana le respondo.....:D
 
ayuda maestro ojaldra nos pidio hacer estas cosas

1.- A un trabajador le pagan segun sus horas y un sueldo de pago por horas. si la cantidad de horas trabajadas es mayor a 40 horas. la el sueldo se incrementa en un 50% para las horas extras. calcular el salario del trabajador dadas las horas trabajadas y la tarifa.
2.- A un trabajador le descuentan de su sueldo el 10% si su sueldo es menor o igual a 1000. por encima de $1000 y hasta $2000 el 5% del adicional, y por encima de $2000 el 3% del adicional. calcular el descuento y sueldo neto que recibe el trabajador dado su sueldo.
3.- Dado un tiempo en segundos, calcular los segundos restantes que le correspondan para convertirse exactamente en minutos.
4.- Realizar un algoritmo que permita pedir 50 números naturales y determine e imprima cuantos son pares, impares, positivos y negativos.
5.- Dado un numero determinar la suma de sus dígitos.
6.- Dado N notas de un estudiante calcular:
a) Cuantas notas tiene desaprobados.
b) Cuantos aprobados.
c) El promedio de notas.
d) El promedio de notas aprobadas y desaprobadas y el bato no enseño nada y lo puso en un programa sl o sle u.u e intento hacerlo peor no lo manejo bien........ tt.tt es malo.... alguien podria orientarme..... lo tneog o que madar le domingo...
 
var
seg,min,segs:numerico
inicio
cls ()
imprimir ("/n introduce los segundos");
leer (seg)
min = seg/60
imprimir ("/n los minutos son ", min,"");
segs = seg/min
imprimir ("/n los segundos que faltan son ",segs,"")
fin
ya calcule es tiempo..... pero de hay no se que hacer para que me diga cuentos segundos fasltabn para le minuto... este es uno

este es el primero

var
more,hour,hourx,pay: numerico
inicio
imprimir ("/n indique las horas trabajadas");
leer (hour)
imprimir ("/n inquique salario por hora");
leer (hourx)
pay= (hour * hourx)
eval
{
caso (hour > 40)
hourx = hourx + 50%
}
imprimir ("/n el pago de este trabajador es ",pay,"");
fin
no pude hacer que corriera.... calcuclando el porcentaje....
si (hour > 40)
{
hourx = hourx + 50%
sino (hour > 40)
hourx = hourx + 0
}

mientras (hour > 40 )
{
hourx = hourx + more
more = 50 %
} intente esto pero siempre me marco error....


intente hacerle por caso, por entonces o por si o no o.o pero no se sale...
 
var
x,y,z,e,prom: numerico
vec: vector [10] numerico
inicio
desde z=1 hasta 10
{
imprimir ("/n escriba las calificaciones")
leer (vec [z])
x =x + vec [z]
}
y= x/vec
e=0
desde z=1 hasta 10
{
si (vec [10] < prom )
{
e= e + 1
}
}
imprimir ("/n fueron ",e, "materias reprobadas","el promedio de las materias es ",prom,"");
fin este se supone que es el de el numero 6 pero no me jala u.u
 
o.o entonces no me quieren ayudar....
A un trabajador le descuentan de su sueldo el 10% si su sueldo es menor o igual a 1000. por encima de $1000 y hasta $2000 el 5% del adicional, y por encima de $2000 el 3% del adicional. calcular el descuento y sueldo neto que recibe el trabajador dado su sueldo.
.- Realizar un algoritmo que permita pedir 50 números naturales y determine e imprima cuantos son pares, impares, positivos y negativos. ya hize todos los demas pero no hayo como hacer estos unos consejos me podrian ayudar o.o ( solo necesito la idea...)
 
o.o entonces no me quieren ayudar....
A un trabajador le descuentan de su sueldo el 10% si su sueldo es menor o igual a 1000. por encima de $1000 y hasta $2000 el 5% del adicional, y por encima de $2000 el 3% del adicional. calcular el descuento y sueldo neto que recibe el trabajador dado su sueldo.
.- Realizar un algoritmo que permita pedir 50 números naturales y determine e imprima cuantos son pares, impares, positivos y negativos. ya hize todos los demas pero no hayo como hacer estos unos consejos me podrian ayudar o.o ( solo necesito la idea...)

Que mas Tamcha, Parce no es que no se le quiera ayudar, vea esta vuelta de programar es cuestión de prueba y error, créame la idea es que coloques lo que has hecho y nos comentes dudas o problemas a la hora de la compilación. De nada sirve que se te hagan los ejercicios si vos no los haces, intenta y cuando tengas dudas colócalas y con mucho gusto se le colabora ;)
Feliz día parce
 

Los últimos temas