ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Ejercicios Programación C

edgris8 de Abril de 2014

4.117 Palabras (17 Páginas)402 Visitas

Página 1 de 17

Ejercicios de programación en C:

Relación de Ejercicios 1

Programación de Sistemas para Control de Procesos.

Ingeniería Técnica en Electrónica Industrial.

1. Efectuar un programa que lea los valores de 3 resistencias electrónicas (en Ohmios, W) conectadas en

paralelo y muestre en pantalla el valor global de las 3. El valor global es calculado por la siguiente ecuación: 1

/ (1/R1 + 1/R2 + 1/R3).

2. Modificar el programa anterior para aplicar la fórmula a cualquier cantidad de resistencias. Primeramente, el

programa pedirá el número de resistencias a conectar en paralelo. Después pedirá uno a uno los valores de

todas las resistencias. Por último, escribirá el resultado global.

3. Modifique el programa anterior para que muestre también el resultado global si todas las resistencias fueran

conectadas en serie (en vez de en paralelo). Recuerde que si conectamos en serie n resistencias el resultado

global es la suma de todas ellas.

4. Efectuar un programa que lea dos números enteros y muestre en pantalla todos los números comprendidos

entre dichos números, ambos incluidos. El programa no debe suponer que el primero será menor que el

segundo, ni viceversa, pero sí que deberá tenerlo en cuenta para mostrar los números en orden creciente o

decreciente según corresponda.

Modificar el programa anterior para que los números sean mostrados por filas, de forma que cada fila tenga n

números. El número de números por filas, n, será leído al principio del programa. Cada número puede ir

separado del siguiente por el carácter tabulador (ASCII número 9).

5. Implementar lo siguiente:

· Una función que, dados (como argumentos por Valor) los valores de 2 resistencias (en ohmios),

devuelva la resistencia global que ofrecen ambas si se conectan en paralelo.

· Un programa que calcule la resistencia global de n resistencias conectadas en paralelo. El programa

pedirá sucesivamente una tras otra las n resistencias. El programa entenderá que no hay más

resistencias cuando lea una resistencia menor o igual a cero. El programa se implementará de forma que

utilice la función anterior.

6. Escribir una función que, dados (como argumentos por Valor) los valores de 3 resistencias (en ohmios),

devuelva la resistencia global que ofrecen si se conectan en paralelo. Implementar esta función usando y sin

usar la función del ejercicio anterior.

7. Implementar una función, Digit(N,num) que devuelva el dígito N-ésimo de un número num de tipo

unsigned long int, teniendo en cuenta que el dígito 0 es el dígito más a la derecha (el menos

significativo). La función devolverá -1 si el número no tiene suficientes dígitos. Considere la posibilidad de que

N pueda ser un número negativo. Ejemplos:

Digit (0,3456) Devuelve 6

Digit (1,-3456) Devuelve 5

Digit (4,3456) Devuelve -1

Dpto. Lenguajes y Ciencias de la Computación 2

8. Las resistencias electrónicas suelen ir identificadas por un código de colores que permite marcar cada

resistencia con su valor (en Ohmios, W) y su Tolerancia (en %). Este código de colores viene representado

en la siguiente tabla:

Dígito Color Multiplicador Tolerancia

Ninguno 20%

Plata 0.01 10%

Oro 0.1 5%

0 Negro 1

1 Marrón 10

2 Rojo 102 2%

3 Naranja 103

4 Amarillo 104

5 Verde 105

6 Azul 106

7 Violeta 107

8 Gris

9 Blanco

El código que suele emplearse en las resistencias es un código de 4 colores, es decir, cada resistencia está

marcada con 4 bandas y cada una de ellas puede ser de diferente color. Cada banda tiene un significado, que

depende de cada color:

· Las primeras 2 bandas indican un número de 2 dígitos: Esos dos dígitos vienen dados por el color de

esas bandas, según la columna "Dígito" de la tabla.

· La tercera banda es un valor por el que se multiplicará el número obtenido por las bandas anteriores.

Una vez multiplicados ambos valores, obtenemos el valor de la resistencia en Ohmios (W).

· La cuarta banda indica la tolerancia de la resistencia y, como puede verse en la tabla, no puede ser

de cualquier color.

Ejemplo: Unas resistencias con los siguientes colores, tienen los siguientes valores de resistencia y tolerancia:

Verde-Azul-Amarillo-Oro 560kW, 5%

Rojo-Negro-Rojo-Rojo 2kW, 2%

Rojo-Rojo-Marrón-Plata 220W, 10%

Según todo lo anterior, implemente un subprograma que permita calcular la resistencia y la tolerancia de una

resistencia, sabiendo los códigos de colores. El subprograma tendrá, como mínimo, 4 argumentos, que serán

números naturales, y que indicarán el color de las bandas según la columna "Dígito". Los colores Oro, Plata y

Ninguno tomarán los valores 10, 11 y 12 respectivamente.

Implementar otro subprograma que muestre por pantalla el dígito que le corresponde a cada color (incluyendo

los dígitos 10, 11 y 12).

Implementar también un programa que pida los colores de las 4 bandas y muestre los valores devueltos por el

anterior subprograma. El programa mostrará el dígito que le corresponde a cada color usando el

procedimiento ya creado y leerá de teclado 4 números que corresponderán a los colores de las 4 bandas.

Dpto. Lenguajes y Ciencias de la Computación 3

Tras esta lectura mostrará los datos de la resistencia con esos colores en las bandas. El programa se repetirá

indefinidamente hasta que lea un valor negativo como color de una banda.

9. Hacer un programa que dibuje una hélice en una posición determinada de la pantalla. El programa pedirá

primero los valores X e Y de esa posición, indicando un error si alguno de esos dos valores está fuera del

rango de la pantalla. Después, borrará la pantalla (con la función clrscr() de la librería conio.h) y

situará el cursor en la posición introducida (con la función gotoxy() de la librería conio.h), escribiendo

sucesivamente los siguientes 4 caracteres, de forma que al llegar al último escriba de nuevo el primero:

'-' '\' '|' '/'

Al poner en una posición fija de la pantalla esos 4 caracteres sucesiva y repetidamente da la sensación de

que es una hélice girando. La velocidad de la hélice puede controlarse introduciendo una espera entre cada

dos estados de la hélice (por ejemplo con la función Delay() de la librería dos.h). La duración de esa

espera puede ser también leída del teclado, al principio del programa, igual que la posición. El programa

terminará cuando se pulse la tecla de escape ESC (carácter 27 del código ASCII).

10. Modificar el programa anterior para que la posición de la hélice no sea fija, sino que esté establecida a un

valor inicial y podamos modificar esa posición utilizando las flechas del teclado, de forma que, por ejemplo, si

se pulsa la flecha DERECHA sume una unidad en la posición X, desplazando así la hélice hacia la derecha.

NOTA 1: Controlar que no se exceda de los límites de la pantalla.

NOTA 2: Al mover la hélice, recuerde que tiene que borrar el carácter que hubiera en la posición anterior.

NOTA 3: Para averiguar cuales son los códigos de las teclas de flechas puede hacer un programa que lea

caracteres de teclado y escriba sus respectivos códigos. Con este programa ejecutándose, pulse las

flechas y observe cuales son sus códigos. Tenga en cuenta que las flechas (como las teclas de función F1,

F2...) están formadas por 2 caracteres, el primero es el carácter nulo (ASCII 0) y el segundo indica la

tecla pulsada.

11. Modificar el programa anterior para incorporar que se puede modificar la velocidad de la hélice durante la

ejecución del programa. Para ello, se incorporará una espera en cada paso (por ejemplo con la función

Delay() de la librería dos.h), de forma que el argumento de esta función varíe sumando o restando un

incremento fijo INC (definido como una constante simbólica), de la siguiente forma:

- Si se pulsa '+' se incrementará el argumento en INC.

- Si se pulsa '*' se incrementará el argumento en INC+INC.

- Si se pulsa '-' se decrementará el argumento en INC.

- Si se pulsa '/' se decrementará el argumento en INC+INC.

NOTA: El argumento de la función de espera, puede declararse como un unsigned char, de forma que

si se incrementa demasiado retorne la cuenta a cero y nunca se haga la espera excesivamente larga.

12. Utilizar una declaración de tipos para una matriz de números reales de tamaño DIM´DIM, donde DIM es

una constante, declarada como tal, de valor 10. Escribir las siguientes funciones:

a) Función traspuestaM: Acepta una matriz como único argumento y devuelve su matriz

traspuesta.

b) Función simetricaM: Acepta una matriz como único argumento y devuelve 1 si dicha matriz es

simétrica y 0 si no lo es. Para averiguar si la matriz es o no simétrica se debe usar la función

traspuestaM del apartado anterior.

Dpto. Lenguajes y Ciencias de la Computación 4

c) Función sumaM: Acepta tres matrices devolviendo en la tercera de ellas la

...

Descargar como (para miembros actualizados) txt (27 Kb)
Leer 16 páginas más »
Disponible sólo en Clubensayos.com