You are on page 1of 44

Programacin I Ing.

Elctrica, Electrnica

Unidad 1 Conceptos Generales

Docente

Ing. Orlando Barcia Ayala

Website: www.orlandobarcia.com E-mail: obarcia@orlandobarcia.com Cursos online: Blog.orlandobarcia.com www.orlandobarcia.com/cursos

AGENDA
Conceptos Generales
Conceptos Bsicos
Etapas del ciclo de vida del software Tipos de Lenguajes de programacin. Terminologa

Informacin
Cualquier proceso de comunicacin. En informtica realizamos: Tratamiento o procesamiento de la informacin por medio del computador

Dato vs Informacin
Lluvia de ideas : Qu diferencias existe(n) entre dato e informacin?

Computador
Es una mquina que realiza y controla a gran velocidad clculos y procesos complicados, y que es capaz de almacenar y ejecutar ordenes o instrucciones conocida como programas.

Estructura del computador


(John Von Neumann)
TRES PARTES + almacenamiento

ENTRADA

PROCESADOR CPU

SALIDA

MEMORIA

Interna Externa (auxiliar)

Estructura del computador


Procesador. CPU.
Permite interpretar las rdenes y los programas. Realizar los clculos necesarios.

Memoria.
Permite almacenar programas y datos.
Memoria interna. Almacena los datos frecuentes utilizados. RAM

Memoria externa. Almacena de forma permanente. HD

Dispositivos de entrada y salida. E/S


Permiten recibir los datos, los programas y las ordenes. Proporcionar y mostrar las respuestas pedidas

Dispositivos perifricos
Que se encuentran en la periferia o permetro : Disco duro Dispositivos entrada y salida
Teclado Monitor impresoras

Hardware
Parte fsica del computador, tangible Conjunto de dispositivos fsicos del computador y de los perifricos.

Software
Parte lgica o intangible Conjunto de programas con los que el computador trabaja. Instrucciones que cuando se ejecutan proporcionan la funcin y el rendimiento deseado. Estructuras de datos que permiten a los programas manipular adecuadamente la informacin.

Indique ejemplos :
CPU. Procesadores
pentium, celeron, dual core, core 2 duo , quad core, I3, I5, I7 INTEL Athlon, XP, 64, X2, Turion, PHENOM I, II, FX 4GHZ

Dispositivo de entrada.
Teclado, mouse, pantalla tactil (touch screen),

Dispositivo de salida
Monitor, impresora, proyector,

Memoria interna
Memoria RAM 512MB, 1GB , ,2GB, 4GB (DDR, DDR2, DDR3)

Memoria externa
Disco Duro, 80GB, 150GB, 400GB , 800 GB, 1000GB = 1 TB (sata 2 , sata 3.0 antes IDE)

Caractersticas del software


El software se desarrolla, no se fabrica. El software no se estropea fsicamente La mayora del software se construye a medida, en vez de ensamblar componentes existentes.

Aplicaciones del software


Software de sistemas Software de tiempo real Software de gestin comercial Software de ingeniera y cientfico Software empotrado Software de computadores personales Software de inteligencia artificial

Ciclo de vida del software


Son modelos, existen muchos Explican estrategias para resolver los problemas durante su desarrollo, puesta a prueba y ejecucin.

Etapas del ciclo de vida del software


Modelo de cascada o secuencial Modelo DRA. Desarrollo rpido de aplicaciones Modelo incremental Modelo espiral Boehm

MODELO LINEAL SECUENCIAL O CASCADA


Anlisis, Diseo, Implementacin, pruebas y mantenimiento.

ANALISIS.
Qu, requerimientos

DISEO .
Cmo resolver problema, pasos, algoritmos.

IMPLEMENTACIN.
Resolver el problema mediante programacin.

Pero : Qu es programa? Qu es Programacin? Lenguaje de programacin?

Programa
Una lista de instrucciones u ordenes, que indican al computador que es lo que tiene que hacer para resolver los problemas que planteemos. Las instrucciones deben ser acordes al lenguaje 1) El programa debe ser eficiente 2) El programa debe ser claro

Ejemplos de Programas
Word, Excel PowerPoint AutoCad MatLab Explorer Adobe Acrobat e inclusive Windows

Programacin Es la accin y efecto de realizar programas La programacin se rige por reglas

Que es Lenguaje? Se define como un sistema de comunicacin, que nos permite abstraer y comunicar conceptos El trmino "lenguaje natural" define un medio de comunicacin compartido por un grupo de personas (por ejemplo: ingls o francs

Lenguaje de programacin Es un lenguaje diseado para describir el conjunto de acciones consecutivas que un equipo debe ejecutar. un lenguaje de programacin es un modo prctico para que los seres humanos puedan dar instrucciones a un equipo

Otras definiciones
Lenguaje de programacin Lenguaje artificial que puede ser usado para controlar el comportamiento de una mquina, especialmente una computadora.

Lenguaje de programacin. Se componen de un conjunto de reglas sintcticas y semnticas que permiten expresar instrucciones que luego sern interpretadas

El programador es el encargado de utilizar un lenguaje de programacin para crear un conjunto de instrucciones que, al final, constituir un programa o subprograma informtico

Lenguajes de programacin
Definicin Tcnica:
Es cualquier conjunto de cadenas de caracteres. Cada cadena debe ser de longitud finita Incluir caracteres elegido de algn Alfabeto finito fijo de smbolos

Atributos de un buen lenguaje de programacin.


Claridad y sencillez Crear nuevos tipos de datos (abstraccin) Facilidad para verificar programas Entorno de programacin.(IDE) Portabilidad del programa
lenguaje es independiente de una mquina en particular

Sistema Operativo
Es un programa que administra los recursos del computador. Ejemplos:
OS/2, DOS MacOs GNU Linux
distribuciones redhat, mandrake, ubuntu, fedora

Windows 95, 98, 2000, Me, XP, Vista

Lenguaje alto y bajo nivel


Lenguaje Alto nivel.
Programacin ms fcil Mas entendible por el ser humano.

Lenguaje de Bajo nivel.


Menos entendible por el ser humano.

Lenguaje Ensamblador.
Pocas instrucciones. Programas largos y complejos

Lenguaje mquina. (1 y 0)
Entendible por el computador El computador solo comprende lenguaje mquina

Evolucin de los lenguajes computacionales

Lenguaje fuente y objeto


Lenguaje fuente (cdigo fuente)
Programa escrito o codificado por el programador.

Lenguaje objeto.(cdigo objeto)


Lenguaje obtenido por el proceso de traduccin

Traductores
Convierte programas
De cdigo fuente a Otro lenguaje equivalente (cdigo objeto).
Por lo general es a lenguaje de mquina de la computadora.

Cdigo fuente

traductor

Cdigo objeto

Alto o bajo nivel

Alto o bajo nivel

Traductores
Traduccin: Alto a alto nivel
Cdigo fuente Rational Rose CASE traductor Cdigo objeto
Lenguaje JAVA

Traduccin: Alto a bajo nivel


Cdigo fuente traductor Cdigo objeto

Lenguaje JAVA

Cdigo bytecode

Traductores
Traduccin: Bajo a bajo nivel
Cdigo fuente Mquina virtual traductor Cdigo objeto
Lenguaje mquina

Traduccin: Bajo a bajo nivel


Cdigo fuente traductor Cdigo objeto

Ensamblador

Lenguaje mquina

TIPOS DE TRADUCTORES
ENSAMBLADOR COMPILADOR **** CARGADOR o EDITOR DE VINCULOS PREPROCESADOS

INTERPRETADOS.

TIPOS DE TRADUCTORES
COMPILADOR: Lenguaje fuente: lenguaje de alto nivel Lenguaje objeto: se aproxima al lenguaje mquina de la computadora.

Tipos de lenguajes de programacin


Los lenguajes de programacin pueden clasificarse segn el paradigma que usan en:
procedimentales, orientados a objetos, funcionales, lgicos, hbridos, etc. Son ejemplos de lenguajes de programacin: php, prolog, Asp, python, pascal, c, basic, JAVA, etc.

Visual basic 5 y 6 Php 4

TIPOS DE LENGUAJES DE PROGRAMACIN


Estructurados.
C Basic Foxpro Pascal Visual basic 5, 6 Php 4

TIPOS DE LENGUAJES DE PROGRAMACION


ORIENTADOS A OBJETOS
JAVA Smalltalk Pascal object C+ + Php5 Dot NET

Lluvia de ideas: Qu ser Java? Un programa, un lenguaje de programacin, Ser software?

Bibliografa
DEITEL,Harvey. DEITEL Paul(2004). Cmo programar en Java. Quinta Edicin. Pearson Educacin. Mexico. CEBALLOS, Javier(2006). Curso de Programacin Java 2,. Editorial RAMA. HOLZNER, Steven. (2007)La Biblia de Java 2. Anaya Multimedia. ECKEL, Bruce. (2000)Thinking in Java. Second Edition. Prentice Hall. JALON, Javier et all. (2000.)Aprenda Java como si estuviera en primero. Universidad de Navarra.Escuela de Ingenierios Industriales. JOYANES, L. (2008). Fundamentos de la programacin. Algoritmos y Estructura de Datos, 4 Edicin. Madrid: McGraw-Hill. JOYANES, L.; RODRIGUEZ, L; FERNANDEZ, M. (2003). Fundamentos de programacin Libro de problemas. 2 Edicin. Madrid: McGraw-Hill.