Te enseño | ¡Aprendé programación en lenguaje C!

in spanish •  2 months ago  (edited)

¡Haciendo nuestro primer programa en lenguaje C!

Comencemos ...

La programación consiste en automatizar procesos mediante el uso de algoritmos. Si hablamos de algoritmos estaremos hablando de una secuencia de instrucciones las cuales al ejecutarse da como resultado una operación.

En esta oportunidad usaremos el lenguaje C. Desarrollado en los laboratorios Bell por Dennis Ritchie entre 1969 y 1972 con el objetivo de hacerlo funcionar en Unix. Como característica se puede mencionar que es un lenguaje estructurado, muy eficiente con el que se puede desarrollar software y aplicaciones.

Es un lenguaje de nivel medio. Si bien se puede codificar en alto nivel también es posible hacerlo a bajo nivel, esto quiere decir que podremos acceder a direcciones de memoria y hacer uso de punteros.

Ahora veamos algo muy importante. Hay distintos tipos de lenguajes. Están los que requieren de un compilador para ejecutar el código fuente para crear el código objeto como también los que son interpretados (funcionan sin necesidad de un compilador, como por ejemplo Javascript) que ejecutan el código de una manera veloz.

lenguaje-C.jpg

Luego tenemos la programación estructurada como ya habíamos mencionado al principio y la programación orientada a objetos en los que un objeto posee muchas características que las diferencian del resto, por ejemplo C++.

En este lenguaje usaremos Code::Blocks.

29077132978_ed0028b946_o.jpg

Nuestro programa funciona así:

Programa fuente > Compilación > Programa objeto

Es decir, escribimos un algoritmo, lo compilamos y si todo marcha bien se creará un ejecutable ( .exe ).

En C necesitamos declarar los tipos de objetos a diferencia de otros lenguajes que ya lo tienen asumido respecto al tipo de datos que vayas a usar.

Tenemos estos tipos de datos para usar a la hora de escribir código:

    Int: Entero de 4 bytes / 32 bits que va desde -2.147.483.648 a 2.147.483.647
    Float: Flotante de 4 bytes / 32 bits que va desde 3.4E-38 a 3.4E+38
    Char: Caracter de 1 byte / 8 bits que va desde -128 a 127

Hay más que se aprenderán cuando se esté mucho más avanzado porque ya requeriría hacer algo mucho más complejo. Prestar atención a los rangos de representación. Evitará que caigamos en lo que llamamos "overflow" (un error de cómputo).

Cuando nos quedamos limitados por el tamaño del tipo de dato debemos recurrir a uno de mayor rango. Por ejemplo double.

¿Cómo es la estructura del lenguaje C?

Su estructura está compuesta por una parte donde se debe incluir las librerías. Estas hacen posible que usemos funciones predefinidas en las que se incluye la lectura por teclado y la impresión por pantalla. Luego tenemos el programa principal donde escribiremos el algoritmo y si estamos más avanzados haremos el llamado de las funciones hechas por nosotros mismos.

También podemos comentar nuestro código de manera que no interfiera en lo demás, lo hacemos usando // para comentarios simples. Para comentarios que ocupen más líneas usamos /* y para finalizar */ de esta forma podremos hacer notas para guiarnos o para que alguien más entienda nuestro programa.

Comencemos con un ejemplo:

// Queremos saber el área de un circulo dependiendo el radio que deseemos introducir

#include <stdio.h>
#include <stdlib.h>
#define pi 3.14

int main( )
{
int radio;
float area;

// Acá comienza el algoritmo

   printf("\nIngrese el radio del circulo: ");
   scanf("%d", &radio);

   area = pi*(radio*radio);

   printf("\nEl area del circulo es:  %.2f", area);

   return 0;

// Finaliza cuando lee el return 0
}

Entonces ahí tenemos un ejemplo conciso. Nuestro programa pedirá al usuario el radio de un círculo y nuestro algoritmo nos arrojará el resultado del área.

Veamos por partes. Tenemos la zona de librerías que tienen funciones predefinidas. Por ejemplo el printf (mensaje por pantalla) y el scanf (ingreso de datos). También usamos el define para crear una constante la cuál es PI 3.14.

Entonces llegó el momento de escribir en el programa principal el algoritmo. Usamos variables y las declaramos (tipos de datos) para darle formato a nuestra información. Pedimos un radio entero pero quisimos un área en decimal. Al pedirlo usamos el %d como parámetro del scanf (%d para int, %f para float, %c para char, %s para strings (más cadena de carácteres)).

Así es que la operación (tras el uso de una fórmula que es Pi por radio al cuadrado) conseguimos el área del círculo. Esa operación la tuvimos que asignar a la variable area para así mostrarla luego con un printf. En la impresión pusimos .2f para que nos muestre dos números detrás del punto.

Esta es una primera impresión acerca del lenguaje C. Pronto habrá cosas más emocionantes que probar.

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
Sort Order:  

6VvuHGsoU2QBt9MXeXNdDuyd4Bmd63j7zJymDTWgdcJjnzadHMR35jupSLKfsxWsDpv7tyKd4sRJpNAJLQKYfDE48odTPmu227aT6PpKVy9HCmTh8gH8CV2MRvxAtm.gif

Muy interesante, me parece que ésta es un área en la que te puede ir muy bien, apenas leí tu post porque anduve muy ocupado durante el día, pero me pareció genial, saludos.

Congratulations @vikvitnik!
Your post was mentioned in the Steem Hit Parade for newcomers in the following category:

  • Pending payout - Ranked 4 with $ 4,18

I also upvoted your post to increase its reward
If you like my work to promote newcomers and give them more visibility on the Steem blockchain, consider to vote for my witness!

Este está mejor que el otro post. Bien ahí vikvitnik!

·

Hace posts Joe! :relaxed:

Congratulations @vikvitnik! You have completed the following achievement on the Steem blockchain and have been rewarded with new badge(s) :

You received more than 1000 upvotes. Your next target is to reach 2000 upvotes.

You can view your badges on your Steem Board and compare to others on the Steem Ranking
If you no longer want to receive notifications, reply to this comment with the word STOP

Vote for @Steemitboard as a witness to get one more award and increased upvotes!