Está en la página 1de 9

INTRODUCCION A LA PROGRAMACIÓN.

 Conceptos generales

 Algoritmo: Es una descripción ordenada y breve de los pasos a seguir


para realizar una tarea o actividad y con ello resolver un problema
manualmente o por medio de una máquina.
 Programa de Computadora: Conjunto de órdenes, escritas en un
lenguaje de programación para que la computadora resuelva un
problema.
 Programación: Es el proceso de diseñar, escribir, probar, depurar y
mantener un programa de computadora.
 Programador: Son los escritores y diseñadores de programas.

La mejor manera en que se puede lograr la comunicación entre el hombre y el


computador es mediante: LENGUAJES DE PROGRMACION.

 Breve historia de los lenguajes de programación:

En 1940, solo existía el sistema de codificación conocido como lenguaje de


máquina que es el lenguaje nativo de una computadora. También se
crearon los Ensambladores que convertían los programas escritos en
código nemotécnico a lenguaje de máquina que son compatibles y legibles
por la maquina.

 Por Generación los lenguajes evolucionaron así:

 Lenguajes de 1a. Generación: Es el lenguaje propio del ordenador,


Basado en el sistema binario, o código máquina, resulta difícil de utilizar
para las Personas. El programador debe introducir todos y cada uno de
los comandos y datos en forma binaria, y una operación sencilla como
comparar el contenido de un registro con los datos situados en una
ubicación del chip de memoria puede tener el siguiente formato:
11001010 00010111 11110101 00101011.

 Lenguajes de 2a. Generación: Utilizan códigos muy cercanos a los de


la Máquina, lo que hace posible la elaboración de programas muy
potentes y rápidos, pero son de difícil aprendizaje, las instrucciones y
direcciones de memoria están representadas por símbolos que se
utilizan en lugar de ceros y unos.

 Lenguajes de 3a. Generación 1950-1960: Por el contrario, son de uso


mucho más fácil, ya que en ellos un solo comando o instrucción puede
equivaler a millares en código máquina. El programador escribe su
programa en alguno de estos lenguajes mediante secuencias de
instrucciones. Antes de ejecutar el programa la computadora lo traduce
a código máquina de una sola vez (lenguajes compiladores) o
interpretándolo instrucción por instrucción (lenguajes intérpretes).

 Lenguajes de 4a. Generación: Es el lenguaje de muy alto nivel cuya


característica principal es permitir a los usuarios con poco conocimiento
sobre computación y lenguajes de programación, desarrollar sus propios
programas de aplicación sin la participación operativa del personal del
departamento de informática.

 Lenguajes de 5a. Generación: Son los lenguajes de programación


utilizados en: sistemas expertos, inteligencia artificial, redes neuronales,
procesamiento de voz natural, robótica, etc.

Las instrucciones básicas y comunes en casi todos los lenguajes de


programación son:
 Instrucciones Entrada/Salida: Instrucciones de transferencia de
información entre dispositivos periféricos y la memoria central.

 Instrucciones de cálculo: Instrucciones para que la computadora


pueda realizar operaciones aritméticas.

 Instrucciones de control: Instrucciones que modifican la secuencia


de le ejecución del programa.

Los principales tipos de lenguajes de programación:

 Lenguaje Máquina
 Lenguajes de Bajo nivel
 Lenguajes de Alto nivel

ENTRADA PROCESO SALIDA

Programa Traductor Programa


Fuente De Objeto
Lenguaje de Alto Lenguaje Lenguaje
Nivel maquina.

Programa Fuente: Conjunto de instrucciones escritas en un lenguaje de


Programación de alto nivel. «Amigables al programador» Ejemplos:C, C++,
C#,Java, Visual Basic,XML, HTML, Perl, PHP, JavaScript, COBOL, FORTRAN,
Pascal, Basic

Programa Objeto: conjunto de instrucciones resultado de la traducción de un


programa
fuente, pero aún no directamente ejecutables por la máquina.
Programa Ejecutable: conjunto de instrucciones directamente ejecutables por
La máquina. Estas instrucciones están escritas en lenguaje binario y el archivo
que las contiene
Puede tener las extensiones EXE o COM para Windows ó bin para Unix/Linux.

 Proceso de Traducción de un Programa: Se pueden clasificar en:

 Interpretes: Es un traductor que toma un programa fuente, lo traduce


y, a continuación lo ejecuta. Ejemplo : Basic, Smalltalk

 Compiladores: Estos programas analizan la sintaxis y semántica de


un programa fuente y sí es correcta traduce completamente el
conjunto de instrucciones a lenguaje máquina antes de que cualquier
instrucción sea ejecutada; esto nos garantiza que nuestro programa
está libre de errores de sintaxis y semántica. Además son más
rápidos en la ejecución que los programas interpretados.

 Ensambladores.

 Fases de la Compilación:

1. Se escribe el programa fuente en un Editor y se guarda en un


dispositivo de almacenamiento.
2. Se introduce el programa fuente en la memoria
3. Se Compila el programa con el compilador.
4. Se verifican y corrigen errores de compilación.
5. Se obtiene el programa Objeto.
6. El enlazador (linker) obtiene el programa ejecutable.
7. Se ejecuta el programa y, si no existen errores, se tendrá la salida
del programa.

Paradigma:

 Enfoques alternativos a los procesos de programación


 Representa fundamentalmente enfoques diferentes para construcción de
soluciones a problemas y por consiguiente afectan el proceso completo
de desarrollo de Software.

Paradigma de programación clásicos:

 Procedimental ó Imperativo: Es un conjunto de instrucciones que se


ejecutan una por una de principio a fin, de modo secuencial. Define el
proceso de programación como el desarrollo de una secuencia de
órdenes que manipulan los datos para producir resultados deseados.
Ejemplos de lenguajes que usan este paradigma: FORTRAN, Basic, C,
Java.
 Funcional: Basado en la utilización de funciones aritméticas que no
maneja datos mutables o de estado. Enfatiza la aplicación de funciones,
en contraste con el estilo de programación imperativa, que enfatiza los
cambios de estado.

 Declarativo: Utiliza el principio del razonamiento lógico para responder a


las preguntas consultadas. Se basa en la lógica formal y en el cálculo de
predicados de primer orden. Ejemplo de lenguaje declarativo por
excelencia es Prolog, aunque también se utiliza este paradigma en SQL.

 Orientado a Objetos: Se asocia con metodología de programación


llamado Programación Orientada a Objetos (POO). Un enfoque
totalmente distinto al proceso procedimental. Guarda una analogía con la
vida real. Ejemplos de lenguajes que usan este paradigma: Java y C#,
como herederos de C y C++, Visual Basic y VB. Net.

Tipos de programación:

Existen cuatros estilos para el diseño y construcción de programas:

 Programación Estructurada: Es una metodología que consiste en


aplicar un conjunto de técnicas que nos permiten programar de forma
fácil, ordenada y eficaz.

Un programa diseñado con este estilo de programación, consta de


instrucciones que describen la solución del problema. Ejemplos de
Lenguajes en las que se puede utilizar programación Estructurada:
Pascal, Basic, FORTRAN, C

Las técnicas fundamentales de Programación Estructurada son cuatro:

 Lógica Estructurada: Es una técnica de programación, que nos


ayuda a diseñar sistemáticamente algoritmos libres de errores y
que al ejecutarlos (seguirlos o correrlos) se obtiene la información
requerida en el problema.

Consiste en resolver los problemas, o diseñar algoritmos, con


únicamente tres posibles acciones conocidas como Estructuras
Lógicas de Control: Secuenciación (Se obedece una orden tras
otra, sin ninguna consideración adicional). Selección (Se elige
una entre dos o más alternativas posibles para obedecer),
Repetición (Se repiten una o varias órdenes, las veces que sea
necesario).

Las estructuras lógicas de control se dividen en:


Fundamentales: Secuenciación, Si_ Entonces_sino, Mientras.
Derivadas: Seleccionar caso, Desde – hasta, Hasta que.
 Documentación: Necesaria para cualquier solución que se
presenta. Puede ser: Interna (En los programas) y Externa
(Manuales y especificaciones).

 Análisis Estructurado: Conocida también como Programación


Modular, es uno de los métodos de diseño más fáciles, flexibles, y
potentes para programar y mejorar la productividad de nuestros
programas

Esta técnica divide el problema en pequeñas partes o


subproblemas y se debe diseñar una solución para cada una de
esas partes. A las divisiones o partes de un problema y las
soluciones o algoritmos que los resuelven, se les conoce como
módulos; cada módulo debe realizar una tarea o actividad
específica.

 Estructura de datos: Es una colección de datos o elementos


organizados de un modo específico. Dependiendo de la forma en
que se almacenan y manejan dentro de la memoria, existen dos
tipos de estructuras de datos: estáticas y dinámicas.

 Programación Orientada a Objetos: permite descomponer más


fácilmente un problema en subgrupos de partes relacionadas del
problema.

¿Qué es la POO?: “Un método de implementación en el que los


programas se organizan como colecciones cooperativas de objetos,
cada una de las cuales representan una instancia de alguna clase, y
cuyas clases son todas miembros de una jerarquía de clases unidas
mediante relaciones de herencia”. Booch.

Este tipo de programación está basado en varias técnicas, entre ellas:

 Herencia: permite definir nuevas clases partiendo de otras ya


existente.
 Abstracción: permite vislumbrar lo diferentes agentes o objetos
implicados en un problema.
 Polimorfismo
 Encapsulamiento.
 Ocultación de datos.
 Mensaje

CLASE: “Implementación total o parcial de un tipo abstracto de dato


(TAD)” Una clase se puede ver como una plantilla que describe objetos
que van a tener la misma estructura y el mismo comportamiento.

Diseño Orientado a Objetos: El primer paso en el proceso de


resolución de Problemas es identificar los componentes denominados
Objetos que forman el soporte de la solución y determinar cómo
interactúan estos objetos entre sí. Funciona bien combinado con el
Diseño estructurado.

 Programación Declarativa: Desarrolla programas especificando o


declarando un conjunto de condiciones, proposiciones, restricciones,
ecuaciones, o transformaciones que describen el problema y detallan su
solución, sin especificar exactamente como encontrarla.

 Programación orientada por eventos: Es un estilo de programación en


el que tanto la estructura como la ejecución de los programas van
determinados por los sucesos que ocurran en el sistema, definidos por el
usuario o que ello mimo provoquen.

Herramientas de programación.
Las herramientas más usuales son:

 Editores:
Es un programa de aplicación que permite escribir programas en
lenguajes de alto nivel, diferentes a los procesadores de texto. El
editor debe escribir el programa fuente siguiendo las reglas de
sintáxis del lenguaje de programación y luego guardarlo en una
unidad de almacenamiento como archivo de texto. Ejemplo:
NotePad, para Java o C++, Edit.com, del Sistema Operativo MS-
DOS

 Compiladores

 Depurador de errores.

Métodos para procesar programas completos

 Consola de línea de comandos:


Más antiguo y clásico de la compilación/ejecución de un programa
fuente. El editor y el compilador se ejecutan directamente desde
la línea de comando Ejemplos: NotePad y Editor.

 Entorno de Desarrollo Integrado:


Contiene herramientas que soportan el proceso de desarrollo de
Software. Se compone de un Editor, un Compilador, un
Depurador, y un constructor de interfaz gráfico.Pueden estar
orientados a uno o varios lenguajes de programación.Ejemplos:
DevC++, Jgrasp, Netbeans, Eclipse, Microsoft Visual C++,
Objetive-C

 Java Virtual Machine (JVM):


Es una computadora hipotética (virtual), el cual ayuda a que los
programas Java sean independientes de máquina, es decir, que
se puedan ejecutar en muchos tipos de plataforma de
computadoras, volviéndolos muy portables, incluyendo la
ejecución en un mnavegador web tal como Firefox, Explorer,
Chrome, Opera o Safari.Generando un lenguaje intermedio
denominado Bytecode, que luego se traduce a un lenguaje
máquina específico.

Lenguaje C:

Antecedentes: C fue desarrollado originalmente en los años setenta por


Dennis Ritchie en Bell Telephone Laboratories, Inc. (ahora una sucursal de AT
& T). Es el resultado de dos lenguajes anteriores, el BCPL y el B, que se
desarrollaron también en los laboratorios
Bell

Según clasificaciones de Lenguajes de Programación podemos decir: C es un


lenguaje estructurado de propósito general y de alto nivel, orientado a módulos;
y es un lenguaje de tercera generación.

Lenguaje JAVA:

Antecedentes: Es un lenguaje de programación originalmente desarrollado por


James Gosling de Sun Microsystems (la cual fue adquirida por la compañía
Oracle) y publicado en el 1995 como un componente fundamental de la
plataforma Java de Sun Microsystems. El lenguaje deriva mucho de su sintaxis
de C y C++, pero tiene menos facilidades de bajo nivel que cualquiera de ellos.

Java es un lenguaje de programación de propósito general, concurrente,


basado en clases, y orientado a objetos, que fue diseñado específicamente
para tener tan pocas dependencias de implementación como fuera posible.

ALGORITMOS
Terminología básica

Problema: Es una situación real, que tiene ciertas condiciones y&o


restricciones, que se necesita transformar.

Solución: Es un medio de lograr la transformación deseada.


Una forma de preferencia para seleccionar de entre varias soluciones se llama
CRITERIO.
Una Restricción es algo que debe cumplir una solución.

Dato: “Dato” significa hecho, es el material original de información. Son


características o cualidades de una persona, un hecho, un lugar o una cosa.
Clasificación de Datos:

 Según su tipo de dato:

 Datos numéricos: están formados por uno o vario dígitos y


representan cantidades que pueden ser operables. Se dividen en:
 Datos numéricos Reales.
 Datos numéricos enteros.

 Datos alfanuméricos: están formados por letras, dígitos, y


símbolos, además no representan cantidades operables.

 Según su número de veces que puede cambiar su valor:

 Datos constantes: se considerada un dato constante, numérico o


alfanumérico, aquel dato que no cambia durante un periodo
determinado de tiempo.
 Datos Variables: Es aquel que cambia en un periodo determinado
de tiempo.

Variable: Es un lugar de almacenamiento, capaz de contener o guardar un


dato cuyo valor asociado se puede modificar durante la ejecución de un
programa.

 Variables numéricas: Son aquellas que solo pueden tener valores


numéricos y son operables. Ej. hola= 100; Valor= 25000; edad= 12. Etc.

 Variables Alfanuméricas: Son aquellas que contiene letras y números, y


los datos o valores almacenados en ellas se acostumbra a escribirlos
dentro de comillas. Ej. nom = “Pedro”; COLOR= “rojo”, etc.

Normas para nombrar variables:

1. Solo usar letras y digitos. (0-9).


2. Único Símbolo El Guion _Bajo.
3. El primer digito siempre va a ser letra.
4. Máximo 10 caracteres.

Proceso Solucionador de problemas:

1. Planteamiento del problema


2. Análisis del problema:
a) Definir las variables de salida
b) Definir las variables de entrada
c) Que restricciones existen
d) Criterios
e) Detallar los procesos necesarios para transformar el estado A en
B
f) Definir las variables de proceso
3. Diseño de solución (algoritmo)
4. Codificación de la solución
5. Depuración de la solución

Existen tres clases de errores:

a) Error de compilación: se produce por el uso incorrecto de las


reglas del lenguaje de programación, se conoce como “Errores de
sintaxis”.

b) Error de ejecución: se produce por instrucciones que el


computador puede traducir pero no ejecutar.

c) Error lógico: se produce cuando se compila y ejecuta, pero los


resultados obtenidos o dato de salida, son incorrectos o no se
obtiene ningún resultado.

6. Documentación y mantenimiento.

Un algoritmo lo podemos representar de varias formas:

 Algoritmo narrado: usando nuestro idioma natural, con nuestras


propias palabras, se detallan los pasos a realizar para resolver un
problema.

 Algoritmo esquematizado: usando una seria de símbolos para


representar cada paso del algoritmo. A este esquema de solución se
llama Diagrama de flujo o flujograma.

 Algoritmo pseudo-codificado : usamos una mezcla de lenguaje


natural y un código de programación especifico ( o lenguaje de
programación).

 Algoritmo codificado: usamos un código o lenguaje de programación


como BASIC, PASCAL, C, etc. Se conoce como programa.