Sunteți pe pagina 1din 5

UNSa- Facultad de Ingeniería

Cátedra: INFORMATICA

TRABAJO PRACTICO N°4i: “EST DE CICLOS SIMPLES- LISTAS-CONTADORES-ACUMULADORES

EJERCICIO A

A) Sintaxis de Mientras:

mientras (expresión_logica)
{
secuencia_instruccione;
...
}
Funcionamiento: La secuencia de instrucciones se ejecuta mientras la expresión lógica resulte verdadera. En
caso de resultar falsa la secuencia de instrucciones deja de ejecutarse.

B)
programa ciclo3 programa ciclo4
const PI = 3.1415 const PI = 3.1415
var var
radio, A: numerico //variable para ingresar los datos del usuario radio, A: numerico //variable para ingresar los datos del usuario
inicio inicio
//Zona de Ingreso de datos //Zona de Ingreso de datos
mientras (radio > 0) imprimir(“Ingrese un radio: “);


{ leer(radio);
imprimir(“Ingrese un radio: “); mientras (radio > 0)
leer(radio); {
A = PI * radio * radio A = PI * radio * radio
imprimir(“Area = ”, A) imprimir(“Area = ”, A)
} imprimir(“Ingrese un radio: “);
fin leer(radio);
}
fin

Justificación: la sintaxis de mientras solo se ejecuta en el segundo programa porque en el primero a la variable
“radio” nunca se le asignó un valor y el programa lo lee como 0 y por lo tanto la expresión lógica (radio>0) no es
verdadero y no se ejecuta.

AC (Rsta) El comando mientras se debe utilizar cuando se requiere que la secuencia de instrucciones se repita
indeterminadamente.

C)

programa horas_trabajadas
var
hs:numerico //hs trabajadas por cada operario
suma:numerico //suma de horas trabajadas en total
cantidad:numerico //cantidad de operarios
promedio:numerico //promedio de horas trabajadas
inicio
cls()
suma=0
cantidad=0
imprimir("Ingrese las hs trabajadas del primer trabajador: ") ; leer(hs)
mientras(hs>=0)
{
cantidad=cantidad+1
suma=suma+hs
imprimir("Igrese las hs trabajadas del siguiente trabajador [Fin (Nros negativos)]: ") ;
leer(hs)
}
promedio=suma/cantidad
imprimir("\nIngresaron ",cantidad," operarios en el jornal")
UNSa- Facultad de Ingeniería
Cátedra: INFORMATICA

imprimir("\nEl total de hs trabajadas es de = ",suma,"hs")


imprimir("\nEl promedio de hs trabajadas es de ",promedio,"hs")
fin
AC (Rsta) Se podría haber usado el ciclo “desde hasta” porque este también repite una secuencia de
instrucciones. Pero se requiere saber cuántas veces se repetirá.
1)
programa planteo_hidraulico
const Pi=3.14159
var
V:numerico //Velocidad del fluido
A:numerico //Area de la cañeria
Q:numerico //caudal
D:numerico //Diametro
sumaQ:numerico //suma de caudales
inicio
cls()
sumaQ=0
imprimir("Ingresar diametro =")
; leer(D)
A=(Pi*D*D)/4
imprimir("ingrese la primera velocidad en(m/seg) [Ultima=0] ="); leer(V)
mientras(V<>0)
{
Q=V*A
sumaQ=sumaQ+Q
imprimir("El caudal es de ",Q,"(m^3/seg)")
imprimir("\nIngrese la siguiente velosidad [Ultima=0] ") ; leer(V)
}
imprimir("\nEl caudal total es de ",sumaQ,"(m^3/seg)")
fin
2)
programa barras_hierro
var
longL:numerico //Variable: longitud L indicada por el operador
long:numerico //Variable: longitud
lar:numerico //Variable: longitud mas larga
cor:numerico //Variable: longitud mas corta
cantidad:numerico //Variable: cantidad de longitudes introducidas
suma:numerico //Variable: suma de longitudes
prome:numerico //Variable: promedio de longitudes
cantidadL:numerico //Variable: cantidad de longitudes menores o igual que la longitud L
inicio
cls()
cantidadL=0
suma=0
cantidad=0
imprimir("ingrese la longitud L = ") ;
leer(longL)
mientras(longL<0)
{
imprimir("la longitid L debe ser un valor positivo = ") ; leer(longL)
}
imprimir("ingrese la primera longitud[Fin=0] = ") ; leer(long)
mientras(long<0)
{
imprimir("debe ingresar un valor positivo[Fin=0] = ") ; leer(long)
UNSa- Facultad de Ingeniería
Cátedra: INFORMATICA

}
mientras(long>0)
{
si(long<=longL)
{
cantidadL=cantidadL+1
}
suma=suma+long
cantidad=cantidad+1
si(cantidad==1)
{
lar=long
cor=long
sino
si(long>lar)
{
lar=long
sino
si(long<cor)
{
cor=long
}
}
}
imprimir("ingrese el valor de la siguiente longitud [Fin=0]=") ; leer(long)
mientras(long<0)
{
imprimir("debe ingresar un valor positivo[Fin=0] = ") ;
leer(long)
}
}
prome=suma/cantidad
imprimir("La longitud de la barra mas larga es de ",lar)
imprimir("\nLa longitud de la barra mas corta es de ",cor)
imprimir("\nLa longitud promedio de las barras es de ",prome)
imprimir("\nLa cantidad de barras mas corta o igual que ",longL," es de ",cantidadL)
fin
AC (Rsta) Es necesario hacer un ingreso antes del ciclo mientras para que la expresión lógica sea verdadera o no
y debe haber otro antes de finalizar para cambiar el valor que hace verdadera la expresión lógica, así se podrá cambiarla
para poder hacerla falsa y no provocar un ciclo infinito.
La sentencia para calcular una sumatoria se llama “acumulador”.
El valor inicial de las sentencias contador y acumulador debe ser cero.
AC (Rsta) En este ejemplo se utiliza el acumulador para calcular la sumatoria de las longitudes. Y se utiliza el
contador para contar las cuantas longitudes se ingresan. Y se utilizan ambas para poder calcular el promedio.
Antes del uso de estas asignaciones se debe considerar que las variables a utilizar deben ser cero.
3)
programa bascula_de_camiones
var
peso:numerico //Variable: peso
cbaja:numerico //Variable: cantidad de camines de peso bajo
sbaja:numerico //Variable: sumatoria de los peso de los camiones de peso bajo
pbaja:numerico //Variable: promedio de los peso de los camiones de peso bao
cmedia:numerico //Variable: cantidad de camines de peso medio
smedia:numerico //Variable: sumatoria de los peso de los camiones de peso medio
pmedia:numerico //Variable: promedio de los pesos de los camiones de peso medio
calta:numerico //Variable: cantidad de camines de peso alto
salta:numerico //Variable: sumatoria de los peso de los camiones de peso alto
palta:numerico //Variable: promedio de los peso de los camiones de peso alto
inicio
cls()
cbaja=0
sbaja=0
UNSa- Facultad de Ingeniería
Cátedra: INFORMATICA

cmedia=0
smedia=0
calta=0
salta=0
imprimir("ingresar el peso del primer camion en Kg[Fin=0] = ") ; leer(peso)
mientras(peso<0)
{
imprimir("debe ingresar valores positivos [Fin=0] = ")
leer(peso)
}
mientras(peso>0)
{
si(peso>4000)
{
calta=calta+1
salta=salta+peso
sino
si(peso>=1500)
{
cmedia=cmedia+1
smedia=smedia+peso
sino
cbaja=cbaja+1
sbaja=sbaja+peso
}
}
imprimir("ingresar el peso del siguiente camion en kg [Fin=0] = "); leer(peso)
mientras(peso<0)
{
imprimir("debe ingresar valores positivos [Fin=0] = ")
leer(peso)
}
}
si(cbaja<>0)
{
pbaja=sbaja/cbaja
}
si(cmedia<>0)
{
pmedia=smedia/cmedia
}
si(calta<>0)
{
palta=salta/calta
}
imprimir("La cantidad de camiones de peso bajo es de ",cbaja)
imprimir("\nEl promedio del peso de camiones de peso bajo es de ",pbaja,"Kg")
imprimir("\nLa cantidad de camiones de peso medianos es de ",cmedia)
imprimir("\nEl promedio del peso de camiones de peso medianos es de ",pmedia,"Kg")
imprimir("\nLa cantidad de camiones de peso alto es de ",calta)
imprimir("\nEl promedio del peso de camiones de peso alto es de ",palta,"Kg")
fin
AC (Rsta) Si se podría usar en este ejemplo el ciclo incondicionado pero solo si se le ingresan la cantidad de
camiones que serán pesados
D) sintaxis del ciclo desde

desde vble=valor_inicial hasta valor_final paso valor


{
secuencia_instrucciones;
...
}
UNSa- Facultad de Ingeniería
Cátedra: INFORMATICA

Funcionamiento: el ciclo desde repite la secuencia de instrucciones una cantidad de veces preestablecida.
Definida por el valor inicial de la variable de control y el valor final de esta variable
E) C
programa ciclo1 programa ciclo2
const PI = 3.1415 const PI = 3.1415
var indice: numerico // variable controladora del ciclo var indice: numerico // variable controladora del ciclo
radio, A: numerico //variable para ingresar los datos del radio, A: numerico //variable para ingresar los datos del
usuario usuario
inicio inicio
//Zona de Ingreso de datos //Zona de Ingreso de datos


desde indice = 1 hasta 10 paso 1 desde indice = 1 hasta 10 paso 1
{ {
imprimir(“Ingrese un radio: “); imprimir(“Ingrese un radio: “);
leer(radio); leer(radio);
A = PI * radio * radio indice = PI * radio * radio
imprimir(“Area = ”, A) imprimir(“Area = ”, A)
} }
fin fin
Justificación: en el ejemplo dos la variable de control es cambiada. Lo que impide que se ejecute normalmente.
9)
Corralon 1 Corralon 2
Material Cantidad Unidad
PU Precio total PU Precio total
RIPIOSA 18 m3 $ 299,27 $ 5.386,86 $ 0,00 $ 0,00
ARENA MEDIANA 8 m3 $ 0,00 $ 0,00 $ 259,00 $ 2.072,00
CEMENTO (bsa 50kg) 105 Bsa $ 199,27 $ 20.923,35 $ 159,35 $ 16.731,75
CAL HIDRATADA (bsa 25kg) 40 Bsa $ 121,93 $ 4.877,20 $ 89,02 $ 3.560,80
PEGAMENTO p/ceramico 30 Bsa $ 0,00 $ 0,00 $ 3,47 $ 104,10
PASTINA 15 Kg $ 0,00 $ 0,00 $ 19,14 $ 287,10
HIDROFUGO 12 Lt $ 27,50 $ 330,00 $ 0,00 $ 0,00
Pintura Asfaltica 4 Lt $ 0,00 $ 0,00 $ 0,00 $ 0,00
CLAVO PUNTA PARIS 1 1/2" 7 Kg $ 41,73 $ 292,11 $ 30,67 $ 214,69
CLAVO PUNTA PARIS 2 1/2" 9 Kg $ 40,18 $ 361,62 $ 29,52 $ 265,68
MALLA SIMA Ø4,2 15X15 3 Un $ 935,22 $ 2.805,66 $ 775,32 $ 2.325,96
ALAMBRE NEGRO N°14 7 Kg $ 37,42 $ 261,94 $ 27,23 $ 190,61
ALAMBRE NEGRO N°16 9 Kg $ 37,62 $ 338,58 $ 27,35 $ 246,15
LADRILLO HUECO 8x18x30 50 Un $ 9,67 $ 483,50 $ 8,14 $ 407,00
LADRILLO HUECO 12x18x30 220 Un $ 12,49 $ 2.747,80 $ 10,59 $ 2.329,80
LADRILLO HUECO 18x18x30 910 Un $ 16,66 $ 15.160,60 $ 14,24 $ 12.958,40
VIGUETA PRETENSADA 4,00 M 4 Un $ 290,24 $ 1.160,96 $ 248,77 $ 995,08
VIGUETA PRETENSADA 5,80 M 8 Un $ 733,72 $ 5.869,76 $ 570,54 $ 4.564,32
BOBEDILLA CERAMICA 198 Un $ 0,00 $ 0,00 $ 46,54 $ 9.214,92
PISO CERAMICO 40 m2 $ 170,24 $ 6.809,60 $ 95,63 $ 3.825,20
REVESTIMIENTO CERAMICO 23 m2 $ 149,82 $ 3.445,86 $ 114,93 $ 2.643,39
BARRA ACERO TORCIONADO Ø6 1 Un $ 0,00 $ 0,00 $ 51,02 $ 51,02
BARRA ACERO TORCIONADO Ø12 1 Un $ 0,00 $ 0,00 $ 196,49 $ 196,49
Precio promedio unitario $ 135,78 $ 120,74
Subtotal $ 71.255,40 $ 63.184,46
Descuento $ 7.125,54 $ 0,00
Total $ 64.129,86 $ 63.184,46

S-ar putea să vă placă și