Bienvenidos 

En este Blog encontraras códigos de programas básicos hasta programas complejos, creados usando el lenguaje de programación c, también otros creados en el lenguaje de programación python. 

Una de las formas mas fácil de aprender a programar es empezar por la practica, para las personas que ya manejan un lenguaje de programación se les ara mas fácil entender como funciona cada programa, pero si eres uno de los que apenas esta empezando a programar, puedes visitar una de las siguientes paginas:


No todos los programas fueron creados en el mismo sistema operativo, unos fueron creados usando Windows y otros usando Ubuntu (Linux), estos estan ordenados según su complejidad en el siguiente indice, empezando con los programas creados en C, siguiendo con los creados en python.

 

Conclusiones

C es uno de los lenguajes mas utilizados a nivel mundial, por lo tanto es importante tener conocimiento sobre este.
Aprender a programar en C, da las bases necesarias en el razonamiento lógico de como programar.
Cualquier persona que sea capaz de dominar el lenguaje de c, le permite tener la capacidad de aprender cualquier otro lenguaje de forma fácil.


    Recomendaciones

        Es muy importante leer mucho sobre el tema, actualmente en Internet existen muchos tutoriales que puedes seguir fácilmente.
        Es indispensable dedicarle un buen tiempo a la parte practica.
        Ejecuta los programas aquí publicados, ve cual es su funcionalidad y determina si existe otra forma de poder solucionar los mismos.
        Se libre de investigar en Internet sobre cualquier duda que tengas, actualmente existen muchos foros de ayuda, donde puedes consultar sobre el tema.

            Introduccion a la programacion en C

            C es un lenguaje de programación de propósito general que ofrece economía sintáctica, control de flujo y estructuras sencillas y un buen conjunto de operadores. No es un lenguaje de muy alto nivel y más bien un lenguaje pequeño, sencillo y no está especializado en ningún tipo de aplicación. Esto lo hace un lenguaje potente, con un campo de aplicación ilimitado y sobre todo, se aprende rápidamente.


            Historia.

            El desarrollo inicial de C se llevó a cabo en los Laboratorios Bell de AT&T entre 1969 y 1973; según Ritchie, el periodo más creativo tuvo lugar en 1972. Se le dio el nombre "C" porque muchas de sus características fueron tomadas de un lenguaje anterior llamado "B".

            Hay muchas leyendas acerca del origen de C y el sistema operativo con el que está íntimamente relacionado, Unix. Algunas de ellas son:

            El desarrollo de C fue el resultado del deseo de los programadores de jugar con Space Travel. Habían estado jugando en el mainframe de su compañía, pero debido a su poca capacidad de proceso y al tener que soportar 100 usuarios, Thompson y Ritchie no tenían suficiente control sobre la nave para evitar colisiones con los asteroides.

            Por ese motivo decidieron portar el juego a un PDP-7 de la oficina que no se utilizaba; pero esa máquina no tenía sistema operativo, así que decidieron escribir uno. Finalmente decidieron portar el sistema operativo del PDP-11 que había en su oficina, pero era muy costoso, pues todo el código estaba escrito en lenguaje ensamblador.

            Entonces decidieron usar un lenguaje de alto nivel y portátil para que el sistema operativo se pudiera portar fácilmente de un ordenador a otro. Consideraron usar B, pero carecía de las funcionalidades necesarias para aprovechar algunas características avanzadas del PDP-11. Entonces empezaron a crear un nuevo lenguaje, C.

            La justificación para obtener el ordenador original que se usó para desarrollar Unix fue crear un sistema que automatizase el archivo de patentes. La versión original de Unix se desarrolló en lenguaje ensamblador. Más tarde, el lenguaje C se desarrolló para poder reescribir el sistema operativo.

            En 1973, el lenguaje C se había vuelto tan potente que la mayor parte del kernel Unix, originalmente escrito en el lenguaje ensamblador PDP-11/20, fue reescrita en C. Éste fue uno de los primeros núcleos de sistema operativo implementados en un lenguaje distinto al ensamblador. (Algunos casos anteriores son el sistema Multics, escrito en PL/I, y Master Control Program para el B5000 de Burroughs, escrito en ALGOL en 1961).

            Palabras reservadas Las palabras reservadas tienen un significado especial para el compilador y representan una instrucción propia de su lenguaje, no se pueden utilizar para identificar variables y se escriben siempre en minúsculas.




            Librerías
            Las librerías o archivos de cabecera en lenguaje C , son los que contienen o almacenan funciones que realizan operaciones y cálculos de uso frecuente y son parte de cada compilador. El programador debe invocar todos aquellos archivos o bibliotecas que necesite.

            A continuación algunas librerías más comunes en el lenguaje C.


            #include<stdio.h>:
            Contiene los prototipos de las funciones, macros, y tipos para manipular datos de entrada y salida.



            #include<stdlib.h>:
            Contiene tipos, macros y funciones para la conversión numérica, generación de números aleatorios, búsquedas y ordenación, gestión de memoria y tareas similares.

            #include<string.h>:
            Contiene los prototipos de las funciones y macros de clasificación de caracteres.


            #include<math.h>:
            Contiene los prototipos de las funciones y otras definiciones para el uso y manipulación de funciones matemáticas.


            #include<conio.h>:
            Contiene los prototipos de las funciones, macros, y constantes para preparar y manipular la consola en modo texto en el entorno de MS-DOS.


            Variables
            Una variable está formada por un espacio en el sistema de almacenaje (memoria principal de un ordenador) y un nombre (un identificador) que está asociado a ese espacio. Ese espacio contiene resto de información conocida o desconocida, es decir un valor. El nombre de la variable es la forma usual de referirse al valor almacenado: esta separación entre nombre y contenido permite que el nombre sea usado independientemente de la información exacta que representa.




            Instrucciones Alternativas en Lenguaje C


            Instrucción if else en Lenguaje C
            En lenguaje C, para escribir una instrucción alternativa doble (if else) se utiliza la sintaxis:

            if ( <expresión_lógica> )

            {

            <bloque_de_instrucciones_1>

            }

            else

            {

            <bloque_de_instrucciones_2>

            }

            A la <expresión_lógica> de una instrucción alternativa doble (if else) también se le denomina condición.

            Para que se ejecute el <bloque_de_instrucciones_1>, la condición tiene que ser verdadera. Por el contrario, si la condición es falsa, se ejecutará el <bloque_de_instrucciones_2>.


            Instrucción if en Lenguaje C
            Una instrucción alternativa simple (if) es una variante (más sencilla) de una instrucción alternativa doble (if else). En lenguaje C, para escribir una instrucción if se utiliza la sintaxis:


            if ( <expresión_lógica> )

            {

            <bloque_de_instrucciones>

            }


            Instrucción switch en Lenguaje C
            Una instrucción switch (alternativa múltiple) permite seleccionar, por medio de una expresión, el siguiente bloque de instrucciones a ejecutar de entre varios posibles. En lenguaje C, para escribir una instrucción alternativa múltiple (switch) se utiliza la sintaxis:


            switch ( <expresión> )

            {

            case <expresión_1> : [ <bloque_de_instrucciones_1> ]

            [ break; ]

            case <expresión_2> : [ <bloque_de_instrucciones_2> ]

            [ break; ]

            ...

            case <expresión_n> : [ <bloque_de_instrucciones_n> ]

            [ break; ]

            [ default : <bloque_de_instrucciones_n+1> ]

            }


            El resultado de evaluar la <expresión> debe ser un valor perteneciente a un tipo de dato finito y ordenado, es decir, entero, lógico, carácter, enumerado o subrango.

            Dependiendo del valor obtenido al evaluar la <expresión>, se ejecutará un bloque de instrucciones u otro.

            Opcionalmente, se puede escribir un <bloque_de_instrucciones_n+1> después de default :. Este bloque de instrucciones se ejecutará en el caso de que el valor obtenido al evaluar la <expresión>, no se encuentre en ninguna de las expresiones después de cada case.


            Estructuras
            Una estructura es un tipo de dato compuesto que permite almacenar un conjunto de datos de diferente tipo. Los datos que contiene una estructura pueden ser de tipo simple (caracteres, números enteros o de coma flotante etc.) o a su vez de tipo compuesto (vectores, estructuras, listas, etc.).


            Ejemplo: estructura de una tarjeta bancaria, utilizando esta primera forma:


            struct {

            long_int num_tarjeta;

            char tipo_cuenta;

            char nombre [80];

            float saldo;

            } cliente1, cliente2;


            Bucles
            Estos tipos de sentencias son el núcleo de cualquier lenguaje de programación, y están presentes en la mayor parte de ellos. Nos permiten realizar tareas repetitivas, y se usan en la resolución de la mayor parte de los problemas.


            Bucle "while"
            Es la sentencia de bucle más sencilla, y sin embargo es tremendamente potente. La sintaxis es la siguiente:


            while (<condición>) <sentencia>


            La sentencia es ejecutada repetidamente mientras la condición sea verdadera, ("while" en inglés significa "mientras"). Si no se especifica condición se asume que es "true", y el bucle se ejecutará indefinidamente. Si la primera vez que se evalúa la condición resulta falsa, la sentencia no se ejecutará ninguna vez.


            Por ejemplo:


            while (x < 100) x = x + 1;


            Se incrementará el valor de x mientras x sea menor que 100.


            Este ejemplo puede escribirse, usando el C con propiedad y elegancia, de un modo más compacto:


            while (x++ < 100);


            Aquí vemos el uso de una sentencia nula, observa que el bucle simplemente se repite, y la sentencia ejecutada es ";", es decir, nada.


            Bucle "do while"
            Esta sentencia va un paso más allá que el "while". La sintaxis es la siguiente:


            do <sentencia> while(<condicion>);


            La sentencia es ejecutada repetidamente mientras la condición resulte verdadera. Si no se especifica condición se asume que es "true", y el bucle se ejecutará indefinidamente. A diferencia del bucle "while", la evaluación se realiza después de ejecutar la sentencia, de modo que se ejecutará al menos una vez. Por ejemplo:


            do

            x = x + 1;

            while (x < 100);


            Se incrementará el valor de x hasta que x valga 100.


            Bucle "for"
            Por último el bucle "for", es el más elaborado. La sintaxis es:


            for ( [<inicialización>]; [<condición>] ; [<incremento>] )

            <sentencia>


            La sentencia es ejecutada repetidamente hasta que la evaluación de la condición resulte falsa.


            Antes de la primera iteración se ejecutará la iniciación del bucle, que puede ser una expresión o una declaración. En este apartado se iniciarán las variables usadas en el bucle. Estas variables pueden ser declaradas en este punto, pero en ese caso tendrán validez sólo dentro del bucle "for". Después de cada iteración se ejecutará el incremento de las variables del bucle.


            Todas las expresiones son opcionales, si no se especifica la condición se asume que es verdadera. Ejemplos:


            for (int i = 0; i < 100; i = i + 1);


            Como las expresiones son opcionales, podemos simular bucles "while":


            for (;i < 100;) i = i +1;

            for (;i++ < 100;);


            O bucles infinitos:


            for(;;);


            Arrays y Cadenas en C
            Los arrays son variables estructuradas, donde cada elemento se almacena de forma consecutiva en memoria.

            Las cadenas de caracteres son declaradas en C como arrays de caracteres y permiten la utilización de un cierto número de notaciones y de funciones especiales.


            Arrays de una dimensión
            Un array (unidimensional, también denominado vector) es una variable estructurada formada de un número "n" de variables simples del mismo tipo que son denominadas los componentes o elementos del array. El número de componentes "n" es, entonces, la dimensión del array. De igual manera que en matemáticas, decimos que "A" es un vector de dimensión "n".


            Arrays de dos dimensiones
            Un array en C puede tener una, dos o más dimensiones. Por ejemplo, un array de dos dimensiones también denominado matriz, es interpretado como un array (unidimensional) de dimensión "f" (número de filas), donde cada componente es un array (unidimensional) de dimensión "c" (número de columnas). Un array de dos dimensiones, contiene, pues, "f*c" componentes.

            0 comentarios:

            Publicar un comentario