Programacion de sistemas

Solo disponible en BuenasTareas
  • Páginas : 21 (5061 palabras )
  • Descarga(s) : 0
  • Publicado : 21 de octubre de 2010
Leer documento completo
Vista previa del texto
Benemérita Universidad Autónoma De Puebla

Facultad De Ciencias De La Computación

Notas para el curso de Programación de Sistemas

MC. Hilda Castillo Zacatelco

Primavera’2004

Indice

1. Lenguaje C 3

2. Procesos 7

3. Señales y Excepciones 16

4. Tuberías 24

5. Facilidades IPC 33

5.1 Paso de Mensajes 34

5.2 Semáforos38

5.3 Memoria Compartida 43

6. Sockets 44

Bibliografía 49

Programación de Sistemas

1. Lenguaje C

Arreglos

Un arreglo es un grupo consecutivo de memoria que tienen el mismo nombre y el mismo tipo. Los arreglos (y las estructuras) son entidades estáticas. El primer elemento de cualquier arreglo es el elemento 0. Para referirse a cualquier elemento, seespecifica el nombre del arreglo y el número de posición del elemento.

Declaración de un arreglo.

Tipo nombre_del_arreglo[tamaño];

Por ejemplo: int e[10];

Se esta declarando un arreglo de 10 elementos llamado e, donde cada localidad es de tipo int. Así para referirse al quinto elemento del arreglo se escribirá e[4].

Es conveniente, al declarar un arreglo utilizar una constante paradefinir el tamaño, ya que así los programas son más escalables, esto es, si queremos que el programa haga lo mismo pero ahora con un arreglo de 100 elementos en lugar de uno de 10, solo hay que cambiar de valor a la constante y ya, por ejemplo:

#define TAM 100

int e[TAM];

Los arreglos también pueden inicializarse durante su declaración, por ejemplo:

int califica[9]={5,8,7,10,9,5,7,9,9};Paso de arreglos a funciones.

Para pasar un arreglo como argumento a una función, hay que escribir únicamente el nombre del arreglo sin corchetes. Por ejemplo, si se ha declarado el arreglo elementos de tipo int, y este va a pasar como argumento a la función cambio, entonces la llamada se realizará de esta forma;

cambio(elementos);

La declaración de la función cambio deberárealizarse de esta forma, suponiendo que la función no retorna ningún valor:

void cambio (int argumento[])

{
...................... sentencias

}

El paso de parámetros para arreglos es por referencia, por lo tanto, es posible modificar el valor del arreglo en la función, y así permanecerán incluso después de haber llamado a la función, los valores originales se perderán.

Arreglos demúltiples subíndices

Es posible manejar arreglos de múltiples subíndices, los más típicos son los arreglos bidimensionales (matrices, que utilizan dos índices para referirse a uno de sus elementos), los cuales organizan la información en filas y columnas. Aunque también podemos utilizar arreglos tridimensionales, y así sucesivamente.

Declaración e inicialización de un arreglo bidimensional:int bidi[2][3]={{2,3,4},{5,6,7}}; // Arreglo que maneja dos filas y tres columnas.

Para hacer referencia al elemento que se encuentra en la segunda fila tercera columna escribimos: bidi[1][2], el valor contenido en esa posición es el 7.

Ejercicios:

1) Escribir un programa que obtenga la mediana de una conjunto de 100 números. Procedimiento: primero ordenar el conjunto de números ydespués acceder al elemento que se encuentre a la mitad del arreglo. Utilizar una función que obtenga la moda, y que reciba como argumentos el tamaño del arreglo y el arreglo de enteros.

2) Escribir un programa que dibuje un histograma con asteriscos para 10 valores enteros.

3) Escribir un programa que sume las diagonales de una matriz, una si y otra no, depositando cada resultado parcialen un arreglo. Es decir, si tenemos la matriz:

4 7 2 6 7 8 3

3 7 2 0 3 6 2

7 5 6 8 1 4 2

3 6 8 7 6 5 4

2 7 9 9 0 8 6

1 1 4 5 2 6 7

Suma=1 14 27 38 17 10

Utilizar funciones.

4) Sistema de reservaciones de una aerolínea. Escriba un programa que se encargue de realizar las reservaciones de un...
tracking img