PDF de programación - Sistemas Operativos - Ejercicios de C

Imágen de pdf Sistemas Operativos - Ejercicios de C

Sistemas Operativos - Ejercicios de Cgráfica de visualizaciones

Publicado el 14 de Enero del 2017
1.443 visualizaciones desde el 14 de Enero del 2017
61,3 KB
8 paginas
Creado hace 13a (14/02/2011)
Sistemas Operativos

UNIVERSIDAD
DE CANTABRIA

Ejercicios de C

GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS

© Michael González, J. Javier Gutiérrez

14/feb/11

1

1. Estructura de un programa
Objetivos:
• Practicar con el editor

• y el compilador

- usar el editor emacs emacs nombre.c
- para compilar y enlazar: gcc -Wall nombre.c
- el ejecutable se llama a.out

UNIVERSIDAD
DE CANTABRIA

Descripción:
• Escribir, compilar y ejecutar el programa que escribe "hola" en

la pantalla

GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS

© Michael González, J. Javier Gutiérrez

14/feb/11

2

2. Declaraciones
Objetivos:
• Practicar con declaraciones de variables y constantes
Descripción:
• Crear un programa que declare varias variables y constantes

UNIVERSIDAD
DE CANTABRIA

enteras y reales

• El programa debe hacer operaciones simples con estas

variables (+,-,*,/).

• Al final, mostrar los resultados.

printf("texto %d",expr. entera); /* C */
printf("texto %f",expr. real); /* C */

GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS

© Michael González, J. Javier Gutiérrez

14/feb/11

3

3. Arrays
Objetivos:
• Practicar con arrays de números reales
Descripción:
• Crear tres variables de tipo array de tres números reales

(vectores)

• Leer por teclado los valores de dos de los arrays:

UNIVERSIDAD
DE CANTABRIA

scanf("%f",&var_real); /* C */

• Calcular la suma de los dos vectores, almacenándola en el

tercero

• Mostrar la suma por pantalla

GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS

© Michael González, J. Javier Gutiérrez

14/feb/11

4

UNIVERSIDAD
DE CANTABRIA

4. Strings
Objetivos:
• Practicar con strings de longitud variable
Descripción:
• Declarar 2 strings de hasta 80 caracteres
• Leer en uno tu nombre y en otro el nombre de tu padre

scanf("%s",var_str); /* C */

• Poner en pantalla el mensaje "El padre de xxx es yyy"

printf("texto %s",exp_str); /* C */

GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS

© Michael González, J. Javier Gutiérrez

14/feb/11

5

5. Tipos enumerados
Objetivos:
• Practicar con los tipos enumerados
Descripción:
• Crear un tipo enumerado para los meses del año (meses)
• Crear un array cuyo índice sean los meses del año, capaz de

almacenar el número de días de cada mes. Inicializarlo

UNIVERSIDAD
DE CANTABRIA

• Poner en pantalla los días que tiene el mes que indique el

usuario.

GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS

© Michael González, J. Javier Gutiérrez

14/feb/11

6

5. Tipos enumerados (cont.)
Para escribir meses en C:
• Crear un array de strings con los nombres de cada mes:

UNIVERSIDAD
DE CANTABRIA

typedef char nombre_mes[12];
nombre_mes nombre[] ={"enero","febrero",...};

• Escribir la casilla correspondiente:

mes=marzo;
printf("el mes de %s",nombre[mes]);

Para leer meses en C:
• leer el nombre y luego comparar uno por uno con los elementos
del array nombre[]
• o leer el número del mes

GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS

© Michael González, J. Javier Gutiérrez

14/feb/11

7

6. Registros o Estructuras
Objetivos:
• Practicar con datos almacenados en un array de registros o

estructuras
Descripción:
• Crear un tipo de datos para almacenar los datos personales de

UNIVERSIDAD
DE CANTABRIA

un alumno (nombre, dirección, año de nacimiento)

• Crear un array de datos personales
• leer por teclado el número de la casilla del array a usar
• leer los datos de un alumno, en esa casilla del array (usar
"fgets(string,n,stdin)" para nombre y dirección)
• mostrar estos mismos datos

GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS

© Michael González, J. Javier Gutiérrez

14/feb/11

8

7. Instrucción condicional
Objetivos:
• Practicar con la instrucción condicional
Descripción:
• Leer por teclado tres números reales
• Calcular el máximo de los tres
• Mostrarlo por pantalla

UNIVERSIDAD
DE CANTABRIA

GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS

© Michael González, J. Javier Gutiérrez

14/feb/11

9

UNIVERSIDAD
DE CANTABRIA

8. Instrucción condicional múltiple
Objetivos:
• Practicar con la instrucción condicional múltiple
Descripción:
• Leer una nota de un alumno (entero entre 0 y 10)
• Poner en pantalla:

- suspenso: 0<=nota<=4
- aprobado: 5<=nota<=6
- notable 7: <=nota<=8
- sobresaliente: 9<=nota<=10
- error: nota<0 ó nota>10

GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS

© Michael González, J. Javier Gutiérrez

14/feb/11

10

9. Lazo indefinido
Objetivos:
• Practicar con el lazo indefinido
Descripción:
• Escribir un programa que lea números y los vaya sumando,

hasta que el número introducido sea negativo

UNIVERSIDAD
DE CANTABRIA

GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS

© Michael González, J. Javier Gutiérrez

14/feb/11

11

10. Lazo for
Objetivos:
• Practicar con el lazo for
Descripción:
• Leer un número entero: N
• Calcular la suma de los N primeros números enteros

UNIVERSIDAD
DE CANTABRIA

GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS

© Michael González, J. Javier Gutiérrez

14/feb/11

12

UNIVERSIDAD
DE CANTABRIA

11. Funciones
Objetivos:
• Practicar con funciones y el paso de parámetros
Descripción:
• Definir un tipo vector-3D como un array de 3 casillas reales
• Crear tres funciones; no usar variables globales:
leer por teclado las tres componentes de un vector

-
- producto escalar de dos vectores: se retorna el valor
- escribir en pantalla las tres componentes de un vector

• Crear un programa principal que permita calcular el producto

escalar de dos vectores y muestre al final los dos vectores y el
resultado

GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS

© Michael González, J. Javier Gutiérrez

14/feb/11

13

12. Modularidad
Objetivos:
• Crear un módulo de programa con interfaz separada del cuerpo
Descripción:
• Definir el tipo vector y sus operaciones del ejercicio anterior en

UNIVERSIDAD
DE CANTABRIA

un módulo con interfaz separada del cuerpo
• Añadir una operación de suma de vectores
• Rediseñar el programa principal para:

- usar el nuevo módulo
- permitir al usuario elegir la operación a realizar con los vectores

(suma o producto escalar)

GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS

© Michael González, J. Javier Gutiérrez

14/feb/11

14

13. Tratamiento de errores
Objetivos:
• Practicar los métodos de tratamiento de errores aritméticos y de

UNIVERSIDAD
DE CANTABRIA

teclado

Descripción:
• Crear un programa para el cálculo de regresiones lineales

- Preguntar el número de datos a introducir, N
- Leer de teclado N parejas de datos (X,Y)
- Mostrar los resultados:

- constantes a y b de la recta
- factor de correlación

• Tratar errores de teclado (preguntando de nuevo), así como

errores aritméticos (división por cero)

GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS

© Michael González, J. Javier Gutiérrez

14/feb/11

15

Regresión Lineal

y

y=a+bx

UNIVERSIDAD
DE CANTABRIA

x

a

=

y b x–
-------------------------

n



n xy
x y
-------------------------------------
2
n x2
x





-----------------------------------------------------------------------------------------
2
n x2




y





2
x y
n y2







n xy
2
x






b

=

r2

=

GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS

© Michael González, J. Javier Gutiérrez

14/feb/11

16
  • Links de descarga
http://lwp-l.com/pdf949

Comentarios de: Sistemas Operativos - Ejercicios de C (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad