Bienvenidos a este post.. Se agradece si se comparte. Compartir el conocimiento, está bueno Nota Este post está en la categoria GNU/Linux, ya que implica su filosofía, la de Compartir el conocimiento de forma libre. Si quieres puedes copiar este post en tu blog, y bue, si te acuerdas del autor, mejor, si no, no hay problem, mientras no digas que es tuyo.. ¬¬.. xD Comparte el conocimiento, eso es algo que me enseñó la filosofia de GNU/Linux, por eso, el post en la categoria que mejor me parece. Un post en donde aprenderán varias cosas, desde que es un algoritmo, que es un programa, y como se hace uno (en Java). Esta "clase" se las doy, ya que es la que me dio un Ingeniero que es Profesor mio en la materia "Algoritmos y Estructuras de Datos" de la UTN (Universidad Tecnológica Nacional) FRC (Facultad Regional Córdoba). Esta es la primera clase del teórico, y en ella se pretende que como dije arriba: --Aprendas que es un algoritmo --Qué es un programa --Y como empezar con Java Si te interesa meterme al mundo de la programación, te invito a que leas la clase que tuve hoy, escrita por mí (y dictada por el Ingeniero). Y seguiré actualizando el post al tiempo en que siga teniendo clases, tanto prácticas como teóricas. Sin tratar de irme del tema, que es "Aprender a programar" Índice 1.)Algoritmos a.)¿Qué es un algoritmo? b.)Propiedades de un algoritmo c.)Algoritmos en las computadoras (programas) 2) Aprendiendo el Lenguaje de Programación Java a) Tipos de Datos b)Variables 1)Algoritmos a.)¿Qué es un algoritmo? Dicho de una forma: Instrucciones que se siguen para resolver algún problema. De otra: Secuencia ordenada y finita de pasos para resolver un problema. ¿En donde encontramos algoritmos? Se encuentran en cualquier momento alrededor de nuestra vida, no es tan "extraño" encontrarse con un algoritmo. Por ej: -Una receta de cocina es un algoritmo, ya que son pasos que debemos seguir para resolver nuestro problema, cocinar. Así también tenemos: -El proceso de vestirse -Encender un automovil -Abrir una puerta trabada con llave. -etc ¿Quienes aplican algoritmos? -Ser Humano -Computadoras -Animales Los animales: en casos raros, casi obligando al animal, o dandole una recompensa por el hecho, como comida, por lo que decimos que el animal actua por instinto. Y las computadoras, lo hacen recibiendo el algoritmo de los seres humanos. b.)Propiedades de un Algoritmo a) Quién aplica un algoritmo no necesita saber cómo y porqué funciona. Solo tiene que poder interpretar y aplicar las "operaciones primitivas" indicadas en el algoritmo. Un claro ejemplo sería el Algoritmo de la suma. El clásico que conocemos hace mucho de la escuela secundaria. 134 + 27 ---------- ¿Como se resuelve? Ahh, fácil, sumas el 4 con el 7 son 11, ponés un 1 abajo del 7, y un 1 arriba del 3.. MOMENTO MOMENTO..!! Porqué pusiste el 1 abajo, y porque el 1 arriba del 3?? Quién logre responder a esto es porque entiende el algoritmo. Decir que, "Pongo el 1 arriba, porque así me lo explicaron" NO, es entender el algoritmo, tampoco lo es, decir, "Lo hago así porque se que está bien, y lo puedo comprobar con la calculadora que me da el mismo resultado". Con esto quiero decir, y que ud. piensen. ¿La verdad hace falta comprender un algoritmo para que podamos resolver un problema? Simplemente no, como verán a arriba, muy pocos comprenderán el algoritmo de la suma, pero estoy seguro que el 99% sabe aplicarlo para resolver este problema matemático. Esta es una propiedad del Algoritmo. NOTA: Por aplicaciones primitivas entendemos las creadas por Al Jwarizmi, la Suma, Resta, Multiplicación y División, sin comprender estás, seria casi imposible usar un algoritmo, ya que no tenemos una "base". b) Quién propone un algoritmo por primera vez, y lo entiende, también puede aplicarlo. Esto es: Puedo crear mi propio algoritmo para resolver, por ej: una Suma?? Que haya creado un algoritmo para la suma, no implica que tú debas usar ese, si quieres inventa otro, y utilízalo. c)¿Que ventajas tiene aplicar un algoritmo? -Ahorra tiempo y esfuerzo: algo claro, usar el algoritmo de la suma, hace que el calculo sea más rápido, además logra que no tengamos que "inventar" el algoritmo de vuelta, una vez que ya lo hicimos, lo guardamos para más adelante. Si no sería una perdida de tiempo, y esfuerzo al vicio. -Se lo puedo dar a una computadora para que esta lo aplique. Algoritmos en las Computadoras --Para que podamos ejecutar un algoritmo en una computadora este debe escribirse en forma rigurosa y exacta, usando lenguajes de programación. El caso contrario seria el Ser humano, ya que si te lo cuento a vos, como aplicar ese algoritmo, hablándote y explicándote con ejemplos unas cuantas veces, seguro lo entenderías. No és el caso de la computadora, que necesita, que eso este escrito de "Cierta Forma", ordenada, y exacta (algo más o algo menos, y BOOM!!). Esa cierto forma se conoce como "Lenguaje de programación", por asi decir el "idioma" que tenemos para "comunicarle" un algoritmo a una compu. --Un lenguaje de programación es un conjunto de símbolos, operadores y reglas que permiten plantear un algoritmo de forma que una computadora lo interprete. --Cuando un algoritmo se escribe de forma que una computadora lo interprete tenemos un programa. Con esto podemos deducir, que un programa es un algoritmo, pero ojo, no al revés, un algoritmo no siempre es un programa, sino vean el ej, de la receta de cocina, que NO es un programa, pero si un Algoritmo. a.)Estructura de un algoritmo ----------> ---------> (Entradas) (Salidas) --Un programa necesita tener disponibles los datos, las instrucciones y los resultados. Todo eso la computadora lo almacena en un dispositivo llamado memoria. --La memoria puede entenderse como una tabla compuesta por miles de celdas llamadas bytes. --Cada byte puede (de alguna forma) representar y mantener datos de tipos diferentes. Los tipos de datos que una computadora puede representar se denominan en forma distinta en cada lenguaje de programación. 2)Aprendiendo el Lenguaje de Programación Java Tipos de Datos Nota: cada tipo de dato, DEBE estar escrito en minúscula, recuerda que el lenguaje es “Sensible” a mayúsculas y minúsculas, eso quier decir que no es lo mismo, por ej, “INT”, o “Int”, que “int”. Esquema Metafórico de una Memoria Ejemplo: Tenemos los siguientes datos de un persona. Sueldo: $4280,50 Edad: 40 años DNI: 20187295 Estado Civil: Casado Sexo: Masculino ¿Como quedaria todos estos datos en la memoria? Suponiendo que un cuadrito representa 1 byte. Entonces procedemos a llenarlos: 1. Empezamos por el sueldo, al ser un valor decimal necesitamos un valor de tipo float, cuya cantidad de memoria que ocupa es 4 bytes entonces ocupariamos 4 cuadraditos. 2. Agregamos otro, la edea por ej, 40 años, que como pensaran se puede representar con un valor de tipo byte, ya que entra en el rango de -128 a 127, pero, como la mayoria de los programadores usan el tipo int, entonces se usará ese de ahora en adelante, para una mejor “compatibilidad”. Usamos int, entonces, int, que ocupa 4 bytes tambien. 3. Agregamos el dni, también usando int. 4. Para el sexo usaremos un valor de tipo char, para representar con un solo carácter si es M (masculino) o F (femenino). Entonces ocupamos 2 bytes. 5. Para el estado civil basta con pensar que, sabemos que está casado por lo que podemos poner un valor de tipo boolean, para indicar si, SI está casado (true) o si, NO lo está (false). Entonces usamos boolean que ocupa 1 byte. Nuestra memoria quedaria algo así: Despues de que vemos el esquema entendemos mejor como quedo la memoria organizada. Y con ello podemos asegurar que sumando la cantidad de bytes, tenemos un total de 15 bytes, que se usara de memoria para almacenar los datos. Son 15 porque tenemos: 2 valores de tipo int, con 4 cada uno, son 8 en total. 1 de tipo float, con 4 bytes 1 de tipo char con 2 bytes y 1 de tipo boolean con 1 byte. 8 4 2 + 1 _________ 15 Variables 15 bytes de memoria, y ahora veremos, como hace el programa para saber que dato corresponde a cada dato que ingresemos. O sea, como se da cuenta que 40 que es un valor de tipo int, no es el dni?? O el otro de tipo int que es 20187295 no es la edad? Acá se usa el concepto de variable, que seria algo así como “etiquetar” que es cada cosa. Analogía de una alacena:dijo: Si tenemos frascos opacos no sabremos que hay adentro, entonces para buscar el café, deberiamos abrir cada uno, y fijarnos. En cambio si le pegas un papelito que diga “Café” y lo mismo con todos los frascos, estará muy ordenado, y será fácil reconocerlos. Este mismo lo aplicamos en los programas a través de las “variables”. En el caso anterior, a el número 20187295 le pondremos “dni” para que sea fácil de reconocer, siempre tratando de que la etiqueta sea descriptiva, y no tan larga. Entonces usaremos palabras como: sueldo, dni, sexo, edad, y casado. Porque “casado” y no “estado civil”, porque como el valor será true o false, si le ponemos “estado civil” no entenderiamos muy bien que quiere decir, el que hizo el programa si, los demás no entenderian mucho. Por eso es mejor usar “casado” ya que está Clavado..digo, Casado o no lo está. --Para acceder a la memoria el programador utiliza variables. Una variable es un grupo de bytes asociado a un nombre o identificador. En Java, para poder usar una variable, primero debe ser declarada. Esto implica: 1)Indiciar el Tipo 2) Indicar su nombre En nuestro ejemplo anterior quedaria: float sueldo; boolean casado; int dni, edad; char sexo; Notas: --Entre el tipo y la "etiqueta" debemos poner un espacio, ej: float(espacio)sueldo --Y un punto y coma ";" al final, para "cerrar" la variable, este punto y coma, es PARTICULAR de Java, por ende en otros lenguajes puede cambiar. --Si hay dos etiquetas las separamos por comas ",", el espacio que le sigue no es arbitrario, puedes colocarlo o no, el programa no quedará mal, ni dará error pero si quedará más ordenado, por lo que es recomendable ponerlo, me refiero a este espacio. int dni,(espacio)edad; Operador de Asignación --Para acceder a una variable y colocar en ella un valor, se usa el operador de asignación "=". En el ejemplo anterior quedaria: sueldo=4280.50; casado=true; edad=35; dni=20187295; sexo='v'; Notas: --Los números con coma (como el caso del sueldo) la coma en realidad se coloca con un punto. --El valor boolean se escribe con letras, o sea, true o false --El valor de char se escribe, muy importante, entre comillas simples o apóstrofes, como les guste llamarlas, sería esta: ' .Encierras el caractér, entre dos apostrofes. Hasta acá llegó mi clase en la UTN. Como dije, se irá agregando a medida que el Ingeniero me enseñe. Así que les conviene seguir el tema para estar al tanto de las novedades. Saludos..
Datos archivados del Taringa! original
271puntos
1,829visitas
0comentarios
Actividad nueva en Posteamelo
0puntos
7visitas
0comentarios
Dar puntos: