mas codigos de programas en c
TRANSCRIPT
-
7/26/2019 Mas Codigos de Programas en c
1/32
En este primer ejercicio se muestra la base de todo programa, la escritura en
pantalla.
Para ello, hay que introducir la librera adecuada con instrucciones bsicas
() e indicarle al programa dnde empe!ar ("oid main()).
#ecuerda que todas las instrucciones se escriben en min$sculas y acaban
en;.
%as &unciones ms simples y utili!adas son'
print&Escritura en pantalla
scan&%ectura de pantalla
1. Programa de inicio: Escritura en pantalla.
include
"oid main()
print&(*+olann*)-
/na "e! reali!ado el programa anterior, pasaremos a reali!ar ejercicios de
clculos matemticos. 0prenderemos a declarar "alores (int 1 n$meros
enteros, &loat 1 n$meros decimales, char 1 caracteres) y a pedir al ordenador
que los lea mediante la instruccin scan&. El clculo de "alores se sit$a sin
instruccin.
2. Programa que calcule la suma de dos nmeros.
-
7/26/2019 Mas Codigos de Programas en c
2/32
include
"oid main()
int 2,3,4-
print&(*Por &a"or, introdu!ca un numero' *)-
scan&(*5d*,62)-
print&(*0hora, inserte otro' *)-
scan&(*5d*,63)-
41273-
print&(*nEl resultado es 5dn*,4)-
3. Programa que calcula longitudes de circunferencia.
include
"oid main()
&loat #,sol8-
print&(*9ien"enido, calcularemos la longitud de su circun&erencia.nn*)-
print&(*%o unico que debe hacer es introducir el radio' *)-
scan&(*5&*,6#)-
sol81:;.8=8?:;#-
print&(*nnEl resultado es 5&nn*,sol8)-
Volver
http://informaticos53.webcindario.com/programacion.htm#menuhttp://informaticos53.webcindario.com/programacion.htm#menu -
7/26/2019 Mas Codigos de Programas en c
3/32
. Programa que calcula la media aritm!tica de tres nmeros
cualesquiera.
include
"oid main()
&loat a,b,c,@-
print&(*9ien"enido, calcularemos la media aritmetica de tres
numeros.nn*)-
print&(*Por &a"or, introdu!ca el primero' *)-
scan&(*5&*,6a)-
print&(*0hora, inserte el segundo de ellos' *)-
scan&(*5&*,6b)-
print&(*Por ultimo, teclee el numero &inal' *)-
scan&(*5&*,6c)-
@1(a7b7c)A- print&(*nEl resultado es 5&nn*,@)-
". Programa que calcula #reas de trapecios.
include
"oid main()
&loat bma,bme,h,0-
print&(*9ien"enido al programa para calcular areas de trapecios.nn*)-
print&(*9ien, introdu!ca la base mayor' *)-
scan&(*5&*,6bma)-
print&(*0hora, escriba la base menor' *)-
scan&(*5&*,6bme)-
print&(*3a solo necesito la altura' *)-
scan&(*5&*,6h)-
01((bma7bme);h)A:-
print&(*nEl area del trapecio es 5&nn*,0)-
0hora pasaremos a aprender operaciones aritmBticas ms complejas, como la
ra! cuadrada (sqrt). Para ello introducimos una nue"a librera ().
-
7/26/2019 Mas Codigos de Programas en c
4/32
$. Programa que calcule ra%ces cuadradas enteras.
include
include
"oid main()
int 2,#-
print&(*Por &a"or, inserte un numero*)-
scan&(*5d*,62)-
#1sqrt(2)-
print&(*nCu rai! cuadrada es 5dnn*,#)-
&. Programa que calcula el #rea de un tri#ngulo '()rmula de *er)n+.
include
include
"oid main()
&loat a,b,c,sp,#-
print&(*9ien"enido. Dalcularemos el area del triangulo.nn*)-
print&(*ntroduce el primer lado' *)-
scan&(*5&*,6a)-
print&(*0hora, inserta el segundo lado' *)-
scan&(*5&*,6b)-
print&(*Por ultimo, escribe el tercer lado' *)-
scan&(*5&*,6c)-
sp1(a7b7c)A:-
#1sqrt(sp;(spFa);(spFb);(spFc))-
print&(*nEl area obtenida es 5&nn*,#)-
print&(*@uchas gracias por utili!ar este progama.nn*)-
-
7/26/2019 Mas Codigos de Programas en c
5/32
,. Programa que calcula el capital final de un inter!s simple.
include
"oid main()
&loat c,,t,G-
print&(*9ien"enido. Dalcularemos el capital &inal de un interes
simple.nn*)-
print&(*Por &a"or, introduce el capital inicial' *)-
scan&(*5&*,6c)-
print&(*0hora, escribe el interes al que esta colocado' *)-
scan&(*5&*,6)-
print&(*Por ultimo, inserta el tiempo al que se deja el capital' *)-
scan&(*5&*,6t)-
G1c7c;(A8HH);t-
print&(*nnEl capital &inal es de 5&nn*,G)-
Itro smbolo que necesitaremos a partir de ahora ser el J5K, que sir"e para
calcular el resto de una di"isin. Podemos "erlo en el siguiente ejemplo.
-. Programa que calcule el resto de cualquier divisi)n entera.
include
"oid main()
int L,d,#-
print&(*+ola, obtendremos el resto de cualquier di"ision entera.nn*)-
print&(*nserte el di"idendo' *)-
scan&(*5d*,6L)-
print&(*9ien, escriba el di"isor' *)-
scan&(*5d*,6d)- #1L5d-
print&(*nEl resto de la di"ision es 5dnn*,#)-
-
7/26/2019 Mas Codigos de Programas en c
6/32
1. Programa que calcula el precio de un o/0eto sin el impuesto de valor
aadido 'V+.
include
"oid main()
&loat 2,M0,#-
print&(*9ien"enido.Dalcularemos el precio de un articulo sin el
M0.nn*)-
print&(*Por &a"or, introdu!ca el precio de la compra' *)-
scan&(*5&*,62)-
M01(8N;2A8HH)-
#12FM0-
print&(*nEl precio del objeto sin M0 es 5&nn*,#)-
11. Programa que calcule el #rea de un tri#ngulo.
include
"oid main()
int 9,+,0-
print&(*Por &a"or, introdu!ca la base del triangulo*)-
scan&(*5d*,69)-
print&(*0hora, inserte la altura del mismo*)-
scan&(*5d*,6+)-
019;+A:-
print&(*nCu area es de 5dnn*,0)-
-
7/26/2019 Mas Codigos de Programas en c
7/32
12. Programa que o/tenga la media geom!trica de tres numeros.
include
include
"oid main()
&loat a,b,c,#-
print&(*9ien"enido, obtendremos la media geometrica de tres
numeros.nn*)-
print&(*Por &a"or, introdu!ca el primer numero' *)-
scan&(*5&*,6a)-
print&(*0hora, inserte el segundo numero' *)-
scan&(*5&*,6b)-
print&(*Por ultimo, escriba el tercer numero' *)-
scan&(*5&*,6c)- #1cbrt(a;b;c)-
print&(*nEl resultado es 5&nn*,#)-
Volver
/na de las estructuras ms utili!adas en programacin en D77 es el Ji&K. Cir"e
para el ordenador distinga entre "arios caminos posibles. Ci hay ms de uno,
se utili!ar JelseK para seOalar el restante. %as condiciones "an entre lla"es.
@ayor >
@enor 1
@enor o
igual
-
7/26/2019 Mas Codigos de Programas en c
8/32
13. Programa que indica qu! numero de los dos introducidos por el
usuario es ma4or.
include
"oid main()
int 2,3-
print&(*Por &a"or, escribe un numero *)-
scan&(*5d*,62)-
print&(*0hora, teclea otro *)-
scan&(*5d*,63)-
i&(2>3)
print&(*nEl mayor es 5dnn*,2)-
else i&(3>2)
print&(*nEl mayor es 5dnn*,3)-
else print&(*nEstos dos numeros son igualesnn*)-
1. Programa que escri/a en pantalla un comentario con respecto a la
temperatura del d%a.
include
"oid main()
int 2,3-
print&(*9ien"enido. ntrodu!ca la temperatura*)-
scan&(*5d*,62)-
i&(2
-
7/26/2019 Mas Codigos de Programas en c
9/32
1". Programa que resuelve ecuaciones de segundo grado.
include
include
"oid main()
&loat 0,9,D,L,C,sol8,sol:-
print&(*9ien"enido, #esol"eremos su ecuacion de segundo grado.nn*)-
print&(*nPor &a"or, introdu!ca el coe&iciente 0' *)-
scan&(*5&*,60)-
print&(*n0hora, escriba el coe&iciente 9' *)-
scan&(*5&*,69)-
print&(*nPor ultimo, inserte el coe&iciente D' *)-
scan&(*5&*,6D)-
L19;9F=;0;D- i&(L
-
7/26/2019 Mas Codigos de Programas en c
10/32
1$. Programa que indica la correspondencia de un nmero introducido
por el usuario con un mes del ao 'aconse0a/le reali5arlo con 6789*+.
include
"oid main()
int m-
print&(*+ola, le diremos el mes segun el numero introducido.nn*)-
print&(*ntrodu!ca el numero' *)-
print&(*n*)-
scan&(*5d*,6m)-
i&(m118)
print&(*Este numero se corresponde con el mes de Enero.nn*)-
else i&(m11:)
print&(*Este numero se corresponde con el mes de Gebrero.nn*)- else i&(m11)
print&(*Este numero se corresponde con el mes de @ar!o.nn*)-
else i&(m11=)
print&(*Este numero se corresponde con el mes de 0bril.nn*)-
else i&(m11)
print&(*Este numero se corresponde con el mes de @ayo.nn*)-
else i&(m11N)
print&(*Este numero se corresponde con el mes de Vunio.nn*)-
else i&(m11W)
print&(*Este numero se corresponde con el mes de Vulio.nn*)-
else i&(m11X)
print&(*Este numero se corresponde con el mes de 0gosto.nn*)-
else i&(m11?)
print&(*Este numero se corresponde con el mes de
Ceptiembre.nn*)-
else i&(m118H)
print&(*Este numero se corresponde con el mes de Ictubre.nn*)-
else i&(m1188)
print&(*Este numero se corresponde con el mes deYo"iembre.nn*)-
else i&(m118:)
print&(*Este numero se corresponde con el mes de
Liciembre.nn*)-
else
print&(*Error, mes ineSistente.nn*)-
-
7/26/2019 Mas Codigos de Programas en c
11/32
@uchas "eces querremos reali!ar un programa que muestre un men$, es decir,
una serie de opciones para que nosotros decidamos a nuestra con"eniencia.
TDmo se haceU Pues simplemente tomando una nue"a "ariable JopcinK, de
la que eStraeremos su jugo con Ji&K.
1&. Programa que simula un ca0ero autom#tico con un saldo inicial de
1 Euros.
include
"oid main()
int C,opc-
&loat din,dan,C-
C18HHH-
print&(*9ien"enido a su cajero "irtual.n*)-
print&(*Celeccione una opcion'nn*)-
print&(*8.ngreso en cuenta.n:.#eintegro.n.Mer el saldo
disponiblenH.Calirnn/sted ha marcado' *)-
scan&(*5d*,6opc)-
i&(opc118)
print&(*n9ien, escriba el dinero que desee introducir' *)-
scan&(*5&*,6din)-
C1C7din-
print&(*nngreso reali!ado correctamente. Cu saldo actual es de
5&n*,C)-
else i&(opc11:)
print&(*n0hora, teclee la cantidad de capital que desea retirar' *)- scan&(*5&*,6dan)-
i&(dan>C)
print&(*nError. Yo dispone de tanto sueldo.n*)-
else
C1CFdan-
-
7/26/2019 Mas Codigos de Programas en c
12/32
print&(*n#eintegro reali!ado correctamente. Cu saldo actual es de
5&n*,C)-
else i&(opc11)
print&(*nCu saldo actual es de 5dn*,C)-
else i&(opc11H)
print&(*nRracias por utili!ar este programa.nn*)-
else
print&(*nLisculpe, se ha equi"ocado al marcar.nn*)-
En determinadas ocasiones nos ser de mucha utilidad el poder borrar loescrito en pantalla. Para ello debemos utili!ar una nue"a librera ()
que contenga la instruccin para que se produ!ca el borrado. (system(JclsK)).
1,. Programa que /orre la pantalla al pulsar ntro.
include
include
"oid main()
char Espera-
print&(*Programa de prueba de borrado de pantalla*)-
print&(*nPulsa intro*)-
scan&(*5c*,6Espera)-
system(*cls*)-
print&(*+a &uncionado, +asta pronto.n*)-
Volver
/na "e! "isto cmo se reali!a un borrado de pantalla, pasaremos a "er los
bucles en D77, que reali!an tareas repetiti"as. El primero de ellos es el bucle
J&orK. %o usaremos siempre que cono!camos el n$mero de iteraciones (Lesde
Z hasta).
http://informaticos53.webcindario.com/programacion.htm#menuhttp://informaticos53.webcindario.com/programacion.htm#menu -
7/26/2019 Mas Codigos de Programas en c
13/32
Cer necesario el uso de un contador (i).
1-. Programa que muestra los veinte primeros nmeros naturales.
include
"oid main()
int i1:8-
const int tope1:H-
&or(i1H-i
-
7/26/2019 Mas Codigos de Programas en c
14/32
22. Programa que muestre una cuenta atr#s desde die5 asta cero.
include
"oid main()
int i18H-
const int tope1H-
&or(i18H-i>1H-i1iF8)
print&(*5dn*,i)-
print&(*n+asta pronton*)-
23. Programa que muestre un men de mltiplos 'e 2
-
7/26/2019 Mas Codigos de Programas en c
15/32
print&(*5dn*,t)-
else i&(S11=)
int s18HH-
const int tope18HH-
&or(s1H-s
-
7/26/2019 Mas Codigos de Programas en c
16/32
En los bucles J\hileK y Jdo \hileK no es necesario conocer el n$mero de
iteraciones.
]hileteraciones >1 H.
Lo \hileteraciones >18.
2". Programa que diga si un nmero es par o no. (inali5a al pulsar .
include
"oid main()
int num-
print&(*Por &a"or, escribe el numero que quieras.^e diremos si es par o
impar' *)- \hile (num1H)
scan&(*5d*,6num)-
i&(num5:11H)
print&(*nnEste numero es par.n*)-
else
print&(*nnEste numero es impar.n*)-
print&(*n+asta luego.nn*)-
0qu tenemos un eStenso programa como ejemplo para demostrar la sencille!
y utilidad del bucle Jdo \hileK.
-
7/26/2019 Mas Codigos de Programas en c
17/32
2$. Programa que simule un calculadora cient%fica de 2" funciones.
include
include
"oid main()
&loat
S,y,s,d,p,c,sr,rq,res,ros,cb,ch,co,cop,se,sep,ta,tap,cub,cubp,in,inp,lo,lop,ln,lnp-
int opc-
print&(*9ien"enido a la calculadora de : &unciones.nn*)-
do
print&(*Por &a"or, introdu!ca un numero (H para salir)' *)-
scan&(*5&*,6S)-
print&(*n0hora, inserte otro' *)-
scan&(*5&*,6y)-
print&(*nn9ien. 3a puede seleccionar unaopcion'nn8.Cumarn:.#estarn.@ultiplicarn=.Li"idirn.ndicar el
mayornN.#ai! cuadrada del primer numeronW.#ai! cuadrada del segundo
numeronX.Duadrado del primer numeron?.Duadrado del segundo
numeron8H.#ai! cubica del primer numeron88.#ai! cubica del segundo
numeron8:.Doseno del primer numeron8.Doseno del segundo
numeron8=.Ceno del primer numeron8.Ceno del segundo
numeron8N.^angente del primer numeron*)-
print&(*8W.^angente del segundo numeron8X.Dubo del primer
numeron8?.Dubo del segundo numeron:H.n"ersa del primer
numeron:8.n"ersa del segundo numeron::.%ogaritmo decimal del primer
numeron:.%ogaritmo decimal del segundo numeron:=.%ogaritmo neperiano
del primer numeron:.%ogaritmo neperiano del segundo
numeronH.Calirnn/sted ha marcado' *)-
scan&(*5d*,6opc)-
i&(opc118)
s1S7y-
print&(*%a suma de ambos numeros es 5&nn*,s)-
else i&(opc11:)
d1SFy- print&(*%a di&erencia de ambos numeros es 5&nn*,d)-
else i&(opc11)
p1S;y-
print&(*El producto de ambos numeros es 5&nn*,p)-
else i&(opc11=)
c1SAy-
-
7/26/2019 Mas Codigos de Programas en c
18/32
print&(*El cociente de la ra!on de ambos numeros es
5&nn*,c)-
else i&(opc11)
i&(S>y)
print&(*El mayor es 5&nn*,S)-
else i&(y>S)
print&(*El mayor es 5&nn*,y)-
else
print&(*Lisculpe, estos dos numeros son iguales.nn*)-
else i&(opc11N)
rq1sqrt(S)-
print&(*%a rai! cuadrada del primer numero es 5&nn*,rq)-
else i&(opc11W)
sr1sqrt(y)- print&(*%a rai! cuadrada del segundo numero es 5&nn*,sr)-
else i&(opc11X)
res1S;S-
print&(*El cuadrado del primer numero es 5&nn*,res)-
else i&(opc11?)
ros1y;y-
print&(*El cuadrado del segundo numero es 5&nn*,ros)-
else i&(opc118H)
cb1cbrt(S)-
print&(*%a rai! cubica del primer numero es 5&nn*,cb)-
else i&(opc1188)
ch1cbrt(y)-
print&(*%a rai! cubica del segundo numero es 5&nn*,ch)-
else i&(opc118:)
co1cos(S)-
print&(*El coseno del primer numero es 5&nn*,co)-
else i&(opc118)
cop1cos(y)-
print&(*El coseno del segundo numero es 5&nn*,cop)- else i&(opc118=)
se1sin(S)-
print&(*El seno del primer numero es 5&nn*,se)-
else i&(opc118)
sep1sin(y)-
print&(*El seno del segundo numero es 5&nn*,sep)-
-
7/26/2019 Mas Codigos de Programas en c
19/32
else i&(opc118N)
ta1tan(S)-
print&(*%a tangente del primer numero es 5&nn*,ta)-
else i&(opc118W)
tap1tan(y)-
print&(*%a tangente del segundo numero es 5&nn*,tap)-
else i&(opc118X)
cub1S;S;S-
print&(*El cubo del primer numero es 5&nn*,cub)-
else i&(opc118?)
cubp1y;y;y-
print&(*El cubo del segundo numero es 5&nn*,cubp)-
else i&(opc11:H)
in18AS-
print&(*%a in"ersa del primer numero es 5&nn*,in)- else i&(opc11:8)
inp18Ay-
print&(*%a in"ersa del segundo numero es 5&nn*,inp)-
else i&(opc11::)
lo1log8H(S)-
print&(*El logaritmo decimal del primer numero es
5&nn*,lo)-
else i&(opc11:)
lop1log8H(y)-
print&(*El logaritmo decimal del segundo numero es
5&nn*,lop)-
else i&(opc11:=)
ln1log(S)-
print&(*El logaritmo neperiano del primer numero es
5&nn*,ln)-
else i&(opc11:)
lnp1log(y)-
print&(*El logaritmo neperiano del segundo numero es
5&nn*,lnp)- else i&(opc11H)
print&(*Rracias por utili!ar este programa.nn*)-
else
print&(*Lisculpe, se ha equi"ocado al marcar.nn*)-
\hile(S1H)-
-
7/26/2019 Mas Codigos de Programas en c
20/32
2&. Programa que muestre los divisores de un nmero introducido por el
usuario.
include
"oid main()
int num-
print&(*9ien"enido al programa para calcular los di"isores de un
numero.nn*)-
\hile(num1H)
print&(*ntrodu!ca un numero' *)- scan&(*5d*,6num)-
print&(*nnCus di"isores son'n*)-
&or(int i18- i
-
7/26/2019 Mas Codigos de Programas en c
21/32
prod18-
print&(*ntrodu!ca el limite superior' *)-
scan&(*5d*,6sup)-
print&(*n0hora, escriba el limite in&erior' *)-
scan&(*5d*,6in&)-
print&(*nnCeleccione una opcion'nn8.Cuman:.Productonn eclee
su eleccion' *)-
scan&(*5d*,6opc)-
s\itch (opc)
case 8'
&or(int i1in&-i
-
7/26/2019 Mas Codigos de Programas en c
22/32
2-. Programa que calcule = t!rminos de la sucesi)n de (i/onacci.
include
include
"oid main()
print&(*9ien"enido al programa para calcular la progresion de
Gibonacci.nn*)-
int "eces, primer1H,segun18,proSimo,r-
char borrado-
print&(*ntrodu!ca el numero de terminos' *)-
scan&(*5d*,6"eces)-
scan&(*5c*,6borrado)-
system(*cls*)- print&(*+e aqui la sucesion de 5d terminos' n*,"eces)-
&or(int i1H-i
-
7/26/2019 Mas Codigos de Programas en c
23/32
print&(*5dt*,(nA1:))-
else
n1(;n)78-
print&(*5dt*,n)-
print&(*n*)-
0hora "amos a reali!ar un programa con n$meros aleatorios. Para ello
debemos utili!ar el reloj del ordenador (Yo se repitan los mismos "alores una
y otra "e!), con la consiguiente aparicin de una nue"a librera ().
srand((unsigned)time(Y/%%))
El problema es que el ordenador puede in"entar n$meros aleatorios desde uno
hasta dos ele"ado a quince. Es muy $til saber poner un lmite.
Y$mero aleatorio1rand()5(^ope78)-
31. Programa que invente un nmero para que lo adivine el usuario