jueves, 14 de julio de 2011

PROGRAMANDO

#include <stdio.h>
#include <conio.h>
#include <windows.h>

int v,i,CER,CEA;
float suma;
main()
{
      do
      {
           printf("Cantidad de promedios en la lista\n");
           scanf("%d", &v);
           }while(v<=0 || v>10);
           suma=0;
           CEA=0;
           CER=0;
           float x[i];
           for(i=0;i<v;i++)
           {
                      do
                      {
                      printf("\n Dame el promedio %d:\n", i+1);
                      scanf("%f", &x[i]);
                      }while(x[i]<0 || x[i]>100);
                      if(x[i]>=70)
                      {
                                  printf("Esta Aprobado\n\n");
                                  CEA++;
                                  }
                                  else
                                  {
                                      printf("Esta Reprobado\n\n");
                                      CER++;
                                      }
                                      }
                                      system("cls");
                                      for(i=0;i<v;i++)
                                      {
                                                      suma=suma+x[i];
                                                      printf("\n%.2f", x[i]);
                                                      }
                                                      suma=suma/v;
                                                      printf("\n\nEl promedio general es: %8.2f", suma);
                                                      printf("\n\nLa cantidad de aprobados son: %.2d y los reprobados son: %.2d", CEA,CER);
                                                      getche();                 







en este programa le introduces la cantidad de promedios que quieres calcular y le ingresas los promedios y al final te dise cuandos reprobados ahi y cuantos aprovados

Programa de arreglo

#include <stdio.h>
#define MAX 12
//define MAX como constante

int main(int argi, char** argc[]) {
    int Arreglo[MAX], i, suma = 0;
    float promedio;
    printf("Tecleea los datos a calucular el promedio\n");
    for(i = 0; i < MAX; i++) {
       printf("Dato[%d] = ", i + 1);
       scanf("%d", &Arreglo[i]);
    }
    for(i = 0; i < MAX; i++) {
       printf("Arreglo[%d] = %d\n", i, Arreglo[i]);
    }
    for(i = 0; i < MAX; i++) {
       suma += Arreglo[i]; // suma = suma + Arreglo[i]    }
    promedio = (float)suma / MAX;
    printf("El promedio de los datos es = %f", promedio);   
    return 0;
}



**este es un arreglo unimensional tambien conosido como una lista**


en ese programa es una lista de promedios donde yo por desir puse un maximo de 12 promedios le puse dato a cada numero que iva a promediar y asi hize una lista de maximo 12 datos

algoritmos recursivos

martes, 12 de julio de 2011

PROGRAMANDO

#include <stdio.h>   /* programa que suma la diagonal principal de la matriz */


void carga_matriz();      /*declaramos funciones*/
void suma_diagonal();
void imprime _resultado();

/* declaramos variables generales*/

int Matriz[10][10], I, J, N, SUMA, fila, columna;

main()
{

clrscr();
carga_matriz();                           /*llamamos a las funciones*/
suma_diagonal();
imprime_resultado();
}                                              /*terminamos con la funcion de main*/


void carga_matriz()
{
clrscr();
printf("Dame la dimension de la matriz \n") ;
scanf("%d", &N);
for(I=1;I<=N;I++)
{
for(J=1;J<=N;J++)
{
printf("Dame el elemento[%d,%d] \n" ,I,J) ;
scanf("%d , &Matriz[I] [J] ) ;
}                                   /*fin del for*/
}                         /*fin del otro for */
return;
} /*fin de la funcion carga_matriz */

/*-----------------------------------------------------*/

void suma_diagonal()
{
SUMA=0;
for(I=1;I<=N;I++)
{
    for(J=1;J<=N;J++) ;
    {
         if(I==J)
                {
                   SUMA = SUMA+Matriz [I] [J] ;
                 }            /*Temina el if (I==J) */
     }
}
Return;
}      /*fin de la funcion suma_matriz */


/*-------------------------------------------*/


void imprime_resultado()
{
clrscr() ;
fila =5;
for (I=1;I<=N;I++)
        {
          columna=5;
              for(J=1;J<=N;J++)
             {
                gotoxy(columna,fila) ; printf("%d", MAtriz [I] [J] ;
                 columna=columna+10;
              }
              printf("\n");
              fila=fila+1;
       }     
  printf("\n  \n La suma de la diagonal principal es %d \n", SUMA) ;
 printf ("Pulse cualquier tecla para continuar \n") ;
getche();
return;
}

Pilas

#include <stdio.h>
#include <stdlib.h>
 
 struct tpila           {
  int clave;
  struct tpila *sig;
};
   /* prototipos e implementacion */
 
void crear(struct tpila **pila);
int vacia(struct tpila *pila);
void apilar(struct tpila *pila, int elem);void desapilar(struct tpila *pila, int *elem);
 
 
void crear(struct tpila **pila)
{  *pila = (struct tpila *) malloc(sizeof(struct tpila));
  (*pila)->sig = NULL;
}
 
int vacia(struct tpila *pila){
  return (pila->sig == NULL);
}
 
void apilar(struct tpila *pila, int elem){
  struct tpila *nuevo;
 
  nuevo = (struct tpila *) malloc(sizeof(struct tpila));
  nuevo->clave = elem;  nuevo->sig = pila->sig;
  pila->sig = nuevo;
}
 
void desapilar(struct tpila *pila, int *elem){
  struct tpila *aux;
 
  aux = pila->sig;
  *elem = aux->clave;  pila->sig = aux->sig;
  free(aux);
}
 
   /* programa de prueba */
int main(void)
{
  struct tpila *pila;
  int elem; 
  crear(&pila);
  if (vacia(pila)) printf("nPila vacia!");
  apilar(pila, 1);
  desapilar(pila, &elem); 
  return 0;
}




aqui les dejo una interaccion de una pila como manipularla y como se introducen elementos

TAREA #4 ALGORITMOS

jueves, 7 de julio de 2011

TAREA 4 CICLO CON CONDICIN WHILE

programa con un ciclo while con condicion:
en este programa que hize  es de caulcular el area de un triangulo pero le inclui una condicion que se deve de utilizar por lo menos una vez y al teclear un 1 el ciclo vuelve a empezar y te pide nuevos datos para el area de otro triangulo.


#include <stdio.h>
include <math.h>
main()
{
float LADO1,LADO2,LADO3,AREA,OPERACION,LADOS;
int OPCION;
OPCION=1;
while(OPCION==1)
{
           clrscr();
           prinf("dame la longitud del lado # 1 \n") ;
          scanf("%f",&LADO1);
         prinf("dame la longitud del lado # 2 \n") ;
          scanf("%f",&LADO2);
          prinf("dame la longitud del lado # 3 \n") ;
          scanf("%f",&LADO3);
        LADOS =(LADO1+LADO2+LADO3)/2;
        OPERACION=LADOS*(LADO-LADO1)*(LADO-LADO2)*(LADO-LADO3);
        AREA=sqrt(OPERACION);
        printf("el area del triangulo es %8.2f \n",AREA) ;
        printf("\n\n "desea analizar otro triangulo es ?  \n");
        printf("Pulsa el numero 1 para continuar o cualquier otro numero para terminar\n");
        scanf("%d",&OPCION);
       } 
}

PROGRAMA CON DO WHILE

este programa lo hize a base de un examen que tengo de lenguaje ansi c donde me plantean varios problemas y me pide hacer un programa para resolverlo

#include<studio.h>

main()
{
int REBOTE;
float ALTURA;
clrscr();
REBOTE=0;
printf("dame la altura inicial de donde se deja caer la pelota, en metros \n");
scanf("%f,&ALTURA) ;
if(ALTURA>0)
{
    printf("Rebote Altura\n") ;
   do{
            REBOTE=REBOTE+1
            ALTURA=*2/3;
            /*imprimir todos los rebotes con sus alturas*/
        }while(ALTURA>0.50);
            printf("en el rebote # %d, la altura es %8.2f\n",REBOTE,ALTURA);
}
else
{
printf("la altura insertada es cero o menor a cero\n");
printf("no tiene sentido hacer calculos con este numero\n");
printf("si dese intentar de nuevo debera de ejecutar,otra vez el programa\n");
}/*fin del if */
printf("\n\n pulse cualquier tecla para regresar a la pantalla");
getche();
}

puntos extras subrutinas

una subrutina es tambien llamada subprograma que permite resolver un una tarea en particular  esto quiere decir que nos permiten hacer una serie de operaciones de tal mandera que despues las podremos llamar sin necesidad de preocuparnos de que lo que se haga en la subrutina influya en nuestro programa.

Los subprogramas sólo se ejecutan cuando
son invocados desde el programa principal
o desde otros subprogramas


 utilidad que tienen los subrutinas
– Dividir el trabajo
– Reutilización
– Facilidad de modificación.
– Legibilidad
– Descomponer la dificultad






la sintaxis de una subrrutina en un algoritmo es :

#include ...
// Programa principal
int main (int argc, char **argv)
{
...
}
// Subprogramas
... // Funciones y procedimientos





ejemplo de subprograma:

·
Subrutina que dibuja n asteriscos:
subroutine asteriscos (n)
implicit none
integer n
integer i
do i=1, n
print *, ‘*’
end do
end subroutine
·
Subrutina que intercambia los dos argumentos que recibe:
subroutine intercambio (a,b)
implicit none
integer a,b
integer temporal
temporal=a
a=b
b=temporal
end subroutine

En FORTRAN existe una palabra reservada relacionada con las subrutinas, denominada
sentencia permite detener la ejecución de una subrutina en cualquier momento y retornar al programa principal, su
utilización es altamente desaconsejable pues puede llevar a una desestructuración del algoritmo, es preferible diseñar
las subrutinas de tal forma que el retorno siempre se produzca al llegar al final de las mismas.
El siguiente programa muestra la forma de invocar las subrutinas anteriores:
RETURN; esta


program programa
implicit none
integer x,y
call asteriscos(5)
x=0;y=1;
print *,x,y
call intercambio(x,y)
print *,x,y
contains
subroutine asteriscos (n)
implicit none
integer n
integer i
do i=1, n
print *, '*'
end do
end subroutine
subroutine intercambio (a,b)
implicit none
integer a,b
integer temporal
temporal=a
a=b
b=temporal
end subroutine
end













miércoles, 6 de julio de 2011

TAREA 2 DE ALGORITMOS

problema del agente viajero

el problema del agente viajero consiste en que dada un conjunto de ciudades un vendedor debe visitar cada una de ellas y regresar a su punto de partida con un recorrido mínimo.

yo explicare este problema :









la formula matemática de de el problema del agente viajero es P = {c0,c2,...,cn − 1} tal que d_P=\sum_{i=0}^{N-1}{d[c_i,c_{i+1mod(N)}]}

donde P esta dada por una permutacion una permutacion viene siendo un conjunto finito de todos sus elementos diferentes.




aun no se halla un algoritmo para solucionar este problema pero el mas óptimo para utilizar es el método de la fuerza bruta

n  ciudades = cantidad finita de rutas

método de la fuerza bruta

esto significa que al tener "n" ciudades sabemos que tenemos (n-1)! el signo de interrogacion lo referimos como el
factorial osea que rutas =  (5-1)! esto quiere desir que hay 24 rutas al intentar hacer todos los caminos posibles estamos dando lugar a la solucion del problema por el método de fuerza bruta.

en definición el método de fuerza bruta consiste en dar todos los posibles rutas y luego después de ya tener todas las posibles rutas checar cual es la mas eficaz y la que ocupo menos pero esto incrementa muy fácil mente aquí les dejare una tabla de el tiempo que tarda este método;


tiempo                                               ciudades                       

1 segundo                                       para cada combinacion de ciudades hasta llegar ala décima ciudad
3 segundos                                     para 10 ciudades
30 segundos                                    para 11 ciudades
no determinado                               apartir de las 20 ciudades no se a podido determinar el tiempo por este método





aquí les dejare las ligas de algunos algoritmos que se le han aplicado a este problema sin llegar a un resultado solo se han logrado aproximaciones


heuristica

red neuronal

evolutiva


porque este problema es np completo y que es np completo

este problema es np porque este problema existen algoritmos para su solución pero no existe aun un algoritmo que defina el tiempo de este problema en un tiempo polinomial.



para entender esto yo visite YouTube para ver lo que pedía el problema.









complejidad computacional


en la complejidad existen diferentes tipos de problemas por ejemplo

de optimizacion; son aquellos que se busca minimizar o maximizar el valor de una solución algo parecido a la eficacia que lo emos estado viendo mediante grafías de el tiempo en que tardan en correr los programas.

de decisión;son aquellos que buscan una decisión "si" o "no".


algoritmos no deterministas

es un algoritmo que es imposible de realizar en la realidad esto quiere desir que es solo como una teoria


problemas np

los problemas np son algoritmos que no han sido resueltos en un tiempo polinomial



conclucion

este problema se me hizo muy interensante a que por años an intentado buscar un algoritmo para poder resolver este problema ya que si tiene una solucion solo que no han podido definir un tiempo polinomial ya que al incrementarse las ciudades a donde ira el vendedor el tiempo que tarda este programa en ejecutarlo es demaciado y vi que existian algunos algoritmos pero solo se acercavan y al pasar de las 200 ciudades el tiempo k tardaba en correr el programa era demaciado que no se podia calcular.

martes, 5 de julio de 2011

programa de condiciones

/* Programa para determinar si un numero es primo o no */
#include<stdio.h>
#include<conio.h>
main()
{
int a;
int i;
int contador=0;
printf("ingrese un numero: ");
scanf("%d", &a);
for(i=a; i>0; i--)
    if(a%i==0)
      contador++;
        if(contador==2)
         {
          printf("El numero es primo");
          }
          else
            {
                     printf("El numero no es primo");
            }
      getche ();
      return 0;
}

viernes, 1 de julio de 2011

tarea 1 algoritmos

#include<string.h>

/* programa que determina el promedio de los alumnos*/  // nombre de mi algoritmo}


main()´
{
long int MATRICULA;                     //aqui en matricula  puse long int porque la matricula es numero grande
                                                                      y me podria marcar error


char NOMBRE[30] , SITUACION[30];               // aqui declaramos el nombre de alumno y la situacion del alumno


float PARCIAL1, PARCIAL2, PROMEDIO;        //pusimos float porque el promedio o los examenes
                                                                                        pueden llevar decimales

 clrscr();                                                                      // este es un limpiador de pantalla


printf ("Introduce la matricula \n" );                    //aqui pedimos que pida la matricula en la pantalla
scanf("%ld,&MATRICULA);                               //scanf se usa para leer el formado que es %ld y luego el nombre
                                                                                         que se le de en este caso es la MATRICULA

printf("dame el nombre \n");                               
scanf("%[ \] " NOMBRE);                                                //aqui desimos que nos lea el NOMBRE
printf("dame la calificacion del primer parcial \n");          y la calificacion de parcial 1 y 2
scanf ("%f , &PARCIAL1);
printf("dame la calificacion del segundo parcial \n");
scanf ("%f , &PARCIAL2);

PROMEDIO = (PARCIAL1+PARCIAL2)/2                        // aqui hacemos una operacion que dise parcial 1 + parcial 2
                                                                                             entre 2 nos dara el PROMEDIO que ese es el
                                                                                                  resultado de nuestro programa

if(PROMEDIO>= 70)                                                         //aqui pusimos una condicion llamada if que significa
{                                                                                           que si el promedio es mayor o igual a 70 esta aprobado
strcpy(SITUACION,"APROBADO");  
}

else
{
strcpy (SITUACION,REPROBADO");
}

printf(" el alumno con matricula %ld se llama %s  \n" ,MATRICULA,NOMBRE);
printf(" tiene promedio de %8.2 y esta %s \n", PROMEDIO,SITUACION);
getche();
}                                                                                                               "getche se usa para visualizar el caracter en la
                                                                                                                   pantalla

jueves, 30 de junio de 2011

puntos extras de preguntas del sistema binario

como se almacena la información digital?
como se interpreta?
la información se almacena en dos dígitos 0 y 1 cada uno de ellos representa un bit.
el bit es la unidad de información mas pequeña que hay en la computadora
las imagenes se almacenan en celdas que son también numero hexadecimales que es como nosotros las interpretamos en cantidades mayores llamadas kilo bytes a cada celda se le asigna un color y dependiendo de la información que ingresas en numero hexadecimal el copilador la lee y asigna un color .


como se manipula?
nosotros ponemos nuestro idioma al computador y este lo manipula a sistema binario que es el lenguaje que el computador entiende.


porque tenemos que saver esto?
nosotros debemos saver sobre el sistema binario ya que es la base de la carrera (ITS) ya que con esto comprendemos como operan todos los sistemas computacionales savemos como se almacena la informacion que le damos y como la interpreta el para que el operador pueda leerla ya que son diferentes lenguajes el de nosotros al que comprende el sistema computacional.

tarea 2 lenguaje ansi c

Yo decidí  hacer un resumen de todo lo que vimos en la clase dos de tarea para una explicación de lo que aprendí  en esa clase en el post anterior que hice demostré cómo funcionan los sistemas numéricos de las computadoras (binario y hexadecimal) hice unos ejemplos de conversión y anote en qué consistía cada uno.
En la clase dos vimos como el compilador interpretaba nuestro idioma al idioma que ellos pudieran entender que es el sistema binario y hexadecimal también vimos los puntos flotantes  que son
Lo mismo vale para los tres tipos de punto flotante:
sizeof(long double)
sizeof (long double)    
sizeof(double) sizeof (double)
sizeof(float) sizeof (float)

vimos también lo que pasaba al usar el desplazamiento en el sistema binario como se desplazaba los números binarios
por ejemplo
100<<2 = 16
101>>1 = 2
El desplazamiento consiste en que si desplazamos hacia <<   agregamos ceros y si desplazamos hacia >> quitamos ceros excepto en el caso de que se halle en su máxima expresión esto se debe al punto flotante ejemplo
3/2 = 1.5    como al declarar esto si lo ponemos en punto flotante (enteros) el .5 se descarta ósea que el valor de 3/2 en punto flotante es 1.
También vimos  como asignamos el or not and y exor
and  = &
or  =  I
exor = ^
int int

Operador                                                        resultado
                        0010111                                  1101000
<<                    0010111                                 0101110
>>                    0010111                                 0001011


cómo funciona el long que sirve para guardar bits que y se puede guarda hasta 32 bits y al querer guardar mas de esta cantidad  debemos usar otra asignación ya que si utilizamos un numero más grande el copilador no nos dejara usarlo y nos marcara un error en la declaración d variables

el short se usa para almacenar un número menor de bit (16 bits)
si nosotros queremos usar bit en el rango de positivo y negativo usamos la declaración de signed que sirve para entrar en un rango del -128 al 127.

martes, 28 de junio de 2011

puntos extras acerca de el sistema numerico octal hexadecimal y binario

la tarea de puntos extras que yo entendi es para saver la funcion de los sistemas binarios hexadecimal y octal


lo que encontre en estos sistemas numericos son que segun su nombre el sistema binario su se usan dos digitos "0 " y "1" para la representacion de cualquier numero o cantidad.Un numero mayor a "1" puede representarse usando el mismo método que en un decimal (un número mayor que nueve genera un acarreo que indica una decena).

ejemplo;
convertir a base 10 el numero binario 111001

= 1(2)5  + 1(2)4 + 1(2) 3 + 0(2) 2 + 0(2)1 + 1(2)0 

= 32+16+8+0+0+1

= 57




Hay 2 métodos más cómodos para la conversión de decimal a binario.se les conoce como metodo de extraccion de potenciasy metodo de los residuos.el metodo de extracción de potencia consiste en restar la máxima potencia de 2 que pueda contener el # decimal repitiendo esta operacion con el resultado hasta agotar el # 10. Los coeficientes del # binario son un "1" en la posicioón de la potencia y "0" para la posición no restada.

El metodo de los residuos consiste en dividir repetidamente el número decimal entre la base del sistema al que deseamos transformar, e ir registrando sucesivamente los residuos.Estos residuos leídos en orden inverso nos dan el equivalente del número.



Sistema Numerico Octal
en este sistema la base es 8, por lo tanto existen solo 8 símbolos que van del 0 al 7. Un número mayor que 7 no puede escribirse puesto que este símbolo no existe en el sistema, la expresión correcta se lee uno cero base ocho.Esto se refiere a que un acarreo de "1" tiene un peso de 8 unidades.

Ejemplo;
convertir 147  octanal a decimal

1(8)+ 4(8)1 + 7(8)0

= 64 + 32 + 7

= 103


Sistema Numerico Hexadecimal
El sistema numérico hexadecimal es un sistema numérico importante usado en computadoras. Su base 16 y sus simbolos van del valor 0 al 9 y del A a F.Un acarreo de un "1" tiene un peso de 16 unidades.Notese que un 10  hexadecimal no equivale a un 10 decimal.


hexadecimal            decimal
1                                    1
2                                   2
3                                   3
4                                   4
5                                   5
6                                   6
7                                   7
8                                   8
9                                   9
A                                 10
B                                  11
C                                  12
D                                  13
E                                   14
F                                  15


Ejemplo;

convertir 1A9 hexadecimal a decimal

1(16)2  + 10(16)1 + 9(16)0

= 256 + 160 + 9

= 425



conversion de hexadecimal a binario


para cada numero exadecimal corresponden 4 bit's

H                     B
0                   0000
1                    0001
2                   0010
3                   0011
4                   0100
5                   0101
6                  0110
7                  0111
8                  1000
9                  1001
A                 1010
B                 1011
C                 1100
D                 1101
E                  1110
F                  1111


Ejemplo

convertir A51 a decimal

      A                          5                        1

=   1010                   0101                   0001


=       101001010001

lunes, 27 de junio de 2011

TAREA 1 LENGUAJE ANSI C (RESUMEN DE LA UTILIDAD DE LENGUAJE ANSI C)

a lo que lei sobre el lenguaje ansi c es una estandarizacion de todos los copiladores C por ejemplo
quick c
c++
turbo c
turbo c++
borland c
borland c++


lenguaje ansi c es un lenjuaje estandar cuya funcion es la falizitacion de la programacion de los programas mencionados  medianthe un metodo de estandarizacion llamado ansi por sus siglas en ingles hoy el lenguaje ansi c es el mas usado en la industria del software asi como en tecnologicos universidades y ingenierias lei tambien que todos los sistemas operativos (linux unix macOS solaris y otro mas) soportan el lenguace c.

tambien dise que el lenguaje c es uno de los mas usados por su velocidad y es el mas usado hoy en dia para la creacion de sofware de sistemas y para crear aplicaciones juegos sirve como falicitacion en empresas para programas de contavilidad ya que gracias a las copilaciones C que se isieron con la estandarizacion es mas facil de meter variables para aser video juegos operaciones arismeticas se puede hacer una gran variedad de cosas desde sumas y restas hasta programas muy desarroyados





INformacion de lenguaje ansi c
C es una programación lenguaje que conoce todos los desarrolladores que se dedique a la programación. Lenguaje de programación c de programación como una madre de todos porque it?s dar una plataforma que necesita cada programador principiante. Programación c, desarrollado por niega Ritchie en 1972.
Programación c es un alto nivel de lenguaje que convertir humano código escrito en lenguaje de máquina. C en su mayoría utilizar en programas CUI (interfaz de usuario de caracteres). Usuario puede desarrollar tipo de aplicación de sistema operativo, aplicación del sistema integrado y otra aplicación de programación.
C también tiene algunas características especiales que hacen fácil programación en lenguaje C. Dan It?s propio tipo de datos como Int, (entero), Char (carácter), Float, Double, matriz, estructura etc.. It?s también utilizar condición (If-else), bucles, (While, Do-While, bucle For) etc.. C también asociado con UNIX. It?s un lenguaje muy potente y alto facilita su estilo de programación. It?s otro lenguaje de programación más fáciles porque nadie puede realizar un seguimiento o encontrar errores y fallos en la programación c porque it?s uso de arriba a abajo enfoque para ejecutar un programa. It?s una combinación de alto nivel lenguaje y lenguaje ensamblador para que it?s muy útiles para desarrollar cualquier programa. Hoy en día muchos c versión están disponibles en el mercado como Visual C, Turbo C, Borland Turbo C etc..
En lenguaje c otras características especiales son usuario puede hacer propia biblioteca que puede utilizar en nuestro programa y o aplicación. Usuario puede hacer propia función, tipo de datos, etc. de preprocesador. Pueden dar más flexibilidad e independencia de un usuario para el desarrollo de un programa. C programación también aprobada por ANSI (American National Standard Institute) así como it?s certificado por ISO. En programación c usuario fácilmente puede ejecutar, probar y resolver el error que ayudan a la rápida y adecuada de hacer un programa y aplicación.
Actualmente estamos utilizando muchos más programas y aplicaciones que han hecho en programación c. Otro tipo de programación lenguaje que es una versión de modificar de lenguaje c son muy populares y famosos en la programación como C++ que basa en objeto orientado A Programming (OOP), C Sharp etc.. Ahora también utilizar un lenguaje c días con algunos otros GUI (interfaz gráfica de usuario) lenguaje de programación que puede hacer una interfaz o una plataforma para el usuario donde cualquiera puede hacer alguna aplicación de interfaz gráfica de usuario. Usuario puede hacer juegos aplicaciones, aplicaciones de IT (tecnología de la información), aplicación de negocios ventana de aplicación, Unix aplicación etc..

LENGUAJE ANSI C