Normas del foro

Curso Hacker
Bienvenido(a), Visitante. Favor de ingresar o registrarse.
¿Perdiste tu email de activación? - Diciembre 05, 2008, 10:17:12
Inicio Ayuda Ingresar Registrarse
Visita: Articulos - Juegos Gratis - Da Foros

Comunidad Underground Hispana  |  Programacion  |  Programación  |  Programación Basica  |  Tema: Introduccion a la programacion 0 Usuarios y 1 Visitante están viendo este tema. « anterior próximo »
Páginas: [1] Ir Abajo Imprimir
Autor Tema: Introduccion a la programacion  (Leído 1225 veces)
Fulapol
Miembro
*****
Desconectado Desconectado

Mensajes: 43


fulapol@gmail.com
Ver Perfil WWW Email
« en: Abril 01, 2008, 02:25:44 »

juegos gratis
Bueno estuve observando algunos post sobre programacion desde 0, pero yo tengo el mio xD
Aquie se los dejo

Introduccion a la programacion
by  Fulapol (??/??/2006 - ??)

EL mundo esta lleno de problemas
y el mas grande es resolverlos.

Bueno escribo esto porque generalmente nadie te enseña a programar desde 0 o sin referencias y eso es bastante tedioso como cuando dicen "Para entender esto mejor debe saber programar en algún otro lenguaje como C o Java, se recomienda aprenderlos primero", y esta es mas una guía de referencia para los que inician que un manual o tutorial, sin embargo les sugiero a los que vayan un poco mas adelantados que lo lean pues esto es la base para programar en todo.

Programación, códigos y lenguajes

Las acciones que hace un programa o un ejecutables o como lo llames es dar al computador ordenes, instrucciones que ya estan programadas en el procesador y que este obviamente sigue pero ademas debemos ver que estos programas estan separados en dos grandes grupos:
   1.- Los programas de sistema: Es la parte mas importante, este tipo de software o programas nosotros lo conocemos como Sistema Operativo o SO que es lo que permite que la computadora este encendida, que veas la pantalla y leas esta guia y practicamente maneja todo el equipo en si mismo, pero este tipo de software además de ser el SO incluye algunos programas básicos como editores de texto, compiladores (sistemas unix), y demás.
   2.- Los programas de aplicación: Realizan funciones concretas, es decir, que solo se ocupan de sus tareas como crear imagenes, repoducir sonido, etc. apoyándose con el Sistema Operativo para realizar funciones complicadas o usar funciones de los mismos hardwares o componentes de la maquina.

Bueno pues ya que sabemos pues basicamente que son los programas y como se clasifican debemos ver lo importante que es como crearlos.
   Para entender mejor esto veamos primero algunas cosas sencillas y no tan sencillas. Para empezar en el mundo todo son instrucciones como por ejemplo "Camina", "Detente" y otras pero la computadora o mejor dicho el procesador no es capas de entender estas instrucción.
   Existe un par de instrucciones llamadas x86 y x86-64 siendo la primera la mas usada por el momento y esta misma aparecio en 1985 cuando salio el procesador 80386 o 386 que usaba la arquitectura x86 llamada asi porque depende de las instrucciones x86 y ya despues aparecio para los graficos el 3d-now! y otros pero eso ya es otro tema. Siguiendo con el x86 podemos decir que son instrucciones en binario (0 y 1) pero como recordar 10010 1100 es muy complicado se simplifico usando la numeracion hexadecimal (1, 2, 3, 4, 5, 6, 7, 8, 9, a, b, c, d, e, f) pero seguia siendo recordar lo que es 90, f3 y siguiendo con las innovaciones se creo que el assmbler o ensamblador que es usar palabras como nop = 90, jmp = f3 y asi, pero no se quedo ahi y se crearon los lenguajes de programacion; Éstos se clasifican en tres grandes categorías: máquina, bajo nivel y alto nivel.
   Los lenguajes de maquina son los que como se explico utilizan la lista de instrucciones en su forma original o hexadecimal pero es una forma muy difícil de programar.
   Los lenguajes de bajo nivel fueron diseñados para facilitar la programacion. Éstos dependen de la arquitectura física (componentes materiales) y de conocer los nmemotecnicismo (traducción hexadecimal - palabras), y los programas escritos en ellos deben ser traducidos a lenguaje máquina para poder ser ejecutados. Un lenguaje típico de bajo nivel es el lenguaje ensamblador.
   Los lenguajes de programación de alto nivel son aquellos en los que las instrucciones son escritas con palabras parecidas a las que usamos (en general son en ingles) lo que facilita la escritura y comprensión por parte del programador. Estos lenguajes son independientes de la maquina, o sea que no dependen de la composicion fisica  de la computadora pero al igual que los lenguajes de bajo nivel necesitan ser traducidos a lenguaje maquina en un proceso llamado compilación y el programa que compila es un compilador. La meta de un compilador es compilar código fuente, que son propiamiente las palabras en ingles, a codigo maquina puro, el problema que se tiene es que el SO no puede usar este programa tan "puro" y nesecita tener un formato y este formateo se llama linkeo y el linker o linkeador lo único que hace es darle formato a esas instrucciones (formatos: PE [Windows] COOF [linux]).
   Ejemplos de lenguajes de programación de alto nivel son: Basic, Pascal, C++, Cobol, Fortran, Java y Visual Basic.
   Existen tambien varios tipos de lenguajes de programación de alto nivel, segun su uso y la forma de programar. Algunos ejemplos de estos tipos son:
   º Estructurados (Basic, C, Pascal)
   º Orientados a Objetos (Visual Basic, C++, Java)
   º Declarativos (Lisp, Prolog)
   º Funcionales (AML, CAML)

Entornos, algo mas que el compilador

Un entorno de programación es un programa que contiene el compilador y utilidades. Estos entornos se integran para facilitar la programacion para facilitar este proceso y sun llamados IDE (en ingles, Integrated Development Envirnonment, o Entorno de programación integrado).
   Un entorno típico contiene:
   º Un editor, que sirve para introducir código fuente y en algunos casos provee funciones como colorear texto para diferenciar cada parte, etc.
   º Un intérprete o un compilador, que convierte el código fuente en instrucciones.
   º Un depurador (o debugger), que ayuda a seguir el proceso cuando se ejecuta y poder encontrar fallas.

Datos, variable, constantes ¿para que sirven?

Todo la informacion usada en la programacion es un dato. Estos datos tienen un tipo que ayuda a realizar funciones para cada dato y puede ser desde un simple numero como 65, un numero real (o con decimales) así 56,84, o simplemente una carácter "S" pero existen limitacones algo logicas como por ejemplo un error es sumar de caracteres por que simplemente no tiene sentido.
   La asignación de tipos a los datos tiene dos objetivos principales:
   1- Crear funciones cada tipo como hacer una suma o una concatenacion.
   2- Determinar los errores cuando se ejecutan los programas.

   A los lenguajes que exigen que todos los datos deban tener sus tipos declarados o establecidos se les conoce como "fuertemente tipados". El tipo de un dato puede ser convertido bajo ciertas condiciones a otro tipo mediante un mecanismo que se suele llamar "cast" o "casting".

   Todos los programas necesitan datos y estos a grandes rasgos pueden clasificarse en dos grupos:
   1 - A un dato cuyo valor no puede cambiar se lo denomina Constante. Las constantes deben ser declaradas antes de utilizarlas y deben tener un valor antes de compilar.
   2 - Los datos de un programa cuyo valor puede cambiar se conocen como Variables. Una variable es una posición de memoria con nombre (Nombre de la Variable), y que contiene un valor (Valor de la Variable).

Tipos de sentencias

Las sentencias son las instrucciones en el codigo fuente y pueden ser anidadas o interiores. En general las sentencias son Ejecutables (realizan operaciones) y No ejecutables (comentarios).
   Cada sentencia ejecutable se traduce por el compilador en una o más instrucciones de lenguaje maquina. Las sentencias se clasifican según su tipo y número en:
   º Sentencias Simples: son sentencias que no contienen ninguna otra sentencia. Un ejemplo puede ser cuando se asignan valores a las variables. Ej. a = 2.
   º Sentencias Estructuradas: son sentencias compuestas de otras sentencias que se ejecutan condicionalmente o repetidamente.

   Una expresión es un conjunto de variables y/o constantes unidas por un operador. Si en una expresión existe mas de una operación debe tenerse en cuenta que existen una serie de reglas para definir la prioridad. Por este motivo es que se suelen utilizar los paréntesis para establecer la prioridad de los operadores.
   Existen diversos tipos de operadores, por ejemplo:
   º Aritméticos: Se usan o deberían usarse en variables de tipo numérico. Ejemplos son "+", "-", "*" y "/", que sirven para obtener el resultado de la suma, la resta, la multiplicación y la división respectivamente.
  º De relación: Los operadores de relación (o relacionales) se utilizan para expresar condiciones y describen una relación entre dos valores. Ejemplos de operadores relacionales son "< (Menor que)", "> (Mayor que)", "=  (Igual a)" y  "<> o != (Distinto a)". Los operadores aritméticos y los relacionales se utilizan de la siguiente forma: variable o constante + operador + variable o constante. Por ejemplo: a + b, c / d, a < b, c <> d, etc.
  º Lógicos: Estos operadores sirven verificar expresiones y devuelven valores lógicos para expresar si es verdad (true) o es mentira (False). La operación "and" (&&) combina dos expresiones simples y produce un resultado verdadero solo si las dos son verdaderas. La operación "OR" (||) es verdadera si uno de las dos es verdadera. La operación "not" (!) actúa sobre una sola expresión simple y niega (o invierte) su valor. Existen otros operadores lógicos además de los mencionados.

Estructuras de control

El control de flujo es la forma en la que se ejecutan las instruccion y algo que era comun es la programacion lineal o de linea por que sigue linea a linea el programa, pero con el tiempo se nesecitaban poder establacer acciones por cada situacion que hubiera y romper este fljo lineal
   Las estructuras de control de un lenguaje de programación son métodos para especificar el orden en que las instrucciones se ejecutaran. Estas estructuras son fundamentales en los lenguajes de programación.
   Existen dos tipos básicos de estructuras de control:

   º De Selección
   º De Repetición o Iteración

Las estructuras de selección se utilizan cuando queremos hacer algo dependiendo de las condiciones que tengamos, como un valor de las variables. Una estructura muy común es el IF, las condiciones para esta estructura deben ser de tipo logicas, que se puedan o no cumplir y es de la siguiente forma general (español - general)

    Sí expresion_logica                       If (condicion o expresión)
       Entonces hacer acción A                  "acción A"
    Sino                                      else
       Hacer accion B                           "acción B"

La estructura if funciona de la siguiente manera:
  1 - Se evalúa la expresión lógica, supongamos 5 > 4 (5 es mayor que 4)
  2 - Si la expresión es verdadera (es verdad 5 es mayor que 4), se ejecutara la sentencia A y saldrá del if a la siguiente expresión o sentencia
  3 - Si la expresión fuera falsa (que tal en marte 5 es menor que 4), entonces se ejecutara la sentencia B. La parte else (sino) es opcional

Otra sentencia es el Switch que se utiliza para elegir entre diferentes alternativas. Una sentencia case se compone de varias sentencias simples. Cuando switch se ejecuta, una de las sentencias simples se selecciona y ejecuta.

    Según_sea selector hacer        switch opción {
        C11, C12,…: sentencia 1         case 15: "sentencia para 15"
        C21, C22,…: sentencia 2         case 86: "sentencia para 86"
      [Sino sentencia x]                default "acción si no es 15 o 86"
    fin_según                                      }

En este caso la expresión selector se evalúa y se compara con las listas de constantes o casos; las listas de constantes son listas de posibles valores del selector separados por comas. Solo se ejecuta una sentencia.
   La sino es opcional, como en la sentencia if.
   El selector debe ser un tipo ordinal (numero entero, carácter, o booleano). Los números reales no pueden ser utilizados ya que no son ordinales.
   Todas las constantes Case deben ser únicas y de un tipo ordinal igual que el tipo de selector.

Repitete hasta que acabes

Las computadoras están preparadas para ejecutar tareas repetidamente. Los cálculos simples se pueden realizar fácilmente a mano, pero las tareas grandes o repetitivas son realizadas por una computadora.    Las estructuras de control repetitivas son en las que una sentencia o grupos de sentencias se repiten muchas veces. Este conjunto de sentencias se denomina bucle, o loop. Las acciones que se repiten en un bucle son el cuerpo del bucle, y cada repetición del cuerpo del bucle es una iteración.

La estructura for es la mas basica y se especifica que nesecita para acabar el bucle un ejemplo seria

  Por (sentencias de condicion)    for (veces = 0; veces < 50; veces+1) {
       tarea a repetir               "tarea a repetir"
  fin_Por                           }

Aqui vemos que la condicion para hacer el for es que la variable veces sea menor que 50, que empieza en 0 y que para terminar la condicion aumentamos el valor de veces + 1.
   Este tipo de bucles es muy comun pero no debe olvidarse poner poner las comdiciones pues en ese caso el bucle nunca y esto no es muy bueno

Ademas de for la estructura repetitiva while es aquella en la que no se conoce el número de iteraciones y el cuerpo del bucle se repite mientras se cumple una condición.

    Mientras (condicion)          while (repetir < 10) {
        sentencia 1                    repetir + 1
        sentencia 2                    Escribir ("algo")
    fin_Mientras                              }

Como vemos dentro del bucle nesecitamos hacer que la condicion se cumpla a diferencia del for y estoes algo complicado porque es muy problable que nunca salga de este bucle si no tenemos cuidado con lo que hacemos.

Hasta aqui llegue y espero que les sirva, si encuentro algo interesante lo metere despues o escribire otro manual-guia para ustedes.[/tt]
En línea

Porque juzgar a la gente, finalmente los grandes siempre son recordados y los demas en el pasado


Necesitas ser usuario para ver los enlaces Crear Usuario  Hacer Sesion
alesteir
Visitante
« Respuesta #1 en: Abril 21, 2008, 09:26:54 »

Excelente esta información Fulapol, un poco comprimida , pero muy buena, y es que lo mas importante antes de codear, es saber manejar las metodologías de la programación y los elementos que la conforman, me ha gustado las explicaciones que haces, de los datos, tipos, variables y constantes, las estructuras de control y las condicionales, de verdad se agradece el aporte compadre!

Espero ver las próximas entregas de este post!
En línea
Fulapol
Miembro
*****
Desconectado Desconectado

Mensajes: 43


fulapol@gmail.com
Ver Perfil WWW Email
« Respuesta #2 en: Mayo 15, 2008, 10:48:11 »

bueno en cuanto a este tema es todo. En cuanto a otros por ahi pondre algunos textos de verdaderos lenguajes, como no me gusta el spam ni eso solo te dire que busques en google fulapol y curso para que veas lo poco que anda rodando en la web
En línea

Porque juzgar a la gente, finalmente los grandes siempre son recordados y los demas en el pasado


Necesitas ser usuario para ver los enlaces Crear Usuario  Hacer Sesion
Kira & Eva :D
Habitual
*****
Desconectado Desconectado

Mensajes: 289


Senior Programmer


Ver Perfil Email
« Respuesta #3 en: Mayo 21, 2008, 12:57:46 »

Para ser una introducción es algo compleja ¿no crees?

« Última modificación: Mayo 21, 2008, 12:58:45 por Eva :D » En línea
Fulapol
Miembro
*****
Desconectado Desconectado

Mensajes: 43


fulapol@gmail.com
Ver Perfil WWW Email
« Respuesta #4 en: Mayo 26, 2008, 04:10:25 »

Para ser una introducción es algo compleja ¿no crees?

Como es mi texto supongo que la pregunta es para mi. Esto no es nada complejo, solo que esta muy comprimido pero claro dice introduccion a la programacion, no es algoritmia, no son diagramas de flujo, es como una introduccion a lenguajes de programacion mas que todo el proceso en si. Supongo que como este es requisito para entender todos mis textos de programacion puede pasar, este texto ya tienen tiempo (dic/07) pero si es necesario se podria retocar un poco
En línea

Porque juzgar a la gente, finalmente los grandes siempre son recordados y los demas en el pasado


Necesitas ser usuario para ver los enlaces Crear Usuario  Hacer Sesion
Kira & Eva :D
Habitual
*****
Desconectado Desconectado

Mensajes: 289


Senior Programmer


Ver Perfil Email
« Respuesta #5 en: Mayo 27, 2008, 07:57:08 »

Por mi no lo modifiques yo todo eso ya me lo se  Wink

Pero si yo me hubiera leido eso sin saber nada me habría perdido creo... solo es una observación.

Cuídate!
En línea
crys
Recien Llegado
*
Desconectado Desconectado

Mensajes: 3



Ver Perfil
« Respuesta #6 en: Junio 16, 2008, 09:43:18 »

Gracias por la info!, estoy comenzando mis practicas de programacion nuevamente y me ha recordado lo que habia olvidado.

Un besote  Smiley
En línea
RibaS**DT
Miembro
*****
Desconectado Desconectado

Mensajes: 42


Catala, 100catala. Alias RibaS**DT

dcm_ps3@hotmail.com
Ver Perfil
« Respuesta #7 en: Julio 07, 2008, 03:34:49 »

Muchas Gracias, cuesta encontrar posts como estes que te introducen en este gran mundo
En línea









Primero Pasarme el Pokemón, después , dominar el Mundo   =D             
                          (ki3r0 laS F4l7aS d3 Or7oGr4fi4)
The LØck P!ck3®
Miembro
*****
Desconectado Desconectado

Mensajes: 131


Estoy rodeado de Frikis que desgracia.


Ver Perfil
« Respuesta #8 en: Agosto 15, 2008, 12:27:43 »

Hola, donde me puedo descargar un compilador de C que funcione con windows??

muchissimas gracias
En línea
.~[GalKons]~.
Colaborador
*****
Conectado Conectado

Mensajes: 552


Pero te quieroOo!..

GalKons@msn.com
Ver Perfil WWW
« Respuesta #9 en: Agosto 15, 2008, 12:34:04 »

Hola, donde me puedo descargar un compilador de C que funcione con windows??

muchissimas gracias

Dev c++


Necesitas ser usuario para ver los enlaces Crear Usuario  Hacer Sesion
http://www.bloodshed.net/dev/devcpp.html


En línea


Necesitas ser usuario para ver los enlaces Crear Usuario  Hacer Sesion
nekopache
Recien Llegado
*
Desconectado Desconectado

Mensajes: 5



Ver Perfil
« Respuesta #10 en: Octubre 09, 2008, 06:49:38 »

estoy en esas mismas comenzando ..bueno  Grin  boy a ponerle todo mi esfuerzo   Wink
gracias por la info ahora a ponerla en práctica  Wink
En línea


Páginas: [1] Ir Arriba Imprimir 
Comunidad Underground Hispana  |  Programacion  |  Programación  |  Programación Basica  |  Tema: Introduccion a la programacion « anterior próximo »
Ir a:  


Ranking-Hits
Powered by SMF 1.1.7 | SMF © 2006-2007, Simple Machines LLC