martes, 10 de agosto de 2010

quinto adm

PROGRAMA QUE SUMA LOS CINCO PRIMEROS NÚMEROS NATURALES.
SOLUCIÓN DE LA ECUACIÓN DE SEGUNDO GRADO.
Dada la ecuación de segundo grado ax2 + bx + c = 0 : se calcula el discriminante
discr = b2 − 4ac .
Se pueden presentar tres casos distintos:
– Si discr >0.0 las dos raíces son reales y distintas

Realiza un programa en C que escriba una tabla de dos columnas para la conversión entre las temperaturas en grados Fahrenheit −comprendidas entre 0 ºF y 300 ºF, según incrementos de 20 ºF− y su equivalente en grados centígrados. Se realizarán dos versiones de este programa: una llamada temp1.c que empleará un bucle while. La otra versión se llamará temp2.c y utilizará un bucle for.

La conversión entre grados Centígrados y grados Fahrenheit obedece a la fórmula:
ºC = 5 * (ºF - 32)
9 siendo ºC la temperatura en grados Centígrados y ºF en grados Fahrenheit.


PROGRAMA ELECTORAL, QUE NO ELECTORALISTA.
Aprovechando las muy recientes elecciones al Parlamento Vasco, vamos a ver cómo se convierten en escaños los votos de los sufridos ciudadanos siguiendo el método d’Hont. ¿Estás familiarizado con este método? Por si acaso te lo vamos a recordar.
Supongamos que concurren 3 partidos a las elecciones y que la provincia o distrito electoral dispone de 2 escaños. El primer escaño se lo llevará el partido más votado. Para el segundo escaño se dividen los votos de cada partido entre el número de escaños obtenidos más uno (el partido que no tenga todavía ningún escaño se dividirá entre 1) y se calculan los restos de dichas divisiones. El
escaño se asigna al partido que tras esta operación tenga un resto más elevado. Vamos a verlo con
un ejemplo:
Partido 1: 6000 (Se lleva el escaño 1) → restos → 6000/(1+1) = 3000
Partido 2: 4000 → restos → 4000/(1+0) = 4000 → Se lleva el escaño 2.
Partido 3: 2000 → restos → 2000/(1+0) = 2000
El programa que te presentamos a continuación es para 3 partidos y 2 escaños, pero queda a tu
entera disposición para que lo particularices −si dispones de datos− para el caso de las recientes
elecciones. Ten mucho cuidado porque un fallo en la programación puede hacer caer sobre ti una
acusación de fraude electoral. Llamaremos al programa elecciones.c.
Lo primero que hace este programa es inicializar a cero el vector nEsca[ ]. En este vector se
va a almacenar el número de escaños de cada partido: nEsca[0] contendrá el número de escaños del
partido número 1, nEsca[1] los escaños del partido número 2, etc. Este vector se va a ir
modificando a lo largo de la ejecución del programa.
A continuación se almacenan en el vector nVotos[ ] los números de votos obtenidos por cada
partido, estos datos serán introducidos por el usuario a través del teclado.
La novedad de este programa es que incluye una función: nextEsc(long *, int *). Esta
función tiene como argumentos dos punteros a sendos vectores, es decir, las direcciones de
memoria o los nombres de dos vectores. Cuando se llama a la función, nextEsc(nVotos, nEsca) se
pasa la dirección de memoria de los vectores nEsca[ ] y nVotos[ ]. El nombre de un vector (como
por ejemplo nEsca) es un puntero a la dirección del primer elemento. La función devuelve el
número del partido que ha conseguido el escaño y se almacena en la variable esca. Este número será
cero si el escaño corresponde al primer partido, 1 si corresponde al segundo, etc.

No hay comentarios:

Publicar un comentario