Está en la página 1de 5

Informtica Industrial, curso 2013-2014

Ejercicios de Prcticas

Documentacin:
Referencia de libreras estndar de C:
http://c.conclase.net/librerias/index.php
http://en.wikipedia.org/wiki/C_standard_library
Referencia de libreras estndar de C para iPhone/iPad (solo gratuitos):
https://itunes.apple.com/us/app/codereference/id538732506?mt=8
https://itunes.apple.com/hk/app/progit+/id516234141?mt=8
Referencia de libreras estndar de C para telfono mvil Android (solo gratuitos):
https://play.google.com/store/apps/details?id=com.algeo.cref&feature=related_apps#?t
=W251bGwsMSwxLDEwOSwiY29tLmFsZ2VvLmNyZWYiXQ..
https://play.google.com/store/apps/details?id=nadsoft.cprogrammingreferencefree&fea
ture=related_apps#?t=W251bGwsMSwxLDEwOSwibmFkc29mdC5jcHJvZ3JhbW1pbmdyZ
WZlcmVuY2VmcmVlIl0.

1. Realice un programa C que obtenga todos los divisores de un nmero dado.


2. Realice un programa que muestre una a una las palabras de las que est
compuesta una cadena de caracteres introducida por el usuario, y que cuente
cuntas de ellas tienen ms de 4 letras.
3. Disee una funcin en C que reciba un vector de nmeros reales, v, como
argumento de entrada, determine cul de todos ellos es el ms cercano al
primero de los elementos del vector y devuelva su posicin, p, dentro del
vector.
Ejemplo:

Si v = [2, 6, 4, 1, 10] => p = 3

(El nmero ms cercano al 2 es el cuarto (1))

4. Disee una funcin en C que reciba un vector de nmeros reales, v, y devuelva


la desviacin tpica de sus elementos.
5. Escribir el cdigo de una funcin que obtenga un n entero aleatorio A entre 0
y 255 y devuelva un vector de caracteres que contenga la conversin en binario
de A. Adems, se debe mostrar en pantalla los milisegundos que tarda esta
funcin en hacer su trabajo (consultar funciones de librera estndar). Llega a
tardar algn milisegundo? qu podras aadir a tu programa para que tarde
ms, de forma que tarde algn milisegundo o fraccin de milisegundo (aunque
no haga nada til)?

Nota: la funcin int rand(void) devuelve un nmero entero pseudoaleatorio. Su


prototipo se encuentra en el archivo stdlib.h
6. En lenguaje C los enteros cortos sin signo ocupan en memoria 2 bytes. Se
declaran como unsigned short int. Crea un programa para descomponer un
entero corto sin signo en dos bytes utilizando exclusivamente operaciones con
punteros.
7. Crear un programa que imprima en pantalla los elementos de un vector de
enteros y su suma, accediendo a ellos nicamente mediante aritmtica de
punteros.
8. Realiza un programa que pida por teclado el tamao de un vector y que
almacene en l nmeros enteros aleatorios. Para recorrer el vector se pide
utilizar punteros en lugar de ndices.
Nota: el vector se crea en tiempo de ejecucin, con el tamao que el usuario ha
elegido.
9. Realizar una funcin que reciba por parmetro dos cadenas de caracteres y
debe concatenar la segunda a la primera. El programa principal imprimir el
resultado de la concatenacin.
10. Disear una funcin que reciba por parmetro un vector de enteros y que
devuelva, tambin por parmetro, el mayor y el menor nmero almacenados
en el vector. Probar la funcin desde un programa principal.
11. Realizar (en el papel) las siguientes operaciones:
Pasar 10101001011010101010101010101010111b a hexadecimal
0xAB & 0x03
0xAB | 0x03
0xAB ^ 0x03
~ 0xAB
0xAB >> 2
0xAB << 2
Hacer un programa que realice las operaciones mencionadas (salvo la primera),
mostrando el resultado en pantalla, y comprobar los resultados.
12. Dada una variable valor de tipo unsigned char, escribir la expresin C que
ponga a 1 los 2 bits de mayor peso y a 0 los 2 bits de menor peso.
13. En los bits 10,9,8,7 de una variable de tipo short int hay codificado un nmero.
Almacena su valor en una variable de tipo unsigned char y mustralo por
pantalla en formato decimal usando printf().

14. Componer en una variable de tipo unsigned char un dato de 8 bits a partir de
los 4 bits de menor peso contenidos en las variables de tipo unsigned short int
n_low y n_high.
15. Una tarjeta de adquisicin de datos proporciona a nuestro ordenador las
lecturas de tres sensores (temperatura, acidez y nivel de un depsito de
lquidos) agrupadas en una sola variable de tipo entero. Los datos recibidos del
sensor de temperatura ocupan los 12 bits menos significativos de dicha variable
(bits 0 al 11); los datos del sensor de acidez los 8 bits siguientes (bits 12 al 19), y
los del sensor de nivel los 10 bits siguientes (bits 20 al 29). El resto de bits de la
variable entera se descartan. Realizar un programa capaz de extraer las lecturas
de los distintos sensores, mostrando cada una de ellas por pantalla (simular los
datos recibidos en la tarjeta introduciendo por teclado valores de la variable
entera).
16. Los ficheros .xml contienen informacin estructurada en forma de una serie de
etiquetas con valores. Los valores estn entre la apertura de etiqueta
<etiqueta> y el cierre de etiqueta </etiqueta> . Las etiquetas pueden estar
anidadas unas dentro de otras, pero toda etiqueta que se abra se tiene que
cerrar, y siempre en el mismo orden. Ejemplo:

<?xml version="1.0" encoding='iso-8859-1' ?>


<micasa>
<habitacion id='comedor'>
<mueble>aparador</mueble>
<mueble>sof</mueble>
<puerta a='balcn' />
</habitacion>
</micasa>
Realice un programa que lea el fichero books.xml (que podr descargar de la
pgina web de la asignatura), el cual contiene informacin sobre una lista de
libros a comprar, busque en l los precios de los libros y los escriba en un
fichero de texto precios.txt, uno por lnea.
17. En la pgina web de la asignatura encontrar la librera curl, que permite cargar
pginas web usando funciones similares a las de manejo de ficheros en C. As, la
librera provee de funciones url_fopen(), url_fclose(), url_fgets() etc. La pgina
web a cargar se le pasa como un URL (una cadena de caracteres http://...).
Para usar la librera es necesario que todos los ficheros que descargue de la
web de la asignatura estn en la carpeta de su proyecto. Adems, deber
incluir en su programa el fichero url_fopen.h, e indicar en su proyecto que se
usan las libreras url_fopen.lib, libcurl.lib, libcurldll.lib y libws2_32.lib (en ese
orden). Realice un programa que obtenga datos meteorolgicos actuales de
Ciudad Real (busque alguna pgina web) y los muestre en pantalla (solo deben

aparecen los datos meteorolgicos, p.ej. la temperatura actual y el estado del


cielo). Para que la salida en pantalla sea ms bonita utilice la librera conio
que podr descargar de la pgina web de la asignatura.
18. Comunicacin por sockets TCP/IP. Debe desarrollar dos programas: cliente y
servidor. Desarrollar un programa cliente que se conecte al servidor y pueda
enviarle una palabra o frase. El servidor debe devolver al cliente la palabra o
frase con todas las letras en maysculas.
Nota 1: El cliente ha de poder funcionar tanto en la misma mquina como en
una mquina remota.
Nota 2: Partir de los ejemplos de servidor y cliente mostrados en el Tema 5
Sistemas informticos distribuidos. Se pueden descargar de la web de la
asignatura.

NORMAS DE ENTREGA MATERIAL DE PRCTICAS

Se deber entregar un fichero .doc, .docx o .pdf con el cuaderno de trabajo de las
prcticas. En ese documento se describir brevemente el trabajo realizado en todas las
prcticas.
Adems, se debe entregar los ficheros con todo el material adicional generado (ficheros
.c, ficheros Labview, etc.) en subcarpetas con el nmero de la prctica (ej. PrcticaX).
Todo ello (fichero con el cuaderno de trabajo + ficheros con el material generado) se
debe entregar comprimido en un nico fichero .zip a travs de la web de la asignatura en
el campusvirtual (se habilitar una Entrega de Tarea).
El fichero .zip deber tener el nombre completo del alumno.
Ejemplo:
Jos Luis Prez Snchez-Almagro.zip
Cuaderno.docx
/Practica1
Ejercicio1.c
Ejercicio2.c

/Practica 2
Ejercicio1.c

También podría gustarte