Hola gente! Bueno en esta ocasión vengo a dejarles esta pequeña guía ( pequeña por ahora) que estoy escribiendo para los que recién comienzan a programar, o quieran empezar. También puede resultar útil para los que ya programan pero quizás no tienen tanta idea de cosas básicas. Y obviamente también para los curiosos, que les gusta saber un poco de todo.

Básicamente la idea es ir publicando de a poco, a modo de capítulos una serie de post que les permita empezar desde lo mas básico, hasta llegar a utilizar las herramientas de programación que se utilizan actualmente para desarrollo de aplicaciones. Bueno basta de cháchara (¿?) y empecemos!

Aprende a Programar desde cero

Introducción


Algoritmo: Secuencia finita (limitada) de pasos ordenados para la resolución de un problema.

Como lo dice su definición un algoritmo es una serie de pasos o instrucciones que utilizamos para resolver determinada situación.
Este termino no solamente se aplica a problemas computacionales, sino que es valido para cualquier tipo de situación de la vida cotidiana. Por ejemplo, a la hora de cocinar (situación) utilizamos una receta (algoritmo) para llevar a cabo el proceso. A la hora de armar o instalar algún aparato electrónico leemos el manual de instrucciones, y de la misma manera aplicamos algoritmos a casi todo lo que realizamos.

Ejemplo:

Problema: Abrir una puerta cerrada con llave.

1) Tomar el manojo de llaves del bolsillo.
2) Seleccionar la llave que corresponda.
3) Introducir la llave en la cerradura.
4) Girar la llave en sentido anti horario.
5) etc., etc.

Puede parecer un ejemplo muy tonto (de hecho lo es), pero es algo que realizamos prácticamente todos los días. Y aunque no necesitamos de ningún manual, y hasta ni siquiera necesitamos pensar para hacerlo, es un algoritmo que ya tenemos incorporado y lo aplicamos de manera inconciente, es decir nuestro cerebro esta “programado” para realizar esas acciones. A esto me refería cuando mencione que utilizamos algoritmos para casi todo.

Supongo que a esta altura estarán pensando algo como “Claaaro , pero como mierda hago para que la computadora me entienda????”

De mas esta decir que la computadora no comprende ningún lenguaje humano, es por eso que un programa informático debe estar escrito en lenguaje de máquina (unos y ceros). Por supuesto que no somos nosotros quienes escribimos en ese lenguaje, seria una tarea muy tediosa y molesta. Los programadores escriben sus algoritmos en algún lenguaje de programación (C++, java, Basic) que resulta mucho mas amigable, y este luego es “traducido” por un programa a instrucciones de maquina para que la computadora sea capaz de leerlo y ejecutarlo.

Programacion



Variables


Antes de comenzar a explicar como se desarrolla un algoritmo necesitamos definir el termino variable. Se trata de un símbolo que representa a un elemento no definido dentro de un determinado conjunto.
Por ejemplo en matemática solemos utilizar el símbolo ‘x’ para representar un valor dentro del conjunto de los números. Como la misma palabra lo indica el valor de ‘x’ puede variar. Es decir, su valor no se encuentra explicito, sino que puede tomar cualquier valor (numérico) dependiendo de diversos factores.

En programación una variable, representa un espacio en memoria RAM al que le podemos asignar diferentes valores (datos) de manera temporal. Las variables pueden ser de diferentes tipos, es decir representar elementos dentro de diferentes conjuntos.

datos


Existen en programación tres tipos básicos de datos; numéricos, alfanuméricos y lógicos o booleanos.

El tipo de dato numérico, a su vez puede dividirse en números enteros y números con coma (reales). Por ejemplo decimos que 54 es un número entero, y 45,32 es un numero real.

Una variable alfanumérica puede contener cualquier carácter o cadena de caracteres que admita nuestra computadora. Por ejemplo “Hola que tal”, “a” , “4jks*”, “123”, etc.

Una variable lógica o booleana puede contener solo dos valores diferentes; verdadero o falso.

Cabe destacar que una variable puede contener valores de un solo tipo de datos. Es decir, a una variable de tipo entera no podemos asignarle una cadena de caracteres, solo números enteros.

Imaginemos una variable como una botella. El contenido de la misma puede variar (agua, gaseosa, jugo), pero su tipo de contenido siempre va a ser líquido. Sabemos que en realidad podemos poner otra cosa, arena por ejemplo, pero no es el fin para el que fue creada.

algoritmos





Programación estructurada


Como dije antes la intención de este “curso” es que puedan aprender a programar sin conocimiento previo del tema, mas que lo básico de informática. Es por eso que lo primero que debemos aprender es programación estructurada, que si bien ya no resulta suficiente para desarrollar aplicaciones como las actuales, es la base de la técnica de programación orientada a objetos (se verá mas adelante), que es la mas utilizada hoy en día.

Según el Teorema de la programación estructurada, todo problema computacional puede ser resuelto aplicando solamente tres tipos de acciones o estructuras básicas.

Estructura simple o secuencial (una acción tras otra)
Estructura condicional (se realiza una acción u otra dependiendo de una condición)
Estructura iterativa o de repetición (una misma acción es repetida varias veces)




Estructura simple o secuencial


Es la estructura más básica, se trata de realizar una acción tras otra. Es decir no se ejecuta una acción (en programación sentencia) , hasta haber finalizado la anterior.

Podemos identificar tres tipos de sentencias simples.

Lectura
Se lee un determinado valor desde el teclado y lo almacenamos en una variable, en este caso la variable n.

if


Escritura
Mostramos por pantalla una frase, el contenido de alguna variable, o ambas.

logica


Asignación
Se le asigna a una variable el contenido de otra variable, el resultado de alguna operación aritmética o lógica, o algún valor en particular

for




Empezando a programar



Veamos algunos ejemplos de algoritmos simples para tratar de dejar en claro lo visto hasta ahora. Por ahora no veremos ningún lenguaje de programación en particular si no que vamos a utilizar diagramas y
pseudocódigo para facilitar la comprensión de los algoritmos.


Problema 1
Realice un algoritmo que pida al usuario su nombre y luego escriba en la pantalla un saludo.

programar

estructuras


Problema 2
Realice un algoritmo que solicite al usuario su edad y muestre por pantalla cuantos días ha vivido aproximadamente.

algoritmo

variables

Bueno por ahora lo dejamos acá. Como dije la intención es ir posteando de a poco, siempre y cuando les resulte útil, así que si les pareció interesante, traten de comentar y recomendar el post.

El texto en su totalidad fue redactado por mi, así que si tienen alguna corrección o sugerencia me la pueden enviar por MP. También si les quedo alguna duda me pueden consultar para ir agregando las respuestas al post.
Espero que les sirva gente.

Gracias por pasar!