D

dkangeluz

Usuario (Argentina)

Primer post: 21 sept 2011Último post: 24 sept 2011
2
Posts
40
Puntos totales
6
Comentarios
T
Tutorial básico de programación
Ciencia EducacionporAnónimo9/21/2011

Este post tiene intención de ser un pequeño manual de programación, con el alma del software libre. Es decir, no hay derechos de autor sobre el, pueden copiarlo, re-publicarlo, venderlo, básicamente, hagan lo que quieran, ni siquiera hace falta que me mencionen si lo vuelven a postear en algún otro lado. Lo único que les pido, es que si lo van a copiar, lo hagan BIEN. Si tienen algún tipo de crítica o corrección para el post, por favor haganmelo saber, así evalúo los cambios a realizar.Vale destacar que en un principio solo posteo la introducción al tema. Por ende todos aquellos que estén interesados en avanzar y profundizar, sigan el post que pienso ir agregándole capítulos conforme vayan pasando los días y yo vaya teniendo disponibilidad horaria. Mi idea es hacerlo semanalmente, mientras no tenga demasiadas presiones en el laburo. Espero que les guste, y que disfruten tanto leyendo como yo lo hago escribiendo.Saludos~ Dk ~PD: Un recomendado para escuchar mientras leen:Ala Delta - DivididosIntroducciónCuando hablamos de programación hacemos referencia a un proceso que abarca varios pasos, entre los cuales distinguimos: - Diseñar la aplicación - Escribir el programa - Depurar el código fuente.Los programas en los que usualmente nos enfocamos son denominados programas de aplicación, y son básicamente todos los programas que usamos en nuestra vida cotidiana en la computadora.El código fuente es un texto que contiene las instrucciones que le vamos a dar a la máquina, y está escrito en un lenguaje de programación específico.Los lenguajes de programación son un montón, cada cual con sus particularidades y sus diferencias, pero la mayoría de ellos responden a ciertas estructuras básicas que le permiten controlar el flujo del programa. Hay realmente muchísimas clasificaciones para los lenguajes de programación, a mi me da mencionar los lenguajes de programación estructurados, y los orientados a objetos, pero elijo esto caprichosamente, si a alguien le tira saber un poco más http://www.google.com.Bueno, vamos un poco mas a los bifes saliendo un poco de lo tan teórico, porque sino se pone re infumable el post.Estructuras generalesDentro de las estructuras generales, podemos distinguir:Estructuras selectivas:Estas estructuras permiten que el programa tome decisiones en función a condiciones determinadas. Generalmente se corresponden con la sintaxis IFPor ejemplo: SI esta tarde llueve, no voy al cine.Estructuras iterativas:Estas dan lugar a que el programa repita una secuencia de código de forma controlada.Comúnmente puede ser con una cantidad de veces (iteraciones) determinada, lo cual se correspondería con una sintaxis For.Por ejemplo: Debo hacer CINCO veces este ejercicio. O bien con una cantidad de veces indeterminada (osea, hasta que se cumpla o se deje de cumplir una condición), lo que se correspondería con una sintaxis WhilePor ejemplo: Debo hacer este ejercicio HASTA QUE ME SALGA BIEN.Nota: Todas estas características generales SUELEN ser comúnes a todos los lenguajes, las consideraciones respecto a con que sintaxis se corresponden, varía de un lenguaje a otro.Otro concepto digno de ser mencionado, es el de anidamiento. Este hace referencia a una estructura que se encuentra dentro de otra (y así sucesivamente)Por ejemplo: SI esta tarde no llueve, y SI termino la tarea, entonces iré al cine.Estas son las estructuras generales más comunes, claramente hay algunas más que pueden googlear si tienen ganas. Más adelante cuando explique algún lenguaje estructurado, seguramente haga mención de algunas más.VariablesLas variables, como su nombre lo indica, son contenedores que pueden cambiar su contenido a lo largo del programa.Como analogía podríamos elegir un cajón, dónde yo puedo guardar lo que quiera por el tiempo que quiera y ver su contenido cuando tenga ganas, usarlo y volver a guardarlo.En la programación las variables suelen estar definidas según distintos tipos. Hay variables numéricas (de diversos tipos, por ejemplo para números enteros, números decimales, números negativos), variables para letras, variables para palabras. Dentro de las cuales yo no puedo guardar absolutamente nada más que lo que ese tipo de variable soporta.Las variables, son unos de los elementos más usados en la programación, ya que nos ayudan a mantener los datos de nuestro programa alojados en algún lugar... Supongamos que yo quisiera que un usuario ingrese dos números para sumarlos. Cuando éste lo haga, yo debería tener una estructura preparada y esperando para almacenar los dos números. Y debería tener una tercer variable esperando para sostener el resultado de la suma, al menos hasta que le devuelva el resultado al usuario.OperadoresLos operadores son elementos que nos permiten realizar diversas operaciones. Básicamente pueden ser de dos tipos, lógicos o matemáticos.Los operadores matemáticos son los más comunes y los que al principio nos van a sonar mucho mas familiares. Por ejemplo: + para realizar una suma - para una resta * para una multiplicación / para una división.Por otra parte tenemos los operadores lógicos, que nos permiten realizar operaciones lógicas, por ejemplo: AND OR NOTSu sintaxis depende de el lenguaje en que estemos programando.Aunque no parezca, estos últimos son de muchísima importancia ya que nos permiten optimizar las estructuras que vayamos a utilizar. Por ejemplo podríamos evitar el anidamiento del ejemplo de arriba:SI no llueve, SI termino la tarea, voy al cine.Utilizando un operador AND (en castellano significa Y) quedaría algo así como:SI no llueve AND SI termino la tarea, voy al cine. evitándonos tener que escribir dos estructuras condicionales.SentenciasUna sentencia es una línea de código que puede contener llamadas a funciones, operadores, operandos, variables y asignaciones de variables.Por ejemplo, si yo quisiera guardar en la variable miVar el valor 5, lo haría de una forma similar a esta:miVar = 5(siempre dependiendo del lenguaje en el que esté trabajando)Lo que siempre se debe tener en cuenta a la hora de asignar un valor a una variable es que la variable(contenedor para el valor a agregar) irá del lado izquierdo del =, y el contenido será indicado del lado derecho.Si yo quisiera realizar alguna operación, por ejemplo la suma de 2 más 5, debería guardar el resultado en una variable resultado. Quedaría algo como esto:resultado = 2 + 5Notese que la variable está del lado izquierdo, y del lado derecho tenemos los valores a guardar (en este caso el resultado de una operación)Lenguajes estructuradosEstos lenguajes se basan en estructuras como las recientemente mencionadas. Poseen un flujo bastante lineal de ejecución, dentro del cual realizan todas las operaciones necesarias para el funcionamiento del programa. Utilizan llamadas a funciones para optimizar el código (es decir, poder reutilizar código en diversas ocasiones) y presentan una estructura general bastante sencilla que permite su fácil interpretación.FuncionesUna función es un bloque que realiza un conjunto de operaciones específicas de forma independiente y puede ser llamada desde cualquier punto del código.Por ejemplo: Una función podría calcular la suma de dos números cualquiera X e Y. En mi llamada a la función le indicaré cuales son los dos valores que yo quiero que sume (X e Y) y esta me devolverá un resultado que yo deberé guardar en alguna variable. Podría escribirse algo como lo siguiente (otra vez hago notar que debe tenerse en cuenta que para cada lenguaje hay sintaxis distintas)resultado = suma(2,5)En este ejemplo podemos ver que utilizo la variable resultado para almacenar el resultado de la operación realizada por mi función. La función suma (que habremos definido previamente en algun lugar del código) realiza una serie de operaciones sobre los valores dados, y devuelve un resultado. Otra cosa que es digna de ser destacada es que siempre la llamada a una función tendrá una forma similar a función() o función(arg1, arg2, ...), dónde arg1, arg2 son los valores que le entregamos a nuestra función para que realice sus operaciones (en nuestro ejemplo le pasamos 2 y 5). Cuando una función no espera argumentos se dejan los dos parentesis (), sin nada en su interior.NOTA: A esta altura puede resultar un tanto complejo comprender estos conceptos sin ponerlos en práctica, por lo que estoy trabajando en un post sobre lenguaje en C para ir construyendo paralelamente, lo que nos va a permitir ir practicando con ejemplos al tiempo que vemos la teoria. Eso va a ayudar a comprender un poco mejor cada punto.

40
0
T
Tutorial básico con ejemplos de C
Ciencia EducacionporAnónimo9/24/2011

Creo este post con el fin de complementar otro que tengo creado . En este post voy a explicar cómo instalar un compilador de C en Windows (aquellos que usen Linux pueden usar el GCC que suele venir instalado en las distros más comunes), la sintaxis de C y voy a dar algunos ejemplos de programas muy básicos creados en C.Para comenzar les dejo un link a la página del compilador que vamos a utilizar: Página de MinGW Y para los mas vagos: Descarga del MinGW Una vez descargado comienzan la instalación. Es el típico instalador Windows (next, next, next)... Al principio de la instalación les va a preguntar si quieren usar los catalogos pre-empacados o si quieren descargar las ultimos catalogos. Van a elegir los pre-empacados (Use pre-packaged repository catalogues) ya que acaban de descargar el archivo de la página oficial (aparte no tiene gran sentido bajar las ULTIMAS actualizaciones ya que vamos a utilizarlo para prácticas muy sencillas).La siguiente imágen muestra las opciones recien mencionadas:Luego va a aparecer el tipico cartel en el que tienen que aceptar la licencia de uso del soft (I accept the agreement)La siguiente imágen muestra las opciones recién mencionadas:A continuación les va a preguntar dónde quieren instalar el programa, les recomiendo que dejen lo que viene por default (C:MinGW)La siguiente pantalla les pregunta si quieren que cree un acceso directo en el menú de inicio y que nombre quieren ponerle. Allá ustedes... Je.Luego les va a preguntar que componentes del compilador quieren agregar. Verán que el compilador de C viene elegido por default (tildado y grisado), pueden SI QUIEREN agregar el compilador de C++, el de Fortran y el de ObjC, pero no vamos a usarlos a lo largo de este tutorial.La siguiente imágen muestra esa pantalla:Por último les muestra un resumen de las opciones que fueron eligiendo... Hacen click en Install y voilá.Nota: El instalador realiza gran parte de la instalación por medio de la consola de comandos de windows (cmd, esa pantalla negra con letras blancas que aparece en una ventanita chiquita...)Bien, ya tenemos instalado un compilador de C en la máquina... ahora pongamoslo a funcionar. Como buen compilador de C funciona únicamente por linea de comando, por lo tanto nos vamos a tener que familiarizar con ella y con algunos de los comandos básicos que vamos a utilizar:Deberemos abrir una consola de comandos. Para ello iremos a inicio, todos los programas, accesorios, Símbolo del sistema (para los que tengan W7)... Otra forma más rápida es abriendo el menú ejecutar y tipeando "cmd".Hecho esto les va a abrir la famosa linea de comandos, que se ve de la siguiente forma:Como pueden ver en la imágen, me abre por default en el directorio de MI usuario de mi computadora. Esto es en la dirección ("C:/Users/MiUsuario" ). Yo quiero llegar a la carpeta dónde he instalado el MinGW ("C:/MinGW" ), por lo tanto debo subir dos niveles en el sistema de archivos, y entrar luego en la carpeta MinGW. Para ello usaré el siguiente comando:cd: Esta instrucción nos permite acceder a las distintas carpetas de nuestro sistema de archivos. Si queremos subir un nivel en el sistema de archivos pondremos "cd .." lo que nos llevará a la carpeta inmediata superior.Ingreso:C:/Users/MiUsuario>cd ..C:/Users>cd ..C:/>Ahora vamos a entrar en la carpeta de MinGW ingresando:C:/> cd MinGW Luego entramos en la carpeta bin:C:/MinGW> cd binEn ella se encuentran todos los ejecutables que vamos a utilizar para compilar nuestros programas... Pero para compilar un programa vamos a necesitar un archivo que compilar, vamos a crear uno para probar el compilador.Para ello vamos a abrir un bloc de notas (notepad) o cualquier otro editor de texto y vamos a ponerle el siguiente contenido (por ahora haganlo, aunque no entiendan el código que tiene adentro):#include <stdio.h>void main(){printf("Hola mundo!" );}Debemos guardarlo cómo (yo voy a mostrar mis screens del notepad, pero en cualquier editor de textos debería ser algo bastante similar a esto). Le vamos a poner un nombre de archivo y una extensión .cYo le voy a poner: holamundo.c, van a seleccionar en el tipo de archivo "Todos los archivos (*.*)" y van a poner en el nombre del archivo holamundo.cPor último deben recordar guardarlo en el directorio correspondiente ("C:/MinGW/bin" ).La siguiente imagen muestra cómo guardarlo:Bien, ahora que ya tenemos nuestro archivo codificado en C creado (holamundo.c), podemos compilarlo usando nuestro recientemente instalado MinGW. Volvemos a la ventana de comandos del sistema (en la que nos habíamos situado en el directorio C:/MinGW/bin).Una vez allí, escribiremos:gcc -o holamundo holamundo.cComo podemos ver, gcc es el comando que utilizaremos para crear nuestro archivo ejecutable a partir del código fuente. Lo que estamos haciendo es pasarle como parametro (el primero que pasamos utilizando el -o de output) que nombre queremos que le dé al nuevo archivo (compilado ejecutable) y como segundo parametro el archivo con el código fuente holamundo.cVamos a ver algo como esto:El hecho de que no haya devuelto nada y nos haya puesto otra línea nueva, significa que compiló correctamente.Ahora probaremos que funcione nuestro recientemente creado programa, esto lo hacemos corriendo directamente el ejecutable, para ello escribimos su nombre en la línea de comandos:holamundo.exeDebería devolvernos como resultado "Hola Mundo!"...Esto lo veríamos de la siguiente forma:Bien!! esto significa que hemos instalado correctamente nuestro compilador y hemos compilado nuestro primer programa creado en C.Vamos a los bifes!Para empezar intentemos comprender el ejemplo que acabamos de compilar.la primera línea decía:#include <stdio.h>La instrucción #include le dice al compilador las librerías que vamos a utilizar para crear nuestro programa, en este caso, nosotros le estamos diciendo que importe la libreria "stdio.h" que contiene diversas funciones e instrucciones que quedan ahora a nuestro alcance. stdio.h es la "Standard Input/Output header" y como su nombre lo indica es la biblioteca estándar que contiene los comandos de entrada y salida (es decir, para escribir y leer datos). Les dejo link a la referencia a la libreria que contiene las funciones que pone a nuestra disposición...Mas abajo podemos observar la siguiente estructura:void main(){...}Esta es la función principal que utiliza cualquier programa en C... De aquí parte el flujo del programa, y la primera instrucción que pongamos dentro de ella, será la primera que ejecutará nuestro programa (la explicaré con más detalle cuando explique funciones).Por ultimo, tenemos la instrucción:printf("Hola Mundo!" );Que como habrán visto si abrieron la referencia a la librería stdio.h, es una de las funciones que provee dicha biblioteca.Esta función se encarga de mostrarnos diversas cosas en pantalla (en la línea de comando). Como recordarán, cuando ejecutamos el programa que habíamos creado nos devolvió el mensaje "Hola Mundo!", que es lo que tenemos entre comillas en nuestra instrucción. Bien, todo lo que pongamos entre comillas dentro de esta instrucción, será escrito textualmente (salvo algunos caracteres especiales que veremos un poquitin más adelante). Entonces con esta instrucción le estamos diciendo a nuestro programa que escriba textualmente "Hola Mundo!"Por ultimo, cabe destacar que CADA SENTENCIA debe finalizarse con un ; en C, y este es MUY estricto con respecto a su sintaxis... Es decir, que si nos olvidamos un punto y coma, el programa no funcionará... Otro detalle digno de ser mencionado es que no es lo mismos escribir printf que PRINTF o Printf, porque C es case sensitive (respeta mayusculas y minusculas).VariablesComo ya sabemos, las variables son contenedores que alojan diversos contenidos. A la hora de definirlas (crearlas) en C, deberemos indicar de qué tipo queremos que sea esa variable. Para ver una lista completa de tipos de variables en C pueden visitar este link. Cómo pueden ver, cada tipo de variable tiene un largo determinado (es decir, una cantidad determinada de bits que puede ocupar). Esto se debe a que las variables son pedacitos de memoria RAM, y nosotros tenemos que indicar que tan largo será el pedacito que queremos utilizar.Para aquellos que sean más vagos, o que no entiendan inglés, o que sencillamente no tengan interés en conocer los distintos tipos de datos que podemos usar en C... Les dejo una listita resumida que nos va a ser útil:Vistos los tipos de variables que vamos a utilizar, pongamos manos a la obra en la declaración (creación) de dichas variables.Para declarar una variable debemos tener dos cosas en cuenta, el tipo de variable que queremos utilizar y el nombre que vamos a darle a nuestra variable. Para saber el tipo utilizaremos la tablita que dejé más arriba... Y para elegir un nombre, bueno, le vamos a poner el nombre que querramos... Pero siempre debemos tener en cuenta algunos criterios para su nombramiento.NO vamos a definir variables con sus nombres en mayusucula (Ej: RESULTADO)NO vamos a definir variables cuyos nombres comiencen con un número (Ej: 4veces)SIEMPRE vamos a utilizar nombres descriptivos (nada de poner var1, var2... Un buen Ej: sumando1, sumando2, resultado).La sintaxis de declaración de variables es:tipo de variable nombre de variable;Ej: int resultado;Crearía una variable de tipo int (integer) es decir, número entero de 16 bits, con el nombre resultado.¿Pero para que crear variables si no podemos guardar nada en ellas?Bueno, para almacenar datos en nuestras variables tenemos que realizar asignaciones. Una asignación es la acción de asignar un valor determinado a una variable definida (es decir, darle un contenido).Esto lo realizaremos con la siguiente sintaxis (siempre teniendo en cuenta que el valor que queremos asignar corresponda con el tipo de variable de la variable en la que vamos a guardarlo):nombre de la variable = valor a asignar;Por ej: resultado = 2;Pero como bien expliqué en mi otro post, también puedo asignarle el resultado de una operación:resultado = 2 + 3;Esto provocaría que nuestra variable resultado almacenara el resultado de dicha operación, el cual sería siempre igual (5) ya que usamos siempre los dos mismos números. Si yo quisiera asignar el resultado de una operación entre dos valores que desconozco (como por ejemplo el contenido de otra variable), podría realizar algo similar a esto:resultado = sumando1 + sumando2Dónde resultado es la variable que almacenará el resultado de la operación que hay del lado derecho del =, sumando1 y sumando2 son variables que contienen algun número previamente asignado. Y todas ellas son variables que habré definido previamente...Entonces ahora dejo un código funcional para que puedan probarlo ustedes mismos:#include <stdio.h>void main(){int resultado;int sumando1;int sumando2;sumando1 = 2;sumando2 = 3;resultado = sumando1 + sumando2;printf("resultado: %d",resultado );}Cabe destacar que podría haber declarado todas las variables en una misma sentencia de la siguiente forma:int resultado, sumando1, sumando2;Se hace necesario explicar la nueva sintaxis de la función printf() que acabo de usar.Cómo pueden ver dentro de las " " puse %d. Esto es una máscara, que le indica al compilador que en ESE lugar, debe mostrar una variable de tipo entero. Una lista de los distintos % que pueden usar:%c caracteres %s cadena de aracteres %d enteros %f flotantes Y el valor que mostrará en cada máscara será el correspondiente a la variable que yo utilice luego de la coma. Si se fijan luego de la coma puse la variable resultado, esto significa que dónde está el %d, mostrará el resultado de la cuenta.Es digno de ser mencionado que yo puedo de esta forma enmascarar múltiples variables, es decir, utilzar varias variables en un solo printf, y cada máscara se corresponderá con la variable que esté situada en el mismo orden luego de la coma.Como ejercicio: pueden intentar crear un programita que utilice una variable de cada tipo, realice al menos una operación (tener en cuenta siempre operar con variables del mismo tipo) y muestre los contenidos de todas estas variables en un solo printf.Cuando vuelva postearé la solución.Por ahora esto es todo... En breve iré agregando explicaciones y ejemplos de C, para llegar al nivel del otro post (). Por ahora, entretenganse instalando el MinGW.Saludos a todos.~ Dk ~

0
9
PosteameloArchivo Histórico de Taringa! (2004-2017). Preservando la inteligencia colectiva de la internet hispanohablante.

CONTACTO

18 de Septiembre 455, Casilla 52

Chillán, Región de Ñuble, Chile

Solo correo postal

© 2026 Posteamelo.com. No afiliado con Taringa! ni sus sucesores.

Contenido preservado con fines históricos y culturales.