Está en la página 1de 12

Universidad Nacional de Trujillo – Programación Digital 2013

SESIÓN 01: CONCEPTOS BÁSICOS

TEMARIO

 Representación de la Información
 Tipos de Programas
 Lenguaje de Programación
 Definición de Algoritmos
 El Proceso de un algoritmo
 Verificación del algoritmo o prueba de escritorio
 Lenguaje Java
 Etapas De Desarrollo De Un Programa Java
 Tipos de Programas en Java
 Software para el desarrollo de programas Java.

Semana 01: Conceptos Básicos – Ing. Haybert Escobedo Neyra Página 1


Universidad Nacional de Trujillo – Programación Digital 2013

1. REPRESENTACIÓN DE LA INFORMACIÓN
a. Dato e Información

Son dos términos que suelen confundirse. Se consideran datos a toda entrada de
información a una computadora. Estos datos pueden ser administrativos, científicos,
comerciales, etc. son elementos primitivos, de los cuales a través del procesamiento se
obtiene la información. Presupuesto, ámbito y plazos

b. Proceso Computacional

El computador es una máquina cuya función básica es llevar a cabo operaciones de


cómputo (transformaciones) sobre elementos de datos. Como todas las máquinas, el
computador recibe una “materia prima” (datos de entrada), la transforma a través de un
proceso y devuelve un “producto” (datos de salida)

El proceso computacional es análogo a una función matemática, con R el rango (datos de


salida), D el dominio (datos de entrada) y t() la transformación.

R = t(D)

Sin embargo el computador posee una característica primordial que lo diferencia:

El proceso que define la transformación efectuada sobre los datos de entrada puede ser
especificado por el usuario; es por ello que se dice que el computador es programable.

c. Software

Sabemos que el ordenador se compone de un conjunto de componentes conectados entre


sí. Para que el ordenador funcione es necesario que haya unos programas que le digan paso
a paso qué debe hacer.

El software es el componente intangible de todo sistema informático y está formado por


una colección de reglas e instrucciones que permiten establecer la relación entre el usuario
y la máquina.

d. Programas

Es una transformación específica, definida y expresada de forma que pueda ser utilizada por
el computador.

Como primera aproximación, puede definirse programa como un conjunto de pasos,


especificados por el usuario en un lenguaje comprensible para la máquina (lenguaje de
programación), que definen el proceso que se efectúa sobre los datos; de esto se concluye,
que al ejecutarse el programa, se lleva a cabo un proceso computacional.

Semana 01: Conceptos Básicos – Ing. Haybert Escobedo Neyra Página 2


Universidad Nacional de Trujillo – Programación Digital 2013

2. TIPOS DE PROGRAMA
 Sistema operativo,
 Lenguajes de programación
 Programas de aplicación.

Ilustración 1: Tipos de Programas

Programa Fuente

El concepto de "Programa Fuente" se relaciona de forma directa con los lenguajes de


programación y las aplicaciones creadas, porque precisamente "Programa Fuente" describe el
argumento escrito por el programador que da inicio al desarrollo de su obra de software.

Programa Objeto

Es aquel programa que resulta de la traducción del lenguaje fuente (lenguaje entendible por el
ser humano) a un lenguaje máquina, es decir a aquel que es inteligible por la computadora.
Esta tarea es llevada a cabo por los programas intérpretes o compiladores

Los intérpretes, realizan la traducción de manera tal que el lenguaje obtenido puede ser
ejecutado directamente por la máquina.

En cuanto a los compiladores, no realizan la traducción directa para que pueda ser
ejecutable por la computadora sino que debe utilizar también un programa montador o
enlazador, conocido como linker, que es el que realiza la acción final que permite que el
programa objeto pueda ser ejecutado.

3. Lenguajes de Programación

Se usan para poder dar a un computador las diferentes órdenes que llegan a componer un
algoritmo. Según su nivel de abstracción los lenguajes de programación se pueden clasificar:

 Lenguajes de bajo nivel, son aquellos que se acercan al funcionamiento de la computadora.


El lenguaje de más bajo nivel es por excelencia es el código máquina, a éste le sigue el
lenguaje ensamblador, ya que al programar en ensamblador se trabajan con los registros de
memoria de la computadora de forma directa.

Semana 01: Conceptos Básicos – Ing. Haybert Escobedo Neyra Página 3


Universidad Nacional de Trujillo – Programación Digital 2013

 Lenguajes de alto nivel, son normalmente fáciles de aprender porque están formados por
elementos de lenguajes naturales, como el inglés. Algunos ejemplos de estos tipos de
lenguajes son. Visual Basic, Java, Power Builder, etc.

 Lenguajes de medio nivel, hay lenguajes de programación que son considerados por los
expertos lenguajes de medio nivel al tener ciertas características que los acercan a los
lenguajes de bajo nivel, pero teniendo al mismo tiempo, ciertas cualidades que lo hacen un
lenguaje más cercano al humano, por lo tanto de alto nivel. Por ejemplo el lenguaje C.

Ilustración 2: Top de Lenguajes de Programación a Febrero 2013

Fuente : TIOBE SOFTWARE

Semana 01: Conceptos Básicos – Ing. Haybert Escobedo Neyra Página 4


Universidad Nacional de Trujillo – Programación Digital 2013

4. Definición de Algoritmo
 Es un método o conjunto de reglas (sin ambigüedades) que se aplican paso a paso en forma
ordenada para solucionar problemas.
 Se define también como los pasos ordenados que se deben efectuar para realizar un trabajo
o tarea específica.

Ejemplos de Algoritmo
 Diseñar un algoritmo para preparar un litro de limonada:
Inicio
Llenar una jarra con un litro de agua
Exprimir el jugo de 5 limones
Añadir el jugo de limones al agua
Agregar 5 cucharadas de azúcar
Revolver el agua hasta que el azúcar se disuelva completamente
Fin

 Diseñar un algoritmo que permita hallar la suma y el promedio de tres números:


Inicio
Leer número 1, número 2, número 3
Hacer suma = número 1 + número 2 + número 3
Hacer promedio = suma/3
Imprimir suma , promedio
Fin

Algoritmo vs Programa
Recordemos que el término “Algoritmo” se refiere a la secuencia de pasos para resolver un
problema, pero independientemente del lenguaje de programación que se utilice, mientras que
“Programa” se refiere propiamente a la codificación de un algoritmo en un lenguaje de
programación.

Características de un algoritmo
Las características fundamentales que debe cumplir todo algoritmo son:
 Debe ser preciso, es decir debe indicar el orden exacto de la realización de cada etapa
evitando acciones innecesarias.
 Debe estar definido, significa que si se ejecuta un algoritmo 2 o más veces, con los
mismos valores iníciales, se debe obtener el mismo resultado todas las veces.
 Debe ser finito, significa que si se sigue un algoritmo, se debe terminar en algún
momento, es decir, debe tener un número finito de pasos.
 Debe tener un único punto de entrada o inicio y uno de salida o fin.
 Todas las etapas o pasos a seguir son ejecutables

Semana 01: Conceptos Básicos – Ing. Haybert Escobedo Neyra Página 5


Universidad Nacional de Trujillo – Programación Digital 2013

También hay que tener en cuenta en un algoritmo:


 El algoritmo sirve de base para generar un programa, pero no es el programa en sí.
 El algoritmo no es inteligible directamente por el ordenador.
 El mismo algoritmo puede ser implementado de forma distinta en diversos programas, es
decir, dos programadores pueden obtener distintos códigos fuente a partir del
mismo algoritmo.

5. El proceso de un algoritmo

La definición de un algoritmo debe describir tres partes: Entrada, proceso y salida.

Entrada Proceso Salida

La información proporcionada al algoritmo constituye su entrada, el procedimiento para


la solución del problema constituye su proceso y la información producida por el
algoritmo constituye su salida.
A continuación ejemplos para un mejor entendimiento:

Ejemplo 01:
Leer la base y altura de un paralelogramo. Calcular su área.

Datos de Entrada ---> base y altura


Proceso ---> área = base x altura
Datos de Salida ---> El área del paralelogramo

Ejemplo 02:
Leer el radio de una circunferencia. Calcular su área y longitud.

Datos de Entrada ---> Radio de una circunferencia.


Proceso ---> Área = πr2 y Longitud = 2πr
Datos de Salida ---> El área y longitud de una circunferencia.

Semana 01: Conceptos Básicos – Ing. Haybert Escobedo Neyra Página 6


Universidad Nacional de Trujillo – Programación Digital 2013

6. Verificación del algoritmo o prueba de escritorio

Una vez escrito el algoritmo es necesario asegurarse de que éste realiza las tareas para las que
ha sido diseñado, y que por lo tanto produce el resultado correcto y esperado.

El modo más normal de comprobar un algoritmo es mediante su ejecución manual usando


datos significativos que abarquen todo el posible rango de valores y anotando en una hoja de
papel los valores que van tomando en las diferentes fases, los datos de entrada o auxiliares y,
por último los valores de los resultados. Este proceso se conoce como prueba del
algoritmo o prueba de escritorio.

Haremos una prueba de escritorio de los dos problemas anteriores:


Elementos Ejercicio 01 Ejercicio 02
Datos de entrada r (radio) = 3 Base = 5
π (pi) = 3.14 (Solo tomaremos hasta dos decimales) Altura = 3
Proceso A = πr2 = 3.14 x (3)2 A = base x altura
L = 2πr = 2 x 3.14 x 3 A=5x3
Datos de salida A = 28.26 A = 15
L = 18.84

Métodos de representación de los Algoritmos:


 Diagrama de Flujo (Convencional)
 Pseudocódigo
 Diagrama de flujo estructurado (Nassi-Schneiderman)

7. Lenguaje Java

Java es un lenguaje de programación de alto nivel con el que se pueden escribir programas de
cualquier tipo. Se dice que es un lenguaje de alto nivel porque se asemeja más al lenguaje
humano, a diferencia de los lenguajes de bajo nivel que se asemejan más al lenguaje de las
computadoras (conocidos como lenguajes máquina).

Los programas escritos en Java no son comprensibles en forma directa por el procesador, por lo
que requieren de pasos intermedios de traducción al lenguaje del computador conocido como
lenguaje máquina.

Semana 01: Conceptos Básicos – Ing. Haybert Escobedo Neyra Página 7


Universidad Nacional de Trujillo – Programación Digital 2013

8. Etapas De Desarrollo De Un Programa Java

Para desarrollar un programa en Java sigue las siguientes etapas:

a. Edición

En esta etapa, se escriben las instrucciones del programa usando el lenguaje Java y se
guarda en un archivo cuyo nombre debe terminar con la extensión .java. Así, por ejemplo, el
archivo podría llamarse Saludo.java. A este programa escrito en Java se denomina código
fuente y para escribirlo se puede recurrir a cualquier editor de texto.

b. Compilación

En esta etapa, se compila el código fuente usando el compilador de Java, que es un


programa denominado javac.exe, con lo que se obtiene un nuevo código conocido como
código de bytes, que queda guardado en un archivo con el mismo nombre que el archivo de
código fuente, pero con la extensión .class. Así, si el archivo de código fuente se denomina
Saludo.java, el código de bytes quedará almacenado automáticamente en un archivo
denominado Saludo.class.

c. Ejecución

En esta etapa, el código de bytes es ejecutado por la Máquina Virtual de Java (JVM, siglas en
inglés de Java Virtual Machine). El código de bytes es el lenguaje de la JVM. Existe una JVM
para cada plataforma (para cada sistema operativo); pero, todas las JVM pueden ejecutar el
mismo código de bytes. Así, el código de bytes es independiente de la plataforma. Esto hace
que los programas Java puedan ser ejecutados en cualquier máquina que disponga de una
JVM. Actualmente, existe una JVM para la mayor parte de las plataformas, lo que garantiza
que los programas Java sean ampliamente portables.

Ilustración 3: Compilación y Ejecución de un Programa en Java

Semana 01: Conceptos Básicos – Ing. Haybert Escobedo Neyra Página 8


Universidad Nacional de Trujillo – Programación Digital 2013

9. Tipos De Programas Java

Java es la base de prácticamente cualquier tipo de aplicación en red y es el estándar mundial


para el desarrollo y entrega de aplicaciones móviles, juegos, contenidos basados en web y
software empresarial.

Con más de 9 millones de desarrolladores alrededor del mundo, Java permite desarrollar e
implementar de forma eficaz emocionantes aplicaciones y servicios. Con herramientas
integrales, un ecosistema maduro y un rendimiento sólido, Java ofrece portabilidad a las
aplicaciones incluso en los entornos más diversos.

Plataformas

Java Platform, Enterprise Edition (Java EE), es el estándar de la industria para la


computación empresarial de Java. Usa el nuevo y liviano perfil web de Java EE 6
para crear aplicaciones web de próxima generación y todo el poder de la plataforma
Java EE 6 para aplicaciones empresariales. Los desarrolladores aprovechan las
mejoras de productividad con más anotaciones, más POJO, empaque simplificado y
menos configuración XML.

Java Platform, Standard Edition (Java SE), está diseñado para permitirle desarrollar
aplicaciones seguras, portátiles y de alto rendimiento para la más amplia gama
posible de plataformas computacionales. Al hacer que las aplicaciones estén
disponibles para entornos heterogéneos, los negocios pueden aumentar la
productividad, la comunicación y la colaboración del usuario final y así reducir
drásticamente el costo de propiedad de las aplicaciones empresariales y de
consumidor.

Java Embedded, cuando busca una mayor selección, protección y potencia, Java
es la opción. Oracle ofrece una amplia gama de soluciones, desde servidores hasta
dispositivos incrustados, para dispositivos con recursos limitados y sistemas de
clase de escritorio. Estas soluciones proporcionan capacidades de alto
rendimiento en tiempo real que le permiten acceder de forma segura a recursos
mientras protege sus datos, para que pueda hacer más con sus dispositivos.

Semana 01: Conceptos Básicos – Ing. Haybert Escobedo Neyra Página 9


Universidad Nacional de Trujillo – Programación Digital 2013

Java para dispositivos móviles, Java Platform, Micro Edition (Java ME) se usa para
una gran cantidad de desarrolladores Java de teléfonos móviles, proveedores de
telecomunicaciones y OEM para crear productos de funciones de teléfono
alrededor del mundo. Oracle es el proveedor líder de tecnologías para teléfonos
móviles que se encuentran en más de tres mil millones de dispositivos y contando.

JavaFX, es una plataforma de interfaz de usuario avanzada de Java para


aplicaciones empresariales de negocios y el siguiente paso en la evolución de Java
como una rica plataforma de primer nivel para clientes. Al usar Java en el lado del
servidor y del cliente de las aplicaciones, los desarrolladores pueden disminuir
bastante el riesgo al reducir la complejidad de las soluciones de negocios.

10.Software Para El Desarrollo De Programas Java

Para el desarrollo de programas Java usaremos el siguiente software:

• Java SE Development Kit (JDK), que contiene el compilador, la JVM y a las Librerías del
lenguaje. El JDK fue desarrollado inicialmente por Sun Microsystems y posteriormente
comprado por Oracle, la dirección es http://www.oracle.com/us/sun/index.html

Semana 01: Conceptos Básicos – Ing. Haybert Escobedo Neyra Página 10


Universidad Nacional de Trujillo – Programación Digital 2013

• NetBeans IDE es un entorno de desarrollo - una herramienta para que los programadores
puedan escribir, compilar, depurar y ejecutar programas. Está escrito en Java - pero puede
servir para cualquier otro lenguaje de programación. Existe además un número
importante de módulos para extender el NetBeans IDE. NetBeans IDE es un producto libre
y gratuito sin restricciones de uso. Puede ser descargado desde: https://netbeans.org/

Semana 01: Conceptos Básicos – Ing. Haybert Escobedo Neyra Página 11


Universidad Nacional de Trujillo – Programación Digital 2013

• JCreator LE, que es un Entorno Integrado de Desarrollo (IDE, siglas del inglés Integrated
Development Environment) que permite editar, compilar y ejecutar programas Java. Para
la compilación y ejecución se requiere tener instalado el JDK. JCreator LE puede ser
descargado de la página de Xinox Software cuya dirección es http://www.jcreator.com
A parte de JCreator LE existen otros Entornos Integrados de Desarrollo profesionales como
JBuilder de Borland, Visual Café de Symantec, Eclipse de IBM, JDeveloper de Oracle, Visual
Age de IBM, etc.

Semana 01: Conceptos Básicos – Ing. Haybert Escobedo Neyra Página 12

También podría gustarte