Sie sind auf Seite 1von 137

PROBLEMA 1

1. Calcular la suma de dos números e imprimir su resultado

begin

suma,
num1,num2
Begin
Read num1,num2
Do
suma=0
suma=num1+num2
suma=0
PRINT
suma=num1+num2
suma
End

suma

end
PROBLEMA 2
2. Leer dos números enteros y calcular el cuadrado y el cubo de dichos
números. Imprimir sus resultados.

begin

Begin
cubo1,cubo2 Read n1,n2,cuad1,cuad2,cubo1,cubo2
,n1,n2,cuadr
ad1,cuad2 Do cuad1=0,cuad2=0,cubo1=0,cubo2=0
cubo1=n1*n1*n1
cubo2=n2*n2*n2
cuad1=n1*n1
cuad2=n2*n2
PRINT
cubo1=0 cubo2 cubo1,cubo2,cuad1,cuad2
cuad1=0 cuad2 End
cubo1=n1*n1*n1
cubo2=n2*n2*n2
cuad1=n1*n1
cuad2=n2*n2

cubo1,cubo2
cuad1,cuad2

end
PROBLEMA 3
3. Dadas 5 calificaciones de un alumno, calcular el promedio e imprimirlo.

begin

c1,c2,c3,c4,
c5,prom

Begin
Read c1,c2,c3,c4,c5,prom
Do
prom=0 prom=0
prom=(c1+c2+c3+ prom=(c1+c2+c3+c4+c4+c5)/5
c4+c5)/5 PRINT
prom
End

prom

end
PROBLEMA 4
4. Leer 2 números enteros calcule la suma, resta y multiplicación de
dichos números. Imprima sus resultados.

begin

n1,n2,suma,resta Begin
,mult Read n1,n2,suma,resta,mult

Do suma=0, resta=0, mult=0


suma=n1+n2
resta=n1-n2
suma=, resta=0, mult=0 mult=n1*n2
suma=n1+n2 PRINT
resta=n1-n2 suma
mult=n1*n2 resta
mult
End
suma
resta
mult

end
PROBLEMA 5
5. Construya en diagrama de flujo y su seudocódigo que dado el costo de
un artículo vendido y la cantidad de dinero entregada al cliente, calcule
el cambio que tiene que entregarse al cliente. Imprima el precio del
artículo, la cantidad entregada y el cambio.

begin

costo,cant_ent,
cambio

cambio=0 Begin
cambio=cant_ent-costo Read costo,cant_ent,cambio

Do cambio=0
costo_cant-cambio
PRINT
“la cantidad entregada es “
“la cantidad entregada es” cant_ent
cant_ent “el costo del producto es”
“el costo del producto es” costo
costo “el cambio es “
“el cambio es” cambio
cambio End

end
PROBLEMA 6
6. Realice un diagrama de flujo que dado de un dinosaurio, su peso y su
longitud, expresados estos dos últimos en libras y yardas
respectivamente. Escriba el nombre del dinosaurio su peso expresado
en kilogramos y su longitud metros.

begin

nombre,pesolb,altyd,
pesokg,altmt
Begin
Read nombre,pesolb,altyd,pesokg,altmt

Do pesokg=0
pesokg=0 altmt=0
altmt=0 pesokg=pesolb*0.454
pesokg=pesolb*0.454 almt=altyd*0.9144
altmt=altyd*0.9144 PRINT
nombre
pesokg
almt
nombre End
pesokg
almt

end
PROBLEMA 7
7. Construye un diagrama de flujo que resuelva un problema que tiene la
gasolinera. Los surtidores de la misma registran lo que venden en
galones, pero el precio de la gasolina está fijado en litros. El diagrama
de flujo de calcular e imprimir la cantidad de litros vendidos y el cobro.

begin

precio_lt,galones.l
Begin
itros
Read precio_lt,galones,litro,cobro

Do litro=0
cobro=0
litro=0 litro=3.791*galones
cobro=0 cobro=litro*precio_lt
litro=3.791*galones PRINT
cobro=litro*precio_lt litro
cobro
End

litro
cobro

end
PROBLEMA 8
8. Construya un diagrama de flujo que dado el radio de un círculo, calcule e
imprime su área y la longitud de su circunferencia.

begin

radio,area,cir
cunferencia
Begin
Read radio,area,circunferencia

Do area=0
area=0 circunferencia=0
circunferencia=0 area=3.1416*(radio*radio)
area=3.1416*(radio*radio) circunferencia=3.1416*2*radio
circunferencia=3.1416*2*r PRINT
adio area
circunferencia
End

area
circunferencia

end
PROBLEMA 9
9. Una persona compro una estancia en un país sudamericano. La
extensión de la estancia esta especificada en acres. Construya un
diagrama de flujo que dado como dato la extensión del campo en acres,
calcule e imprime la extensión del mismo en hectáreas.

begin

acre,hect

Begin
Read acre,hect
Do
hect=0 hect=0
hect=acre*0.4047 hect=acre*0.4047
PRINT
“la extension en hectareas es:”
hect
End
“la extension en
hectareas es:”
hect

end
PROBLEMA 10
10. Construya un diagrama de flujo que calcule el área de un triángulo
dados los 3 lados. Imprimir el área del triángulo y sus lados.

begin

lad1,lad2,la
d3,s,area

Begin
Read lad1,lad2,lad3,s,area
Do
s=0
s=0
area=0
area=0
s=(lad1+lad2+lad3)/2
s=(lad1+lad2+lad3)/2
area=(s*(s-lad1)*(s-lad2)*(s-lad3))**(½)
area=(s*(s-lad1)*(s-lad2)*(s-lad3))**(½)
PRINT
area
lad1
area lad2
lad1 lad3
lad2 End
lad3

end
PROBLEMA 11
11. Construya un diagrama de flujo que dado como dato el lado de un
hexaedro o cubo calcula el área de la base, el área lateral, área total y el
volumen.

begin

lado,areabase,arealateral,
areatotal,volumen Begin
Read
lado,areabase,arealateral,areatotal,volumen

Do areabase=0
arealateral=0
areatotal=0
areabase=0
volumen=0
arealateral=0
areabase=lado*lado
areatotal=0
arealateral=lado*lado*4
volumen=0
areatotal=lado*lado*6
areabase=lado*lado
volumen= lado*lado*lado
arealateral=lado*lado*4
PRINT
areatotal=lado*lado*6
areabase
volumen= lado*lado*lado
arealateral
areatotal
volumen
End
areabase
arealateral
areatotal
volumen

end
PROBLEMA 12
12. Construya un diagrama que calcule la distancia entre dos puntos.
Imprima dichas coordenadas y la distancia.

begin

x1,x2,y1,y2,d

Begin
Read x1,x2,y1,y2,d

Do d=0
d=0 d=((x1-x2)**2+(y1-y2)**(½)
d=((x1-x2)**2+(y1-
y2)**(½) PRINT
x1,x2,
y1,y2
d
End
x1,x2,
y1,y2
d

end
IF

PROBLEMA 13
13. Leer el promedio de 5 calificaciones de un alumno y si este es mayor del 70
imprima aprobado.

begin

c1,c2,c3,c4,
c5,prom

Begin
prom=0 Read c1,c2,c3,c4,c5,prom
prom=(c2+c2+c3+ Do
c4+c5)/5 prom=0
prom=(c1+c2+c3+c4+c5)/5
If (prom>=70)
PRINT “aprobado”
//fin de if
v End
prom>=70

“aprobado”
“el promedio es:”
prom

end
PROBLEMA 14
14. Leer la edad de una persona y verificar si esta es mayor de edad.

begin

edad

Begin
Read edad
If edad>17
PRINT
“es mayor de edad”
edad
v //fin de if
if End
edad>17

“es mayor de
edad:”
edad

end
PROBLEMA 15
15. El número de sonidos emitidos por un grillo en un minuto es una función de
la temperatura. Como resultado de esto, es posible determinar el nivel de la
temperatura haciendo uso de un grillito t=n/4+40. Construya un diagrama de
flujo que te permita calcular la temperatura teniendo el número de sonidos
emitidos por el grillo.

begin

n,t
Begin
Read n,t
If n>=1
Do
t=n/4+40
PRINT
n,t
V if //fin de if
n>=1 End

t=n/4+40

n,t

end
PROBLEMA 16
16. Construya un diagrama de flujo que dada de las coordenadas de los puntos
1, 2,3 que corresponden a los vértices de un triángulo, calcule su superficie
valide el área calculada e imprima las coordenadas y la superficie.

Área=1/2*(x2-x1)*(y3-y1)-(x3-x1)*(y2-y1))

begin

area,x1,x2,x3,y1,y2,y3

a=0
a=½*((x2-x1)*(y3-y1)-(x3-x1)*(y2-y1))

Begin
v if Read
area>=0 area,x1,x2,x3,y1,y2,y3
Do
a=0
x1,y1 a=½*((x2-x1)*(y3-y1)-(x3-x1)*(y2-y1))
area If area>=0
PRINT
x1,y1
area
//fin de if
End

end
PROBLEMA 17
17. Dado como dato el sueldo de un trabajador considere un aumento del 15%
si su sueldo es inferior a mil y de un 12% en caso contrario. Imprima el sueldo
anterior y el sueldo con el aumento incorporado.
begin

sueldo,sueldonue
vo

Begin

Read
sueldonuevo=0
sueldo, sueldonuevo
Do
sueldonuevo=0
If
(sueldo<0)
if
Do
V F
sueldo<100 sueldo=0
(sueldo*0.15+sueldo)
PRINT
Else
Do
sueldonuevo=0
sueldo=0 sueldo=0
sueldo*0.15+sueldo sueldo*0.12+sueldo
(sueldo*0.12+sueldo)
PRINT
//fin de if
End

sueldo
sueldonuevo

end

PROBLEMA 18
18. Construya un diagrama de flujo que lea dos números enteros y determine
cuál es el mayor. Imprima los números en orden.
begin

n1,n2

V if F
n1>n2
Begin
Read n1,n2
If (n1>n2)
PRINT “n1 es mayor
“n1 es mayor que F Else if (n1==n2)
n2” V if PRINT “n1 es igual n2”
n1.n2 n1==n2 else
PRINT “n2 es mayor”
//fin de if
//fin de if
End
“n2 es mayor a
n1 es igual a n2 n1”
n2,n1

end

ESTRUCTURA BÁSICA

PROGRAMA 1
1. Calcular la suma de dos números e imprimir su resultado.
begin

suma,
num1,num2
Begin
Read suma,num1,num2
Do
suma=0
suma=num1+num2
suma=0
PRINT
suma=num1+num2
suma
End

suma

end
PROGRAMA 2
2. Leer dos números enteros y calcular el cuadrado y el cubo de dichos
números. Imprimir sus resultados.

begin

Begin
cubo1,cubo2 Read n1,n2,cuad1,cuad2,cubo1,cubo2
,n1,n2,cuadr
ad1,cuad2 Do cuad1=0,cuad2=0,cubo1=0,cubo2=0
cubo1=n1*n1*n1
cubo2=n2*n2*n2
cuad1=n1*n1
cuad2=n2*n2
PRINT
cubo1=0 cubo2 cubo1,cubo2,cuad1,cuad2
cuad1=0 cuad2 End
cubo1=n1*n1*n1
cubo2=n2*n2*n2
cuad1=n1*n1
cuad2=n2*n2

cubo1,cubo2
cuad1,cuad2

end
PROGRAMA 3
3. Dadas 5 calificaciones de un alumno, calcular el promedio e imprimirlo.

begin

c1,c2,c3,c4,
c5,prom

Begin
Read c1,c2,c3,c4,c5,prom
Do
prom=0 prom=0
prom=(c1+c2+c3+ prom=(c1+c2+c3+c4+c4+c5)/5
c4+c5)/5 PRINT
prom
End

prom

end
PROGRAMA 4
4. Leer 2 números enteros calcule la suma, resta y multiplicación de
dichos números. Imprima sus resultados.

begin

n1,n2,suma,resta Begin
,mult Read n1,n2,suma,resta,mult

Do suma=0, resta=0, mult=0


suma=n1+n2
resta=n1-n2
suma=, resta=0, mult=0 mult=n1*n2
suma=n1+n2 PRINT
resta=n1-n2 suma
mult=n1*n2 resta
mult
End
suma
resta
mult

end
PROGRAMA 5
5. Construya en diagrama de flujo y su seudocódigo que dado el costo de
un artículo vendido y la cantidad de dinero entregada al cliente, calcule
el cambio que tiene que entregarse al cliente. Imprima el precio del
artículo, la cantidad entregada y el cambio.

begin

costo,cant_ent,
cambio

cambio=0 Begin
cambio=cant_ent-costo Read costo,cant_ent,cambio

Do cambio=0
cambio=cant_ent-costo
PRINT
“la cantidad entregada es “
“la cantidad entregada es” cant_ent
cant_ent “el costo del producto es”
“el costo del producto es” costo
costo “el cambio es “
“el cambio es” cambio
cambio End

end
PROGRAMA 6
6. Realice un diagrama de flujo que dado de un dinosaurio, su peso y su
longitud, expresados estos dos últimos en libras y yardas
respectivamente. Escriba el nombre del dinosaurio su peso expresado
en kilogramos y su longitud metros.

begin

nombre,pesolb,altyd,
pesokg,altmt
Begin
Read nombre,pesolb,altyd,pesokg,altmt

Do pesokg=0
pesokg=0 altmt=0
altmt=0 pesokg=pesolb*0.454
pesokg=pesolb*0.454 altmt=altyd*0.9144
altmt=altyd*0.9144 PRINT
nombre
pesokg
almt
nombre End
pesokg
almt

end
PROGRAMA 7
7. Construye un diagrama de flujo que resuelva un problema que tiene la
gasolinera. Los surtidores de la misma registran lo que venden en
galones, pero el precio de la gasolina está fijado en litros. El diagrama
de flujo debe calcular e imprimir la cantidad de litros vendidos y el cobro.

begin

precio_lt,galones.l
Begin
itros
Read precio_lt,galones,litro,cobro

Do litro=0
cobro=0
litro=0 litro=3.791*galones
cobro=0 cobro=litro*precio_lt
litro=3.791*galones PRINT
cobro=litro*precio_lt litro
cobro
End

litro
cobro

end
PROGRAMA 8
8. Construya un diagrama de flujo que dado el radio de un círculo, calcule e
imprime su área y la longitud de su circunferencia.

begin

radio,area,cir
cunferencia
Begin
Read radio,area,circunferencia

Do area=0
area=0 circunferencia=0
circunferencia=0 area=3.1416*(radio*radio)
area=3.1416*(radio*radio) circunferencia=3.1416*2*radio
circunferencia=3.1416*2*r PRINT
adio area
circunferencia
End

area
circunferencia

end
PROGRAMA 9
9. Una persona compro una estancia en un país sudamericano. La
extensión de la estancia esta especificada en acres. Construya un
diagrama de flujo que dado como dato la extensión del campo en acres,
calcule e imprime la extensión del mismo en hectáreas.

begin

acre,hect

Begin
Read acre,hect
Do
hect=0 hect=0
hect=acre*0.4047 hect=acre*0.4047
PRINT
“la extension en hectareas es:”
hect
End
“la extension en
hectareas es:”
hect

end
PROGRAMA 10
10. Construya un diagrama de flujo que calcule el área de un triángulo
dados los 3 lados. Imprimir el área del triángulo y sus lados.

begin

lad1,lad2,la
d3,s,area

Begin
Read lad1,lad2,lad3,s,area
Do
s=0
s=0
area=0
area=0
s=(lad1+lad2+lad3)/2
s=(lad1+lad2+lad3)/2
area=(s*(s-lad1)*(s-lad2)*(s-lad3))**(½)
area=(s*(s-lad1)*(s-lad2)*(s-lad3))**(½)
PRINT
area
lad1
area lad2
lad1 lad3
lad2 End
lad3

end
PROGRAMA 11
11. Construya un diagrama de flujo que dado como dato el lado de un
hexaedro o cubo calcula el área de la base, el área lateral, área total y el
volumen.

begin

lado,areabase,arealateral,
areatotal,volumen Begin
Read
lado,areabase,arealateral,areatotal,volumen

Do areabase=0
arealateral=0
areatotal=0
areabase=0
volumen=0
arealateral=0
areabase=lado*lado
areatotal=0
arealateral=lado*lado*4
volumen=0
areatotal=lado*lado*6
areabase=lado*lado
volumen= lado*lado*lado
arealateral=lado*lado*4
PRINT
areatotal=lado*lado*6
areabase
volumen= lado*lado*lado
arealateral
areatotal
volumen
End
areabase
arealateral
areatotal
volumen

end
PROGRAMA 12
12. Construya un diagrama que calcule la distancia entre dos puntos.
Imprima dichas coordenadas y la distancia.

begin

x1,x2,y1,y2,d

Begin
Read x1,x2,y1,y2,d

Do d=0
d=0 d=((x1-x2)**2+(y1-y2)**+2)**(½)
d=((x1-x2)**2+(y1-
y2)**(½) PRINT
x1,x2,
y1,y2
d
End
x1,x2,
y1,y2
d

end
IF

PROGRAMA 13
13. Leer el promedio de 5 calificaciones de un alumno y si este es mayor del 70
imprima aprobado.

begin

c1,c2,c3,c4,
c5,prom

Begin
prom=0 Read c1,c2,c3,c4,c5,prom
prom=(c2+c2+c3+ Do
c4+c5)/5 prom=0
prom=(c1+c2+c3+c4+c5)/5
If (prom>=70)
PRINT “aprobado”
//fin de if
v End
prom>=70

“aprobado”
“el promedio es:”
prom

end
PROGRAMA 14
14. Leer la edad de una persona y verificar si esta es mayor de edad.

begin

edad

Begin
Read edad
If edad>17
PRINT
“es mayor de edad”
edad
v //fin de if
if End
edad>17

“es mayor de
edad:”
edad

end
PROGRAMA 15
15. El número de sonidos emitidos por un grillo en un minuto es una función de
la temperatura. Como resultado de esto, es posible determinar el nivel de la
temperatura haciendo uso de un grillito t=n/4+40. Construya un diagrama de
flujo que te permita calcular la temperatura teniendo el número de sonidos
emitidos por el grillo.

begin

n,t
Begin
Read n,t
If n>=1
Do
t=n/4+40
PRINT
n,t
V if //fin de if
n>=1 End

t=n/4+40

n,t

end
PROGRAMA 16
16. Construya un diagrama de flujo que dada de las coordenadas de los puntos
1, 2,3 que corresponden a los vértices de un triángulo, calcule su superficie
valide el área calculada e imprima las coordenadas y la superficie.

Área=1/2*(x2-x1)*(y3-y1)-(x3-x1)*(y2-y1))

begin

area,x1,x2,x3,y1,y2,y3

a=0
a=½*((x2-x1)*(y3-y1)-(x3-x1)*(y2-y1))

Begin
v if Read
area>=0 area,x1,x2,x3,y1,y2,y3
Do
a=0
x1,y1 a=½*((x2-x1)*(y3-y1)-(x3-x1)*(y2-y1))
area If area>=0
PRINT
x1,y1
area
//fin de if
End

end
PROGRAMA 17
17. Dado como dato el sueldo de un trabajador considere un aumento del 15%
si su sueldo es inferior a mil y de un 12% en caso contrario. Imprima el sueldo
anterior y el sueldo con el aumento incorporado.

begin

sueldo,sueldonue
vo

Begin

Read
sueldonuevo=0
sueldo, sueldonuevo
Do
sueldonuevo=0
If
(sueldo<0)
if
Do
V F
sueldo<100 sueldo=0
(sueldo*0.15+sueldo)
PRINT
Else
Do
sueldonuevo=0
sueldo=0 sueldo=0
sueldo*0.15+sueldo sueldo*0.12+sueldo
(sueldo*0.12+sueldo)
PRINT
//fin de if
End

sueldo
sueldonuevo

end
PROGRAMA 18
18. Construya un diagrama de flujo que lea dos números enteros y determine
cuál es el mayor. Imprima los números en orden.

begin

n1,n2

V if F
n1>n2
Begin
Read n1,n2
If (n1>n2)
PRINT “n1 es mayor
“n1 es mayor que F Else if (n1==n2)
n2” V if PRINT “n1 es igual n2”
n1.n2 n1==n2 else
PRINT “n2 es mayor”
//fin de if
//fin de if
End
“n2 es mayor a
n1 es igual a n2 n1”
n2,n1

end
PROGRAMA 19
19. En una tienda se efectúan un descuento a los clientes dependiendo el
monto de la compra. El descuento se efectúa en base al siguiente criterio.

Si el monto menor que $500  no ha desc.


Si el monto está comprendido entre $500 y $1000  inclusive 5% desc.
Si el monto está comprendido entre $1000 y $7000  inclusive 11% desc.
Si el monto está comprendido entre $7000 y $1500  inclusive 18% desc.
Si el monto es mayor de $1500  25% desc.

begin

monto,tpago

Begin
Read monto,tpago
tpago=0 Do tpago=0
If (monto<500)
Do tpago=monto
else if (monto>500 && monto<=1000)
Do tpago=monto-(monto*0.05)
V if F else if (monto>1000 && monto<=7000)
monto<500 Do tpago=monto-(monto*0.11)
else if (monto>7000 && monto<=15000)
Do tpago=monto*0.82
else
Do tpago=monto*0.75
PRINT monto, tpago
END
tpago=monto V if F
monto>500 &&
monto<=1000

V if F
tpago=monto-
monto>1000 &&
(monto*0.05)
monto<=7000

V If F
tpago=monto-
monto>7000 &&
(monto*0.11)
monto<=1500

tpago=monto*0.82 tpago=monto*.75

tpago
monto

end
SWITCH

PROGRAMA 20
20. Una agencia de carros ofrece un descuento en la compra de un vehículo
según su modelo. Los descuentos se muestran en la siguiente tabla.

Descuentos

Jaguar 8%

Audi 7%

Mercedes 6.5%

BMW 1.1%

Leer el costo del vehículo calcular su descuentos e imprimir el importe inicial, la


cantidad descontada y el total a pagar.

begin

Begin
Desc,pfinal,importe,opcio
Switch
desc,pfinal,im Do
porte,opcion case1
desc=importe*0.08
pfinal=importe-desc
PRINT
“El importe es de:”
“El descuento es de:”
opciom “El precio final es de:”
Do
case 2
desc=importe*0.07
4 pfinal=importe-desc
1 3 PRINT
“El importe es de:”
2 “El descuento es de:”
importe importe importe “El precio final es de:”
importe “opcion no valida” Do
case 3
desc=importe*0.065
pfinal=importe-desc
PRINT
desc=importe*0.065 “El importe es de:”
desc=importe*0.08 desc=importe*0.011
desc=importe*0.07 pfinal=importe-desc “El descuento es de:”
pfinal=importe-desc pfinal=importe-desc “El precio final es de:”
pfinal=importe-desc
Do
case 4
desc=importe*0.011
pfinal=importe-desc
PRINT
“El importe es de:”
“El importe es de :” “El descuento es de:”
“El descuento es de:” “El precio final es de:”
“El precio final es de:” PRINT
“opcion no valida”
End

end
// programa 20.cpp : Defines the entry point for the console application.

//
#include "stdafx.h"
#include <iostream>
using namespace std;
int main()
{
int opcion;
double desc,pfinal,importe;
cout<<"Bienvenido carmen cars \n ";
cout<<"Opcion 1 para Jaguar \n ";
cout<<"Opcion 2 para Audi \n ";
cout<<"Opcion 3 para Mercedes \n ";
cout<<"Opcion 4 para BMW \n ";
cout<<"Dame la opcion \n "; cin >>opcion;
switch(opcion)
{
case 1:{cout<<"Dame el importe \n"; cin>>importe;
desc=importe*0.08;
pfinal=importe-desc; //pfinal=importe-importe*0.08
cout<<"El importe es de: " <<importe<<endl;
cout<<"El descuento es de: " <<desc<<endl;
cout<<"El precio final es de: " <<pfinal<<endl;

break;}

case 2:{cout<<"Dame el importe \n"; cin>>importe;


desc=importe*0.07;
pfinal=importe-desc; //pfinal=importe-importe*0.07
cout<<"El importe es de: " <<importe<<endl;
cout<<"El descuento es de: " <<desc<<endl;
cout<<"El precio final es de: " <<pfinal<<endl;
break;}
case 3:{cout<<"Dame el importe \n"; cin>>importe;
desc=importe*0.065;
pfinal=importe-desc; //pfinal=importe-importe*0.065
cout<<"El importe es de: " <<importe<<endl;
cout<<"El descuento es de: " <<desc<<endl;
cout<<"El precio final es de: " <<pfinal<<endl;
break;}
case 4:{cout<<"Dame el importe \n"; cin>>importe;
desc=importe*0.011;
pfinal=importe-desc; //pfinal=importe-importe*0.011
cout<<"El importe es de: " <<importe<<endl;
cout<<"El descuento es de: " <<desc<<endl;
cout<<"El precio final es de: " <<pfinal<<endl;

break;}

default:cout<<"Opcion no vaida \n";break; }

system("pause");

return 0;
}
PROGRAMA 21
21. Construya un diagrama de flujo que dado como dato una medida permita
convertir de pulgadas a milímetros, de yardas a metros y de millas a
kilómetros. Imprima la medida original y la conversión correspondiente.

begin

Begin
Read
opcion,in,yd,mill,mm,mt,km opcion,in,yd,mill,mm,mt,km;
Switch
Opcion
Case 1:
Read
in
opcion
Do
mm=0
mm=25.4*in
Print
1 2 3 in
mm
in yd mill Case 2
Read
yd
Do
mt=0
mt=yd*0.9144
Print
mm=0 mt=0 km=0 “opcio no valida” mt
mm=25.4*in mt=yd*0-9144 Km=1.609*mill
yd
Case 3
Read
mill
Do
in mt
km km=0
mill km=1.609*mill
mm yd
Print
km
mill
Print
“Opcion invalida”
End

end
// programa 21.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include <iostream>
using namespace std;
int main()
{
int opcion;
double in,yd,mill,mm,mt,km;
cout<<"Opcion 1 convertir de in a mm \n";
cout<<"Opcion 2 convertir de yd a mt \n";
cout<<"Opcion 3 convertir de mill a km \n";
cout<<"Elige la opcion deseada \n "; cin>>opcion;
switch (opcion)
{
case 1:{cout<<"Dame el valor in \n"; cin>>in;
mm=25.4*in;
cout<<"Total de in leidas:" <<in<<endl;
cout<<"Total de in a mm : " <<mm<<endl;
break;}
case 2:{cout<<"Dame el valor yd \n"; cin>>yd;
mt=yd*0.9144;
cout<<"Total de yd leidas: " <<yd<<endl;;
cout<<"Total de yd a mt : " <<mt<<endl;
break;}
case 3:{cout<<"Dame el valor mill \n"; cin>>mill;
km=1.609*mill;
cout<<"Total de mill leidas: " <<mill<<endl;
cout<<"Total de mill a km: " <<km<<endl;
break;
}

default:{cout<<"Opcion no valida"; break;}


}

system("pause");
return 0;
}
PROGRAMA 22
22. EL costo de las llamadas telefónicas internacionales depende de la zona geográfica en la
que se encuentre el país de destino, y el número de minutos hablados. En la siguiente tabla se
presenta el costo por minuto por zona. A cada zona se le ha asociado una clave, construya un
diagrama de flujo que le permita calcular e imprimir el costo total de una llamada así como los
minutos hablados.

Clave Zona Precio

12 América del Norte 2

15 América central 2.2

18 América del sur 4.5

19 Europa 3.5

23 Asia 6

25 África 6

29 Oceanía 5

Begin
Read
opcion,min,costo
Switch
begin opcion
case 12
Read
min
Do
costo=0
opcion,min,costo costo=min*2
PRINT
costo
min
“Llamo a America del Norte”
case 15
Read
opcion min
Do
costo
costo=min*2.2
PRINT
costo
min
“Llamo a America Central”
12 15 case 18
18 19 23 25 29
Read
min
Do
min min min min min min min costo=0
costo=min*4.5
PRINT
costo
min
“Llamo a America del Sur”
case 19
Read
costo=0 costo=0 costo=0 costo=0 costo=0
costo=0 costo=0 “Opcion no Existe” min
costo=min*4.5 costo=min*3.5 costo=min*6 costo=min*6 costo=min*5
costo=min*2 costo=min*2.2 Do
costo=0
costo=min*3.5
PRINT
costo costo
costo costo costo costo min
costo min
costo min min min min “Llamo a Europa”
min “Llamo a America
min “Llamo a Europa” “Llamo a Asia” “Llamo a Africa” “Llamo a Oceania” case 23
“Llamo a America del Sur”
“Llamo a America Read
Central”
del Norte” min
Do
costo=0
costo=min*6
PRINT
costo
min
“Llamo a Asia”
case 25
Read
min
Do
end costo=0
costo=min*6
PRINT
costo
min
“Llamo a Africa”
case 29
Read
min
Do
costo=0
costo=min*5
PRINT
costo
min
“Llamo a Oceania”
PRINT
“Opcion no existe”
End
// programa 22.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include <iostream>
//using name system;
using namespace std;
int main()
{
int opcion;
double min,costo;
cout<<"Bienvenidos a TeleMobil \n ";
cout<<"Ingresa 12 para America del Norte \n ";
cout<<"Ingresa 15 para America Central \n ";
cout<<"Ingresa 18 para America del Sur \n ";
cout<<"Ingresa 19 para Europa \n ";
cout<<"Ingresa 23 para Asia \n ";
cout<<"Ingresa 25 para Africa \n ";
cout<<"Ingresa 29 para Oceania\n ";
cout<<"Selecciona la zona deseada \n"; cin>>opcion;
switch (opcion)
{
case 12:{cout<<"Inserta los minutos hablados \n"; cin>>min;
costo=0;
costo=min*2;
cout<<"El costo total de la llamada es: " <<costo<<endl;
cout<<"El total de munitos hablados es: " <<min<<endl;
cout<<"Llamo a America del Norte \n";
break;}
case 15:{cout<<"Inserta los minutos hablados \n"; cin>>min;
costo=0;
costo=min*2.2;
cout<<"El costo total de la llamada es: " <<costo<<endl;
cout<<"El total de munitos hablados es: " <<min<<endl;
cout<<"Llamo a America Central \n";
break;}
case 18:{cout<<"Inserta los minutos hablados \n"; cin>>min;
costo=0;
costo=min*4.5;
cout<<"El costo total de la llamada es: " <<costo<<endl;
cout<<"El total de munitos hablados es: " <<min<<endl;
cout<<"Llamo a America del Sur \n";
break;}
case 19:{cout<<"Inserta los minutos hablados \n"; cin>>min;
costo=0;
costo=min*3.5;
cout<<"El costo total de la llamada es: " <<costo<<endl;
cout<<"El total de munitos hablados es: " <<min<<endl;
cout<<"Llamo a Europa \n";
break;}
case 23:{cout<<"Inserta los minutos hablados \n"; cin>>min;
costo=0;
costo=min*6;
cout<<"El costo total de la llamada es: " <<costo<<endl;
cout<<"El total de munitos hablados es: " <<min<<endl;
cout<<"Llamo a Asia \n";
break;}
case 25:{cout<<"Inserta los minutos hablados \n"; cin>>min;
costo=0;
costo=min*6;
cout<<"El costo total de la llamada es: " <<costo<<endl;
cout<<"El total de munitos hablados es: " <<min<<endl;
cout<<"Llamo a Africa \n";
break;}
case 29:{cout<<"Inserta los minutos hablados \n"; cin>>min;
costo=0;
costo=min*6;
cout<<"El costo total de la llamada es: " <<costo<<endl;
cout<<"El total de munitos hablados es: " <<min<<endl;
cout<<"Llamo a Oceania \n";
break;}
default:cout<<"Opcion no valida \n";break;
}
system("pause");
return 0;
}
PROGRAMA 23
23. Escriba un diagrama de flujo que permita calcular lo que hay que pagarle
a un trabajador teniendo en cuenta su sueldo y las horas trabajadas. Para el
pago de horas extras se tiene en cuenta además la categoría del trabajador.
Cada trabajador puede tener un máximo de 30 horas extras y si tiene mas solo
se le pagaran 30. A los trabajadores con categoría mayor a 4 no debe
pagárseles horas extras. Imprima la categoría, las horas trabajadas, el pago y
sus horas extras si procede.

Categoría Precio X hora

A $30

B $38

C $50

D $70

Begin
Read
begin opcion,hr,salario,hrx,pagohrx,sueldof
Switch
Case 1
Read sueldo,hr
If hr<48
opcion,hr,salario,sueldo,hrx,pagohrx,sueldof Do
salario=sueldo*7
PRINT
categoria
salario
Else
hrx=hr-48
opcion If hrx<30
Do
1
salario=sueldo*7
2 4 pagohrx=hrx*30
3
salariof=salario+pagohrx
PRINT
sueldo,hr categoria,salario,pagohrx,salariof
sueldo,hr sueldo,hr sueldo,hr Else
salario=sueldo*7
pagohrx=30*30
salariof=salario+pagohrx
PRINT
V F categoria,salario,pagohrx,salariof
if //fin de if
hr<48 V F V F V F
if if if //fin de if
hr<48 hr<48 hr<48 Case 2
Read sueldo,hr
If hr<48
Do
salario=sueldo*7
PRINT
salario=sueldo*7 hrx=hr-48
categoria
“Opcion no valida”
salario=sueldo*7 hrx=hr-48 salario=sueldo*7 hrx=hr-48 salario=sueldo*7 hrx=hr-48 salario
Else
hrx=hr-48
If hrx<30
categoria
Do
salario V F categoria categoria categoria salario=sueldo*7
if
salario V F salario V F salario V F pagohrx=hrx*38
hrx<30
if if if salariof=salario+pagohrx
hrx<30 hrx<30 hrx<30 PRINT
categoria,salario,pagohrx,salariof
Else
salario=sueldo*7
salario=sueldo*7 salario=sueldo*7 pagohrx=38*38
pagohrx=hrx*30 pagohrx=30*30 salariof=salario+pagohrx
salario=sueldo*7 salario=sueldo*7 salario=sueldo*7 salario=sueldo*7 salario=sueldo*7 salario=sueldo*7 PRINT
salariof=salario+pagohrx salariof=salario+pagohrx
pagohrx=hrx*38 pagohrx=38*38 pagohrx=hrx*50 pagohrx=50*50 pagohrx=hrx*0 pagohrx=0*0 categoria,salario,pagohrx,salariof
salariof=salario+pagohrx salariof=salario+pagohrx salariof=salario+pagohrx salariof=salario+pagohrx salariof=salario+pagohrx salariof=salario+pagohrx //fin de if
//fin de if
categoria categoria Case 3
salario salario categoria categoria categoria Read sueldo,hr
categoria categoria categoria
pagohrx pagohrx salario salario salario If hr<48
salario salario salario
salariof salariof pagohrx pagohrx pagohrx Do
pagohrx pagohrx pagohrx
salariof salariof salariof salariof salariof salariof salario=sueldo*7
PRINT
categoria
salario
Else
hrx=hr-48
If hrx<30
Do
salario=sueldo*7
end pagohrx=hrx*50
salariof=salario+pagohrx
PRINT
categoria,salario,pagohrx,salariof
Else
salario=sueldo*7
pagohrx=50*50
salariof=salario+pagohrx
PRINT
categoria,salario,pagohrx,salariof
//fin de if
//fin de if
Case 4
Read sueldo,hr
If hr<48
Do
salario=sueldo*7
PRINT
categoria
salario
Else
hrx=hr-48
If hrx<30
Do
salario=sueldo*7
pagohrx=hrx*70
salariof=salario+pagohrx
PRINT
categoria,salario,pagohrx,salariof
Else
salario=sueldo*7
pagohrx=0*0
salariof=salario+pagohrx
PRINT
categoria,salario,pagohrx,salariof
//fin de if
//fin de if
PRINT “Opcion no valida”
End
// programa 23.cpp: define el punto de entrada de la aplicación de consola.
//
#include "stdafx.h"
#include <iostream>
//using name system;
using namespace std;
int main()
{
int opcion;
double hr,salario,sueldo,hrx,pagohrx,salariof;
cout<<"Recibo de pago de DASHAT \n";
cout<<"Opcion 1 para categoria A\n";
cout<<"Opcion 2 para categoria B\n";
cout<<"Opcion 3 para categoria C\n";
cout<<"Opcion 4 para categoria D\n";
cout<<"Cualquier tecla para salir \n";
cout<<"Elige la categoria deseada \n"; cin>>opcion;

switch(opcion)
{
case 1:{cout<<"Ingrese su sueldo \n"; cin>>sueldo;
cout<<"Ingrese las horas trabajadas \n"; cin>>hr;
if (hr<=48)
{
salario=sueldo*7;
cout<<"Eligio la categoria A \n";
cout<<"Su salario final es de : " <<salario<<endl;
}
else
{
cout<<"Ingrese las horas extras trabajadas:\n"; cin>>hrx;
hrx=hr-48;
if(hrx<=30)
{pagohrx=hrx*30;
salariof=sueldo*7+pagohrx;

cout<<"Eligio la categoria A \n";


cout<<"Horas extras trabajadas de : \n" <<hrx<<endl;
cout<<"El pago por horas extras es de: \n" <<pagohrx<<endl;
cout<<"El salario final es de : " <<salariof<<endl;
}
else
{
salario=sueldo*7;
pagohrx=30*30;
salariof=salario+pagohrx;
cout<<"Eligio la categoria A \n";
cout<<"Horas extras trabajadas de : \n" <<hrx<<endl;
cout<<"El pago por horas extras es de: \n" <<pagohrx<<endl;
cout<<"El salario final es de : " <<salariof<<endl;

}
}
break;}
case 2:{cout<<"Ingrese su sueldo \n"; cin>>sueldo;
cout<<"Ingrese las horas trabajadas \n"; cin>>hr;
if (hr<=48)
{
salario=sueldo*7;
cout<<"Eligio la categoria B \n";
cout<<"Su salario final es de : " <<salario<<endl;
}
else
{
cout<<"Ingrese las horas extras trabajadas:\n"; cin>>hrx;
hrx=hr-48;
if(hrx<=30)
{pagohrx=hrx*38;
salariof=sueldo*7+pagohrx;

cout<<"Eligio la categoria B \n";


cout<<"Horas extras trabajadas de : \n" <<hrx<<endl;
cout<<"El pago por horas extras es de: \n" <<pagohrx<<endl;
cout<<"El salario final es de : " <<salariof<<endl;
}
else
{
salario=sueldo*7;
pagohrx=38*38;
salariof=salario+pagohrx;
cout<<"Eligio la categoria B \n";
cout<<"Horas extras trabajadas de : \n" <<hrx<<endl;
cout<<"El pago por horas extras es de: \n" <<pagohrx<<endl;
cout<<"El salario final es de : " <<salariof<<endl;

}
}
break;}
case 3:{cout<<"Ingrese su sueldo \n"; cin>>sueldo;
cout<<"Ingrese las horas trabajadas \n"; cin>>hr;
if (hr<=48)
{
salario=sueldo*7;
cout<<"Eligio la categoria C \n";
cout<<"Su salario final es de : " <<salario<<endl;
}
else
{
cout<<"Ingrese las horas extras trabajadas:\n"; cin>>hrx;
hrx=hr-48;
if(hrx<=30)
{pagohrx=hrx*50;
salariof=sueldo*7+pagohrx;

cout<<"Eligio la categoria C \n";


cout<<"Horas extras trabajadas de : \n" <<hrx<<endl;
cout<<"El pago por horas extras es de: \n" <<pagohrx<<endl;
cout<<"El sueldo final es de : " <<salariof<<endl;
}
else
{
salario=sueldo*7;
pagohrx=50*50;
salariof=salario+pagohrx;
cout<<"Eligio la categoria C \n";
cout<<"Horas extras trabajadas de : \n" <<hrx<<endl;
cout<<"El pago por horas extras es de: \n" <<pagohrx<<endl;
cout<<"El sueldo final es de : " <<salariof<<endl;

}
}
break;}
case 4:{cout<<"Ingrese su sueldo \n"; cin>>sueldo;
cout<<"Ingrese las horas trabajadas \n"; cin>>hr;
if (hr<=48)
{
salario=sueldo*7;
cout<<"Eligio la categoria D \n";
cout<<"Su salario final es de : " <<salario<<endl;
}
else
{
cout<<"Ingrese las horas extras trabajadas:\n"; cin>>hrx;
hrx=hr-48;
if(hrx<=30)
{pagohrx=hrx*0;
salariof=sueldo*7+pagohrx;

cout<<"Eligio la categoria D \n";


cout<<"Horas extras trabajadas de : \n" <<hrx<<endl;
cout<<"El pago por horas extras es de: \n" <<pagohrx<<endl;
cout<<"El salario final es de : " <<salariof<<endl;
}
else
{
salario=sueldo*7;
pagohrx=0*0;
salariof=salario+pagohrx;
cout<<"Eligio la categoria D \n";
cout<<"Horas extras trabajadas de : \n" <<hrx<<endl;
cout<<"El pago por horas extras es de: \n" <<pagohrx<<endl;
cout<<"El salario final es de : " <<salariof<<endl;

}
}
break;}
default:{cout<<"Opcion invalida \n "; break;}
}
system("pause");
}
PROGRAMA 24
24. Construya un diagrama de flujo que dado como dato la matrícula de un
alumno, la carrera en la que está inscrito, su semestre y su promedio;
determine si el mismo es apto para pertenecer a alguna de las facultades
menores que tiene la universidad. Si el alumno es aceptado teniendo en
cuenta las especificaciones que se enlista se deben imprimir su matrícula,
carrera y la palabra aceptado.

Economía: Semestre>=6 prom>=8.8

Computación: Semestre >6 prom>8.5

Administración: Semestre>5 prom>8.5

Contabilidad Semestre>5 prom>9.0

begin
Begin
Read mat,prom,sem,carrera,opcion
Switch
case 1
Read prom,sem,mat
mat,prom,sem,carrera,opcion If (sem>=6 && prom>8.8
PRINT
mat
carrera
“Aceptado”
//fin de if
case 2
opcion Read prom,sem,mat
If (sem>6 && prom>8.5
4 PRINT
1 2 3 mat
carrera
“Aceptado”
//fin de if
prom,sem,mat prom,sem,mat prom,sem,mat prom,sem,mat
case 3
Read prom,sem,mat
If (sem>5 && prom>8.5
PRINT
“Opcion no mat
incorrecta” carrera
si no “Aceptado”
si sem>=6 && no sem>5 && //fin de if
prom>8.8 prom>8.5 case 4
Read prom,sem,mat
If (sem>5 && prom>9
si mat
sem>6 && no carrera “No aceptado”
PRINT
mat prom>8.5 mat
“Aceptado”
carrera “No aceptado” carrera
“Aceptado” “Aceptado”
//fin de if
si sem>5 && no PRINT
mat prom>9 “Opcion incorrecta”
carrera “No aceptado” End
“Aceptado”

mat “No aceptado”


carrera
“Aceptado”

end
// Programa 24.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include <iostream>
//using namespace;
using namespace std;

int main()
{
int opcion,mat;
double prom,sem,carrera;
cout<<"Instituto Tecnologico de Ciudad Juarez \n";
cout<<"Opcion 1 para la carrera de Economia \n";
cout<<"Opcion 2 para la carrera de Computacion \n";
cout<<"Opcion 3 para la carrera de Administracion \n";
cout<<"Opcion 4 para la carrera de Contabilidad \n";
cout<<"Elija la opcion deseada \n"; cin >>opcion;

switch (opcion)
{
case 1:{cout<<"Usted eligio la carrera de Economia \n ";
cout<<"Ingrese su matricula \n "; cin >>mat;
cout<<"Ingrese su promedio \n "; cin >>prom;
cout<<"Ingrese su semestre \n "; cin >>sem;
if(sem>=6 && prom>=8.8)
{
cout<<"Su matricula es : " <<mat<<endl;
cout<<"Su carrera es Economia \n ";
cout<<"Usted fue Aceptado en la Facultad \n";
}

else
{
cout<<"No Aceptado \n";
}
break;}
case 2:{cout<<"Usted eligio la carrera de Computacion \n ";
cout<<"Ingrese su matricula \n "; cin >>mat;
cout<<"Ingrese su promedio \n "; cin >>prom;
cout<<"Ingrese su semestre \n "; cin >>sem;
if(sem>6 && prom>8.5)
{
cout<<"Su matricula es : " <<mat<<endl;
cout<<"Su carrera es Computacion \n ";
cout<<"Usted fue Aceptado en la Facultad \n";
}

else
{
cout<<"No Aceptado \n ";
}
break;}
case 3:{cout<<"Usted eligio la carrera de Administracion \n ";
cout<<"Ingrese su matricula \n "; cin >>mat;
cout<<"Ingrese su promedio \n "; cin >>prom;
cout<<"Ingrese su semestre \n "; cin >>sem;
if(sem>5 && prom>8.5)
{
cout<<"Su matricula es : " <<mat<<endl;
cout<<"Su carrera es Administracion \n ";
cout<<"Usted fue Aceptado en la Facultad \n";
}

else
{
cout<<"No Aceptado \n ";
}
break;}
case 4:{cout<<"Usted eligio la carrera de Contabilidad \n ";
cout<<"Ingrese su matricula \n "; cin >>mat;
cout<<"Ingrese su promedio \n "; cin >>prom;
cout<<"Ingrese su semestre \n "; cin >>sem;
if(sem>5 && prom>9)
{
cout<<"Su matricula es : " <<mat<<endl;
cout<<"Su carrera es Contabilidad \n ";
cout<<"Usted fue Aceptado en la Facultad \n";
}

else
{
cout<<"No Aceptado \n ";
}
break;}
default:{cout<<"Opcion no valida \n"; break;}
}
system("pause");

return 0;
}
FOR

PROGRAMA 25
25. Calcular la nómina de 10 empleados de una empresa. Imprimir la suma de
la nómina y el número de empleados.

begin

i=1,sueldo,sumanom=0

i=i+1
Begin
Read
i=1,sueldo,sumanom=0
for sumanom For
i<=9 1<=9
Do
sueldor
V Read

sumanom=sueldo+sumanom
Do
sueldo end i=i+1
PRINT
sumanom
End

sumanom=sueldo+sumanom
// programa 25.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include <iostream>
using namespace std;

int main()
{
int i=1;
double sueldo,sumanom=0;
for (i=1;i<=9;i++)
{
cout<<"dame sueldo \n"; cin>>sueldo;
sumanom=sumanom+sueldo;
}
cout<<"El total de la nomina es : " <<sumanom <<endl;
cout <<"El total empleados es :" <<i <<endl;
system("PAUSE");

return 0;
}
PROGRAMA 26
26. Escriba un programa en C++ que dado como datos “n” números enteros
obtenga el numero de 0 que hay entre esos números.

begin

i=1,n,ceros=0,numero

i++

Begin
for F ceros Read
i<n i=1,n,ceros=0,numero
For
i<n
V Read
numero
If
end
numero numero==0
Do
ceros++
Do
i++
PRINT
ceros
V if F
End
numero==0

ceros++
// programa_26.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include <iostream>
using namespace std;
int main()
{
int i=1;
double n,numero,ceros=0;
cout<<"Dame el valor del numero \n "; cin>>n;

for (i=1; i<=n; i++)


{
cout<<"introduce el numero \n "; cin>>numero;
if (numero==0)
ceros ++;
}
cout<<"la cantidad de ceros leidas son : \n" << ceros <<endl;
system("PAUSE");
return 0;
}
PROGRAMA 27
27. Escriba un programa en C++ que dado como datos 27 números enteros
obtenga la suma de los números impares, la suma de los números pares y el
promedio de los pares.

begin

Begin
Read
i=1,numero,par,impar i,numero,ceros=0,residuo=0,su
,sumapar,sumaimpar, maimpar=0,sumapar=0,promedi
residuo,prompar,pro opar=0,promedioimpar=0,impar
medioimpar =0,par=0;
For
i++ (i<27)
Read
promediopar=suma numero
par/par If
for (numero==0)
i<27 promedioimpar=su
Do
maimpar/impar ceros++
residuo=(numero)%2;
If
(residuo!=0)
Promedioimpar Do
promediopar impar++
numero sumaimpar=sumaimpar+numer
o promedioimpar=sumaimpar/
impar
Else
Do
end
par++
sumapar=sumapar+numero
if promediopar=sumapar/par
numero==0 PRINT
ceros
impar
sumaimpar
promedioimpar
par
resid=numero%2
sumapar
promediopar
END

if
resid==0

impar++ par++
suumapar=sumaimpar+numero sumapar=sumapar+numero
// problema27.cpp : Defines the entry point for the console application.
#include "stdafx.h"
#include <iostream>
using namespace std;
int main()
{
int i,numero;
double
ceros=0,residuo=0,sumaimpar=0,sumapar=0,promediopar=0,promedioimpar=0,impar=0,par
=0;
for(i = 0; i <= 27; i++)
{
cout << "Introduzca el numero a evaluar \n"; cin >> numero;
if(numero==0)
{
ceros++;
}
residuo=(numero)%2;
if (residuo != 0)
{
impar++;
sumaimpar=sumaimpar+numero;
promedioimpar=sumaimpar/impar;
}
else
{
par++;
sumapar=sumapar+numero;
promediopar=sumapar/par;
}
}
cout<<"el numero total de ceros es: \n"<<ceros<< endl;

cout<<"el numero total de impares es: \n"<<impar<<endl;


cout << "la suma de numeros impares es: \n" <<sumaimpar<<endl;
cout << "el promedio de numeros impares es: \n"
<<promedioimpar<<endl;

cout<<"el numero total de pares es: \n"<<par<<endl;


cout << "la suma de numeros pares es: \n" << sumapar<<endl;
cout << "el promedio de numeros pares es: \n" <<promediopar<<endl;
system("pause");
return 0;
}
PROGRAMA 28
28. Escriba un programa en C++ que dado como datos “n” números enteros
obtenga, la cantidad de ceros, el promedio de números positivos, el promedio
de los números negativos .

begin

i=1,n,numero,ceros,negativos,po
sitivos,prompas,promneg,suma,
sumaneg,sumapos

i++

Begin
for prompos=sumapas/positivo Read
i<=n promneg=sumaneg/negativo i=1,n,numero,ceros,negativos,positip
os,prompas,promneg,suma,
sumaneg,sumapos
For
i<n
ceros Read
prompos numero
numero
promneg If
numero==0
Do
ceros++
If
if end numero<0
numero==0 Do
negativos++
promneg=suma+numero
Else
positivo++
prompos=suma+numero
ceros++ Else
prompos=sumapas/positivo
promneg=sumaneg/negativo
if PRINT
numero<o ceros
prompos
promneg
End

negativos++ positivo++
promneg=suma+numero prompos=suma+numero
// problema 28.cpp : Defines the entry point for the console application.
#include "stdafx.h"
#include <iostream>
using namespace std;
int main()
{
int i,numero;
double
ceros=0,sumaneg,suma,sumapos,n=0,negativo=0,positivo=0,prompos=0,promneg=0;
cout<<"ingrese la cantidad de numeros : \n"; cin>>n;
for(i = 0; i <= n; i++)
{
cout << "Introduzca el numero a evaluar \n"; cin >> numero;
if(numero==0)
{
ceros++;
}

if (numero<0)
{
negativo++;
suma=numero+numero;
sumaneg=suma+numero;
}
else
{
positivo++;
suma=numero+numero;
sumapos=suma+numero;
}
}
prompos=sumapos/positivo;
promneg=sumaneg/negativo;
cout<<"el numero total de ceros es: \n"<<ceros<< endl;

cout<<"el promedio total de numeros positivos es:


\n"<<prompos<<endl;
cout << "el promedio total de numeros negativos es: \n"
<<promneg<<endl;

system("pause");
return 0;
}
WHILE

PROGRAMA 29
29. Supongamos que debemos obtener la suma de gastos que hicimos en
nuestro último viaje, pero no sabemos exactamente cuántos fueron.

Imprimir el total de gastos.

begin

gasto,sumag
asto

Begin
Read
sumagasto=0 gasto,sumagasto=0
Read
gasto
While
gasto!=-1
Do
gasto sumagasto=sumagasto+gasto
Read
gasto
PRINT
sumagasto
END
while sumagasto
gasto!==-1

end
sumagasto=sumaga
sto+gasto
//programa 29.cpp : Defines the entry point for the console application.

//

#include "stdafx.h"
#include <iostream>
using namespace std;
int main()
{
double gasto,sumagasto=0;
cout<<"Dame el gasto \n: "; cin>>gasto;
while (gasto!=-1)
{
sumagasto=sumagasto+gasto;
cout<<"Dame el gasto \n: "; cin>>gasto;
}
cout<<"El total de gasto es: \n"<<sumagasto<<endl;
system("pause");
return 0;
}
PROGRAMA 30
30. Se tienen las calificaciones de un grupo de alumnos que presentaron un
examen.

El profesor desea saber el promedio de esas calificaciones. Escriba un


programa para representar lo planteado.

begin

Begin
sumacalf=0 Read
i=o calif,sumacalf=0,i=0,prom=0
prom=0 Read
calif
While
calif>=0
Do
calif sumacalif=sumacalif+calif
i++
Read
calif
calif Do
prom=sumacalif/i
PRINT
prom
while i
prom=sumacalif/i
calif>=0 END

V prom
i
sumacalif=sumacalif+calif
i++

end
//programa 30.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include <iostream>
using namespace std;
int main()
{
double calif,sumacal=0,i=0,prom=0;
cout<<"Dame calificacion \n:"; cin>>calif;
while (calif>=0)
{
sumacal=sumacal+calif;
i++;
cout<<"Dame calificacion \n: ";cin>>calif;
}
prom=sumacal/i;
cout<<"El promedio es \n :"<<prom<<endl;
cout<<"El numero de alumnos es \n:"<<i<<endl;
system("pause");
return 0;
}
PROGRAMA 31
31. Dado el sueldo de unos trabajadores considere un aumento del 15% a cada
uno de ellos si su sueldo es inferior a 800. Imprima su sueldo con al aumento
incorporado si corresponde.

Calcule la nómina e imprime el total.

begiin

sueldo,nomi
na=0,sueldo
nvo=0

nomina=0
i=0,sueldonvo=0

sueldo

sueldo

while nomina
sueldo>0

V
end

V F
if
sueldo<800

sueldonvo=sueldo*
1.15 sueldonvo=sueldo
i++ i++

sueldonvo

nomina=nomina+sueldnvo
// programa 31.cpp : Defines the entry point for the console application.

//
#include "stdafx.h"
#include <iostream>
using namespace std;
int main()
{
double nomina=0,sueldonvo=0,sueldo;
int i=0;
cout<<"Dame sueldo \n"; cin>>sueldo;
while (sueldo>0)
{
if(sueldo<800)
{
sueldonvo=sueldo*1.15;
i++;
cout<<"El sueldo nuevo es \n:"<<sueldonvo<<endl;
}
else
{sueldonvo=sueldo;
i++;
cout<<"El sueldo nuevo es \n:"<<sueldonvo<<endl;

}
nomina=nomina+sueldonvo;

cout<<"Dame sueldo \n"; cin>>sueldo;


}
cout<<"El sueldo total de la nomina es \n:"<<nomina<<endl;
system("pause");
return 0;
}
PROGRAMA 32
32. Escriba un programa que dado el peso, la altura y el sexo de un grupo de
personas que pertenecen a un estado de la republica obtenga el promedio del
peso y la altura de esta población.

begin

peso,altura,sexo,sumape
so=0,sumaalt=0,prompes
o=0,promalt=0,i=0

sumapeso=0,sumaalt=0,pr
ompeso=0,promalt=0,i=0

existe
existe
`s’

F
while prompeso=sumapeso/i
existe==`s’ promalt=sumaalt/i

peso,altura,s prompeso
exo promalt

sumapeso=sumapeso+peso
sumaalt=sumaalt+altura end
i++
// programa 32.cpp : Defines the entry point for the console application.

//
#include "stdafx.h"
#include <iostream>
using namespace std;
int main()
{
char sexo,existe;
int i=0;
double prompeso=0,promalt=0,peso,altura,sumapeso=0,sumaalt=0;
cout<<"¿Existen datos si(s) no(n)? "; cin>>existe;

while (existe=='s')
{cout<<"Dame el peso ";cin>>peso;
cout<<"Dame el altura ";cin>>altura;
cout<<"Dame el sexo: masculino (m) femenino (f): ";cin>>sexo;

cout<<"¿Existen datos si(s) no(n)? "; cin>>existe;


sumapeso=sumapeso+peso;
sumaalt=sumaalt+altura;
i++;
prompeso=sumapeso/i;
promalt=sumaalt/i;
}
cout<<"El promedio del peso es :"<<prompeso<<endl;
cout<<"El promedio de la altura es : :"<<promalt<<endl;
system("pause");
return 0;
}
PROGRAMA 33
33. Se tienen las calificaciones de un grupo de alumnos que presentaron un
examen. Realice un programa en C que calcule e imprima cuantas
calificaciones hay en cada una de los rangos y su promedio por rango.

0-39, 40-59, 60-79, 80-100.

begin

r1=0,r2=0,r3=0,promr1=o,p
romr2=0,promr3=0,promr4
=0,sumar1=0,sumar2=0,su
mar3=0,sumar4=0,calif

r1=0,r2=0,r3=0,promr1=o,prom
r2=0,promr3=0,promr4=0,suma
r1=0,sumar2=0,sumar3=0,suma
r4=0

calif

calif

promr1=sumar1/r1
while
promr2=sumar2/r2
calif>0 &&
promr3=sumar3/r1
calif<100
promr4=sumar4/r4

promr1
promr2
prom3
promr4
if
calif<40

end
r1++
if
sumar1=sumar1+cal
calif<60
if

r2++
sumar2=sumar2+cal
if
if
calif<80

r3++ r4++
sumar3=sumar3+cal sumar4=sumar4+cal
if if
// programa 33.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include <iostream>
using namespace std;
int main()
{
int r1=0,r2=0,r3=0,r4=0;
double
calif,sumar1=0,sumar2=0,sumar3=0,sumar4=0,promr1=0,promr2=0,promr3=0,promr4;
cout<<"Ingrese calificacion \n";cin>>calif;
while (calif>0 && calif<100)
{
if(calif<40)
{
r1++;
sumar1=sumar1+calif;
}
else if (calif<60)
{
r2++;
sumar2=sumar2+calif;
}
else if (calif<80)
{
r3++;
sumar3=sumar3+calif;
}
else
{
r4++;
sumar4=sumar4+calif;
}
cout<<"Ingrese calificacion \n";cin>>calif;
promr1=sumar1/r1;
promr2=sumar2/r2;
promr3=sumar3/r3;
promr4=sumar4/r4;
}

cout<<"el rango de calificaciones en el rango 0-39 es :"<<r1<<endl;


cout<<"EL promedio del rango es: "<<promr1<<endl;
cout<<"el rango de calificaciones en el rango 40-59 es :"<<r2<<endl;
cout<<"EL promedio del rango es: "<<promr2<<endl;
cout<<"el rango de calificaciones en el rango 60-79 es :"<<r3<<endl;
cout<<"EL promedio del rango es: "<<promr3<<endl;
cout<<"el rango de calificaciones en el rango 80-100 es :"<<r4<<endl;
cout<<"EL promedio del rango es:"<<promr4<<endl;
system("PAUSE");
return 0;
}
PROGRAMA 34
34. Un vendedor ha hecho una serie de ventas y desea saber cuántas de estas
fueron de 200 o menos, cuantas fueron mayores a 200 pero inferiores a 400 y
cuantas superiores a tal cantidad. Realice un programa en C que le
proporcione al vendedor esta información después de haber leído los datos de
entrada.

begin

r1=0,r2=0,r3=0
,venta

r1=0,r2=0,r3=0

venta

venta

r1
while r2
venta>0 r3

end
if
V F
venta<=200

r1++

if
V venta>200 && F
venta<400

r2++

V if
venta>400

r3++
// programa 34.cpp: define el punto de entrada de la aplicación de consola.

//
#include "stdafx.h"
#include <iostream>
using namespace std;
int main()
{
int r1=0,r2=0,r3=0,venta;
cout<<"introduce venta : "; cin>>venta;
while (venta>0)
{
if(venta<=200)
{r1++;
}
else if(venta>200 && venta<400)
{r2++;
}
else if (venta>400)
{
r3++;
}
cout<<"introduce venta : "; cin>>venta;
}
cout<<"El numero total de ventas con rango de 1-200 es : " <<r1<<endl;
cout<<"El numero total de ventas con rango de 200-400 es : "
<<r2<<endl;
cout<<"El numero total de ventas mayor a 400 es : " <<r3<<endl;
system("pause");
return 0;
}
FUNCIONES

PROGRAMA 35
35. No recibe, No retorna

// no_recibe_no_retorna.cpp: define el punto de entrada de la aplicación de


consola.
//
#include "stdafx.h"
#include <iostream>
using namespace std;

void sumar()
{double num1,num2,r;
cout<<" SUMA \n";
cout<<"Numero 1: ";cin>>num1;
cout<<"Numero 2: ";cin>>num2;
r=num1+num2;
cout<<"La suma es:"<<r<<endl;
}
void resta()
{double num1,num2,r;
cout<<" RESTA \n";
cout<<"Numero 1: ";cin>>num1;
cout<<"Numero 2: ";cin>>num2;
r=num1-num2;
cout<<"La resta es:"<<r<<endl;
}
void multiplicacion()
{double num1,num2,r;
cout<<" MULTIPLICACION \n";
cout<<"Numero 1: ";cin>>num1;
cout<<"Numero 2: ";cin>>num2;
r=num1*num2;
cout<<"La multiplicacion es:"<<r<<endl;
}
void division()
{double num1,num2,r;
cout<<" DIVISION \n";
cout<<"Numero 1: ";cin>>num1;
cout<<"Numero 2: ";cin>>num2;
if(num2!=0)
{
r=num1/num2;
cout<<"La division es:"<<r<<endl;
}
else
{
cout<<"Dato invalido ingrese de nuevo : ";cin>>num2;
r=num1/num2;
cout<<"La division es:"<<r<<endl;
}

}
int main()
{
char ope;
int opcion;
cout<<"Desea realizar alguna operacion Si(s) No(n) ? "; cin>>ope;
cout<<"Opcion 1 para realizar SUMA "<<endl;
cout<<"Opcion 2 para realizar RESTA "<<endl;
cout<<"Opcion 3 para realizar MULTIPLICACION "<<endl;
cout<<"Opcion 4 para realizar DIVISION "<<endl;

while(ope=='s')
{
cout<<"Que operacion desea realizar ? ";cin>>opcion;
cout<<""<<endl;
switch(opcion)
{
case 1: {
sumar();
break;
}
case 2: {
resta();
break;
}
case 3:{
multiplicacion();
break;
}
case 4:{
division();
break;
}
default:cout<<"opcion no valida \n "; break;
}
cout<<"Desea realizar alguna operacion Si(s) No(n) ? ";cin>>ope;
}
system("pause");
return 0;
}
PROGRAMA 36
36. No recibe, Si retorna.

// No_recibe_si_retorna.cpp : Defines the entry point for the console


application.
//
#include "stdafx.h"
#include <iostream>
using namespace std;
double sumar()
{
double num1,num2,r=0;
cout<<" SUMA \n";
cout<<"Numero 1: "; cin>>num1;
cout<<"Numero 2: "; cin>>num2;
r=num1+num2;
return r;
}
double resta()
{
double num1,num2,r=0;
cout<<" RESTA \n";
cout<<"Numero 1: "; cin>>num1;
cout<<"Numero 2: "; cin>>num2;
r=num1-num2;
return r;
}
double multiplicacion()
{
double num1,num2,r=0;
cout<<" MULTIPLICACION \n ";
cout<<"Numero 1: "; cin>>num1;
cout<<"Numero 2: "; cin>>num2;
r=num1*num2;
return r;
}
double division()
{
double num1,num2,r=0;
cout<<" DIVISION \n ";
cout<<"Numero 1: "; cin>>num1;
cout<<"Numero 2: "; cin>>num2;
if(num2!=0)
{
r=num1/num2;

}
else
{
cout<<"Dato invalido ingrese de nuevo : ";cin>>num2;
r=num1/num2;
}
return r;
}
int main()
{
char ope;
int opcion;
double r=0;
cout<<"Desea realizar alguna operacion Si(s) No(n) ? ";cin>>ope;
cout<<"Opcion 1 para realizar SUMA "<<endl;
cout<<"Opcion 2 para realizar RESTA "<<endl;
cout<<"Opcion 3 para realizar MULTIPLICACION "<<endl;
cout<<"Opcion 4 para realizar DIVISION "<<endl;
while(ope=='s')
{
cout<<"Que operacion desea realizar ? ";cin>>opcion;
cout<<""<<endl;
switch(opcion)
{
case 1: {
r=sumar();
cout<<"La suma es "<<r<<endl;
break;
}
case 2: {
r=resta();
cout<<"La resta es "<<r<<endl;
break;
}
case 3: {
r=multiplicacion();
cout<<"La multiplicacion es "<<r<<endl;
break;
}
case 4:{
r=division();
cout<<"La division es "<<r<<endl;
break;
}
default:cout<<"opcion no valida \n "; break;
}
cout<<"Desea realizar alguna operacion Si(s) No(n) ? ";cin>>ope;
}
system("pause");
return 0;
}
PROGRAMA 37
37. Si recibe, No retorna

// Si_recibe_No_retorna.cpp: define el punto de entrada de la aplicación de


consola.
//
#include "stdafx.h"
#include <iostream>
using namespace std;
void sumar(double num1, double num2)
{
double r=0;
r=num1+num2;
cout<<"La suma es: "<<r<<endl;
}
void resta(double num1, double num2)
{
double r=0;
r=num1-num2;
cout<<"La resta es: "<<r<<endl;
}
void multiplicacion(double num1, double num2)
{
double r=0;
r=num1*num2;
cout<<"La multiplicacion es: "<<r<<endl;
}
void division(double num1, double num2)
{
double r=0;
if(num2!=0)
{
r=num1/num2;
cout<<"La division es: "<<r<<endl;

}
else
{
cout<<"Dato invalido ingrese de nuevo : ";cin>>num2;
r=num1/num2;
}
}
int main()
{
int num1,num2,opcion;
char ope;
double r=0;
cout<<"Desea realizar alguna operacion Si(s) No(n) ? ";cin>>ope;
cout<<"Opcion 1 para realizar SUMA "<<endl;
cout<<"Opcion 2 para realizar RESTA "<<endl;
cout<<"Opcion 3 para realizar MULTIPLICACION "<<endl;
cout<<"Opcion 4 para realizar DIVISION "<<endl;
while(ope=='s')
{
cout<<"Que operacion desea realizar ? ";cin>>opcion;
cout<<""<<endl;
switch(opcion)
{
case 1: {
cout<<" SUMA \n";
cout<<"Numero 1: "; cin>>num1;
cout<<"Numero 2: "; cin>>num2;
sumar(num1,num2);
break;
}
case 2:{
cout<<" RESTA \n";
cout<<"Numero 1: "; cin>>num1;
cout<<"Numero 2: "; cin>>num2;
resta(num1,num2);
break;
}
case 3:{
cout<<" MULTIPLICACION \n";
cout<<"Numero 1: "; cin>>num1;
cout<<"Numero 2: "; cin>>num2;
multiplicacion(num1,num2);
break;
}
case 4:{
cout<<" DIVISION \n";
cout<<"Numero 1: "; cin>>num1;
cout<<"Numero 2: "; cin>>num2;
division(num1,num2);
break;
}
default:cout<<"opcion no valida \n "; break;
}
cout<<"Desea realizar alguna operacion Si(s) No(n) ? ";cin>>ope;
}
system("pause");
return 0;

}
PROGRAMA 38

38. Si recibe, Si retorna.

// si_recibe_si_retorna.cpp : Defines the entry point for the console


application.
//
#include "stdafx.h"
#include <iostream>
using namespace std;
double sumar(double num1,double num2)
{
double r=0;
r=num1+num2;
return r;
}
double resta(double num1,double num2)
{
double r=0;
r=num1-num2;
return r;
}
double multiplicacion(double num1,double num2)
{
double r=0;
r=num1*num2;
return r;
}
double division(double num1,double num2)
{
double r=0;
if(num2!=0)
{
r=num1/num2;

}
else
{
cout<<"Dato invalido ingrese de nuevo : ";cin>>num2;
r=num1/num2;
}
return r;
}
int main()
{
double num1,num2,r=0;
int opcion;
char ope;
cout<<"Desea realizar alguna operacion Si(s) No(n) ? ";cin>>ope;
cout<<"Opcion 1 para realizar SUMA "<<endl;
cout<<"Opcion 2 para realizar RESTA "<<endl;
cout<<"Opcion 3 para realizar MULTIPLICACION "<<endl;
cout<<"Opcion 4 para realizar DIVISION "<<endl;
while(ope=='s')
{
cout<<"Que operacion desea realizar ? ";cin>>opcion;
cout<<""<<endl;
switch(opcion)
{
case 1: {
cout<<" SUMA \n";
cout<<"Numero 1: ";cin>>num1;
cout<<"Numero 2: " ;cin>>num2;
r=sumar(num1,num2);
cout<<"La suma es "<<r<<endl;
break;
}
case 2: {
cout<<" RESTA \n";
cout<<"Numero 1: ";cin>>num1;
cout<<"Numero 2: " ;cin>>num2;
r=resta(num1,num2);
cout<<"La resta es "<<r<<endl;
break;
}
case 3:{
cout<<" MULTIPLICACION \n";
cout<<"Numero 1: ";cin>>num1;
cout<<"Numero 2: " ;cin>>num2;
r=multiplicacion(num1,num2);
cout<<"La multiplicacion es "<<r<<endl;
break;
}
case 4:{
cout<<" DIVISION \n";
cout<<"Numero 1: ";cin>>num1;
cout<<"Numero 2: " ;cin>>num2;
r=division(num1,num2);
cout<<"La division es "<<r<<endl;
break;
}
default:cout<<"opcion no valida \n "; break;
}
cout<<"Desea realizar alguna operacion Si(s) No(n) ? ";cin>>ope;
}
system("pause");
return 0;
}
PROGRAMA 39
39. Promedio

// programa 39_promedios.cpp: define el punto de entrada de la aplicación de


consola.
//
#include "stdafx.h"
#include <iostream>
using namespace std;
double hombres(double suma_peso,double m)
{
double r=0;

r=suma_peso/m;
return r;

}
double hombres1(double suma_alt, int m)
{
double r=0;
r=suma_alt/m;
return r;
}
double mujeres(double suma_pesof,int f)
{
double r=0;

r=suma_pesof/f;
return r;
}
double mujeres1(double suma_altf,int f)
{
double r=0;

r=suma_altf/f;
return r;
}
int main()
{
double
r=0,r1=0,r11=0,r12=0,peso,alt,pesof,altf,prom_alt=0,suma_alt=0,prom_altf=0,suma_p
eso=0,suma_altf=0,suma_pesof=0;
char ope;
int opcion,m=0,f=0;

cout<<"Desea realizar alguna operacion Si(s) No(n) ? ";cin>>ope;


cout<<"Eliga 1 para Hombres: "<<endl;
cout<<"Eliga 2 para Mujeres: "<<endl;
while(ope=='s')
{
cout<<"Que operacion desea realizar ? ";cin>>opcion;
cout<<""<<endl;
switch(opcion)
{

case 1:{
cout<<"HOMBRES"<<endl;
cout<<"su altura es de: ";cin>>alt;
cout<<"su peso es de: ";cin>>peso;
m++;
suma_peso=suma_peso+peso;
suma_alt=suma_alt+alt;

break;
}
case 2:
{
cout<<"MUJERES"<<endl;
cout<<"Su altura es de: ";cin>>altf;
cout<<"Su peso es de: ";cin>>pesof;
f++;
suma_pesof=suma_pesof+pesof;
suma_altf=suma_altf+altf;

break;
}

default:cout<<"opcion no valida \n "; break;


}
cout<<"Desea realizar alguna operacion Si(s) No(n) ? ";cin>>ope;
}
r=hombres(suma_peso,m);
r12=hombres1(suma_alt,m);
r1=mujeres(suma_pesof,f);
r11=mujeres1(suma_altf,f);
cout << "El promedio de alturas de hombres es: " <<r12<<endl;
cout << "El promedio del peso de hombres es: " <<r<<endl;
cout << "El promedio de alturas de mujeres es: " <<r11<<endl;
cout << "El promedio de peso de mujeres es: " <<r1<<endl;
system("pause");
return 0;
}
PROGRAMA 40
40. Contadores

#include "stdafx.h"
#include <iostream>
using namespace std;
void hombres(double m)
{
double prom_alt=0,prom_peso=0,suma_alt=0,suma_peso=0;
prom_alt=suma_alt/m;
prom_peso=suma_peso/m;
cout << "Total de HOMBRES: " <<m<<endl;

}
void mujeres( double f)
{
double prom_altf=0,prom_pesof=0,suma_altf=0,suma_pesof=0;
prom_altf=suma_altf/f;
prom_pesof=suma_pesof/f;
cout<<""<<endl;
cout << "Total de MUJERES: " <<f<<endl;
}
int main()
{
double peso,altura,prom_alt=0,prom_peso=0,m=0,suma_alt=0,suma_peso=0;
double pesof,altf,prom_altf=0,prom_pesof=0,f=0,suma_altf=0,suma_pesof=0;
char ope;
int opcion;

cout<<"Desea realizar alguna operacion Si(s) No(n) ? ";cin>>ope;


cout<<"Eliga 1 para Hombres: "<<endl;
cout<<"Eliga 2 para Mujeres: "<<endl;
while(ope=='s')
{
cout<<"Que desea realizar: ";cin>>opcion;
cout<<""<<endl;
switch(opcion)
{
case 1:
{
m++;
cout<<"HOMBRES"<<endl;
cout<<"Su peso es de: ";cin>>peso;
cout<<"Su altura es de: ";cin>>altura;

suma_peso=suma_peso+peso;
suma_alt=suma_alt+altura;
break;
}
case 2:
{
f++;
cout<<"MUJERES"<<endl;
cout<<"Su peso es de: ";cin>>pesof;
cout<<"Su altura es de: ";cin>>altf;

suma_pesof=suma_pesof+pesof;
suma_altf=suma_altf+altf;
break;
}
default:cout<<"opcion no valida intente de nuevo \n";break;
}
cout<<"Desea realizar alguna operacion Si(s) No(n) ? ";cin>>ope;
}
cout<<""<<endl;
hombres(m);
cout<<""<<endl;
mujeres(f);
cout<<""<<endl;

system("pause");
return 0;
}
ARREGLOS

PROGRAMA 41

// arreglos 1.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include <iostream>
#include <math.h>
using namespace std;

int main()
{
int sqrs[10];
int i;
for(i=1;i<11;i++)
{
sqrs[i-1]=i*i;
}
for(i=0;i<10;i++)
{
cout<<sqrs[i]<<endl;
}
system("PAUSE");
return 0;
}
PROGRAMA 42

// arreglo2.cpp : Defines the entry point for the console application.


//
#include "stdafx.h"
#include <iostream>
using namespace std;
int main()
{
int a1[10]={5}, a2[10];
int i;
//Inicialización de a1
for (i=0; i<10;i++)
a1[i]=i+1;
//Copiar en a2
for (i=0; i<10;i++)
a2[i]=a1[i];
//Mostrar a2
for (i=0; i<10;i++)
cout<<a2[i]<<endl;
system("PAUSE");
return 0;
}
PROGRAMA 43

// arreglo3.cpp : Defines the entry point for the console application.


//
#include "stdafx.h"
#include <iostream>
using namespace std;
int main()
{
int b[]={0};
int n,i=0,result=0,numero;
double media=0;
//llenado del arreglo
cout<<"cuantos numeros quieres ?";cin>>n;
for(i=0;i<n;i++)
{
cout<<"Ingrese numero:";cin>>numero;
b[n]=numero;
}
for(i=0;i<n;i++)
{
result+=b[n];
}
media=result/n;
cout<<"La media es : "<<media<<endl;
cout<<"La suma es: "<<result<<endl;
system("pause");
return 0;
}
PROGRAMA 44

// programa44.cpp : Defines the entry point for the console application.


//
#include "stdafx.h"
#include <iostream>
#include "conio.h"
using namespace std;
int main()
{
int temp[]={0},min, max,media=0;
int dias;
cout<<"Cuantos dias tiene el mes"<<endl;
cin>>dias;
for(int i=0;i<dias;i++)
{
cout<<"Introduzca la temperatura de mediodia del dia "<<i+1<<":"<<endl;
cin>>temp[i];
}
// Hallar la media
media=0;
for(int i=0;i<dias;i++)
{
media=media+temp[i];
}
cout<<"Temperatura media: "<<media/dias<<endl;
//Hallar min y max
min=60;// Temperatura minima de la tierra es -90 Grados centigrados
max=-90; // Temperatura maxima de la tierra es 60 Grados centigrados
for(int i=0;i<dias;i++)
{
if(min>temp[i]) min=temp[i];
if(max<temp[i]) max=temp[i];
}
cout<<"Temperatura minima: "<<min<<endl; cout<<"Temperatura maxima: "<<max<<endl;
system("pause");
return 0;
}
PROGRAMA 45

// arreglo_5.cpp: define el punto de entrada de la aplicación de consola.


//
#include "stdafx.h"
#include <iostream>
#include <stdlib.h>
#include <conio.h>

using namespace std;

int main()
{
int matriz[3][4];
int arreglo[3];
int i, j;
cout<<"POSICIONES DE DATOS EN CASILLAS\n";
for(i=0;i<3;i++)
{
for(j=0;j<4;j++)
{
cout<<"Ingrese el numero entero correspondiente a la posicion
["<<i<<"]["<<j<<"]:\t";cin>>matriz[i][j];
}
}
cout<<"\nEl valor["<<i<<"]"<<endl;
cout<<"El valor["<<j<<"]"<<endl;
cout<<"La matriz es: "<<matriz[i][j]<<endl;
system("pause");
return 0;
}
A). GLOSARIO
1. Bitmap: es literalmente, un mapa de bits, es decir, la representación
binaria en la cual un bit o conjunto de bits corresponde a alguna parte de
un objeto como una imagen o fuente.

2. Bucles: es una sentencia que se realiza repetidas veces a un trozo


aislado de código, hasta que la condición asignada a dicho bucle deje de
cumplirse.

3. Chunks: es un fragmento de información, contenido en formatos


multimedia como PNG, IFF, MP3, AVI y otros. Cada chunk contiene una
cabecera que indica algunos parámetros como el tipo, comentarios,
tamaño, etc. Inmediatamente hay un área variable de datos que son
decodificados por el programa según los parámetros indicados en la
cabecera. También se denominan chunks a los fragmentos de
información que bajan o suben los gestores de
descargas o programas P2P.

4. Cromática: es un adjetivo con el cual se define a todo aquello que


pertenece o se refiere a los colores.
5. Decodificación: Es el proceso en el cual el receptor transforma el
código utilizado por el emisor para interpretar los signos empleados. De
esta forma los signos son asociados a las ideas que el emisor trató de
comunicar.

6. Entrópica: es un método de codificación sin perdidas que es


independiente de las características específicas del medio. Este método
se basa en un conocimiento previo sobre los símbolos que surgirían en
una trama binaria. La entropía es un factor para evaluar los
codificadores. Se calcula con los nombres de bits por símbolo usados.

7. Estereoscópica: La estereoscopía es cualquier técnica capaz de


recoger información visual tridimensional y/o crear la profundidad
mediante una imagen estereográfica, un estereograma, o una imagen
3D (tridimensional).

8. Ghostscript: es el programa intérprete por excelencia de documentos


en formato PS (y también PDF). Ghostscript permite presentar datos PS
y PDF en la pantalla y además traducirlos de manera que puedan ser
impresos en una impresora con capacidad gráfica mediante el uso del
controlador de dicha impresora.

9. Indexadas: En terminología de internet, indexar hace referencia a la


acción de agregar una o más páginas web a las bases de datos de los
buscadores de internet, para que estas aparezcan en los resultados de
búsquedas de los mismos.
10. Infografía: es una representación visual de los propios textos; en la que
intervienen descripciones, narraciones o interpretaciones, presentadas
de manera gráfica normalmente figurativa, que pueden o no coincidir con
grafismos abstractos y/o sonidos. La infografía nació como un medio de
transmitir información gráficamente.
11. Konqueror: es un navegador web, administrador de archivos y visor de
archivos. Forma parte oficial del proyecto KDE. Es software libre y de
código abierto, y al igual que el resto de los componentes de KDE, está
liberado bajo la licencia GPL.
12. Matricial: Que contiene una matriz que se mueve perpendicularmente al
papel, formada por unas agujas que impactan en la cinta para la
impresión de cada carácter.
13. Metaficheros: Un metafichero permite guardar contenidos de varios
tipos en un mismo fichero, como fotografías, textos, vectores, e incluso
sonido y vídeo, aunque estos últimos elementos caen fuera del propósito
de este curso. Los formatos gráficos que permiten trabajar con
metaficheros se denominan metaformatos.
14. Metaformatos: Es un término general para los sistemas de grabación
de datos que permite guardar contenidos de varios tipos en un mismo
fichero.
Por ejemplo: fotografías, textos, líneas, sonidos o incluso
vídeos dentro de un mismo fichero.
15. Paintbrush: es un programa editor de fotografía desarrollado
por Microsoft. Paint ha acompañado al sistema Microsoft
Windows desde la versión 1.0. Siendo un programa básico, se incluye
en todas las nuevas versiones de este sistema. usabilidad de Windows.
16. Pixel: es un único punto en una imagen gráfica. Los monitores gráficos
muestran imágenes dividiendo la pantalla en miles (o millones) de
pixeles, dispuestos en filas y columnas. Los pixeles están tan juntos que
parece que estén conectados.
17. Plug-in: es aquella aplicación que, en un programa informático, añade
una funcionalidad adicional o una nueva característica al software. En
nuestro idioma, por lo tanto, puede nombrarse al plugin como
un complemento.
18. PostScript: Se trata de un lenguaje de descripción de páginas que se
ha convertido en un estándar. Está diseñado contemplando cuantos
elementos entran en la composición de una página que ha de ser
impresa en una máquina de tecnología láser con elevada resolución.
19. Rasterizado: es el proceso por el cual una imagen descrita en un
formato gráfico vectorial se convierte en un conjunto de píxeles o puntos
para ser desplegados en un medio de salida digital, como
una pantalla de computadora, una impresora electrónica o una Imagen
de mapa de bits (bitmap).
20. Wavelet: es un tipo especial de transformada matemática que
representa una señal en términos de versiones trasladadas y dilatadas
de una onda finita (denominada ondula madre).
B.) RESUMEN DEL TEMA VII: GRAFICACIÓN
Los gráficos de computadora es una de las áreas de mayor importancia, es una
herramienta de mucha utilidad para la producción y edición de la mayor parte
de las imágenes o videos que podemos percibir. En la década de los 60’s se
crean las primeras computadoras pero sin utilizar ningún tipo de gráficos
porque la computadora carecía de una pantalla, en los 70’s por fin se crea el
microprocesador que incluirían ya sistemas gráficos, en los 80’s se comienza la
comercialización de las computadoras personales, y se crea la primer tarjeta de
video con poca resolución pero de gran ayuda para los primeros estudios de
animación, se lanza Microsoft Windows 1 y también sale a la luz el software
Adobe Photoshop. En la década de los 90’s se dieron a conocer sistemas
operativos con sistema de gráficos en sus ventanas, algo que dejo huella fue la
venta del primer Nintendo videojuego con base a gráficos, animaciones y algo
en partículas en ese tiempo fue la inserción de la primera plataforma en 3D. A
partir del año 2000 hasta la actualidad se han desarrollado notorios avances
tecnológicos como las computadoras con mayor capacidad de procesamiento y
gráficos con una mayor resolución gracias a sus tarjetas gráficas de doble
núcleo. En la actualidad se utilizan diferentes programas para los gráficos los
cuales generan formatos específicos de acuerdo a las características que el
artista o creador requiera y dependiendo en donde se vaya a utilizar, con el
avance de la tecnología, la evolución de los formatos de imágenes también ha
impactado y con ellos beneficios y desventajas, que como ya sabemos entre
mejor calidad de gráficos será mayor el tamaño que ocupe el archivo, pero la
percepción se pude ver más realista, ya que las dimensiones bidimensionales,
y tridimensionales les dan un toque en particular que los hace tener una mayor
claridad de gráficos.
Los gráficos por computadora son una potente herramienta para la producción
rápida y económica de imágenes. Los gráficos por computadora se usan en
campos tan diversos como las ciencias, las artes, la ingeniería, los negocios, la
industria, la medicina, etc.
El diseño asistido por computadora, se trata de una base de datos de entidades
geométricas (puntos, líneas, arcos, etc.) con la que se puede operar a través
de una interfaz gráfica.
Se utilizan gran variedad de métodos computacionales, incluyendo hardware
como tabletas digitalizadoras, software como Adobe Photoshop o Macromedia
FreeHand. Los cuales ayudan a crear dibujos y detallarlos.
Se utilizan para usos comerciales como para la creación de logotipos, páginas
de revista, anuncios, periódicos, etc.
Los gráficos desempeñan un papel importante en la creación de video juegos,
desde años atrás esta práctica ha sido la mayor atracción de millones de
personas, sin duda un gran descubrimiento. También se ha descubierto su uso
en cámaras vía satélite, que comúnmente se utilizan para interpretar los
estados del clima y cambios que pudieran surgir, otra aportación se da en
aparatos que se utilizan en consultorios para realizar todo tipo de estudios con
ayuda de programas con graficación.
Los formatos de imágenes en los mapas de bits son:
BMP,GIF,JPEG,EXIF,PNG,TIFF.
Los formatos de imagines vectoriales son:
AI,ODG,WMF,SVG.

C). DIFERENCIA ENTRE VECTORIAL Y MAPA DE BITS


La principal diferencia entre los formatos vectoriales y mapa de bits es en que
los gráficos vectoriales se construyen sobre figuras geométricas y al aumentar
la imaginan esta se agranda proporcionalmente sin perder su calidad. En los
mapas de bits se agrupan pequeños puntos llamados pixeles el cual al
expandirse se distorsiona la imagen.
D). SISTEMA GRAFICO TÍPICO

Entradas: es todo aquello que el programa ha calculado y desea dibujar.


Procesador ("CPU"): es el administrador del sistema, realiza las operaciones
que se le pida.
Memoria: unidad que el CPU requiere para poder realizar las operaciones
adecuadamente.
Frame Buffer: es la parte donde se almacena todo lo que se pretende dibujar
para luego mostrarlo en la pantalla.
Look Up Table ("LUT"): contiene toda la paleta de colores disponibles en el
sistema.
Conversor D/A: la información contenida en el buffer tiene que ser convertida
ha análoga para poder ser proyectada a la pantalla.
Salidas: la información análoga es proyectada a la pantalla.
A). LENGUAJE DE INTERRUPCIONES
Una interrupción es un mecanismo que permite ejecutar un bloque de
instrucciones interrumpiendo la ejecución de un programa, y luego restablecer
la ejecución del mismo sin afectarlo directamente. De este modo un programa
puede ser interrumpido temporalmente para atender alguna necesidad urgente
de la computadora y luego continuar su ejecución de manera normal y como si
nada hubiera pasado.

Pasos durante una interrupción:

 El CPU suspende lo que estaba realizando. El hw transfiere el control al


sistema de operación.
 Deshabilita las interrupciones. Mientras se atiende una interrupción no
se puede atender otra que llegue. Algunas arquitecturas con manejo de
interrupciones sofisticadas permiten, mediante un esquema de
prioridades, interrumpir un servicio de interrupción para atender otra de
mayor prioridad. Aquellas interrupciones de menor o igual prioridad son
deshabilitadas.
 El kernel del sistema de operación salva el estado actual del proceso
interrumpido
 Transfiere su ejecución a una dirección fija. Esta dirección por lo general
contiene la dirección de comienzo donde la rutina de servicio de la
interrupción se encuentra. Una forma de manejar las interrupciones es
invocando una rutina general que examine la información de la
interrupción y determine el tipo de interrupción ocurrida, y de allí llama a
la rutina que se encarga de atender dicha interrupción. Por lo general se
maneja mediante un vector de interrupciones, indexado por el tipo de
interrupción. En este vector se encuentra la dirección de comienzo de la
rutina que da servicio a dicho tipo. Se le conoce como vector de
interrupción. Otra forma de localizar la rutina apropiada es mediante
el pooling, es decir, preguntando a cada dispositivo pare ver quien
requirió el servicio.
 Se ejecuta la rutina de interrupción
 Se restaura el estado anterior
 Se habilitan las interrupciones.
 La arquitectura de interrupciones debe también almacenar la dirección
de la instrucción interrumpida.

SISTEMA HEXADECIMAL
En el sistema hexadecimal los números se representan con dieciséis símbolos:
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E y F. Se utilizan los caracteres A, B, C, D,
E y F representando las cantidades decimales 10, 11, 12, 13, 14 y 15
respectivamente, porque no hay dígitos mayores que 9 en el sistema decimal.
B). RESUMEN DE CÓMO SE PROGRAMA UN PUERTO PARALELO
El lenguaje C/C++ se conoce como lenguaje compilado, dicho lenguaje es de
nivel medio ya que combina el lenguaje de alto nivel y el lenguaje ensamblador.

Utiliza identificadores como char, double, int, float etc. La variable es un tipo de
dato referenciado a un identificador se usa como: [codificador] <tipo>
<nombre> y el dato puede ser modificado. La utilización de valores constantes
para poder leerlo se introduce como: #define <identificador> <valor>.

En C++ se usan varios tipos de secuencias de escape para que el dato


introducido este bien estructurado: \n,\b,\t,\v etc.

Se trabaja con librerías cuando hay funciones que no están incluidas en el


programa el código se introduce como: #include <misfunc.h>.

Los operadores son datos que al momento de introducir realizan una operación
dentro del programa se usan los mismos de siempre +,-,*,/,%. Al introducirlos al
programa son: <variable> <operador> <variable2>. Hay un tipo de operadores
de asignación que después del operador se le agrega un” =” y realizara la
misma instrucción, ejemplo: n+=3.

Los operadores relacionales se usan para discriminar datos en determinadas


operaciones dentro del programa así tener una forma más ordenada de datos
introducidos.

< Menor que <=menor igual que = =igual que


>Mayor que >=mayor igual que != distinto que
El uso del pritf es para la aparición de datos en la pantalla para que eso sea
posible se realiza: printf(control,arg1,arg2) e imprimirá los datos en pantalla.

Las secuencias condicionales como el if o else y for son para el variar el flujo
del programa su estructura es:

if (condición) sentencia1; for (inicialización;condición;incremento)

else sentencia2; {sentencia1;

sentencia2;}
El formato de transmisión por paralelo se realiza cuando el dispositivo envía
datos a otra con una tasa de bits, a través de ciertos datos y tiempo. Para
poder pedir datos tiene que estar vacío el receptor y así el transmisor realiza la
misma operación, esta clase de entrada y salida de datos varia del tipo de
cable que se utilice. En los puertos para poder visualizar los datos se utilizan
los LED.La estructura del programa en la entrada y salida de datos valores
binarios que son 0 y 1.

Se utiliza la librería: conio.h y La línea: outp(dir_puerto,valor); el dato dir_puerto


es la dirección de memoria que ocupa el puerto. El valor es el número que se
mostrara en el puerto.

Se realiza un registro de estado para capturar datos, para poder realizar la


operación de entrada de datos se introduce la librería: conio.h y la línea:
inp(dir_puerto+1);

Un ejemplo de la programación de puerto seria el siguiente:


#include<dos.h>
void main()
{
int x;
for(x=1;x<=128;x=x*2)
{
outportb(Ox378,x);
delay(1000);
}
for(x=128;x>=1;x=x/2)
{
outportb(Ox378,x);
delay(1000);
}
}
CONCLUSIÓN

En conclusión se obtuvo conocimientos básicos de programación con el apoyo


de la maestra, que al ingresar al curso era totalmente desconocido y algo
nuevo en lo personal, con las estructuras básicas como diagramas de flujo y
pseudocódigo se logra una mayor comprensión de cómo se realiza la
estructura del código para luego introducirlo en el programa y respectivamente
realizar lo que se pide en cada uno de los problemas planteados y con ello se
pudo realizar los programas propuestos en todo el semestre.

Se obtuvo conocimiento del tipo de datos, indicadores, variables, funciones,


programación en puertos y la utilización de cada uno de ellos, dependiendo el
tipo de resultado que se desea obtener en los programas.

Y por último la aplicación de todo lo que se vio en el semestre incluido en los


arreglos sencillos y bidimensionales.

Das könnte Ihnen auch gefallen