sábado, 30 de octubre de 2010

Practica 7

Problema 6:
Una serie geometrica esta determinada por la siguiente formula:
a+ar+ar^2+ar^3+...+ar^n-1
donde:
a=es el promer termino
r=es la proposicion comùn
n=es el numero de terminos de la serie.
utilizando esta informacion escriba un programa que utilize una gaza while para desplegar cada elemento y calcule la suma de la serie geometrica donde:
a=1
r=0.5
n=10
Asegurese que el programa despliege el valor del calculo.

Pseudocodigo 7.6:
Inicio
termino=0.0 double
suma=0.0 double
N?i int
a=i int
r=0.5 double
while(N<=10)
{
termino=a*math.pow(r,(n+1))
print termino, " "
suma= suma+termino
N=N+1
}
print "La Suma De La Serie Geometrica Es:",suma
final .

Problema 5:
Escriba un programa que invierta los dígitos de un número positivo entero. Por ejemplo, si se intruce 8735, debe mostrar el número 5378. (Sugerencia: utilice una instrucción do que elimine y despliegue continuamente el dígito de unidades del número. Si la variable num contiene inicialmente el número introducido, el dígito de unidades se obtiene como (num % 10). Después de que se muestra el dígito de unidades, se divide el numero entre 10 para establecer el número de la siguiente interacción. De tal manera, (8735 % 10) es 5 y (8735/10) es 873. La instrucción do debe continuar siempre que el número restante no sea cero.

Pseudocodigo 7.5:
Inicio
num=0 int dig=0 int
Print " numero=?"
read Num
do
{
dig=num%10
num=num/10
print dig
}
while(num!=0);
fin.
Problema 4:
La cantidad de clientes que llegan a un concurrido banco de Nueva York se puede calcular utilizando la función de probabilidad de Poisson
P(x)=ʎ^x e^-ʎ/ x!

donde x=cantidad de clientes que llegan por minuto;ʎ = promedio de clientes que llegan por minuto, y e=número de Euler (2.71828). Por ejemplo, si el promedio de clientes que llegan al banco es de tres por minuto, ʎ es igual a tres.tanto. Por tanto, la probabilidad de que un cliente llegue en cualquier minuto es
P(x=1)=3^1 e^-3/1! =0.149561

y la probabilidad de que dos clientes lleguen en cualquier minuto es
P(x=2)=3^2e^-3/2!=0.224454

Utilizando la función de probabilidad de Poisson, escriba un programa que calcule y despliegue la probabilidad de que un número variable de uno a diez clientes lleguen en cualquier minuto, cuando el promedio de llegada es de 3 clientes por minuto.

Pseudocodigo 7.4:
Inicio
P= 0double
x=0 int
fact=0 int
j=0 int
Print " cantidad de clientes P(x)
for(x=1 to 10 step x=x+1)
{
p=math.pow(3,x)*math.exp(-3)
fact=1
for(j=1 to x step j=j+1)
{
fact=fact*j
}
Px=p/fact
print "x," ",Px
}
fin
Problema 3:
Escribir un programa que lea un entero y un carácter. La salida debe ser un rombo dibujado con el carácter dado y de anchura máxima dada por el entero leído. El programa debe repetir el proceso hasta que la anchura sea cero.

Pseudocodigo 7.3:
Inicio
anchura=0 int
caracter=0 string
linea =" "; int
I=0 int
pasada =0 int
print "introduzca un caracter"
read caracter
print "introduzca anchura"
read anchura
for (pasada=1 to anchura step pasada=pasada+1)
{
linea =" ";
for(I=1 to pasada step I=I+1)
{
linea =linea+caracter
print " ", linea
}
}
for(pasada=anchura-1 to 0 step pasada=pasada-1)
{
linea= linea +caracter
{
for(I=pasada to 0 step I=I-1)
{
print " ", linea
}
}
fin.

Problema 2:
Modificar el problema 2 de la practica 7 para que el usuario introduzca la cantidad de resultados de los ensayes en cada experimento. Escriba el programa de tal forma que se pueda introducir un número diferente de resultados de ensayes en cada experimento.

Pseudocodigo 7.2:
Inicio
suma=0.0 double
E=0, P=0, N=0 int
Prom =0 double
Ensaye =0 double
for (E=1 to 4 step E=E+1)
{
suma=0
print "Experimanto Numero:", E
print "cantidad de ensaye"
read N
for (P=1 to N step P=P+1)
{
print "ensaye",P,"=?"
read Ensaye
suma=suma+Ensaye
}
prom=Suma/N
print "El experimento ",E,"su Promedio es:",Prom
}
fin.
Problema 1:
Suponga que se realizaron cuatro experimentos, cada uno de los cuales tiene seis resultados de ensaye. Los resultados de cada experimento se muestra abajo. Escriba un programa que utilice una gaza anidada para calcular y desplegar el promedio de los resultados del ensaye para cada experimento.
Resultados del primer experimento: 23.2 31 16.9 27 25.4 28.6
Resultados del segundo experimento: 34.8 45.2 27.9 36.8 33.4 39.4
Resultados del tercer experimento: 19.4 16.8 10.2 20.8 18.9 13.4
Resultados del cuarto experimento: 36.9 39 49.2 45.1 42.7 50.6

Pseudocodigo 7.1:
Inicio
suma=0.0 double
E=0, P=0 int
Prom =0 double
Ensaye =0 double
for (E=1 to 4 step E=E+1)
{
suma=0
print "Experimanto Numero:", E
for (P=1 to 6 step P=P+1)
{
print "ensaye",P,"=?"
read Ensaye
suma=suma+Ensaye
}
prom=Suma/6
print "El experimento ",E,"su Promedio es:",Prom
}
fin.

Practica 6

problema 5:
Un modelo para calcular la población mundial, en miles de millones de personas, está dado por la siguiente ecuación
población = 4.88(1 + e^0.02t) donde t es el tiempo en años(i=0 representa a enero de 1985 y t=1 representa a enero de 1986). Utilizando está formula, escriba un programa que muestre una tabla anual de población de enero de 1994 hasta enero de 2005.

Pseudocodigo 6.5:
t=9 int
Año =1994 int
poblacion =0.0 double
print "Tabla Anual De Poblacion"
print "Año Poblacion"
for(t=9 to 20 step t=t+1)
{
poblacion =4.88(1+exp(0.02*T))
print "Enero de" Año," ",Poblacion
Año=Año+1
}
fin.
Problema 4:
Escriba un programa que seleccione y despliegue el valor máximo como la ubicación de éste de 10 números introducidos cuando se ejecute el programa.

Pseudocodigo 6.4:
Inicio
Maximo=0 int I=0 int Numero =0 int pos=0 int
for(I=1 to 8 step I=I+1)
{
print "numero=?"
read numero
if(numero>maximo)
{
maximo=numero
pos =I
}
}
print " el numero mayor es:",maximo
print "La Posicion es:",pos
fin.

Problema 3:
Escriba un programa que seleccione y despliegue el valor máximo de 10 números que serán introducidos cuando se ejecute el programa.(Sugerencia: utilice una gaza for con una instrucción de entrada y un if dentro de la gaza.)
Pseudocodigo 6.3:
Inicio
Maximo=0 int I=0 int Numero =0 int
for(I=1 to 8 step I=I+1)
{
print "numero=?"
read numero
if(numero>maximo)
{
maximo=numero
}
}
print " el numero mayor es:",maximo
fin.

Problema 2:
La secuencia de Fibonacci es 0,1,1,2,3,5,8,13,... donde los primeros dos elementos son el 0 y 1, y cada elemento posterior es la suma de los dos elementos anteriores; es decir Fib(n)= Fib[n-1] + fib[n-2] . Utilizando está información, escriba un programa que calcule el número enésimo en una secuencia de Fibonacci, donde el usuario introduzca n al programa , interactivamente.Por ejemplo, si n=6, el programa debe desplegar el valor 5.

Pseudocodigo 6.2:
Inicio
N1=0,N2=1 int
nuevo=0 int
N=0 int
contador=2 int
print "Numero de terminos=?"
read N
contar =2
print "terminos de la serie Fibonacci"
print n1," ",N2
while(contador <=N)
{
nuevo =N1+N2
print "nuevo"
N1=N2
N2=Nuevo
contador = contador +1
}
fin.

Problema 1:
Una serie aritmética está determinada por la siguiente fórmula
a + (a + d) + (a + 2d) + (a + 3d)+.......+ ((a + (n -1)d))
donde a es el primer término, d es la difrencia común y n es el número de términos que han de sumarse. Utilizando esta información escriba un programa que utilice una gaza while para desplegar cada elemento y determinar la suma de la serie aritmética donde a=1, d= 3 y n=100. Asegúrese de que el programa despliegue el valor que calculó.

Pseudocodigo 6.1:
Inicio:
a=1 int
d=3 int
n=100 int
suma=0 int
termino=0 int
Print "Terminos de la serie geometrica"
while(contador<=n)
{
termino=(a+(contador-1)*d)
Print termino,"+"
suma=suma+termino
contador=contador +1
}
Print "La suma de la serie geometrica es"´suma
Fin.

Practica 5

Problema 5:
La multiplicación rusa se realiza un tanto diferente a lo que nosotros estamos acostumbrados. Para multiplicar dos número MULTIPLICADOR * MULTIPLICANDO se realiza el siguiente proceso:
“Se multiplica repetidamente por 2 el MULTIPLICANDO y al mismo tiempo se divide entre 2 el
MULTIPLICADOR hasta que el MULTIPLICADOR tome el valor 1.
Luego, se suman todos los MULTIPLICANDOS correspondientes a los MULTIPLICADORES impares. Dicha suma es el resultado del producto de los dos números. ¨
Por ejemplo, la siguiente tabla muestra las operaciones que se realizaron para multiplicar 37 * 12. Observa que el resultado es la suma de 12 + 48 + 384 es decir, el resultado es 444.
Ejemplo de la ejecución del programa:
Numero 1? 37
Numero 2? 12
Los numeros que se sumaron son:
12
48
384
El resultado de la multiplicación es 444 .

Pseudocodigo 5.5:
Inicio:
multiplicador=0 int
multiplicando=0 int
Print "Numero 1"
Read multiplicador
Print "Numero 2"
Read multiplicando
while(multiplicando>0)
{
if(multiplicador%2==1)
{
suma=suma+multiplicador
Print Multiplicando
}
multiplicador=multiplicador/2
multiplicando=multiplicador*2
}
Print "El resultaod de la multiplicacion es: ",suma
Fin.
Problema 4:
Los padres de un niño prometen darle $10 cuando cumpla 12 años. Cumpleaños y doblar la cantidad de dinero en cada cumpleaños subsecuente hasta que el obsequio exceda $1000. Escriba un programa para determinar que edad tendrá el niño cuando le den la última cantidad, y el total recibido.

Pseudocodigo 5.4:
Inicio:
dolares=10 double
edad=12 int total=0 double
while(total<=1000) { dolares=dolares*2 total=total*dolares edad=edad+1 } Print "Edad: ",edad Print "Total: ",total
Fin.
Problema 3:
Escriba un programa que convierta pies a metros. El programa debe mostrar los pies desde 1 hasta 100 en incrementos de uno a uno y los equivalentes correspondientes en metros. Un metro tiene 3.28 pies.

Pseudocodigo 5.3:
Incion:
pies,metros double
Print "Pies Metros"
for(pies=1 to 100 step pies=pies+1)
{
metros=pies/3.28;
Print pies," ",metros
}
Fin.

Probema 2:
Escriba un programa tal que dado como datos 270 números enteros,generados aleatoriamente, obtenga la suma de los números impares y el promedio de los números pares.

Pseudocodigo 5.2:
Inicio:
promedio,sumpar,sumimp double
numero double
n,contador int
promedio=sumpar=sumimp=numero=0.0;
n=contador=0;
while(contador<=270) { Print "Numero:" Read numero if(numero%2==1) sumimp=sumimp+numero; } else { sumpar=sumpar+numero; n=n+1; } contador=contador+1; Print "Suma impar",sumimp promedio=sumpar/n Print "El promedio de la suma par es:",sumpar
Fin.

Problema 1:
Escriba un programa tal que dado un grupo de números naturales positivos, calcule e imprima el cubo de estos números.

Pseudocodigo 5.1:
Inicio:
numero int
Print "Introduce un numero"
Read numero
while(numero>0)
{
Print " ",Math.Pow(numero,3)
Print "Introduce un numero"
Read numero
}
Fin.

Practica 4

Problema 4:
Escriba un programa que acepte un número seguido de una letra. Si la letra que sigue al número introducido es una 'f' o 'F' , el programa deberá manejar el número introducido como una temperatura en grados Fahrenheit , convertirla en grados Celsius, e imprimir un mensaje adecuado a la salida. Si la letra sigue el número es una 'c' o 'C' , el programa deberá tratar al número como una temperatura en grados Celsius, convertirla en grados Fahrenheit, e imprimir un mensaje adecuado de salida. Si la letra no es ni una 'f','F' ni una 'c','C', el programa deberá imprimir un mensaje que diga que los datos son incorrectos y terminar. Utilice las formas de conversión:
Celsius=(5.0/9.0)*(Fahrenheit - 32.0)
Fahrenheit=(9.0/5.0)*Celsius + 32

Pseudocodigo 4.4:
Inicio:
temp, fah, cel double
tipo char
Print "Temperatura: "
Read temp
Print "Tipo C o F"
Read tipo
switch(tipo)of
{
Case 'f'':
Case 'F':
cel=(5.0/9.0)*(temp-32.0)
Print "La temperatura en celsius es:",cel
break;
Case 'c':
Case 'C':
fah=(9.0/5.0)*temp+32.0
Print "L temperatura en farenheit es:"+fah
break;
default:
Print "Datos incorrectos"
break;
}
Fin.
Problema 3:
Escriba un programa para mostrar los siguientes dos mensajes:
mes =?
día =?
Haga que el programa acepte y almacene un número en la variable mes en respuesta a la primera instrucción, y que acepte y almacene un número en la variable día en respuesta al segundo mensaje. Si el mes introducido no está entre 1 y el 12, imprima un mensaje que informe al usuario que introdujo un mes inválido. De la misma forma, si el día introducido no está entre 1 y 31, imprima un mensaje que informe de este error al usuario.
En un año no bisiesto febrero tiene 28 días; enero, marzo, mayo, julio, agosto, octubre y diciembre tienen 31 días, y los demás meses tienen 30 días. Para este programa ignore los años bisiestos.

Pseudocodigo 4.3:
Inicio:
mes, dia int
Print "mes="
Read mes
Print "Dia del mes="
Read dia
switch(mes)of
{
Case 1:
Case 3:
Case 5:
Case 7:
Case 8:
Case 10:
Case 12:
if(dia<0>31
{
Print "Error en dia"
}
break;
Case 2:
if(dia<0>28)
}
break;
Case 4:
Case 6:
Case 9:
Case 11:
if(dia<0>30)
{
Print "Error en dia"
}
break;
default:
Print "Error en mes"
break;
}
Fin.
Problema 2:
Escriba un programa que acepte dos números reales del usuario y un código de selección. Si el código introducido es 1, haga que el programa sume los dos números introducidos anteriormente y despliegue el resultado, si el código de selección es 2,los números deberán ser multiplicados, y si el código de selección es 3 el primer número deberá dividirse entre el segundo, no permita la división entre cero y despliegue un mensaje apropiado cuando se intente esa división.

Pseudocodigo 4.2:
Inicio:
opcion int
num1, num2, res real
Print "num1="
Read num1
Print "num2="
Read num2
Print "Operaciones basicas"
Print "1) suma"
Print "2) multiplicacion"
Print "3) division"
Print "Seleccione opcion"
Read opcion
switch(opcion)
{
Case 1:
res=num1+num2
Print num1," +",num2,"=",res
break;
Case 2:
res=num1*num2
Print num1," *",num2,"=",res
break;
Case 3:
res=num1/num2
Print num1," /",num2,"=",res
break;
}
else
{
Print "NO SE PERMITE DIVISION ENTRE 0"
}
break;
default;
Print "Error en opcion"
break;
}
Fin
Problema 1:
Haga un programa captura cuatro puntos cartesianos y verifica si dichos puntos cartesianos forman un rectángulo.

Pseudocodigo 4.1:
Inicio:
x1,y1,x2,y2,x3,y3,x4,y4 int
Print "x1"
Read x1
Print "y1"
Read y1
Print "x2"
Read x2
Print "y2"
Read y2
Print "x3"
Read x3
Print "y3"
Read y3
Print "x4"
Read x4
Print "y4"
Read y4
if(x1==x3 && x2==x4 && y1==y3 && y2==y4)
{
Print "Es rectangulo"
}
else
{
Print "No es rectangulo"
}
Fin.

Practica 3

Problema 5:
Todos los años cuyos dias se pueden dividir exactamente entre 400 0 entre 4, pero no entre 100 son años bisiestos. Por ejemplo 1600 puede dividirse exactamente entre 400, el año 1600 fue bisiesto.
De la misma froma como 1988 es exactamente divisible entre 4 pero no entre 100, 1988 tambien fue un año bisiesto. Utilizando esta informacion elabore un programa que acepte el año como dato de entrada por el usuario, determine si el año es bisiesto y depliegue al usuario un mensaje si el año introducido es o no bisiesto.
Pseudocodigo 3.5:
Inicio
Año int
Print "Introduce El Valor Del Año
Read Año
if(Año %400=0 or Año %4=0)
Print "Año Es Bisiesto"
else
Prin "Año No Es Bisiesto"
Fin.
Problema 4:
Diseñar un programa para resolver una ecuación de segundo grado Ax^´2 + Bx + C.
Las raices de la ecuación son:

X1= (-B + sqrt(B^2 - 4AC))/2A

X2= (-B - sqrt(B^2 - 4AC))/2A

Para que la ecuación de segundo grado tenga solución es preciso que el discriminante sea mayor o igual que 0.

El discriminante de una ecuación de segundo grado es:
D=B^2 - 4AC

Por consiguiente si

D=0 X1=-B/2A X2=-B/2A

D<0>0 se calculan las dos raíces X1 y X2

Introducir los datos A,B,C por teclado y desplegar X1 y X2

Pseudocodigo 3.4:
Inicio

x1,x2,a,b,c,d,p1,p2 double

print "Introduce El Coeficiente a de la ecuacion cuadratica"
read a

print "Introduce El Coeficiente b"
read b
print "introduce El Coeficiente c"
read c
print "introduce el coeficiente d"

read d
if (d==0)
x1=-b/(2*a)

x2=x1
else

if(d<0) p1="d*-1" p2="math.sqrt(p1)/(2*a)" x1="-b/(2*a)">
print "x1 real",x1 print "x1:", p2
print "x2 real",x2 print "x2:",p2
else
x1=(-b+math.sqrt(d))/(2*a)
x2= (-b+math.sqrt(d))(2*a)
print "x1=",x1 print "x2:", x2
final
Problema 3:
Escriba un programa para leer el nombre de un alumno , tres calificaciones de un curso de fisica. Calcular el promedio y desplegar el nombre del estudiantes, promedio y mensaje un Acredito o No acreditado.
Para aprobar el curso el promedio debe ser mayor o igual a 70.
Pseudocodigo 3.3:
nombre string
c1.c2.c3. promedio double

print "introduce el nombre del alumno"
read nombre
print "introduce calificacion 1"
read c1

print "introduce calificacion 2"
read c2
print "introduce calificacion 3"
read c3
promedio =(c1+c2+c3)/3.0
print "nombre del amuno:",nombre

print "promedio:",promedio

if (promedio>=70)
print "acredito"
else
Print "no acredito"

fin.

Problema 2:
a) Escriba un programa que despliegue el mensaje "CONTINUAR CON DESPEGUE " o " CANCELAR DESPEGUE" dependiendo de los datos de insumo. Si el carácter g se introduce en la variable codigo, deberá desplegar el primer mensaje; de otra manera, deberá desplegar el segundo.

b)¿Cuántas veces debe ejecutar el progama escrito en el ejercicio a) para verificar que opera correctamente? 2 la primera introduciendo el caracter correcto y la segunda introduciendo algun otro caracter.
¿Qué datos debe introducir en cada una de las ocasiones en que lo ejecute?
G ò g para que despliege el mensaje" CONTINUAR CON DESPEGUE".
Pseudocodigo 3.2:
inicio
codigo char
print "introduce codigo"
read codigo
if (codigo =='g')
print "continuar con despegue"
else
print "cancelar despege"
final
Problema 1:
a)Una cierta forma ondular representa 0 voltios para un tiempo menor de dos segundos y tres voltios para un tiempo igual o mayor de dos segundos ( a estas formas de onda se les conoce como funciones de paso). Escriba un prgrama que acepte el tiempo en la variable nominada tiempo y muestre el voltaje propiado, dependiendo del valor del vapor introducido.

b)¿Cuántas veces debe ejecutar el programa descrito en el ejercicio a) para verificar que opere correctamente? 2. la primera introduciendo un tiempo menor a 2 para que despliege "voltaje=0 voltios" y la segunda introduciendo un tiempo mayor a 2 para que el programa despliege "voltaje=3 voltios.
¿Qué datos debe introducir en cada una de las ocasiones que lo ejecute? el tiempo.
Pseudocodigo 3.1:
inicio
tiempo int
print "introduce El Valor Del Tiempo En segundos"
read tiempo
if (tiempo<2)

print "voltaje 0 voltios
else
print "voltaje 3 voltios
final