Sie sind auf Seite 1von 18

Nombre:

Grupo:
Fecha de entrega: 24 febrero 2006
Fecha examen: 24 febrero del 2006.
Puedes rellenar las prcticas con lpiz.
Rellena esta tabla al entregar la prctica:
Pract 1 2 3 4 5 Suma Nota
firmas
a! " 5 # $ " 3% ".2
&a nota de las firmas se calcula multiplicando la suma de las firmas por '.2
( rellenar
por el profesor: ) *
%++++++++++++++++%++++++++++++++++%++++++++++++++++%++++++++++++++++%++++++++++++++++%+++++
Resguardo de entrega de prcticas ,:
Nombre: ---------------------------------
Nota firmas: Presentaci.n ' a 2.# Nota final:
Ojo: ,omo m/nimo 3 firmas por d/a de clase0 as/
1ue espabila0 2 traba3a las prcticas en casa
45R(
fec6a 7en caso de retraso despu8s de la fec6a de entrega9
:include ;iostream.6<
=oid main79
>
cout;;?@nAola@n?B
C
Prcticas de tecnologa Control Informtico 4 E.S.O. Curso 2005-0
!a"ier #uintana
1. Lenguaje C. Salida por monitor y entrada por
teclado
Para empezar0 abrir el programa compilador D,E5N saldr una pantalla de la siguiente
forma:
Fn la =entana del programa escribir e!actamente el siguiente programa:
( continuaci.n se e!plica cada comando:
#include * sir=e para incluir las librer/as 1ue necesite el programa
iostream.h * es una librer/a de 5nputGutputStream lo necesita la funciones cout etc...
void *significa 1ue el programa no =a a 6acer nada rele=ante =oid*=acio0 si no
se pone no pasa nada
main() *es el programa main*principal0 el programa estar entre las lla=es > C
cout<<... *es una funci.n para =isualizar en la consola de salida 7,onsolaGut97es
decir el monitor9 la frase 1ue pones despu8s
// *lo 1ue se pone despu8s del s/mbolo HH es un comentario0 puedes poner lo
1ue te de la gana0 o incluso no ponerlo0 sir=e para aclarar.
Ina =ez tecleado el programa pulsa en el menJ Compile Run o tambi8n ms rpido
las teclas ctrl. + F9
1.1 Ejercicio
KLu8 6ace el programaM
Luita el @n 7de donde 1uieras9 e3ecuta el programa =arias =eces0 pon dos @n seguidos en
la frase 1ue 1uieras 2 responde: KPara 1u8 sir=e nM
Nespu8s de la primera l/nea de > pon la instrucci.n clrscr()! 7clear screen9 2 compila
KpuedesM
a6ora aOade la siguiente librer/a :include ;conio.6< 1ue significa ,onsola5nputGutput
Kpuedes compilar a6oraM
KLu8 6ace clrscrM
2
"lustraci#n $ %entana del pro&rama 'C(")
Pentana del
programa
"lustraci#n * +rimer pro&rama en C
firma
"lustraci#n , -uardar un pro&rama. en el ejemplo la
unidad / esta descon&elada
"lustraci#n 0 1ntrada de varia2les tipo car3cteres por el teclado
Prcticas de tecnologa Control Informtico 4 E.S.O. Curso 2005-0
!a"ier #uintana
Quarda el programa0 si el ordenador esta
congelado0 gurdalo de la siguiente forma:
1.2 Ejercicio
(6ora pon las siguientes instrucciones:
KLu8 6aceM
F!plicaci.n: (si se pone una cosa en cursiva significa que lo puedes sustituir por otra
sustantivo, por ejemplo nombre por x, y , z , mivariable, cosa ....)
char nombre4567 * se declara una =ariable llamada nombre de tipo 5' caracteres
cin88nombre * lle=a de la consola de entrada 7teclado9 a la variable0 es decir lo
1ue teclees0 se almacena en la variable0 en el e3emplo nombre.
Dambi8n puedes =er como la funci.n cout puede en=iar no s.lo frases0 sino tambi8n
=ariables al monitor.
Pamos a complicarlo un poco ms0 teclea las siguientes instrucciones:
(6ora se 6a declarado una =ariable tipo entero:
3
:include ;iostream.6<
:include ;conio.6<
=oid main79
> clrscr79B
cout;;?@nAola@n 9C#mo te llamas: ?B
char nom2re4567!
cin88nom2re!
cout<<;<ienvenido ;<<nom2re!
C
:include ;iostream.6<
:include ;conio.6<
=oid main79
> clrscr79B
cout;;?@nAola@n K,.mo te llamasM ?B
c6ar nombreR5'SB
cin<<nombreB
cout;;?Tien=enido ?;;nombreB
cout<<;n 9=u> a?o naciste: ;!
int nacimiento!
cin88nacimiento!
int edad!
edad @ *665Anacimiento!
cout<<;n o sea Bue tienes ;<<edad<<; a?os;!
C
"lustraci#n 5 entrada de varia2les tipo entero por el teclado
Prcticas de tecnologa Control Informtico 4 E.S.O. Curso 2005-0
!a"ier #uintana
int edad * declaraci.n de =ariables tipo entero
K1u8 6ace el programaM Kc.mo calcula la edad 1ue tienesM
Qrbalo como ejer$A*.cpp 7=er la ilustraci.n 3 para =er c.mo se graba9
Suponte 1ue pones un aOo decimal0 por e3emplo pones 1ue naciste en el 1990.
K1u8 6ace el programaM
(6ora cambia los dos int por la palabra Cloat0 2 prueba dar un aOo decimal
K1u8 6ace el programaM
K1u8 significa la declaraci.n CloatM
1.3 Ejercicio
Realiza un programa 1ue pregunte por el nombre 2 los apellidos separadamente0 2 lo
=isualice despu8s todo seguido0 tal 2 como se muestra en el siguiente cuadro
4
firma
Nombre: !avier
(pellidos: "uintana
Du nombre completo es !avier "uintana
&istado del programa e3er1+3.cpp:
firma
Qrbalo como ejer$A,.cpp
Prcticas de tecnologa Control Informtico 4 E.S.O. Curso 2005-0
!a"ier #uintana
1.4 Ejercicio
Realiza un programa 1ue pregunte tu edad 2 te diga el aOo de nacimiento
1.5 Ejercicio
Realiza un programa 1ue multipli1ue dos nJmeros. Por e3emplo:
&os nJmeros pueden ser decimales o enteros.
1.6 Ejercicio
Realiza un e3ercicio0 1ue pregunte tu aOo de nacimiento 2 te diga los siglos 1ue tienes:
5
&istado del programa e3er1+4.cpp
firma
Primer nJmero : #$.##
Segundo nJmero : 1.1
&a multiplicaci.n es: %0.1&
&istado del programa e3er1+5.cpp
firma
(Oo de nacimiento: 1990
Dienes 0.1 siglos
&istado del programa e3er1+%.cpp
firma
&istado del programa e3er1+".cpp
firma
Prcticas de tecnologa Control Informtico 4 E.S.O. Curso 2005-0
!a"ier #uintana
1.7 Ejercicio
Realiza un programa 1ue diga cuantos aOos0 d/as 2 meses tienes preguntando los
detalles de tu nacimiento0 para simplificar se suponen los meses de 31 d/as.
2 Sentencia condicional if
Itiliza el programa e3er1+2.cpp 2 aOade el siguiente c.digo de instrucciones:
F3ecuta el programa 2 e!perimenta con =arias fec6as de nacimiento K1u8 ocurreM
(6ora cambia las dos l/neas por la siguiente:
7el s/mbolo D se pulsa con (ltQr)19
iC ((edad<$0)DD(edad8$E)) cout<<;nFadre mGa si no tendrGas Bue estar en 01HO;!
KAace lo mismoM
%
(Oo de nacimiento : 1990
es de nacimiento en nJmero 71+129 : '
N/a de nacimiento 71+319: &0
Dienes 1 aOos 9 meses 2 11 d/as
:include ;iostream.6<
:include ;conio.6<
=oid main79
> clrscr79B
cout;;?@nAola@n K,.mo te llamasM ?B
c6ar nombreR5'SB
cin<<nombreB
cout;;?Tien=enido ?;;nombreB
cout;;?@n KLu8U aOo nacisteM ?B
int nacimientoB
cin<<nacimientoB
int edadB
edad * 2''5+nacimientoB
cout;;?@n o sea 1ue tienes ?;;edad;;? aOos?B
iC (edad8$E) cout<<;nFadre mGa si no tendrGas Bue estar en 01HO;!
iC (edad<$0) cout<<nFadre mGa si no tendrGas Bue estar en 01HO!
C
firma
Prcticas de tecnologa Control Informtico 4 E.S.O. Curso 2005-0
!a"ier #uintana
F!plicaci.n
iC (....) * significa VsiW o sea0 si se cumple la condici.n0 realiza la
sentencia 1ue le sigue
if 77....9DD7....99 * si se cumple una cosa GR la otra se realiza la sentencia 1ue le
sigue
if 77....9II7....99 * si se cumple una cosa (NN la otra se realiza la sentencia 1ue le
sigue
if 7J7....99 * si NG se cumple se realiza la sentencia 1ue le sigue.
if 7...@ @... 9 * si es 5QI(&
if 7 ... J*... 9 * si es N54FRFNDF
if 7... < ... 9 * si es FNGR LIF
if 7... 8 ... 9 * si es (XGR LIF
if 7... <@ ... 9 * si es FNGR G 5QI(& LIF
if 7... 8@ ... 9 * si es (XGR G 5QI(& LIF
2.1 Ejercicio
Necir cuando se cumplen las siguientes condiciones:
,ondici.n se produce cuando la edad es....
if 7Y7edad<*1#99
menores de 1# aOos 7sin incluir 1#9.
if 7Y7edad;1#99
if 77edad;149ZZ7edad<1#99
1
if 77edad<149ZZ7edad;1#99
if 7Y77edad<149ZZ7edad;1#999
if 7Y7edad;*1499
if 77edad<149ZZ7edad<1#99
if 77edad;149ZZ7edad;1#99
if 77edad* *149[[7edad* *1#99
if 77edad<149ZZ7edadY*1#99
if 77edad;149[[7edad<1#99
if 7Y77edad;149[[7edad<1#999
if 77Y7edad;149[[7edad<1#999
if 77edad;149[[7Y7edad<1#999
if 77edadY*149ZZ7edadY*1#99
1
if 77edadY*149[[7edadY*1#99
if 77edad;149[[7edadY*1#99
if 77edadY*149ZZ7edad* * 1#99
if 7Y7edad**1#99
if 77Y7edad**1#9ZZ7\7edad**1499
if 77Y7edad<1#9ZZ7\7edad;1499
1 Fsta tiene pega
"
firma
&istado del programa e3er2+3.cpp
firma
&istado del programa e3er2+2.cpp
firma
Prcticas de tecnologa Control Informtico 4 E.S.O. Curso 2005-0
!a"ier #uintana
2.2 Ejercicio
Realizar un programa de tal manera 1ue pregunte la edad 2 determine si 6as nacido en
este siglo o en el anterior
2.3 Ejercicio
Realizar un programa 1ue pregunte tu edad 2 diga a 1u8 curso tendr/as 1ue pertenecer
menores de 12 aOos Primaria 13 aOos 1 FSG
14 aOos 2 FSG 15 aOos 3 FSG
1% aOos 4 FSG entre 1" 2 1# aOos bac6illerato o ciclo medio
ma2ores de 1# uni=ersidad0 ciclo superior o currando
#
&istado del programa e3er2+4.cpp
firma
Prcticas de tecnologa Control Informtico 4 E.S.O. Curso 2005-0
!a"ier #uintana
2.4 Ejercicio
Realizar un e3ercicio 1ue enseOe a multiplicar.
3 Bucles for
Realiza el siguiente programa
K1u8 6aceM
$
Primer nJmero #
segundo nJmero $
Kcuanto es # por $ M &&
burro el resultado es &#
#include <iostream.h>
#include <conio.h>
void main(){
clrscr();
cout << "\nDime un nmero ";
int num;
cin>> num;
int n;
for (n=1;n<=num;n++){
cout<<"\n Hola "<<n;
}
}
"lustraci#n K 1jemplo de 2ucle Cor
f/3ate 1ue la =ariable n puede
utilizarse dentro del bucle
para =isualizar el nJmero de
iteraci.n 1ue se realiza
firma
&istado del programa e3er3+2.cpp
KedadM 11
feliz cumple 1
feliz cumple 2
feliz cumple 3
feliz cumple 4
feliz cumple 5
feliz cumple %
feliz cumple "
feliz cumple #
feliz cumple $
feliz cumple 1'
feliz cumple 11
Prcticas de tecnologa Control Informtico 4 E.S.O. Curso 2005-0
!a"ier #uintana
F!plicaci.n
Cor (n@$!n<@num!n++)L * realiza un bucle desde n*1 6asta n*num con n++ =a
..... incrementndose de uno en uno0 si pusi8ramos n*n)2 ir/a
M de 2 en dos. F3ecuta todo lo 1ue esta entre >...C
(6ora prueba el siguiente programa:
K1u8 6aceM
F!plicaci.n
Cor (!!) L...M * todo lo 1ue esta entre >...C se repite indefinidamente
&oto fin! * =a a fin0 es decir el programa salta donde esta la eti1ueta fin.7goto*ir a9
CinN * el lugar donde esta la eti1ueta. Fl nombre de la eti1ueta es arbitrario.
3.1 Ejercicio
Realizar un programa 1ue pida la edad0 2 1ue salga un mensa3e tantas
=eces como aOos 1ue tienes.
3.2 Ejercicio
Realizar un programa 1ue muestre la tabla de multiplicar del # por la pantalla
1'
#include <iostream.h>
#include <conio.h>
void main(){
clrscr();
int clave = !;
for (;;){
cout<<"\n Dime un nmero del " al "## ";
int num;
cin>>num;
i$ (clave==num) goto fin;
cout <<" Has $allado% otra ve&.. ";
}
fin: cout<<"\nHas 'anado";
}
"lustraci#n O 1jemplo de 2ucle Cor inCinito P salto con &oto
'!#*'
1!#*#
2!#*1%
3!#*24
4!#*32
5!#*4'
%!#*4#
"!#*5%
#!#*%4
$!#*"2
1'!#*#'
firma
listado del programa e3er3+1.cpp
firma
firma
&istado del programa e3er3+2.cpp
firma
Aola K1uieres msM 7sHn9 s
Aola K1uieres msM 7sHn9 s
Aola K1uieres msM 7sHn9 s
Aola K1uieres msM 7sHn9 s
Aola K1uieres msM 7sHn9 s
Aola K1uieres msM 7sHn9 s
Aola K1uieres msM 7sHn9 s
Aola K1uieres msM 7sHn9 s
Aola K1uieres msM 7sHn9 s
Aola K1uieres msM 7sHn9 s
Aola K1uieres msM 7sHn9 s
Aola K1uieres msM 7sHn9 s
Aola K1uieres msM 7sHn9 n
Kprimer n]M &
Ksegundo n]M '
K2)3M $
burro son 5
Kms 7sHn9M s
Kprimer n]M 4
Ksegundo n]M 3
K4)3M "
bien c6a=al
Kms 7sHn9M n
Prcticas de tecnologa Control Informtico 4 E.S.O. Curso 2005-0
!a"ier #uintana
3.3 Ejercicio
Realizar un programa 1ue enseOe a un niOo la tabla de multiplicar 1ue 8l pida
3.4 Ejercicio
Realiza un programa 1ue salga una frase continuamente 6asta 1ue
tu digas 1ue se pare
3.5 Ejercicio
Realiza un programa 1ue enseOe a un niOo sumar0 el programa no
se detendr 6asta 1ue lo diga el usuario.
11
listado del programa e3er3+4.cpp
firma
listado e3er3+5.cpp
firma
"lustraci#n E Como 2uscar la direcci#n de inicio del puerto de impresora Q+'$
Prcticas de tecnologa Control Informtico 4 E.S.O. Curso 2005-0
!a"ier #uintana
3.6 Ejercicio
Realizar un programa 1ue adi=ine la edad 1ue tienes de esta forma:
4 Salida de puertos
Pamos a conectar por el puerto paralelo unas luces para poder tener el control e!terior a
tra=8s del ordenador.
Primero tienes 1ue a=eriguar cual es el la direcci.n de inicio del puerto del ordenador0
para ello sigue las instrucciones de la siguiente ilustraci.n
F3ecJtalo en tu ordenador 2 pon cual es la direcci.n de inicio de tu puerto &PD1
7seguramente ser 3"#0 as/ 1ue a partir de a6ora0 lo tomaremos como esa direcci.n9
F3ecuta el siguiente programa conectando los puertos:
K1u8 6aceM
12
Dienes 1 aOos 7sHn9 n
Dienes 2 aOos 7sHn9 n
Dienes 3 aOos 7sHn9 n
Dienes 4 aOos 7sHn9 n
Dienes 5 aOos 7sHn9 n
Dienes % aOos 7sHn9 n
Dienes " aOos 7sHn9 n
Dienes # aOos 7sHn9 n
Dienes $ aOos 7sHn9 n
Dienes 1' aOos 7sHn9 s
(3 tienes 1' aOos
listado e3er3+%.cpp
firma
:include ;conio.6<
:include ;dos.6<
:include ;iostream.6<
=oid main79>
cout;;?@nPon un nJmero ?B
int !B
cin<<!B
outport7'!3"#0!9B
C
Prcticas de tecnologa Control Informtico 4 E.S.O. Curso 2005-0
!a"ier #uintana
F!plicaci.n
dos.h biblioteca para el outport. Nos significa Nis^ Gperati=e S2stem 2
es el sistema operati=o S+NGS 1ue controla el &PD10 en Ein_P
no de3a 1ue ms+dos interfiera en los puertos0 por eso este
programa no funciona en `indo`s _P
outport 7'!3"#0!9 sacar 7out9 por el puerto 7port9 3"# la =ariable !. Fl nJmero 3"# est
escrito en 6e!adecimal0 por lo 1ue 6a2 1ue poner delante el prefi3o '!
4.1 Ejercicio
Prueba con los siguientes nJmeros 2 rellena la tabla 1u8 leds son los 1ue se encienden0
te recomiendo (acer el #.& antes pues si no esto es mortal
4.2 Ejercicio
,omo =es es un engorro tener 1ue repetir siempre la operaci.n de e3ecutar el programa0
cambia el programa de tal manera 1ue se pueda probar distintos nJmeros sin salir del
programa 6asta 1ue el usuario lo decida0 tipo como se realiz. el programa 3.4
13
listado e3er4+2.cpp
firma
4irma de este
e3ercicio 2 del
anterior
Prcticas de tecnologa Control Informtico 4 E.S.O. Curso 2005-0
!a"ier #uintana
4.3 Ejercicio
F3ecuta el siguiente programa
K1u8 6aceM
cambia el 1''''' por un nJmero ms alto K1u8 6aceM
cambia el 1''''' por un nJmero ms ba3o K1u8 6aceM
F!plicaci.n
continue le dice al ordenador 1ue continJe0 es decir0 1ue no 6aga nada0 con eso
conseguimos 1ue realice una pausa
4.4 Ejercicio
F3ecuta el siguiente programa
K1u8 6aceM
Kpor 1u8 esta la l/nea if 7!* *'9 !*1BM
14
:include ;conio.6<
:include ;dos.6<
:include ;iostream.6<
=oid main79>
int iB float 3B
for 73*'B3;*1'B3))9>
outport7'!3"#019B
for 7i*'Bi;*1'''''Bi))9 continueB
outport7'!3"#0'9B
for 7i*'Bi;*1'''''Bi))9 continueB
C
C
firma
:include ;conio.6<
:include ;dos.6<
:include ;iostream.6<
=oid main79>
int 30!B float iB
!*1B
inicio: outport7'!3"#0!9B
for 7i*'Bi;*1'''''Bi))9 continueB
!*!;;1B
if 7!* *'9 !*1B
goto inicioB
C
firma
Prcticas de tecnologa Control Informtico 4 E.S.O. Curso 2005-0
!a"ier #uintana
F!plicaci.n
R@R<<$ con esto se consigue 1ue los bits se desplacen un lugar 6acia la iz1uierda
Rellena la siguiente tabla
(cci.n Sinta!is
Nesplazar los bits un lugar 6acia la derec6a
Nesplazar los bits dos lugares 6acia la iz1uierda
Nesplazar los bits dos lugares 6acia la derec6a
4.5 Ejercicio
Fl anterior e3ercicio no terminaba nunca0 6az un secuencia de luces de tal manera 1ue
6aga # barridos 6acia la derec6a
4.6 Ejercicio
Realizar un programa 1ue realice un barrido de luces de derec6a a
iz1uierda0 de la forma como lo indica la figura
15
listado e3er4+5.cpp
firma
etc...
listado e3er4+%.cpp
firma
Prcticas de tecnologa Control Informtico 4 E.S.O. Curso 2005-0
!a"ier #uintana
4.7 Ejercicio
Fste e3ercicio es de libre enunciado0 pero tiene 1ue ser un 3uego de luces como tJ desees
5 Entrada de puertos
F3ecuta el siguiente programa 7si no =a bien0 e3ecJtalo en turbo,)) de S+NGS9
F!plicaci.n
R@inport(6R,O9) lo 1ue 6a2a en el puerto &PD1 pasa a la =ariable !0 f/3ate 1ue 6a2
1ue 6acerlo en una direcci.n incrementada a la de salida
R@R88,!
R@RI6R6C! arreglos 1ue 6a2 1ue 6acer para 1ue salga bien 7=er arreglos9
&etch()! espera 6asta 1ue pulsas una tecla 7&et character97dame caracter9
K1u8 6ace el programaM
1%
listado e3er4+".cpp
:include ;conio.6<
:include ;dos.6<
:include ;iostream.6<
=oid main79>
int !B
inicio: !*inport7'!3"$9B
!*!<<3B
!*!Z'!'fB
outport7'!3"#0!9B
cout;;?@nPulsa una tecla...?B
getc679B
goto inicioB
C
firma
firma mu2
bien
firma bien
firma
"lustraci#n 9 arre&los de inport
Prcticas de tecnologa Control Informtico 4 E.S.O. Curso 2005-0
!a"ier #uintana
5.1 Ejercicio
Realizar un programa 1ue el nJmero 1ue se teclea por los interruptores0 salga por el
puerto pero intermitente
5.2 Ejercicio
Realizar un programa 1ue al pulsar una tecla el nJmero 1ue 6a2 en los interruptores
salga por la pantalla del ordenador
1"
listado e3er5+1.cpp
firma
listado e3er5+2.cpp
firma
Prcticas de tecnologa Control Informtico 4 E.S.O. Curso 2005-0
!a"ier #uintana
5.3 Ejercicio
Declear el siguiente programa
K1u8 6aceM
5.4 Ejercicio
&ibre enunciado0 con entrada de puertos
1#
:include ;conio.6<
:include ;dos.6<
:include ;iostream.6<
=oid main79>
int !B
float iB
inicio: !*inport7'!3"$9B
!*!<<3B
!*!Z'!'fB
if 7!* *19 goto luzB
else goto inicioB
luz: outport7'!3"#0'9B
for 7i*'Bi;*1'''''Bi))9 continueB
outport7'!3"#019B
for 7i*'Bi;*1'''''Bi))9 continueB
goto luzB
C
firma
firma mu2
bien
firma bien
firma

Das könnte Ihnen auch gefallen