Sunteți pe pagina 1din 5

Laboratorio 1: Terminal de Linux y primer

programa en C
March 28, 2013
Objetivos:
- Conocer la consola de Linux y entender el funcionamiento de algunos co-
mandos simples.
- Escribir un programa en C, entender su estructura.
- Compilar y ejecutar un programa en C.
- Conversion de numeros entre distintas bases (Binario, decimal, hexadeci-
mal)
Herramientas de laboratorio:
- Sistema operativo Linux, Ubuntu 12.04
- Editor de texto Emacs
- Terminal de Linux
1
1 La Terminal de Linux
La terminal o consola es un programa que viene normalmente incluido en
Linux y permite ejecutar una serie de comandos que otorgan mayor acceso
al usuario, como por ejemplo modicar los permisos de un archivo, ejecutar
programas como superusuario, en n, etc.
La aplicacion se llama Terminal, en Ubuntu existe un shortcut para
abrirla presionando Control + Alt + T
Navegando por la jerarquia de archivos dentro de la
consola
Al iniciar la consola, estaremos ubicados en /home/nombreusuario
Para conocer el contenido de la carpeta actual usamos ls.
javier@Kosmos:$ ls
ACM Documents Music Public Videos
ankama Downloads NetBeansProjects SO
Desktop LabProgramacion Pictures Templates
Para movernos entre directorios usamos el comando cd, Para ir a la carpeta
LabProgramacion.
javier@Kosmos:$ cd LabProgramacion
javier@Kosmos:/LabProgramacion$
Volver a la carpeta javier (la carpeta anterior)
javier@Kosmos:/LabProgramacion$ cd ..
javier@Kosmos:$
Manipulacion de Archivos
Crear un nuevo directorio
javier@Kosmos:/LabProgramacion/Lab01$ mkdir Directorio1
Eliminar un directorio
javier@Kosmos:/LabProgramacion/Lab01$ rm -r Directorio1
2
Mover un archivo
javier@Kosmos:/LabProgramacion$ mv Archivo1 Lab01
2 Primer Programa en C
#include <stdio.h>
int main()
{
/* My first program */
printf("Hello, World! \n");
return 0;
}
#include <stdio.h>: Antes de procesar nuestro programa, el compilador in-
cluye el codigo ubicado en stdio.h, lo que nos permite usar la funcin printf
int main(): Funcion de entrada del lenguaje C
// : Comentarios, el compilador ignora esta porcion de codigo. Es solo
para que el programador pueda dejar anotaciones.
printf: Funcion ubicada en stdio.h, printf imprime en la pantalla lo que
se le pasa como argumento.
Return 0: Valor que retorna la funcion main
Compilar nuestro programa en C
Para compilar nuestro programa hello.c, ejecutaremos gcc desde la terminal
javier@Kosmos: /LabProgramacion/Lab01$gcc hello.c
Por defecto, gcc generar el archivo a.out
Para ejecutarlo hacemos lo siguiente:
javier@Kosmos: /LabProgramacion/Lab01$./a.out
Hello, World!
Para darle un nombre al archivo
javier@Kosmos: /LabProgramacion/Lab01$gcc hello.c -o hello
3
3 Conversion entre bases
Decimal(Base 10) a binario(Base 2)
Ejemplo: 123,77 a binario
Separamos el numero en parte entera (123) y parte decimal (0.77) Para con-
vertir el numero 123, lo dividimos por dos hasta que sea 0 y en cada division
guardamos el resto.
123/2 = 61 1
61/2 = 30 1
30/2 = 15 0
15/2 = 7 1
7/2 = 3 1
3/2 = 1 1
1/2 = 0 1
Finalmente, vemos la parte derecha de la tabla desde abajo hacia arriba
para determinar el numero en binario.
123 en binario es 1111011
Ahora falta la parte decimal, en este caso multiplicamos por 2 y guardamos
la parte entera. Luego tomamos la parte decimal y la volvemos a multiplicar
por 2, este proceso se puede repetir cuantas veces se quiera dependiendo de
la precision que queramos obtener
0.77 2 = 1.54 1
0.54 2 = 1.08 1
0.08 2 = 0.16 0
0.16 2 = 0.32 0
0.32 2 = 0.64 0
0.64 2 = 1.28 1
Nuevamente vemos la parte derecha pero ahora desde arriba hacia abajo,
quedando el numero 0.77 en binario como 0.110001
0.110001 en realidad es 0.765625, si hubieramos realizado mas pasos el nu-
mero resultante estaria cada vez mas cerca de 0.77
Por lo tanto, 123.77 en binario es 1111011.110001
4
Binario a decimal
Ejemplo: 1101 a decimal
Un numero decimal(Base 10) es de la siguiente forma:
123 = 1 100 + 2 10 + 3 1 = 1 10
2
+ 2 10
1
+ 3 10
0
De forma analoga:
1101 = 1 2
3
+ 1 2
2
+ 0 2
1
+ 1 2
0
= 13 en decimal
Binario a hexadecimal(Base 16)
Ejemplo: Transformar 11110010110001 a hexadecimal
Dividimos el numero en binario en grupos de 4 numeros, luego cada grupo
de 4 numeros se pasa a decimal y de decimal a hexadecimal de acuerdo a la
siguiente tabla: (Si un grupo queda con menos de 4 numeros, se completa
colocando ceros a la izquierda)
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
0 1 2 3 4 5 6 7 8 9 A B C D E F
Binario 0011 1100 1011 0001
Decimal 3 12 11 1
Hexadecimal 3 C B 1
Por lo tanto, 11110010110001 en hexadecimal es 0x3CB1, el 0x es para enfa-
tizar que el numero esta en hexadecimal.
5

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