Vous êtes sur la page 1sur 31

Seminario Taller

Paradigmas y Lenguajes de
Programacin
Expositor: Ulises ROMAN CONCHA

UNFV-FIEI
05 y 08 marzo del 2012

Motivacion:Paradigmas
1. Conceptos Bsicos
2. Representacin de los datos en la PC
3. Lenguajes de Programacin
4.. Paradigmas de Programacin
5. Mtodo General de Programacin
6. Estructuras de Control y de Datos
7. Aplicaciones usando C++ y Java
8. Referencias

Contenido
Informtica
Adecuacin de espacios
1. Conceptos Bsicos (1)
Tecnologa
Computer system =
hardware + software
Hardware =
componentes fsicos ( CPU, Memorias, Otros)
Software =
instrucciones que indican al hardware qu
debe hacer (2 tipos: Sistemas y Aplicacin)
2. Representacin de los datos en la
Computadora (1)
1
0
1
1
1
1
1 0
0
0
0
1
1
1
0
0
0
1
El nico cdigo que entiende la CPU son los bits.
Los bits son representados en circuitos electrnicos que pueden
estar en estado on (1) u off (0)
Las instrucciones se mandan a la CPU en forma de bytes, que
son palabras de 8 bits



1 byte = 8 bits
1 kilobyte = 1 024 bytes
1 megabyte = 1 024 kilobytes = 1 048 576 bytes
1 Gigabyte = ?
1 Terabyte = ?


2. Representacin de los datos en la
Computadora (2)
Base 10:
Dgitos = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}
1111 = 1*10
3
+ 1*10
2
+ 1*10
1
+ 1*10
0


Base 2:
Dgitos = {0, 1}
1111 = 1*2
3
+ 1*2
2
+ 1*2
1
+ 1*2
0

= 8 + 4 + 2 + 1 = 15

Cuntos valores puede representar un byte?
1 byte = 8 bits (Ej: 01100101)
Cada bit puede representar 2 valores (0 y 1)
Un byte puede representar 2
8
= 256 valores
Divisin de la imagen en una matriz de pixels (unidad de
la imagen)
Cada pixel asociado con un color
0 0 1 0 0 0 1 0
0 0 1 0 0 0 1 0
0 0 1 1 0 1 1 0
0 0 0 0 0 0 0 0
0 0 1 1 0 1 1 0
0 0 0 0 0 0 0 0
2. Representacin de la imagen (3)
0 0 0 0 0 0 0 0
0 0 1 1 0 1 1 0
2. Representacin del sonido (4)
Discretizacin de la amplitud
Un byte para cada valor
4 8 12 13 12 10 8
3. Lenguajes de Programacin (1)
Mezcla de lenguajes (Perl, Smalltalk, Eiffel,
Ada, y Lisp) para formar un nuevo lenguaje
que incorporara tanto la programacin
funcional como la programacin imperativa.

http://www.ruby-lang.org/es/
3. Lenguajes de Programacin: RUBY (1)
3. Lenguajes de Programacin (2)
CLASIFICACION:
LenguaJes mquina (bajo nivel) : instrucciones directamente
entendibles por la computadora (lenguaje binario-pensar en 0 y 1).
Lenguajes ensamblador: Instrucciones compuestas de palabras cortas
y nmeros: Ejem LOAD, ADD, JMP
Lenguajes de alto nivel: Utilizan instrucciones escritas con palabras
similares a los lenguajes humanos C, C++, Visual Basic, Java, Pascal,
Prolog, LISP,PHP,J#, Jbuilder, C#, Perl, Otros
Programa =secuencia de instrucciones
Un programa es un conjunto ordenado de instrucciones que se dan a la
computadora indicndole las operaciones o tareas que se desea realizar.

Todo lo relativo a los smbolos y reglas para construir o redactar con ellos un
programa se denomina Lenguaje de Programacin.
3. Lenguajes de Programacin (3)
En resumen, los lenguajes de programacin:
Constituyen sistemas de palabras-rdenes (lengua o idioma), ya
establecidos.

Comprensibles tanto por el programador como por la mquina,

Permiten desarrollar programas(secuencia de instrucciones)
Ejemplos de instrucciones:
Leer un dato del teclado
Guardar un dato en la memoria
Ejecutar una operacin sobre dos datos
Mostrar un dato en la pantalla
etc.
3. Lenguajes de Programacin-Ejemplo de
un programa en Pascal (4)
Program AreaCalculator;
(* This program calculates the area of a circle. *)
Const
PI = 3.14159;
Var
radius, areaCircle : Real;
Begin
(* Get the radius. *)
Write('Enter the radius of the circle: ');
ReadLn(radius);

(* Calculate the area. *)
areaCircle := PI * radius * radius;

(* Display the area. *)
WriteLn('The area is ', areaCircle, ' square meters');
End.
3. Lenguajes de Programacin-Ejemplo de
un programa en C++ (5)
// areaCalculator.cpp
// This program calculates the area of a circle.
#include <iostream>
using namespace std;

int main()
{
const double PI = 3.14159;
double radius, areaCircle;

// Get the radius.
cout << "Enter the radius of the circle: ";
cin >> radius;

// Calculate the area.
areaCircle = PI * radius * radius;

// Display the area.
cout << "The area is " << areaCircle
<< " square meters" << endl;
return 0;
}
public class HolaMundo
{
public static void main(String[] args)
{
System.out.println( Hola Mundo);
}
}
3. Lenguajes de Programacin-Ejemplo de un
programa en Java (6)
En JAVA hay distintos tipos de programas:
Aplicaciones convencionales (stand-alone)
Aplicaciones ejecutadas en unnavegador:applets
Aplicaciones ejecutadas en un servidor Web:servlets
3. Lenguajes de Programacin-Evolucin (7)
Visual Studio 6.0
Visual Basic
VBA
Visual FoxPro
VBScript
C++
J ++
J Script
ASP
Visual Studio .NET 2003
.NET Framework 1.1
.NET Compact Framework
J #
Visual Studio Orcas
.NET Framework Orcas
.NET Compact Framework Orcas
2000 2001 2002 2003 2004 2005 2006 y ms
Visual Studio 2005 (Whidbey)
.NET Framework 2.0 (Whidbey)
.NET Compact Framework 2.0 (Whidbey)

Visual Studio .NET 2002
.NET Framework 1.0
Visual Basic .NET
C#
public class HolaMundo
{
public static void main(String[] args)
{
System.out.println( Hola Mundo);
}
}
3. Lenguajes de Programacin-Ejemplo de
un programa en Java (6)
En JAVA hay distintos tipos de programas:
Aplicaciones convencionales (stand-alone)
Aplicaciones ejecutadas en unnavegador:applets
Aplicaciones ejecutadas en un servidor Web:servlets
3. Lenguajes de Programacion - VIDEOS
Video 1:
Video 3:
Video 2:
Video 4:
4. Paradigmas de Programacin (1)
Un paradigma de programacin representa un enfoque particular o filosofa
para la construccin del software. No es mejor uno que otro sino que cada uno
tiene ventajas y desventajas. Tambin hay situaciones donde un paradigma
resulta ms apropiado que otro.

Fuente: http://es.wikipedia.org/wiki/Paradigma_de_programaci%C3%B3n


Algunos ejemplos de paradigmas de programacin:
1. El paradigma imperativo o por procedimientos es considerado el ms comn
y est representado, por ejemplo, por el C

2. El paradigma funcional est representado por la familia de lenguajes LISP
(en particular Scheme), ML o Haskell. nocin abstracta de funcin, clculo
lambda, recursividad, listas

3. El paradigma lgico, Lgica simblica y programacin declarativa, un
ejemplo es PROLOG.

4. El paradigma orientado a objetos. Un lenguaje completamente orientado a
objetos es Smalltalk TDAs, Reutilizacin, Clases,Objetos

4. Paradigmas de Programacin (1)
4. Paradigmas de Programacin (1)
4. Paradigmas de Programacin (1)
4. Paradigmas de Programacin (1)
Algunos lenguajes imperativos
ASP
BASIC
C
C#
C++
Fortran
Java
Perl
PHP
Algunos lenguajes funcionales
Haskell
Miranda
Lisp
Scheme
Ocaml
Standard ML
ML
Scala

4. Paradigmas de Programacin (2)
4. Paradigmas de Programacin (3)
Algunos lenguajes lgicos
Prolog
Lisp

Algunos lenguajes Orientados a Objetos
ActionScript
Ada
C++
C#
Clarion
Delphi
Eiffel
Java
Perl (soporta herencia mltiple)
PHP (en su versin 5)
PowerBuilder
Python
Ruby
Smalltalk
Turbo Pascal 7
VB.NET
Visual FoxPro
XBase++

programacin funcional: haskell

http://www.haskell.org/haskellwiki/Introduction#What_is_functional_progra
mming.3F

8. Referencias Bibliograficas
Diseo de Programas
Eventos Acadmicos: Google en UNMSM
Ejemplos: Hackers, Virus, Crakers,
carpetas Invisibles
VIRUS:
1. Clik_derecho en el EscritorioNuevoAcceso Directo
2. Escribir cdigo en el recuadro : shutdown s t 90 c Virus inofensivo
3. Escribir Nombre del Virus en el recuadro: Virusroman
4. Siguiente
PARA DESACTIVAR
1. Inicio
2. Ejecutar
3. Escribir el codigo: shutdown a
4. Aceptar
Nota: _s: Sistemas, _t : Tiempo en segundos, - C: Mensajes
Ejemplos: Hackers, Virus, Crakers,
carpetas Invisibles
CARPETA INVISIBLE:
1. Crear una carpeta en el escritorio
2. Presionar sin soltar : ALT+ 0160
3. Ir a propiedades Cambiar Icono buscar invisible (vaca)
En ella ya se puede copiar los archivos personales.
Muchas Gracias.
Ulises ROMAN CONCHA
Docente Asociado del Dpto. Ciencias de la Computacin -
UNMSM
nromanc@yahoo.es
www.ulisesroman.tk
http://www.ulises-cienciascomputacion.tk/

Vous aimerez peut-être aussi