Sunteți pe pagina 1din 24

III Periodo 2013 MANUAL PROGRAMACION II

Clase: Programacin II
Contenido de la II y III Unidad
1
III Periodo 2013 MANUAL PROGRAMACION II
Estructuras Bsicas
If Normal O Simple,
if [condicin]
{
[cuando es verdadera]
};
No tiene la parte falsa la instruccin.
If / Else,
if [condicin]
{
[cuando es verdadera]
}
else
{
[cuando es falsa]
};
Tiene la parte que se debe de ejecutar en
caso que la condicin sea falsa
NOTA: Podemos notar que la llave (})
antes del else no lleva termina en ;.
debemos tener cuidado al trabajarlo.
if Comprimido
variable=(condicion)?v:f;
Se asigna el valor segn el resultado de la
condicin. por ejeplo!
=(a!b)?a:b;
Estructura de Control While
"#ile (condicin)
{
$ins%rucciones
};
Se repite ientras la condicin sea
verdadera

Estructura de Control do/while
do
{
$ Ins%rucciones
}"#ile(condicin);
Se repite ientras la condicin sea
verdadera
"a diferencia para seleccionar entre uno # otro es$ que el ciclo do/while$ se ejecutara al enos una ve%$ ientras
en el while puede que no se corra ni una sola ve%.
&
III Periodo 2013 MANUAL PROGRAMACION II
Estructura de Control FOR
Este ciclo repite las instrucciones un nero fijo de veces$ auentando o disinu#endo una variable que cuenta
cada ve% que se repiten las instrucciones.
&'()*+(*), -&. +I+./ 0/)
for(variable; condicin; ca1bio)
{
$ins%rucciones
};
&2&3P./
for(in% i=0; i45; i66)
{
cou%44i;
};
For Anidados
Es cuando se utili%an ciclos O! uno dentro del otro$ coo por Ejeplo$ Se puede utili%ar tabi'n para
generar figuras coo un cuadrado (ec(o de "
7include 4ios%rea1!
usin8 na1es9ace s%d;
in% 1ain()
{
cou%44:&;e19lo for anidado:44endl;
for(in% <= 1; <4==; <66)
{
for(in% = 1; 4==; 66)
{
cou%44:$:;
};
cou%44endl;
};
s<s%e1(>9ause:);
re%urn 0;
}
Este segento de cdigo genera la siguiente salida!
" " "
" " "
" " "
)l variar los valores de inicio # fin para cada ciclo se puede cabiar el tipo de figura que se genera.
3
III Periodo 2013 MANUAL PROGRAMACION II
Los Arreglos
Es una estructura (oog'nea de datos de taa*o constante accediendo a cada uno de sus eleentos ediante
un identificador con # uno o varios +ndices.
, Todos los eleentos del arreglo son del iso tipo.
, El nero de ellos no var+a durante la ejecucin del prograa.
, )ccedeos a un eleento de la estructura ediante un identificador con$ el nobre del arreglo$ # con el
valor que toan uno o varios +ndices. )l nero de +ndices necesarios para designar un eleento del arreglo se
le denoina diensin del arreglo.
, El nero -io de valores posibles que puede toar cada +ndice se denoina rango de esa diensin o
+ndice. "os valores (an de ser consecutivos$ por lo que el +ndice (a de ser de un tipo ordinal.
"a declaracin s general de un arra# es la siguiente!
%i9o,rra< [ele1en%os];
la fora de ubicarnos en cualquiera de sus eleentos es la siguiente
[9os];
*donde pos puede ser una variable o una constante que este comprendida en el rango del arreglo
Ejeplo!
.n arreglo de taa*o /
in% [?];
Se ver+a de la siguiente fora
0 si (aceos lo siguiente
[2]=15; @@ se dice de dos <@o sub 2
i=5;
[i]=50;@@ se dice de i <@o sub i
Tendreos lo siguiente!
1
III Periodo 2013 MANUAL PROGRAMACION II
La Estructura Arreglo 2D
En t'rinos generales es igual al lineal$ con la salvedad que a(ora tiene fora de (oja cuadriculada$ es decir$
contiene filas # colunas.
"a declaracin s general de un arra#&2 es la siguiente!
tipo)rra# -3c43f4
la fora de ubicarnos en cualquiera de sus eleentos es la siguiente
-3coluna43fila4
5donde 6coluna$ fila7 puede ser una variable o una constante que este coprendida en el rango del arreglo
Ejeplo!
un arreglo de 1 filas # / colunas
int -3/43148
Se ver+a de la siguiente fora

Si (aceos lo siguiente
9314314:1;8
fila:18
coluna:/8
93coluna43fila4:<8
* En algunos textos encontraran que la relacin es [FILA[ !"L#$%A en t&rminos generales es lo mismo' es
cuestin de perspectiva(
<
III Periodo 2013 MANUAL PROGRAMACION II
Recursividad
En t'rinos generales son funciones o procediientos que se llaan a si isos. El ejeplo clsico de
recursividad es el clculo de factorial
Ejeplo 1!
=actorial de 1 es
15&5351:&1
> planeado en ultiplicaciones binarias
15&
&53
?51 : &1
7include 4ios%rea1!
usin8 na1es9ace s%d;
in% fac%orial(in% n)
{
if(n41)
re%urn 1;
re%urn n$fac%orial(nA1);
}
in% 1ain()
{
cou%44fac%orial(B)44endl;
s<s%e1(C9auseC);
}
Ejeplo 1!
Encontrar el a#or de los valores guardados en un arreglo.
7include 4ios%rea1!
usin8 na1es9ace s%d;
in% 1a<or(in% a[]Din% ln)
{
in% 1=a[lnA1];
in% %;
if(ln!1)
{
%=1a<or(aDlnA1);
cou%44Cco19ara C44%44C con C44144endl;
if(%!1)
{
1=%;
}
}
re%urn 1;
}
in% 1ain()
{
in% a[5]={=D2DBD5D1};
cou%441a<or(aD5)44endl;
s<s%e1(C9auseC);
}
&n la recursividadD sie19re debe1os 9res%ar a%encin donde inicia < donde va a
%er1inarE
?
III Periodo 2013 MANUAL PROGRAMACION II
Mtodos VOID
@ascal ofrece dos (erraientas bsicas para reali%ar prograacin descendente! los procediientos AprocedureB
# las funciones AfunctionB$ a los que nos referireos gen'ricaente con el t'rino de subprograas. Turbo
pascal incorpora ades el concepto de unidad AunitB$ que perite aprovec(ar dulos independientes #a
copilados.
Los ar!metros
"os paretros son canales de counicacin para pasar datos ente prograas # subprograas en abos
sentidos. "os paretros van asociados a variables. constantes$ e-presiones$ etc.$ # por tanto$ se indican
ediante los correspondientes identificadores o e-presiones. "os paretros que se utili%an en la llaada o
invocacin al subprograa se denoinan paretros actuales$ reales o arguentos$ # son los que entregan la
inforacin al subprograa. "os paretros que la reciben en el subprograa se denoinan paretros
forales o ficticios # se declaran en la cabecera del subprograa.
En una llaada a un subprograa tiene que verificarse que!
1. El nero de paretros forales debe ser igual al de actuales.
&. "os paretros que ocupen el iso orden en cada una de las "istas deben ser copatibles en tipo.
Estructura, declaraci"n # empleo de un procedimiento
Se declaran inediataente despu's de las variables del prograa principal$ teniendo la precaucin de que si
un subprograa referencia o llaa a otro$ el referenciado debe declararse priero.
2eclaracin de procediientos.
Cabecera void nobreEvento Alista de paretrosB
Cuerpo D
E8 A5observar8 final de procediiento5B
F
III Periodo 2013 MANUAL PROGRAMACION II
$eclaraci"n $e ar!metros Formales%
Se declaran encerrados entre par'ntesis$ indicando el identificador # el tipo correspondiente asociado a cada
uno$ separados por 6!7$ # terinando en 687. "a palabra reservada G)H precediendo a un identificador de
paretro foral indica al copilador que el paso del paretro es pro G)Hiable. Su ausencia u oisin indica
que el paso de paretro se reali%a por G)">H.
Ejeplo.
void Iden%ificador (%i9o1 P01D %i9o2 P02D %i9o= F P0=)
@=l # @=& se pasan por valor.
@=3 se pasa por variable.
Llamada A &n rocedimiento%
Se reali%a desde el prograa principal indicando el identificador del procediiento seguido de la lista de
paretros actuales encerrados entre par'ntesis # separados por coas.
Ejeplo
@rocediiento para intercabiar los valores de dos variables.
7include 4ios%rea1!
usin8 na1es9ace s%d;
void in%erca1bio (in% F 9f1D in% F 9f2)
{
in% au;
au=9f1;
9f1=9f2;
9f2=au;
};
in% 1ain()
{
in% en%ero,D en%eroG;
s<s%e1(CclsC); @@{$borrado de 9an%alla$}
cou%44Cin%roduHca valor 1: C; cin!!en%ero,;
cou%44Cin%roduHca valor 2: C; cin!!en%eroG;
s<s%e1(CclsC); @@{$borrado de 9an%alla$}
cou%44Clas variables an%es:C44en%ero,44CD C44en%eroG44endl;
in%erca1bio (en%ero,Den%eroG);@@ {lla1ada al 9rocedi1ien%o}
cou%44Clas variables des9ues:C44en%ero,44CD C44en%eroG44endl;
s<s%e1(C9auseC);
re%urn 0;
};
/
III Periodo 2013 MANUAL PROGRAMACION II
Ejeplo
.n procediiento que dibuje 1< estrellas
7include 4ios%rea1!
usin8 na1es9ace s%d;
void es%rella()
{
for(in% i=1;i4=15;i66)
{
cou%44:$:;
};
cou%44endl;
};
in% 1ain()
{
es%rella();
cou%44:#ola:44endl;
es%rella();
s<s%e1(>9ause:); re%urn 0;
}
.n procediiento que reciba tres neros tipo double$ el segundo valor guarda la parte entera$ # el otro la parte
decial.
7include 4ios%rea1!
7include 41a%#E#!
usin8 na1es9ace s%d;
void ca1bio(double rD double F iaD double F ib)
{
ia=floor(r);
ib=rAia;
};
in% 1ain()
{
double aD bD c;
cou%44Cun nI1ero deci1al: C; cin!!a;
ca1bio(aDbDc);
s<s%e1(>cls:);
cou%44C9ar%e en%era: C44b44endl;
cou%44C9ar%e deci1al: C44c44endl;
s<s%e1(C9auseC);
re%urn 0;
}
I
III Periodo 2013 MANUAL PROGRAMACION II
METODOS CON RETORNO DE VALOR
.na funcin es un odulo de un prograa separado del cuerpo principal$ que reali%a una tarea especifica # que
puede regresar un valor a la parte principal del prograa u otra funcin o procediiento que la invoque.
"a fora general de una funcin es!
%i9o-a%o Jo10uncion(9ara1e%ros)
{
Ins%rucciones;
};
2onde tipodato especifica el tipo de dato que regresara la funcin.
0 el No=uncion tiene dos papeles en pascal!
)B Es el nobre que se invocara dentro del principal o de algn procediiento u otra funcin .
BB Es tabi'n una variable que deber cargarse dentro del cuerpo de instrucciones AD ..EB para que pueda
regresar el dato o resultado al principal o procediiento o funcin que la este invocando.
"a lista de paraetros forales es una lista de variables separadas por punto # coa A 8B que alacenaran los
valores que reciba la funcin$ estas variables actan coo locales dentro del cuerpo de la funcin.
Hecordar ades que cuando se llae una funcin deber (aber una variable que reciba el valor que regresara
la funcin$ es decir generalente se llaa una funcin ediante una sentencia de asignacin$ por Ejeplo
resultado:funcinA<$ 3.111?B8
1;
III Periodo 2013 MANUAL PROGRAMACION II
EJEK@">!
.na funcin que calcule el cabio del dlar$ dando la cantidad de lepiras$ # la tasa de cabio.
7include 4ios%rea1!
usin8 na1es9ace s%d;
double a-olares(double le19irasD double %c)
{
double ;
= le19iras @%c;
re%urn ;
};
in% 1ain()
{
double dolar;
dolar = a-olares(150E00 D 1KEL5);
cou%44C'/J C44dolar44C -/.,)&'C44endl;
s<s%e1(C9auseC);
re%urn 0;
}
11
III Periodo 2013 MANUAL PROGRAMACION II
Ejeplo.
.na funcin reciba & valores$ # que retorne la sua de los neros!
7include 4ios%rea1!
usin8 na1es9ace s%d;
in% su1a(in% aDin% b)
{
in% c;
c=a6b;
re%urn c;
};
in% 1ain()
{
in% n1D n2D s;
cou%44>nu1ero 1: >;
cin!!n1;
cou%44>nu1ero 2: >;
cin!!n2;
s=su1a(n1Dn2);
cou%44>la su1a es: >44s;
s<s%e1(>9ause:); re%urn 0;
}
5 "a variable de destino es del iso tipo que la variable que regresa el 'todo$ de tipo 6int7. El orden coo #
el tipo de los paretros es el iso.
1&
III Periodo 2013 MANUAL PROGRAMACION II
METODOS MS COMUNES
fbs()
Hetorna valor absoluto
acos()D asin()D a%an()
6 arc coseno$ arc seno$ arc tangente de -.
cos()D sin()D %an()
6 el coseno$ seno # tangente de -
e9()
6 el e-ponencial de -
ceil()
6 el redondeo (acia arriba de -.
floor()
6 al redondeo (acia debajo de -.
lo8()
6 el logarito natural de -
9o"(baseD e9onen%e)
6 eleva la base al e-ponente
sMr%()
6 la ra+% cuadrada
s<s%e1(>9ause:);
Lace una pausa al sistea
'<s%e1(>cls:);
"ipia el contenido de la pantalla
srand ( %i1e(J*..) );
Mniciali%a los neros aleatorios
rand();
Hetorna un nuero aleatorio
@ara las funciones trigono'tricas$ el paretro 6-7 debe estar en radianes. por ejeplo$ para consultar
3; grados$ debe calcular : 3;5N O1/;
13
III Periodo 2013 MANUAL PROGRAMACION II
N!eros Aleatorios
K'todo H)N2AB$ genera un nero coprendido entre ; # 3&F;;$ si lo odulaos utili%ando un paretro 9$
obtiene un nero entero entre ; # 9P1. El procediiento SH)N2ATMKEAN.""BB$ evita generar el iso
grupo de neros aleatorios$ renovndolo en cada ejecucin.
generar 1; nueros aleatorios entre 1 # <
7include 4%i1eE#!
7include 4ios%rea1!
usin8 na1es9ace s%d;
in% 1ain ()
{
in% 8enera;
@$ inicialiHa rando1 $@
srand ( %i1e(J*..) );
@$ 8enerar nu1ero secre%o secre%o $@
for(in% i=0;i410;i66)
{
8enera = rand() N 5 6 1; @@8enerando nu1ero en%re 1 < 5
cou%448enera44endl;
}
s<s%e1(C9auseC);
re%urn 0;
}
.n prograa que genera un nuero entre 1 # 1;$ # trata de adivinarlo.
7include 4%i1eE#!
7include 4ios%rea1!
usin8 na1es9ace s%d;
in% 1ain ()
{
in% i'ecre%oD i,divina;
@$ inicialiHa rando1 $@
srand ( %i1e(J*..) );
@$ 8enerar nu1ero secre%o secre%o $@
i'ecre%o = rand() N 10 6 1; @@8enerando nu1ero en%re 1 < 10
do {
cou%44C-ar un nu1ero en%re 1 < 10: C;
cin!!i,divina;
if (i'ecre%o4i,divina)
cou%44C&l nu1ero secre%o es 1enorC44endl;
else
if (i'ecre%o!i,divina)
cou%44Cel nu1ero secre%o es 1a<orC44endl;
} "#ile (i'ecre%oO=i,divina);
cou%44C0&.I+I-,-&'C44endl;
s<s%e1(C9auseC);
re%urn 0;
}
11
III Periodo 2013 MANUAL PROGRAMACION II
Registros
.n registro es una estructura (eterog'nea de datos$ denoinados capos # a los que accedeos por nobre. )l
igual que cualquier otro dato$ el tipo registro AHecordB antes de poder se utili%ado debe ser declarado en la
seccin de tipos.
"a nica operacin Aa parte de la lecturaB que se puede reali%ar con una variable registro coo tal es la
asignacin$ es decir$ se pueden copiar todos los capos de una variable registro a otra variable registro del
iso tipo. )des un registro puede ser pasado coo paretro a una funcin o procediiento.
Ejeplo!
class (i9ore8is%ro
{
9ublic:
%i9o1 +a19o 1;
E
E
%i9on +a19o J;
};
%i9ore8is%ro )e8is%ro1;
Ejeplo!
7include 4ios%rea1!
7include 4s%rin8!
usin8 na1es9ace s%d;
class %alu1no
{
9ublic:
in% clave;
s%rin8 no1bre;
double es%a%ura;
};
in% 1ain()
{
%alu1no alu1no;
s%rin8 ;uan;
cou%44Cleer clave : C;cin!!alu1noEclave;
cou%44Cleer 9ri1er no1bre : C;cin!!alu1noEno1bre;
cou%44Cleer es%a%ura : C;cin!!alu1noEes%a%ura;
s<s%e1(CclsC);
cou%44Clos da%os ca9%urados fueronC44endl;
cou%44Cclave : C44alu1noEclave44endl;
cou%44C9ri1er no1bre : C44alu1noEno1bre44endl;
cou%44Ces%a%ura : C44alu1noEes%a%ura44endl;
s<s%e1(C9auseC);
re%urn 0;
}
1<
III Periodo 2013 MANUAL PROGRAMACION II
La"oratorios
1?
III Periodo 2013 MANUAL PROGRAMACION II
La'oratorio (, Arre)los
1. Crear un arreglo de < enteros$ llenarlo con valores de aleatorios entre P1; # 1;$ luego ostrar el +ndice # el
contenido del arreglo.
7include 4ios%rea1!
7include 41a%#E#!
7include 4%i1eE#!
usin8 na1es9ace s%d;
in% 1ain()
{
in% arre8lo[5];
srand( %i1e(J*..) );
for(in% i=0;i45;i66)
{
arre8lo[i]=A106rand()N21;
}
for(in% i=0;i45;i66)
{
cou%44i44C)C44arre8lo[i]44endl;
}
s<s%e1(C9auseC);
re%urn 0;
}
&. Crear un arreglo de < eleentos. con neros aleatorios entre 1; # 1;;$ luego ostrar el +ndice # el
contenido del arreglo
3. Crear un arreglo de < enteros. "lenarlo con valores le+dos del teclado$ luego ostrar el +ndice$ # el contenido
del arreglo.
7include 4ios%rea1!
usin8 na1es9ace s%d;
in% 1ain()
{
in% arre8lo[5];
for(in% i=0;i45;i66)
{
cou%44i44C): C;
cin!!arre8lo[i];
}
for(in% i=0;i45;i66)
{
cou%44i44C)C44arre8lo[i]44endl;
}
s<s%e1(C9auseC);
re%urn 0;
}
1F
III Periodo 2013 MANUAL PROGRAMACION II
1. Crear un arreglo de < enteros$ llenarlo con valores le+dos del teclado$ luego ostrar solo los neros pares.
<. Crear un arreglo de 1; enteros$ llenarlo con valores le+dos del teclado$ luego decir cual es el a#or de los
valores.
7include 4ios%rea1!
usin8 na1es9ace s%d;
in% 1ain()
{
in% arre8lo[10];
in% 1a<or;

for(in% i=0;i410;i66)
{
cou%44i44C): C;
cin!!arre8lo[i];
}
1a<or=arre8lo[0];
for(in% i=0;i410;i66)
{
if(arre8lo[i]!1a<or)
{
1a<or=arre8lo[i];
}
}
cou%44Cel 1a<or de los nu1eros leidos es: C441a<or44endl;
s<s%e1(C9auseC);
re%urn 0;
}
?. Crear un arreglo de 1; enteros$ llenarlo con valores le+dos del teclado$ dar cual es el rango de los valores
Arango:a#orPenorB.
F. Crear un arreglo de 1; enteros$ llenarlo con valores le+dos del teclado$ dar cual es el proedio de los valores.
5/. Crear un arreglo de 1; enteros. "lenarlo con valores aleatorios entre 1 # 1;. sin tener valores repetidos.
ostrar el contenido del arreglo.
1/
III Periodo 2013 MANUAL PROGRAMACION II
I. Crear un arreglo de 1; enteros$ llenarlo con valores le+dos del teclado$ calcular la sua de los valores le+dos.
7include 4ios%rea1!
usin8 na1es9ace s%d;
in% 1ain()
{
double arre8lo[10];
double su1a;
for(in% i=0;i410;i66)
{
cou%44i44C): C;
cin!!arre8lo[i];
}
su1a=0;;
for(in% i=0;i45;i66)
{
su1a=su1a6arre8lo[i];
}
cou%44Cla su1a de los valores leidos es: C44su1a44endl;
s<s%e1(C9auseC);
re%urn 0;
}
1;. Crear un arreglo de < enteros$ llenarlo con valores le+dos del teclado$ calcular la sua de los neros pares$
# de los neros ipares$ luego decir cul es la sua a#or.
11. Crear un arreglo para llenar la nota de < estudiantes$ llenarlo desde el teclado$ luego decir cuntos alunos
reprobaron$ cuantos aprobaron$ el proedio de la clase$ el proedio de los alunos que aprobaron$ el proedio
de los alunos que reprobaron.
1&. Crear un arreglo de 1; enteros. el prier valor es libre$ los valores siguientes deben ser a#or al anterior.
Kostrar el contenido del arreglo
1I
III Periodo 2013 MANUAL PROGRAMACION II
La'oratorio *, Estructuras '!sicas # +,todos%
1. Lacer un prograa que lea & neros # de el valor de la ultiplicacin.
7include 4ios%rea1!
usin8 na1es9ace s%d;
in% 1ain()
{
in% aD bD c;
cou%44C9ri1er nu1ero: C;
cin!!a;
cou%44Cse8undo nu1ero: C;
cin!!b;
c=a$b;
cou%44Cla 1ul%i9licacion es: C44c44endl;
s<s%e1(C9auseC);
re%urn 0;
}
&. Lacer un prograa que use el 'todo 6int ultiplicaAint a$ int bB7 para resolver el ejercicio anterior.
7include 4ios%rea1!
usin8 na1es9ace s%d;
in% 1ul%i9lica(in% 9ri1eroD in% se8undo)
{
in% 1;
1=9ri1ero$se8undo;
re%urn 1;
}
in% 1ain()
{
in% aD b;
cou%44C9ri1er nu1ero: C;
cin!!a;
cou%44Cse8undo nu1ero: C;
cin!!b;
cou%44Cla 1ul%i9licacion es: C441ul%i9lica(aDb)44endl;
s<s%e1(C9auseC);
re%urn 0;
}
3. Lacer un prograa que lea & neros$ # uestre el a#or.
1. (acer un prograa que use el 'todo 6int a#orAint a$ int bB7 para resolver el ejercicio anterior.
<. Lacer un prograa que lea 3 neros$ u uestre el nuero enor.
?. Lacer un prograa que use el 'todo 6int enorAint a$ int b$ int cB7 para resolver el ejercicio anterior.
F. Lacer un prograa que lea 3 neros$ # diga cual es el edio Ani el a#or$ ni el enorB.
&;
III Periodo 2013 MANUAL PROGRAMACION II
/. Lacer un prograa que use el 'todo 6int edioAint a$ int b$ int cB7 para resolver el ejercicio anterior..
I. Lacer un prograa que pida grados =a(ren(eit # uestre el equivalente en grados cent+grados$ use el
'todo 6double gCAdouble g=B7.
1;. Lacer un prograa que lea un nuero$ # deterine si es un nuero prio$ usar el 'todo 6int prioAint
nB7 que regresa 1 si es prio$ ; sino lo es.
11. Lacer un prograa que lea pulgadas$ # deterine cuantos piesOpulgadas (a#. usar el 'todo 6void
equivalenteAint pulgadasB7
7include 4ios%rea1!
usin8 na1es9ace s%d;
void eMuivalen%e(in% 9ul8adas)
{
in% 9ul8adas&%raD 9ies;
9ies=9ul8adas N 12;
9ul8adas&%ra=9ul8adasA9ies$12;
cou%44Cson C449ies44C9ies < C449ul8adas&%ra44C9ul8adasC44endl;
}
in% 1ain()
{
in% inc#es;
cou%44C+an%idad de 9ul8adas: C;
cin!!inc#es;
eMuivalen%e(inc#es);
s<s%e1(C9auseC);
re%urn 0;
}
1&. Lacer un prograa que cantidad de on%as$ # diga cuantos librasO on%as equivale. usar el 'todo 6void
equivalenteAint esesB7
13. Lacer un prograa que calcule la =uer%a$ dando coo inforacin peso # aceleracin. usar el 'todo
6double fuer%aAdouble asa$ double aceleracionB7.
11. Lacer un prograa que lea base # altura de un triangulo rectngulo$ # uestre el valor de la (ipotenusa.
usar el 'todo 6double (ipotenusaAdouble b$ double (B7
1<. Lacer un prograa que lea base # algura de un triangulo rectngulo$ # de el valor de los ngulos
internos. usar el 'todo 6void angulosAdouble b$ double (B7. la salida debe ser! ngulo basePLipotenusa
# ngulo alturaPLipotenusa.
&1
III Periodo 2013 MANUAL PROGRAMACION II
#aboratorio $% !e&istros
5 Con la siguiente estructura (acer los siguientes prograas
class T'oor
(
)ublic:
int *;
int +;
};
1. Lacer un prograa que lea un punto. Lacer una funcin que la reciba # retorne la distancia con el
origenA;$;B. # la uestre.
Qinclude 4ios%rea1!
7include 41a%#E#!
usin8 na1es9ace s%d;
class %coor
{
9ublic:
double ;
double <;
};
double dis%ancia(%coor %)
{
double d=sMr%(9o"(%ED2E0)69o"(%E<D2E0));
re%urn d;
}
in% 1ain()
{
%coor coor;
cou%44Cvalor en :C;
cin!!coorE;
cou%44Cvalor en <:C;
cin!!coorE<;
cou%44Cla dis%ancia con el ori8en es: C44dis%ancia(coor)44endl;
s<s%e1(C9auseC);
re%urn 0;
}
&. Lacer un prograa que lea & puntos. (acer una funcin que reciba los & puntos. calcule la distancia entre
ellos. ostrar el resultado.
3. Lacer un prograa que lea 3 puntos. (acer una funcin que retorne 1. si estos (ace un triangulo$ # ; sino
lo (acen. ostrar el resultado.
1. Lacer un prograa que lea & coordenadas. (acer una funcin que retorne 1$ si (acen un cuadrado. ; si
(acen un rectngulo. ostrar el resultado.
<. "eer & coordenadas$ la priera representa el centro de un circulo$ # la segunda un punto de la
circunferencia$ (acer una funcin que retorne el dietro del circulo$ (acer un prograa que lo pruebe
class racional
D
public!
&&
III Periodo 2013 MANUAL PROGRAMACION II
int nuerador8
int denoinador8
E8
En los siguientes probleas. utili%ar la clase racional. # un 'todo para leer # otro para ostrar los
atributos.
?. Lacer un prograa que lea & neros racionales. una funcin que retorne la sua. ostrar el resultado.
7include 4ios%rea1!
7include 41a%#E#!
usin8 na1es9ace s%d;
class racional
{
9ublic:
double nu1erador;
double deno1inador;
};
racional su1a(racional aD racional b)
{
racional s;
sEnu1erador=aEnu1erador$bEdeno1inador6bEnu1erador$aEdeno1inador;
sEdeno1inador=aEdeno1inador$bEdeno1inador;
re%urn s;
}
void lee)acional(s%rin8 %D racional F r)
{
cou%44%44CEnu1eradorC;
cin!!rEnu1erador;
cou%44%44CEdeno1inadorC;
cin!!rEdeno1inador;
}
void 1os%rar)acional(racional r)
{
cou%44C(C44rEnu1erador44C@C44rEdeno1inador44C)C;
}
in% 1ain()
{
racional D<DH;
lee)acional(CCD);
lee)acional(C<CD<);
H=su1a(D<);
cou%44Cla su1a es: C;
1os%rar)acional(H);
s<s%e1(C9auseC);
re%urn 0;
}
F. Lacer un prograa que lea & neros racionales. una funcin que retorne la ultiplicacin. ostrar el
resultado.
/. Lacer un prograa que lea & nueros racionales. (acer la funcin de sua$ resta$ ultiplicacin #
divisin. # ostrar los resultados.
I. Lacer un prograa que lea un nuero racional. una funcin que lo siplifique. ostrar el racional
siplificado. eje 1O/ : R.
1;. Lacer el ejercicio /. agregando la funcin de siplificacin para las respuestas.
&3
III Periodo 2013 MANUAL PROGRAMACION II
La'oratorio -, Arre)los *$ # Recursi.idad
1. Lacer un arreglo de 3-&$ llenarlo con neros aleatorios entre 1 # I. luego ostrar el contenido de la
atri%.
7include 4ios%rea1!
usin8 na1es9ace s%d;
in% 1ain()
{
double 1[=][2];
for(in% f=0;f42;f66)
{
for(in% c=0;c4=;c66)
{
cou%44C[C44c44C][C44f44C]:C;
cin!!1[c][f];
}
}
for(in% f=0;f42;f66)
{
for(in% c=0;c4=;c66)
{
cou%441[c][f]44C C;
}
cou%44endl;
}
s<s%e1(C9auseC);
re%urn 0;
}
&. Lacer & arreglos de &-&. llenarlo con valores le+dos del teclado. ostrar la sua de las & atrices.
3. Lacer & arreglos de &-&. llenarlo con valores le+dos del teclado. ostrar la ultiplicacin de las
atrices.
1. (acer & arreglos de &-&. llenar el priero con valores le+dos. el &do con valores aleatorios. decir en que
atri% se encuentra el nero a#or.
<. Lacer un prograa que pida un nero. (acer una funcin recursiva de factorial. calcular el factorial de
un nero.
?. Lacer un arreglo de < eleentos. llenarlo con valores aleatorios. usar una funcin recursiva para
deterinar el enor de los guardados.
&1

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