jueves, 30 de junio de 2011

TAREA #1 Algoritmos Computacionales

Un algoritmo es una serie de pasos a seguir para llegar a la solucion de algun problema.

El siguiente algoritmo se trata de una nomina de empresa.

El programa consiste en que la computadora te pedira tus datos como el nombre, sueldo, horas extra
trabajadas, dias trabajados, numero de empleado, despues te mostrara una lista de percepciones (sueldo, prima dominical, horas extra, etc..) y una lista de deducciones (IMSS, ahorro, infonavit, etc..), tambien te dara la opcion de imprimir la nomina, y una opcion de checar cuanto porcentaje valen las deducciones.

El programa esta realizado en QBasic con la extencion .BAS .

Realize el programa porque me parecio interesante saber masomenos como se maneja una empresa su nomina de empleados, y lo realize en QBasic porque hasta ahorita es el programa que mas se usar para programar.






DIM aser AS STRING
CLS
LOCATE 10, 20: PRINT "§§BIENVENIDO A LA NOMINA DE LA EMPRESA§§"
LOCATE 13, 25: PRINT "      SOFTWARE SOLUTIONS"
SLEEP 4
10 CLS
LOCATE 3, 3: PRINT " SOFTWARE SOLUTIONS               NOMINA PARA EMPLEADOS"
LOCATE 4, 3: PRINT "--------------------------------------------------------"
INPUT "Cual es su nombre: ", nombre$
INPUT "Cual es su numero de empleado: ", empleado
INPUT "Cuantos dias trabajo: ", dias
INPUT "Cuantas horas extra trabajo: ", hrs
INPUT "Cuanto gana por dia: ", gana
CLS
LOCATE 3, 3: PRINT "SOFTWARE SOLUTIONS                 NOMINA PARA EMPLEADOS"
LOCATE 5, 3: PRINT nombre$; "                             "; empleado
LOCATE 6, 3: PRINT "---------------------------------------------------------"
REM AQUI EMPIESAN LAS PERCEPCIONES
LOCATE 8, 6: PRINT "PERCEPCIONES"
LET j = gana * dias
LOCATE 10, 3: PRINT "-Sueldo: "; j
LET p = gana * 2
LOCATE 11, 3: PRINT "-Prima dominical: "; p
LET a = j * .1
LOCATE 12, 3: PRINT "-Premio asistencia : "; a
LOCATE 13, 3: PRINT "-Horas extra: "; hrs * 100
REM AQUI TERMINAN LAS PERCEPCIONES Y EMPIESAN LAS DEDUCCIONES
LOCATE 8, 40: PRINT "DEDUCCIONES"
LOCATE 10, 37: PRINT "-IMSS: "; j * .07
LOCATE 11, 37: PRINT "-ISPT: "; j * .09
LOCATE 12, 37: PRINT "-INFONAVIT: "; j / 8
LOCATE 13, 37: PRINT "-Comedor: 150"
LOCATE 14, 37: PRINT "-Ahorro: "; j * .03
REM AQUI TERMINAN LAS DEDUCCIONES ,HACEMOS LA SUMA Y RESTA PARA EL TOTAL
PRINT "   --------------------------------------------------------"
LET subt = j + p + a + (hrs * 100)
LOCATE 16, 3: PRINT "Subtotal: "; j + p + a + (hrs * 100)
LET tot = (j * .07) + (j * .09) + (j / 8) + 150 + (j * .03)
LOCATE 17, 3: PRINT "Total: "; subt - tot
20 LOCATE 21, 3: PRINT "A.Volver a poner datos"
LOCATE 23, 3: PRINT "B.Imprimir Nomina"
LOCATE 21, 30: PRINT "C.Checar Porcentajes"
LOCATE 23, 30: PRINT "D.Salir"
LOCATE 19, 18: INPUT "Que desea hacer: ", aser
SELECT CASE aser
 CASE IS = "a"
  GOTO 10
 CASE IS = "b"
  CLS
  LOCATE 20, 3: PRINT "Imprimiendo Nomina, Espere..."
  SLEEP 2
  CLS
  LOCATE 3, 3: PRINT "Nomina Impresa!!"
  SLEEP 2
  CLS
  GOTO 20
 CASE IS = "c"
  CLS
  PRINT "  ------------------------------------------------"
  LOCATE 3, 3: PRINT "Premio de Asistencia : 10%"
  LOCATE 4, 3: PRINT "Horas Extra          : $100 por hora"
  LOCATE 5, 3: PRINT "Prima Dominical      : 2 dias"
  LOCATE 6, 3: PRINT "IMSS                 : .07%"
  LOCATE 7, 3: PRINT "ISPT                 : .09%"
  LOCATE 8, 3: PRINT "Comedor              : $150"
  LOCATE 9, 3: PRINT "Infonavit            : sueldo/8"
  LOCATE 10, 3: PRINT "Ahorro               : .03%"
 PRINT "  ------------------------------------------------"
  SLEEP 10
  GOTO 20
 CASE IS = "d"
  GOTO 40
 CASE ELSE
  CLS
  LOCATE 3, 3: PRINT "Introduzca una opcion Valida"
  GOTO 20
END SELECT
40 CLS
LOCATE 12, 24: PRINT "GRACIAS POR USAR EL PROGRAMA!"
50 END

miércoles, 29 de junio de 2011

TAREA #2 Operaciones con Numeros Binarios

Lo que aprendimos en la segunda clase de Lenguaje ANSI C fue realizar conversiones de números decimales a binarios y viceversa.
A continuación haremos un ejemplo de conversión de Decimal a Binario.

Convertiremos el numero: 7895

1.-Primero escribimos de derecha a izquierda la tabla de 2 a la cero, 2 a la uno, 2 a la 2, así hasta 2 a la "n".

2.-Después checamos cual numero (el mayor posible) de la tabla cabe dentro de nuestro numero decimal y rellenamos ese espacio con un numero "1", despues se lo restamos a nuestro numero decimal.

3.-Repetimos el paso 2 hasta que la resta nos de a cero.

4.-Rellenamos los números que no utilizamos con un cero.

...8192, 4096, 2048, 1024, 512, 256, 128,  64,  32,  16,  8,  4,  2,  1.
                1        1        1       1      0       1     1     0      1   0   1   1   1

5.Entonces acomodamos juntos nuestros ceros y unos y quedara así:

1111011010111 = 7895

....
...
..

Para convertir de un Numero Binario a un Numero Decimal.

Convertiremos el numero: 1010011100

1.-Escribimos la tabla de derecha a izquierda desde 2 a la cero hasta 2 a la "n".

2.- Ponemos todo el numero binario debajo de la tabla ,asegurándonos que el ultimo dígito del numero binario quede debajo de 2 a la "0" , a partir de ahí escribimos todo el numero binario hacia la izquierda.

... 1024, 512, 256, 128,  64,  32,  16,  8,  4,  2,  1.
                1      0      1      0     0     1    1    1   0  0

3.- Después sumamos los números decimales donde haya un numero "1" debajo (512+128++16+8+4) = 668  y quedara así:

668 = 1010011100

...
..
.

También aprendimos cosas nuevas de programacion .c  , como por ejemplo:

-Unsigned int : se utiliza para números grandes y positivos
-Double: punto flotante de presicion doble.
....
...
..
.

lunes, 27 de junio de 2011

TAREA #1 ANSI C

Tarea #1 Lenguaje ANSI C
Aplicaciones y Uso de ANSI C Hoy en Día.

El lenguaje ANSI C es un lenguaje orientado a la implementación de Sistemas Operativos, concretamente Unix. C es apreciado por la eficiencia del código que produce y es el lenguaje de programación más popular para crear software de sistemas.

ANSI C es compatible por casi todos los compiladores, dado que la gran parte del código escrito en C está basado en ANSI C.

Hay 3 componentes de ANSI C:
1. Compilador: Traduce a código maquina el código escrito en C.

2. Preprocesador: Actúa sobre el código fuente antes de la compilacion.

3. Biblioteca estándar: Conjunto de funciones predefinidas.

Referencias de la información
http://elvex.ugr.es/decsai/c/apuntes/c.pdf
http://es.wikipedia.org/wiki/C_(lenguaje_de_programaci%C3%B3n)
Probando entradas