Programacion Estructurada
viernes, 13 de diciembre de 2013
lunes, 9 de diciembre de 2013
ARREGLOS Y ARCHIVOS
Arreglo Unidimensional
Problema 10
Pagina 616
Escriba un programa que especifique tres arreglos unidimensionales llamados corriente,
resistencia y voltios. Cada arreglo deberá ser capaz de contener
10 elementos. Usando un ciclo for, introduzca valores para los arreglos
corriente y resistencia. Las entradas en el arreglo voltios deberán ser el
producto de los valores correspondientes en los arreglos corriente y resistencia
(por tanto, voltios[i] = corriente[i] * resistencia[i]). Después
que se han introducido todos los datos, despliegue la siguiente salida:
Corriente Resistencia Voltios
Bajo cada encabezado de columna despliegue el valor apropiado.
Arreglo Bidimensional
Problema 5
pagina 626
pagina 626
5. a. Escriba un programa en C++ que encuentre y despliegue el valor máximo en un
arreglo bidimensional de números enteros. El arreglo deberá ser declarado como
un arreglo de números enteros de 4 por 5 e inicializarse con los datos 16,
22, 99, 4, 18, 258, 4, 101, 5, 98, 105, 6, 15, 2, 45, 33, 88, 72, 16, 3
b. Modifique el programa escrito en el ejercicio 5a de modo que también despliegue
los números de los subíndices de fila y columna del valor máximo.
Archivos
Problema 7
pagina 469
pagina 469
7. a. Cree un archivo de texto que contenga los siguientes datos (sin los encabezados):
Nombres Número de seguro social Tarifa por hora Horas trabajadas
B Caldwell 555-88-2222 7.32 37
D Memcheck 555-77-4444 8.32 40
R Potter 555-77-6666 6.54 40
W Rosen 555-99-8888 9.80 35
b. Escriba un programa en C++ que lea el archivo de datos creado en el ejercicio
7a y calcule y despliegue una lista de nómina. La salida deberá enlistar el número
de seguro social, nombre, pago bruto para cada individuo y donde el pago
bruto se calcula se hará como tarifa por hora x horas trabajadas.
miércoles, 20 de noviembre de 2013
Practica 7
PRACTICA 7
Problema 1
Pseudocodigo
inicio funcion cilindro (real, real, real&, real&)
cilindro ( a real, b real, volumen real&, sup real&)
pi=3.1416 real
sup = 2*pi*a*b
volumen=pi*a*b*b
fin funcion cilindro
inicio programa
write "Programa para obtener volumen y area"
write "superficial de un cilindro"
l, r, vol, area real
write "Largo del cilindro"
read l
write "radio del cilindro
read r
cilindro (l,r,vol,area)
write "Volumen del cilindro = ",vol
write "Area superficial = ",area
fin programa
Codigo
Problema 2
Pseudocodigo
inicio funcion distancia (real, real, real, real, real&, real&, real&)
distancia (x1 real, y1 real, x2 real, y2 real, dis1 real&, dis2 real&, distotal real&)
dis1=sqrt(x1*x1 + y1*y1)
dis2 = sqrt(x2*x2 + y2*y2)
distotal = sqrt((x2-x)*(x2-x1)+(y2-y1)*(y2-y1))
fin funcion distancia
inicio programa
x1,x2,y1,y2, d1, d2, dt real
write "coordenadas del punto 1 "
write "en x: "
read x1
write "en y: "
read y1
write "coordenadas del punto 2 "
write "en x: "
read x2
write "en y: "
read y2
distancia (x1,y1,x2,y2,d1,d2,dt)
write "Distancia del punto 1 al origen ",d1
write "Distancia del punto 2 al origen ",d2
write "Distancia entre los 2 puntos ",dt
fin programa
Codigo
Problema 3
Pseudocodigo
Codigo
Problema 4
Pseudocodigo
inicio funcion polinomio (real, real, real, real&)
real polinomio(a real , b real , c real, d real&)
z real
z=a*d*d + b*d + c
return z
fin funcion polinomio
inicio programa
a=0, b,c,x real
write "Dado el polinomio a(x^2) +bx + c"
write "Ingrese los siguientes valores"
while (a==0)
{
write "Valor de a (que sea mator a 0) : "
read a
if(a==0)
then
{
write "Error a es 0"
write "introduzca a de nuevo"
}
}
write "Valor de b: "
read b
write "Valor de c: "
read c
write "Valor de x: "
read x
write "El valor del polinomio es = ",polinomio(a,b,c,x)
fin programa
Codigo
Problema 4
Pseudocodigo
funcion entero (real, int&)
inicio funcion entero(a real, b int&)
b=a
fin funcion entero
inicio programa
i real
a int
write "introduzca un valor con punto decimal"
read i
entero(i,a)
write "El equivalente en entero = ",a
fin programa
Codigo
Problema 5
funcion tiempo (int, int&, int&, int&)
inicio funcion tiempo (s1 int, h int&, m int&, s2 int&)
h=s1/3600
m=(s1%3600)/60
s2=m=(s1%3600)%60
fin funcion tiempo
inicio programa
seg, h, m, s int
write "Su tiempo en segundos: "
read seg
tiempo(seg,h,m,s)
write "Su tiempo en horas minutos segundos "
write " ",h," ",m," ",s
fin programa
Codigo
Problema 6
funcion encontrarmax(real, real, real, real&)
inicio funcion encontrarmax(a real, b real, c real, max real&)
if (a>b and a>=c)
max=a
else if (b>=a and b>=c)
max=b
else
max=c
fin funcion encontrarmax
inicio programa
a,b,c,maximo real
write "Valor maximo"
write "Ingrese 3 datos"
read a,b,c
encontrarmax (a,b,c,maximo)
write "El valor maximo es = ",maximo
fin programa
Codigo
miércoles, 13 de noviembre de 2013
Practica 6
PRACTICA 6
Problema 1
Pseudo codigo
funcion alcuadrado(valor real)
{
write "El cuadrado de ", valor," es = ",(valor*valor)
}
fin de funcion alcuadrado
inicio programa
x real
write "Introduce valor con punto decimal: "
read x
alcuadrado(x)
fin
Codigo
PROBLEMA 2
Pseudocodigo
inicio
funcion par_non(x int)
{
if (x%2==0)
then
write x," es un numero par"
else
write x," es un numero impar"
}
fin funcion par_non
inicio programa
x int
write "Introduce un valor entero: "
read x
par_non(x)
fin programa
Codigo
PROBLEMA 3
Pseudocodigo
inicio
funcion tabla()
{
c int
write "Numero Cuadrado Cubo"
for (c=1 to 10 step c=c+1)
{
write c," ",(c*c)," ",(c*c*c)
}
}
fin funcion tabla
inicio programa
tabla ()
fin programa
Codigo
PROBLEMA 4
Pseudocodigo
template <class T>
inicio funcion despliegue (T)
T despliegue (u T)
return u
fin funcion despliegue
inicio programa
a int
b real
c char
write "Introduzca un valor entero: "
read a
write "Introduzca un valor de doble precision: "
read b
write "Introduzca un caracter: "
read c
write "El valor entero es = ", despliegue(a)
write "El valor de doble precision es = ", despliegue (b)
write "El caracter es = ", despliegue (c)
fin programa
Codigo
PROBLEMA 5
pseudocodigo
template <class T>
inicio funcion maximo (T, T, T)
T maximo (a T, b T, c T)
if (a>b and a>=c)
then
return a
else if ( b>=a and b>=c)
return b
else
return c
fin funcion maximo
inicio programa
N1, N2, N3, R int
X1, X2, X3 Real
write "Introduce 3 valores enteros: "
read N1, N2, N3
R=maximo(N1,N2,N3)
write "El valor maximo es = "
write "Introduce 3 valores con punto decimal: "
read X1, X2, X3
write "El valor maximo es = ",maximo(X1,X2,X3)
fin programa
Codigo
PROBLEMA 6
Pseudocodigo
inicio funcion vol_cin (real, real
real vol_cil (a real, b real)
c real
pi=3.1416 real
c=pi*a*a*b
return c
fin funcion vol_cil
inicio programa
r,l real
write "Radio de un cilindro: "
read r
write "Largo del cilindro: "
read l
write "El volumen del cilindro es = ", vol_cil(r,l)
fin programa
Codigo
PROBLEMA 7
Pseudocodigo
inicio funcion areasup (real, real)
real areasup (a real, b real)
s real
pi=3.1416 real
s=2*pi*a*b
return s
fin funcion areasup
inicio programa
r, l real
write "Radio del cilindro: "
read r
write "Largo del cilindro: "
read l
write "El area de la superficie del cilindro es = ",areasup(r,l)
fin programa
Codigo
PROBLEMA 8
Pseudocodigo
inicio funcion factorial(int)
int factorial (a int)
f=1, b int
for (b=1 to a step b=b+1)
{
f=f*b
}
return f
fin funcion factorial
inicio programa
a int
write "Ingrese un numero: "
read a
write "El factorial del numero es = ",factorial(a)
fin programa
Codigo
martes, 5 de noviembre de 2013
Practica 5
Problema 1
Inciso (a)
Inciso (a)
Pseudocodigo
Inicio
i, cpar, cimpar, n, valor int
cpar=0
cimpar=0
write "Introduzca cantidad de valores"
read n
for (i=1 to N, step i=i+1)
{
write "Introduzca un valor: "
read valor
if (valor%2==0)
then
cpar=cpar+1
else
cimpar=cimpar+1
}
write "Cantidad total de pares = ",cpar
write "Cantidad total de impares = ",cimpar
Fin
Codigo
Inciso (b)
Pseudocodigo
Inicio
n,i,mayor, dato
i=1
write "Cuantos datos = "
read n
write "introduce un numero"
read mayor
i=i+1
while (i<=n)
{
write "Introduces un numero"
read dato
if (dato>mayor)
then
mayor=dato
i=i+1
}
write "El dato mayor es = ", mayor
Fin
Codigo
Inciso (c)
Pseudocodigo
Inicio
n,i,menor, dato
i=1
write "Cuantos datos = "
read n
write "introduce un numero"
read menor
i=i+1
while (i<=n)
{
write "Introduces un numero"
read dato
if (dato<menor)
then
menor=dato
i=i+1
}
write "El dato menor es = ", menor
Fin
Codigo
Inciso (d)
Pseudo codigo
Inicio
i, cant, suma, N, valor, prom Real
cant=0
suma=0
write "Introduce cantidad de valores: "
read N
for (i=1 to N, step i=i+1)
{
write "Introduces un valor: "
read valor
cant= cant+1
suma = suma + valor
}
prom=suma/cant
write "Promedio final de valores = ", prom
Fin
Codigo
PROBLEMA 2
Diagramade flujo
Codigo
PROBLEMA 3
Pseudocodigo
Inicio
c, f1, f2, i real
write "Introduzca valor inicial de grados farenheit "
read f1
write "Introduzca valor final de grados farenheit"
read f2
for (i=f1 to f2, step i=i+1)
{
c=(5.0/9.0)*(i-32.0)
write "Farenheit = ", i," Celsius = ", c
}
Fin
Codigo
PROBLEMA 4
Pseudocodigo
Incio
f, c1, c2, i real
write "Introduzca valor inicial de grados celsius "
read c1
write "Introduzca valor final de grados celsius"
read c2
for (i=c1 to c2, step i=i+1)
{
f=(9.0/5.0)*i+32.0
write "Celsius = ", i," Farenheit = ", f
}
Fin
Codigo
PROBLEMA 5
Pseudocodigo
Inicio
a, s, n, sumaf Real
a=1
n=0
sumaf=0
write "Serie Geometrica"
write "a + ar + a(r^2) + ... + a[r(n-1)]
while (n<10)
{
s=a * pow(0.5,n)
sumaf = sumaf + s
write "Termino ",(n-1), " = ", s
n=n+1
}
write "sumatoria = ",sumaf
Fin
codigo
PROBLEMA 6
Diagrama de flujo
Codigo
martes, 22 de octubre de 2013
PRACTICA 4
PRACTICA 4
PROBLEMA 1
Diagrama de flujo
Codigo
PROBLEMA 2
Diagrama de flujo
Codigo
PROBLEMA 3
Diagrama de flujo
Codigo
PROBLEMA 4
Diagrama de flujo
Codigo
PROBLEMA 5
Pseudocodigo
Inicio
l, m,n, a, b, costo real
write "Terreno A"
write "Medida del lado: "
read l
write " Terreno B"
write "Medida de la base: "
read m
write "Medida de la altura: "<
read n
write "Costo por metro cuadrado: "
read costo
a= l * l
a= a * costo
b= m * n
b= b * costo
if(a<b)
write "El terreno A es mas barato"
else if (b>a)
write "El terreno B es mas barato"
else
write "Los terrenos cuestan igual"
Fin
Codigo
PROBLEMA 6
Pseudocodigo
Inicio
descricpcion1 [20], descricpcion2 [20],descricpcion3 [20] char
total, subtotal1, subtotal2, subtotal3, subtotal, precio1, precio2, precio3, descuento real
cantidad1, cantidad2, cantidad3 int
write "Nombre de articulo 1: "
read descripcion1
write "Precio articulo 1: "
read precio1
write "Cantidad articulo 1: "
read cantidad 1
write "Nombre de articulo 2: "
read descripcion2
write "Precio articulo 2: "
read precio2
write "Cantidad articulo 2: "
read cantidad 2
write "Nombre de articulo 3: "
read descripcion3
write "Precio articulo 3: "
read precio3
write "Cantidad articulo 3: "
read cantidad 3
subtotal1 = precio1 * cantidad1
subtotal2 = precio2 * cantidad2
subtotal3 = precio3 * cantidad3
subtotal = subtotal1 + subtotal2 + subtotal3
if(subtotal>10000)
then
descuento = subtotal*0.1
total = subtotal - descuento
else if(subtotal<=10000 and subtotal>4000)
then
descuento = subtotal*0.08
total = subtotal - descuento
else if(subtotal<=4000 and subtotal>2000)
then
descuento = subtotal*0.06
total = subtotal - descuento
else if(subtotal<=2000 and subtotal>1500)
then
descuento = subtotal*0.03
total = subtotal - descuento
else
then
descuento = 0
total = subtotal
write "Articulo: ",descripcion1," , cantidad: ", cantidad1," precio individual: ", precio1
write "Subtotal de ",descripcion1, " = ", subtotal1
write "Articulo: ",descripcion2," , cantidad: ", cantidad2," precio individual: ", precio2
write "Subtotal de ",descripcion2, " = ", subtotal2
write "Articulo: ",descripcion3," , cantidad: ", cantidad3," precio individual: ", precio3
write "Subtotal de ",descripcion3, " = ", subtotal3
write "Descuento de: ", descuento
write "TOTAL: ",total
Fin
CODIGO
PROBLEMA 7
Pseudocodigo
Inicio
cred int
grado[10] char
write "Introduzca el numero de creditos: "
read cred
if(cred>110)
then
grado = ultimo
else
{
if(cred<=110 and cred>64)
then
grado = tercer
else
{
if(cred<=64 and cred>48)
then
grado = segundo
else
grado = primero
}
}
write " El estudiante esta en ",grado," grado
Fin
CODIGO
PROBLEMA 8
Pseudocodigo
Inicio
next = 's' char
while(next = ='s')
{
a,b,c,d, MAYOR, menor int
write "Introduzca 4 numeros ENTEROS distintios entre si: "
write "Numero 1: "
read a
write "Numero 2: "
read b
write "Numero 3: "
read c
"Numero 4: "
read d
if (a!=b and a!=c and a!=d and b!=c and b!=d and c!=d)
then
{
if (a>d and a>c and a>b)
MAYOR = a
else if(b>a and b>c and b>d)
MAYOR = b
else if(c>a and c>b and c>d)
MAYOR = c
else if(d>a and d>b and d>c)
MAYOR=d
if(a<d and a<c and a<b)
menor = a
else if(a>b and c>b and d>b)
menor = b
else if(c<a and c<b and c<d)
menor = c
else if(d<a and d<b and d<c)
menor=d
write "El dato mayor es ", MAYOR
write "El dato menor es ", menor
}
else
write "Error, Introduzca valores distintos entre si"
write "Desea intentar de nuevo (s/n)"
read next
}
FIN
Codigo
viernes, 4 de octubre de 2013
Practica 3
PRACTICA 3
Problema 1.a
Diagrama de flujo
Codigo
Problema 1.b
Pseudocodigo
inicio
c, rm, rM, pi real
rm = 2.5
rM = 6.5
pi = 3.1416
c= 2*pi*sqrt((rm^2 + RM^2)/2)
"Radio menor = ", rm," pulgadas"
"Radio Mayor = ",RM," pulgadas"
"La circunferencia de la elipse es = ",C
Fin
Codigo
Problema 2.a
Pseudocodigo
inicio
x1, y1, x2, y1, m Real
write "Las coordenadas del punto 1 son (3,7)"
x1=3
y1=7
write "Las coordenadas del punto 2 son (8,12)"
x2=8
y2=12
m=(y2-y1)/(x2-x1)
write "La pendiente es ", m
fin
Codigo
Problema 2.b
Algoritmo
Inicio
1.- Definir variables
x1, y1, x2, y1, m real
2.- Leer datos de coordenadas de punto 1
write "Introduzca las coordenadas (x,y) del punto 1"
read x1, y1
3.- Leer datos de coordenadas de punto 2
write "Introduzca las coordenadas (x,y) del punto 2"
read x2, y2
4.- Calcular la pendiente
m = (y2-y1) /(x2-x1)
5.- Desplegar el valor de la pendiente
write "La pendiente es ", m
FIN
Codigo
Problema 3.a
Diagrama de flujo
Codigo
Problema 3.b
Pseudocodigo
x1, y1, x2,y2, x, y real
write "Introduzca las coordenadas (x,y) del punto 1"
read x1, y1
write "Introduzca las coordenadas (x,y) del punto 2"
read x2, y2
x= (x1+x2)/2
y= (y1+y2) / 2
write "La coordenada X del punto medio es ", x
write "La coordenada Y del punto medio es ", y
FIN
Codigo
Problema 4.a
Algoritmo
INICIO
1.-definir variables
M, W,L,X Real
2.-Leer longitud viga
write "Largo de la viga: "
read L
3.-Leer distancia donde se colocara el peso
write "Distancia a colocar el peso: "
read X
4.-Leer peso
write "Peso a colocar: "
read W
5.-Calcular el momento de flexion
M=(X*W)*(L-X)/L
6.-desplegar el momento de flexion
write "El momento de flexion maxima es ",M
Fin
Codigo
Problema 4.b
Diagrama de flujo
Codigo
Suscribirse a:
Entradas (Atom)