0% encontró este documento útil (0 votos)
93 vistas8 páginas

Guia 1 ProgramacionEnLinux

Este documento presenta una guía de laboratorio para una práctica sobre programación en Linux usando el lenguaje C. Los objetivos son que los estudiantes aprendan a utilizar Linux como plataforma de desarrollo y escribir programas en C. Se describen los materiales necesarios, un marco teórico sobre programación en Linux y C, y tres ejercicios de programación para practicar conceptos como cálculo de cuadrados, promedios y suma de arreglos.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
93 vistas8 páginas

Guia 1 ProgramacionEnLinux

Este documento presenta una guía de laboratorio para una práctica sobre programación en Linux usando el lenguaje C. Los objetivos son que los estudiantes aprendan a utilizar Linux como plataforma de desarrollo y escribir programas en C. Se describen los materiales necesarios, un marco teórico sobre programación en Linux y C, y tres ejercicios de programación para practicar conceptos como cálculo de cuadrados, promedios y suma de arreglos.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

UNIVERSIDAD ANDINA DEL CUSCO

SISTEMAS OPERATIVOS
GUIA DE LABORATORIO
ECP 1 de 8

I. TEMA : PROGRAMACION EN LINUX

II. OBJETIVOS DE LA PRACTICA

El estudiante al finalizar la práctica será capaz de:

1. Utilizar el sistema operativo Linux como una plataforma de desarrollo de


aplicaciones
2. Escribe programas utilizando el lenguaje de programación 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 práctica 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
mayoría de las aplicaciones; C no es la única opción disponible en Linux.

Existe un vasto número de lenguajes de programación para Linux y muchos de ellos


están disponibles en forma gratuita en diversos sitios Web. En el siguiente cuadro se
muestra algunos lenguajes de programación disponibles para el programador de Linux:

Ada C C++
Eiffel Forth Fortran
Icon Java JavaScript
Lisp Modula 2 Modula 3
Oberon Objective C Pascal
Perl PostScript Prolog
Python Scheme Smalltalk
Tcl/Tk Basic .Net C#

En el presente curso, sin embargo, utilizaremos el lenguaje de programación C, debido a


que la mayor parte del sistema operativo Linux utiliza este lenguaje y, además, los
programas escritos en C suelen ser más 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 intérprete, 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
específico. 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 programación


C, sin embargo, el más utilizado es el compilador GCC (GNU C Compiler).
Este es un compilador de código abierto y tiene versiones para diversas plataformas
además de Linux, tales como BSD, Solaris, OS X e incluso Windows.
Para las tareas del curso, es suficiente utilizar el compilador desde la línea de comandos,
sin embargo, se puede utilizar también 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 más famoso de todos; aquel que muestra
el mensaje Hola mundo.

Los pasos que se deben seguir para tal propósito son:

1. Escribir en un editor de texto cualquiera (por ejemplo el mcedit o kate) el


siguiente código:

#include <stdio.h>

int main(){
printf(“Hola Mundo\n”);
}
2. Guardamos el programa con el nombre holaMundo.c
3. Para compilar el programa holaMundo.c, en la línea 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 compilación se


llamará por defecto a.out.

OBTENCION DE AYUDA

Para obtener ayuda sobre algún programa o sentencia utilizamos la orden “man”
utilizando la siguiente sintaxis:

man <nombre de programa o sentencia>


Por ejemplo, para obtener ayuda sobre el compilador gcc, la orden sería:

man gcc

Esta orden nos mostrará por pantalla la ayuda del gcc; la cual debe ser similar a la
siguiente:

1. GCC(1) GNU Tools GCC(1)


2.
3. NAME
4. gcc, g++ - GNU project C and C++ Compiler (egcs-1.1.2)
5.
6. SYNOPSIS
7. gcc [ option | filename ]...
8. g++ [ option | filename ]...
9.
10. WARNING
11. The information in this man page is an extract from the
12. full documentation of the GNU C compiler, and is limited
13. to the meaning of the options.
14.
15. This man page is not kept up to date except when volun-
16. teers want to maintain it. If you find a discrepancy
17. between the man page and the software, please check the
18. Info file, which is the authoritative documentation.
19.
20. If we find that the things in this man page that are out
21. of date cause significant confusion or complaints, we will
22. stop distributing the man page. The alternative, updating
23. the man page when we update the Info file, is impossible
24. because the rest of the work of maintaining GNU CC leaves
25. us no time for that. The GNU project regards man pages as
26. obsolete and should not let them take time away from other
27. things.
28.
29. For complete and current documentation, refer to the Info
30. file 'gcc' or the manual Using and Porting GNU CC (for
31. version 2.0). Both are made from the Texinfo source file
32. gcc.texinfo.
...

Al recorrer el archivo de ayuda, utilizamos la barra espaciadora para leer la siguiente


página, la tecla “Enter” para leer la siguiente línea, 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 través del teclado

Solución:
// Nombre : Cuadrado
// Proposito : Calcula el cuadrado de un numero
// Autor : Edwin Carrasco
// FCreacion : 05/09/2007
// FModificacion : --

#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 números del teclado y muestre el promedio de estos

Solucion:

// Nombre : promedio
// Proposito : calcula el promedio de N numeros
// Autor : Edwin Carrasco
// FCreacion : 05/09/2007
// FModificacion : --

#include<stdio.h>

main ()
{

//Variables
float numero=0;
float acumulador=0;
int contador=0;
float promedio=0;
//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 tamaño


N

Solucion:

// Nombre : sumaArreglo
// Proposito : calcula la suma de los elementos de
un arreglo
// Autor : Edwin Carrasco
// FCreacion : 05/09/2007
// FModificacion : --

#include<stdio.h>

main ()
{

//Variables int
N = 10; int
arreglo[N]; int
numero; int
i=0; double
suma=0;
//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. Escriba un programa que calcule la suma de los N primeros números impares.


3. Escriba un programa que lea las coordenadas de dos líneas y determine cuál es la de
mayor longitud.
4. Escriba un programa que lea las coordenadas de dos líneas y si estas se intersecan,
determine el ángulo que forman
5. Escriba un programa que halle el valor máximo, mínimo, el promedio y la
frecuencia de los elementos de un arreglo de N elementos enteros.
6. Escriba un programa en C, que calcule el promedio de los elementos de un arreglo
bidimensional, cuyas dimensiones MxN sean definidas por el usuario

VIII. BIBLIOGRAFIA

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


2. Joyanes L., “Microsoft C/C++ 7. Manual De Bolsillo”. Ed. McGraw Hill 1994
3. Marquez, M. “UNIX. Programación Avanzada”. 2da edición. Editorial Alfaomega
2001.
4. www.tldp.org
5. http://www.debian.org/doc/manuals/reference/ch-program.es.html
6. http://www.open-std.org/jtc1/sc22/wg14/
7. http://www.unknownroad.com/rtfm/gdbtut/gdbtoc.html

También podría gustarte