Вы находитесь на странице: 1из 8

UNIVERSIDAD ANDINA DEL CUSCO

SISTEMAS OPERATIVOS
GUIA DE LABORATORIO
ECP 1 de 8

I.

II.

TEMA :

PROGRAMACION EN LINUX

OBJETIVOS DE LA PRACTICA
El estudiante al finalizar la prctica ser capaz de:
1. Utilizar el sistema operativo Linux como una plataforma de desarrollo de
aplicaciones
2. Escribe programas utilizando el lenguaje de programacin C para el sistema
operativo Linux

III.

TRABAJO PREPARATORIO
Para un trabajo con mejores resultados, es imprescindible que el estudiante:
1. Tenga familiaridad con el sistema operativo Linux

IV.

MATERIALES NECESARIOS.
Para el desarrollo de la presente prctica es necesario contar con:
1. Sistema operativo Linux
2. Compilador gcc instalado
3. Editor de textos

V.

MARCO TEORICO.
PROGRAMACION EN LINUX
Se suele creer que en el sistema operativo Linux solo se puede programar el C. Si bien
es cierto que gran parte del sistema operativo Linux, est escrito en C, as como la
mayora de las aplicaciones; C no es la nica opcin disponible en Linux.
Existe un vasto nmero de lenguajes de programacin para Linux y muchos de ellos
estn disponibles en forma gratuita en diversos sitios Web. En el siguiente cuadro se
muestra algunos lenguajes de programacin disponibles para el programador de Linux:

Ada

C++

Eiffel

Forth

Fortran

Icon

Java

JavaScript

Lisp

Modula 2

Modula 3

Oberon

Objective C

Pascal

UNIVERSIDAD ANDINA DEL CUSCO


SISTEMAS OPERATIVOS
GUIA DE LABORATORIO
ECP 2 de 8

Perl

PostScript

Prolog

Python

Scheme

Smalltalk

Tcl/Tk

Basic .Net

C#

En el presente curso, sin embargo, utilizaremos el lenguaje de programacin C, debido a


que la mayor parte del sistema operativo Linux utiliza este lenguaje y, adems, los
programas escritos en C suelen ser ms eficientes que aquellos escritos en lenguajes
como Java o C#.

PROGRAMAS EN LINUX
Las aplicaciones en Linux se representan por dos tipos especiales de archivos:
ejecutables y scripts. Los archivos ejecutables son programas que pueden ser ejecutados
directamente por el computador y se corresponden a los archivos .exe del DOS. Los
scripts son colecciones de instrucciones que otro programa, un intrprete, debe seguir.
Estos se corresponden con los archivos .bat del DOS.
Linux no requiere que los ejecutables o los scripts tengan un nombre de archivo
especfico. Los atributos del sistema de archivos se utilizan para indicar que un archivo
es un programa que se puede ejecutar.

EL COMPILADOR C Y COMPILACION DE PROGRAMAS


En la plataforma Linux, existen varios compiladores para el lenguaje de programacin
C, sin embargo, el ms utilizado es el compilador GCC (GNU C Compiler).
Este es un compilador de cdigo abierto y tiene versiones para diversas plataformas
adems de Linux, tales como BSD, Solaris, OS X e incluso Windows.
Para las tareas del curso, es suficiente utilizar el compilador desde la lnea de comandos,
sin embargo, se puede utilizar tambin un IDE como KDevelop, Eclipse u otros
disponibles para la plataforma Linux
Comenzaremos creando, compilando y ejecutando nuestro primer programa en C para
Linux. Para el caso escribiremos el programa ms famoso de todos; aquel que muestra
el mensaje Hola mundo.
Los pasos que se deben seguir para tal propsito son:
1. Escribir en un editor de texto cualquiera (por ejemplo el mcedit o kate) el siguiente
cdigo:
#include <stdio.h>
int main(){
printf(Hola Mundo\n);
}

UNIVERSIDAD ANDINA DEL CUSCO


SISTEMAS OPERATIVOS
GUIA DE LABORATORIO
ECP 3 de 8

2. Guardamos el programa con el nombre holaMundo.c


3. Para compilar el programa holaMundo.c, en la lnea de comandos ejecutamos la
sentencia
gcc o holaMundo holaMundo.c
4. Para ejecutar el programa ejecutamos la sentencia:
./holaMundo
5. La salida debe mostrar el mensaje
Hola Mundo
6. Si omitimos el modificador o, el programa resultante de la compilacin se llamar
por defecto a.out.

OBTENCION DE AYUDA
Para obtener ayuda sobre algn programa o sentencia utilizamos la orden man
utilizando la siguiente sintaxis:
man <nombre de programa o sentencia>

UNIVERSIDAD ANDINA DEL CUSCO


SISTEMAS OPERATIVOS
GUIA DE LABORATORIO
ECP 4 de 8

Por ejemplo, para obtener ayuda sobre el compilador gcc, la orden sera:
man gcc

Esta orden nos mostrar por pantalla la ayuda del gcc; la cual debe ser similar a la
siguiente:
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.

GCC(1)

GNU Tools

GCC(1)

NAME
gcc, g++ - GNU project C and C++ Compiler (egcs-1.1.2)
SYNOPSIS
gcc [ option | filename ]...
g++ [ option | filename ]...
WARNING
The information in this man page is an extract from the
full documentation of the GNU C compiler, and is limited
to the meaning of the options.
This man page is not kept up to date except when volunteers want to maintain it.
If you find a discrepancy
between the man page and the software, please check the
Info file, which is the authoritative documentation.
If we find that the things in this man page that are out
of date cause significant confusion or complaints, we will
stop distributing the man page. The alternative, updating
the man page when we update the Info file, is impossible
because the rest of the work of maintaining GNU CC leaves
us no time for that. The GNU project regards man pages as
obsolete and should not let them take time away from other
things.
For complete and current documentation, refer to the Info
file 'gcc' or the manual Using and Porting GNU CC (for
version 2.0). Both are made from the Texinfo source file
gcc.texinfo.

...
Al recorrer el archivo de ayuda, utilizamos la barra espaciadora para leer la siguiente
pgina, la tecla Enter para leer la siguiente lnea, y la tecla q para salir de la ayuda.

VI.

DESARROLLO DE LA PRACTICA

1.

Escriba un programa que calcule el cuadrado de un numero ingresado por el usuario


a travs del teclado

Solucin:

UNIVERSIDAD ANDINA DEL CUSCO


SISTEMAS OPERATIVOS
GUIA DE LABORATORIO
ECP 5 de 8

//
//
//
//
//

Nombre
Proposito
Autor
FCreacion
FModificacion

:
:
:
:
:

Cuadrado
Calcula el cuadrado de un numero
Edwin Carrasco
05/09/2007
--

#include<stdio.h>
main ()
{
//Variables
int numero;
float resultado;
//Indicar que hace el programa
puts("ESTE PROGRAMA CALCULA EL CUADRADO DE UN NUMERO");
//Leer datos
printf("Ingrese un numero: ");
scanf("%d",&numero);
//Procesar
resultado = numero * numero;
//Mostrar resultados
printf("El cuadrado de %d es %f\n", numero, resultado);
}

2.

Escriba un programa que lea N nmeros del teclado y muestre el promedio de estos

Solucion:
//
//
//
//
//

Nombre
Proposito
Autor
FCreacion
FModificacion

:
:
:
:
:

#include<stdio.h>
main ()
{
//Variables
float numero=0;
float acumulador=0;
int contador=0;
float promedio=0;

promedio
calcula el promedio de N numeros
Edwin Carrasco
05/09/2007
--

UNIVERSIDAD ANDINA DEL CUSCO


SISTEMAS OPERATIVOS
GUIA DE LABORATORIO
ECP 6 de 8

//Indicar que hace el programa


puts("ESTE PROGRAMA CALCULA EL PROMEDIO DE N NUMEROS
POSITIVOS");
//Leer datos
while (numero >= 0)
{
printf("Ingrese un numero (-1 para terminar): ");
scanf("%f",&numero);
if (numero >= 0)
{
acumulador = acumulador + numero;
contador++;
}
}
//Procesar
if (contador != 0)
promedio= acumulador/contador;
//Mostrar resultados
printf("El promedio de los %d numeros es %f\n", contador,
promedio);
}

3.

Escriba un programa que calcule la suma de los elementos de un arreglo de tamao


N

Solucion:
// Nombre
// Proposito

:
:

// Autor
// FCreacion
// FModificacion

:
:
:

#include<stdio.h>
main ()
{
//Variables
int N = 10;
int arreglo[N];
int numero;
int i=0;
double suma=0;

sumaArreglo
calcula la suma de los elementos de
un arreglo
Edwin Carrasco
05/09/2007
--

UNIVERSIDAD ANDINA DEL CUSCO


SISTEMAS OPERATIVOS
GUIA DE LABORATORIO
ECP 7 de 8

//Indicar que hace el programa


puts("ESTE PROGRAMA CALCULA LA SUMA DE LOS ELEMENTOS DE
UN ARREGLEO");
//Leer datos
for (i = 0; i<10; i++)
{
printf("Ingrese un numero: ");
scanf("%d",arreglo+i);
}
//Procesar
for (i = 0; i<10; i++)
{
suma= suma+ arreglo[i];
}

//Mostrar resultados
printf("La suma de los elementos del arreglo es %f \n",
suma);
}

VII.

EJERCICIOS PROPUESTOS.
1.

Escriba un programa en C, que lea un nombre por el del teclado y muestre por
pantalla un mensaje de bienvenida, de acuerdo al siguiente formato:
Ingrese su nombre:
Juan
Juan, bienvenido a Linux

2.
3.
4.
5.
6.

VIII.

Escriba un programa que calcule la suma de los N primeros nmeros impares.


Escriba un programa que lea las coordenadas de dos lneas y determine cul es la de
mayor longitud.
Escriba un programa que lea las coordenadas de dos lneas y si estas se intersecan,
determine el ngulo que forman
Escriba un programa que halle el valor mximo, mnimo, el promedio y la
frecuencia de los elementos de un arreglo de N elementos enteros.
Escriba un programa en C, que calcule el promedio de los elementos de un arreglo
bidimensional, cuyas dimensiones MxN sean definidas por el usuario

BIBLIOGRAFIA
1.
2.

Deitel & Deitel, Como Programar En C/C++. Prentice Hall 2ed.


Joyanes L., Microsoft C/C++ 7. Manual De Bolsillo. Ed. McGraw Hill 1994

UNIVERSIDAD ANDINA DEL CUSCO


SISTEMAS OPERATIVOS
GUIA DE LABORATORIO
ECP 8 de 8

3.
4.
5.
6.
7.

Marquez, M. UNIX. Programacin Avanzada. 2da edicin. Editorial Alfaomega


2001.
www.tldp.org
http://www.debian.org/doc/manuals/reference/ch-program.es.html
http://www.open-std.org/jtc1/sc22/wg14/
http://www.unknownroad.com/rtfm/gdbtut/gdbtoc.html

Вам также может понравиться