SlideShare una empresa de Scribd logo
Prof. Eliezer Córdova
Fundamentos de
Programación
Prof. Eliezer Córdova
Representación de los datos en el ordenador
• El único código que entiende la CPU son los bits.
• Los bits son representados en circuitos electrónicos
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
Prof. Eliezer Córdova
• Base 10:
– Dígitos = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}
– 1111 = 1*103
+ 1*102
+ 1*101
+ 1*100
• Base 2:
– Dígitos = {0, 1}
– 1111 = 1*23
+ 1*22
+ 1*21
+ 1*20
= 8 + 4 + 2 + 1 = 15
• ¿Cuántos valores puede representar un byte?
– 1 byte = 8 bits (Ej: 01100101)
– Cada bit puede representar 2 valores (0 y 1)
– Un byte puede representar 28
= 256 valores
Representación de los datos en el ordenador
Prof. Eliezer Córdova
Representación de textos
TEXTO: My name is Eliezer
ASCII: 77-121-32-110-97-109-101-32-105-115-32-70-77-106-70-123-70-115
18 bytes
Prof. Eliezer Córdova
Representación de imagen
• División de la imagen en una matriz de pixels (unidad
de la imagen)
• Cada pixel asociado con un color
0 0 0 0 0 0 0 0
0 0 1 1 0 1 1 0
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
Prof. Eliezer Córdova
¿Qué es un programa?
• Un programa es una secuencia de instrucciones a
la CPU
• Cada instrucción es un conjunto de bytes
• Ejemplos de instrucciones:
– Leer un dato del teclado
– Guardar un dato en la memoria
– Ejecutar una operación sobre dos datos
– Mostrar un dato en la pantalla
– etc.
Prof. Eliezer Córdova
Acceso a la memoria
9
8
7
6
5
4
3
2
1
15
64
32
10
0
2
45
125
12
RAM
CPU
Prof. Eliezer Córdova
Algoritmo
• Un esquema para resolver cierto tipo de problema
• Se puede traducir en un programa para ejecutarlo
en un ordenador
• Pasos para la resolución de un problema con
ordenador:
1. Diseño de un algoritmo
2. Codificación de un programa
3. Ejecución y validación
Prof. Eliezer Córdova
• Componentes:
– Entrada: datos del problema a resolver
– Salida: el resultado de la resolución
– Proceso: pasos a seguir para la resolución
• Propiedades:
– Preciso: orden estricto + expresiones precisas
– Definido: con la misma entrada, siempre resulta
la misma salida
– Finito: número finito de pasos
Algoritmo
Prof. Eliezer Córdova
Algoritmo 1
• Problema: Sumar dos números
• Solución:
– Entrada: dos números
– Salida: guardar la suma en la memoria y
imprimirla por pantalla
– Proceso:
1) Añadir los dos números
2) Guardar el resultado en la memoria
3) Imprimir el resultado por pantalla
Prof. Eliezer Córdova
Algoritmo 2
• Problema: hacer una taza de té a la inglesa
• Solución:
– Entrada: agua, bolsa de té, leche, tetera, taza,
cuchara
– Salida: una taza de té a la inglesa
– Proceso:
1. Poner la bolsa de té en la taza
2. Poner el agua a hervir en la tetera
3. Verter el agua hervida en la taza
4. Añadir leche
5. Remover
Prof. Eliezer Córdova
Algoritmo 3
• Problema: averiguar la solvencia de un cliente
que ejecuta un pedido a una fábrica.
• Solución:
– Entrada: el pedido
– Salida: mensaje de aceptación o rechazo
– Proceso:
1. Leer el pedido
2. Examinar la ficha del cliente
3. Si el cliente es solvente, aceptar pedido
4. En caso contrario, rechazar pedido
Prof. Eliezer Córdova
Lenguajes de programación
• Lenguajes máquina
• Lenguajes ensamblador
• Lenguajes de alto nivel: C, C++, Visual Basic, Java,
Pascal, Prolog, LISP,…
Prof. Eliezer Córdova
Lenguajes máquina
• Programas son secuencias de instrucciones compuestas
de bytes:
– 16 29 156 9 82 75
• Ventajas:
– La CPU entiende estos programas
• Desventajas:
– Pensar en modo de 0’s y 1’s es muy difícil para nosotros
Prof. Eliezer Córdova
Lenguajes ensamblador
• Instrucciones compuestas de palabras cortas y números:
– LOD 15 6
– LOD 16 8
– ADD 15 16 17
– JMP 10
• Ventajas:
– Más fácil a entender
• Desventajas:
– Todavía bastante abstracto
– Necesita traducir el código a lenguajes máquina
Prof. Eliezer Córdova
Lenguajes de alto nivel
• Diseñados para ser más parecidos a lenguaje natural
• Ventajas:
– Mucho más fácil de dar instrucciones
• Desventajas:
– Más complicado convertir en lenguajes máquina
Prof. Eliezer Córdova
Lenguajes de programación
¿Por qué hay tantos? ¿Cómo nacen, sobreviven y caducan?
1. Diferentes dominios de aplicación:
• Programación de sistemas – rapidez y acceso de
bajo nivel: C
• Inteligencia artificial – computación simbólica:
LISP, Prolog
• Programación científica – fórmulas matemáticas:
Fortran
• Negocios – transacciones: COBOL
• Uso específico: SQL (bases de datos), Perl
(manipulación de textos), JavaScript (páginas
web), Pascal (formación)
Prof. Eliezer Córdova
1. Diferentes necesidades:
• Fiabilidad: Ada
• Escabilidad, paradigma orientado a objeto: C  C++
• Portabilidad: Java
1. Evolución:
• Mejora del hardware
• Mejor comprensión de como reforzar criterios de
legibilidad, facilidad de aprender y escribir,
fiabilidad…
1. Importancia de la estandardización
2. ¡Número de usuarios!
Lenguajes de programación
Prof. Eliezer Córdova
Traductores de lenguaje: intérpretes
PROGRAMA FUENTE
INTERPRETE
EJECUCION DE LA(S)
INSTRUCCION(ES)
INTERPRETADA(S)
Prof. Eliezer Córdova
Traductores de lenguaje: compiladores
PROGRAMA FUENTE
COMPILADOR
ENLAZADOR
(binder, linker)
EJECUCION
Fase de compilación
Fase de ejecución
OPCION 1
programa
ejecutable
Fase de compilación
Fase de ejecución
OPCION 2
programa
objeto
Prof. Eliezer Córdova
Java
• Se desarrolló en los comienzos de los años 1990
• La intención era crear una herramienta para escribir
programas cortos y efectivos
• Ventajas:
– Básico, fácil de entender
– Portátil: el mismo código sirve para todos los sistemas operativos
– Soporta interfaz gráfica de usuario (GUI)
– Apropiado para programas en Internet
• Desventajas:
– La ejecución es más lenta que algunos otros lenguajes
Prof. Eliezer Córdova
• El código fuente se guarda en un archivo con extensión
.java
• Un compilador traduce el código fuente en código de byte,
y lo guarda en un archivo con extensión .class
• Las instrucciones son diferentes para diferentes sistemas
operativos
• Un intérprete específico al sistema operativo interpreta el
código byte para ejecutar el programa
• Un programa puede ser compuesto de varios archivos
Java
Prof. Eliezer Córdova
La Máquina Virtual Java (JVM)
PROGRAMA FUENTE
COMPILADOR JAVA
PROGRAMA OBJETO
.java
.class
Programa bytecode para JVM
INTERPRETE (JVM)
para Windows
INTERPRETE (JVM)
para Linux
INTERPRETE (JVM)
para Macintosh
WINDOWS LINUX MACINTOSH
Prof. Eliezer Córdova
Ejecución de un programa Java
HolaMundo.java
HolaMundo.class
javac HolaMundo.java
System.class
java HolaMundo
SISTEMA OPERATIVO
compilador Java
llamar a la JVM
crear el programa
en un editor
Prof. Eliezer Córdova
Componentes de un lenguaje
• Sintaxis (gramática): reglas que determinan de
manera estricta el vocabulario, orden y formato de
las instrucciones permitidas
– Errores sintácticos: el programa no compila y/o no se puede
interpretar
• Semántica (sentido): el programa, al ejecutarlo,
produce el resultado correcto que uno quiere
Prof. Eliezer Córdova
Errores de programación
Modificar o crear un
archivo .java
Editar para
corregir errores
Compilar
Ejecutar programa
Depurar
(debugging)
errores de compilación (sintaxis)
no hay errores
errores de ejecución (semántica)
Prof. Eliezer Córdova
Fundamentos de
Programación

Más contenido relacionado

La actualidad más candente

Algorítmos - Conceptos básicos
Algorítmos - Conceptos básicosAlgorítmos - Conceptos básicos
Algorítmos - Conceptos básicos
cbertolotti
 
Evaluacion de algoritmo
Evaluacion de algoritmoEvaluacion de algoritmo
Evaluacion de algoritmo
SergioERondon
 
Algoritmo Y Pseudocódigo
Algoritmo Y PseudocódigoAlgoritmo Y Pseudocódigo
Algoritmo Y Pseudocódigo
JohanCaro5
 
Diseño Estructurado de Algoritmos
Diseño Estructurado de AlgoritmosDiseño Estructurado de Algoritmos
Diseño Estructurado de Algoritmos
Mary Martínez Morales
 
Conceptos básicos y metodología de la programación
Conceptos básicos y metodología de la programaciónConceptos básicos y metodología de la programación
Conceptos básicos y metodología de la programación
Marco Chunab
 
Programas diseñados para realizar algoritmo
Programas  diseñados para realizar algoritmoProgramas  diseñados para realizar algoritmo
Programas diseñados para realizar algoritmo
TAMELIMAR
 
Algoritmos y seudocódigos (orangel rodriguez) (30.736.401)
Algoritmos y seudocódigos (orangel rodriguez) (30.736.401)Algoritmos y seudocódigos (orangel rodriguez) (30.736.401)
Algoritmos y seudocódigos (orangel rodriguez) (30.736.401)
Orangel4
 
Lo básico para programar
Lo básico para programarLo básico para programar
Lo básico para programar
Celestino Duran
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
omarzon
 
Unidad II Algoritmo y Metodoligia para resolver problemas utilizando el compu...
Unidad II Algoritmo y Metodoligia para resolver problemas utilizando el compu...Unidad II Algoritmo y Metodoligia para resolver problemas utilizando el compu...
Unidad II Algoritmo y Metodoligia para resolver problemas utilizando el compu...
JosAngelLaraMendoza
 
Teoria Algoritmia
Teoria AlgoritmiaTeoria Algoritmia
Teoria Algoritmia
darioc77
 
Conceptos básicos y metodología de la programación
Conceptos básicos y metodología de la programaciónConceptos básicos y metodología de la programación
Conceptos básicos y metodología de la programación
justo morales
 
Algoritmos TECNICO EN DESARROLLO DE SOFTWARE
Algoritmos TECNICO EN DESARROLLO DE SOFTWAREAlgoritmos TECNICO EN DESARROLLO DE SOFTWARE
Algoritmos TECNICO EN DESARROLLO DE SOFTWARE
Pedro Alvarez
 
ALGORITMOS Y PSEUDOCODIGOS
ALGORITMOS Y PSEUDOCODIGOSALGORITMOS Y PSEUDOCODIGOS
ALGORITMOS Y PSEUDOCODIGOS
eliaaaramos
 
Algoritmos, dfd, pseudocodigo
Algoritmos, dfd, pseudocodigoAlgoritmos, dfd, pseudocodigo
Algoritmos, dfd, pseudocodigo
AdolfoReyes24
 
Presentacion de algoritmos
Presentacion de algoritmosPresentacion de algoritmos
Presentacion de algoritmos
sistemas2011
 
Algoritmo
AlgoritmoAlgoritmo
Algoritmo
Jennifer Montano
 
Introduciòn
IntroduciònIntroduciòn
Introduciòn
omarzon
 
Algoritmos y pseudocodigo
Algoritmos y pseudocodigoAlgoritmos y pseudocodigo
Algoritmos y pseudocodigo
matteo_ibarguen
 
Diapositivas algoritmos Pseudocodigo diagramas de flujo
Diapositivas algoritmos Pseudocodigo diagramas de flujoDiapositivas algoritmos Pseudocodigo diagramas de flujo
Diapositivas algoritmos Pseudocodigo diagramas de flujo
KellyDeArmas
 

La actualidad más candente (20)

Algorítmos - Conceptos básicos
Algorítmos - Conceptos básicosAlgorítmos - Conceptos básicos
Algorítmos - Conceptos básicos
 
Evaluacion de algoritmo
Evaluacion de algoritmoEvaluacion de algoritmo
Evaluacion de algoritmo
 
Algoritmo Y Pseudocódigo
Algoritmo Y PseudocódigoAlgoritmo Y Pseudocódigo
Algoritmo Y Pseudocódigo
 
Diseño Estructurado de Algoritmos
Diseño Estructurado de AlgoritmosDiseño Estructurado de Algoritmos
Diseño Estructurado de Algoritmos
 
Conceptos básicos y metodología de la programación
Conceptos básicos y metodología de la programaciónConceptos básicos y metodología de la programación
Conceptos básicos y metodología de la programación
 
Programas diseñados para realizar algoritmo
Programas  diseñados para realizar algoritmoProgramas  diseñados para realizar algoritmo
Programas diseñados para realizar algoritmo
 
Algoritmos y seudocódigos (orangel rodriguez) (30.736.401)
Algoritmos y seudocódigos (orangel rodriguez) (30.736.401)Algoritmos y seudocódigos (orangel rodriguez) (30.736.401)
Algoritmos y seudocódigos (orangel rodriguez) (30.736.401)
 
Lo básico para programar
Lo básico para programarLo básico para programar
Lo básico para programar
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Unidad II Algoritmo y Metodoligia para resolver problemas utilizando el compu...
Unidad II Algoritmo y Metodoligia para resolver problemas utilizando el compu...Unidad II Algoritmo y Metodoligia para resolver problemas utilizando el compu...
Unidad II Algoritmo y Metodoligia para resolver problemas utilizando el compu...
 
Teoria Algoritmia
Teoria AlgoritmiaTeoria Algoritmia
Teoria Algoritmia
 
Conceptos básicos y metodología de la programación
Conceptos básicos y metodología de la programaciónConceptos básicos y metodología de la programación
Conceptos básicos y metodología de la programación
 
Algoritmos TECNICO EN DESARROLLO DE SOFTWARE
Algoritmos TECNICO EN DESARROLLO DE SOFTWAREAlgoritmos TECNICO EN DESARROLLO DE SOFTWARE
Algoritmos TECNICO EN DESARROLLO DE SOFTWARE
 
ALGORITMOS Y PSEUDOCODIGOS
ALGORITMOS Y PSEUDOCODIGOSALGORITMOS Y PSEUDOCODIGOS
ALGORITMOS Y PSEUDOCODIGOS
 
Algoritmos, dfd, pseudocodigo
Algoritmos, dfd, pseudocodigoAlgoritmos, dfd, pseudocodigo
Algoritmos, dfd, pseudocodigo
 
Presentacion de algoritmos
Presentacion de algoritmosPresentacion de algoritmos
Presentacion de algoritmos
 
Algoritmo
AlgoritmoAlgoritmo
Algoritmo
 
Introduciòn
IntroduciònIntroduciòn
Introduciòn
 
Algoritmos y pseudocodigo
Algoritmos y pseudocodigoAlgoritmos y pseudocodigo
Algoritmos y pseudocodigo
 
Diapositivas algoritmos Pseudocodigo diagramas de flujo
Diapositivas algoritmos Pseudocodigo diagramas de flujoDiapositivas algoritmos Pseudocodigo diagramas de flujo
Diapositivas algoritmos Pseudocodigo diagramas de flujo
 

Similar a Intro

intro.ppt
intro.pptintro.ppt
intro.ppt
angelaarcila4
 
Introducción a la arquitectura de las computadoras
Introducción a la arquitectura de las computadorasIntroducción a la arquitectura de las computadoras
Introducción a la arquitectura de las computadoras
Camilo Pacheco
 
Conceptos Básicos de Programación
Conceptos Básicos de ProgramaciónConceptos Básicos de Programación
Conceptos Básicos de Programación
MaraIsabel87
 
02- Clase 1 - UD2 - Lenguajes.pdf
02- Clase 1 - UD2 -  Lenguajes.pdf02- Clase 1 - UD2 -  Lenguajes.pdf
02- Clase 1 - UD2 - Lenguajes.pdf
NancyHerrera88
 
Introducción a Arduino
Introducción a ArduinoIntroducción a Arduino
Introducción a Arduino
Josué Herrera
 
Fundamentos de programacion
Fundamentos de programacionFundamentos de programacion
Fundamentos de programacion
Pablo Villamar
 
Introduccinfp 111003181203-phpapp01
Introduccinfp 111003181203-phpapp01Introduccinfp 111003181203-phpapp01
Introduccinfp 111003181203-phpapp01
alexandra
 
Introduccinfp 111003181203-phpapp01
Introduccinfp 111003181203-phpapp01Introduccinfp 111003181203-phpapp01
Introduccinfp 111003181203-phpapp01
dayaamoguimba
 
Introduccinfp 111003181203-phpapp01
Introduccinfp 111003181203-phpapp01Introduccinfp 111003181203-phpapp01
Introduccinfp 111003181203-phpapp01
luis cruz
 
Introduccinfp 111003181203-phpapp01
Introduccinfp 111003181203-phpapp01Introduccinfp 111003181203-phpapp01
Introduccinfp 111003181203-phpapp01
Andres Vin
 
Introducción FundamProgramación
Introducción FundamProgramaciónIntroducción FundamProgramación
Introducción FundamProgramación
JJ (John John) 4601
 
fundamentos de programacion
fundamentos de programacionfundamentos de programacion
fundamentos de programacion
DANIEL ARMAS
 
Introduccion_a_la_programacion.pdf
Introduccion_a_la_programacion.pdfIntroduccion_a_la_programacion.pdf
Introduccion_a_la_programacion.pdf
Neftaly Niño Villarreal
 
Semana 2 Lenguajes de programación.pptx
Semana 2  Lenguajes de programación.pptxSemana 2  Lenguajes de programación.pptx
Semana 2 Lenguajes de programación.pptx
PriceSanchezJose
 
Tema1b 120417003759-phpapp01
Tema1b 120417003759-phpapp01Tema1b 120417003759-phpapp01
Tema1b 120417003759-phpapp01
Fernando Jim
 
Lenguaje de ensamblador
Lenguaje de ensambladorLenguaje de ensamblador
Lenguaje de ensamblador
Wilman Diaz
 
Representación de datos Hardware y Software
Representación de datosHardware y SoftwareRepresentación de datosHardware y Software
Representación de datos Hardware y Software
Carlos Medina Raymundo
 
3 Conceptos progamacion-tema3
3 Conceptos progamacion-tema33 Conceptos progamacion-tema3
3 Conceptos progamacion-tema3
Elba Sepúlveda
 
tema6-algoritmos-2010.pptx
tema6-algoritmos-2010.pptxtema6-algoritmos-2010.pptx
tema6-algoritmos-2010.pptx
jorgeeliercergaitan
 
01 T1 2021 Sistemas Embebidos.pptx
01 T1 2021 Sistemas Embebidos.pptx01 T1 2021 Sistemas Embebidos.pptx
01 T1 2021 Sistemas Embebidos.pptx
DyllanBastidas
 

Similar a Intro (20)

intro.ppt
intro.pptintro.ppt
intro.ppt
 
Introducción a la arquitectura de las computadoras
Introducción a la arquitectura de las computadorasIntroducción a la arquitectura de las computadoras
Introducción a la arquitectura de las computadoras
 
Conceptos Básicos de Programación
Conceptos Básicos de ProgramaciónConceptos Básicos de Programación
Conceptos Básicos de Programación
 
02- Clase 1 - UD2 - Lenguajes.pdf
02- Clase 1 - UD2 -  Lenguajes.pdf02- Clase 1 - UD2 -  Lenguajes.pdf
02- Clase 1 - UD2 - Lenguajes.pdf
 
Introducción a Arduino
Introducción a ArduinoIntroducción a Arduino
Introducción a Arduino
 
Fundamentos de programacion
Fundamentos de programacionFundamentos de programacion
Fundamentos de programacion
 
Introduccinfp 111003181203-phpapp01
Introduccinfp 111003181203-phpapp01Introduccinfp 111003181203-phpapp01
Introduccinfp 111003181203-phpapp01
 
Introduccinfp 111003181203-phpapp01
Introduccinfp 111003181203-phpapp01Introduccinfp 111003181203-phpapp01
Introduccinfp 111003181203-phpapp01
 
Introduccinfp 111003181203-phpapp01
Introduccinfp 111003181203-phpapp01Introduccinfp 111003181203-phpapp01
Introduccinfp 111003181203-phpapp01
 
Introduccinfp 111003181203-phpapp01
Introduccinfp 111003181203-phpapp01Introduccinfp 111003181203-phpapp01
Introduccinfp 111003181203-phpapp01
 
Introducción FundamProgramación
Introducción FundamProgramaciónIntroducción FundamProgramación
Introducción FundamProgramación
 
fundamentos de programacion
fundamentos de programacionfundamentos de programacion
fundamentos de programacion
 
Introduccion_a_la_programacion.pdf
Introduccion_a_la_programacion.pdfIntroduccion_a_la_programacion.pdf
Introduccion_a_la_programacion.pdf
 
Semana 2 Lenguajes de programación.pptx
Semana 2  Lenguajes de programación.pptxSemana 2  Lenguajes de programación.pptx
Semana 2 Lenguajes de programación.pptx
 
Tema1b 120417003759-phpapp01
Tema1b 120417003759-phpapp01Tema1b 120417003759-phpapp01
Tema1b 120417003759-phpapp01
 
Lenguaje de ensamblador
Lenguaje de ensambladorLenguaje de ensamblador
Lenguaje de ensamblador
 
Representación de datos Hardware y Software
Representación de datosHardware y SoftwareRepresentación de datosHardware y Software
Representación de datos Hardware y Software
 
3 Conceptos progamacion-tema3
3 Conceptos progamacion-tema33 Conceptos progamacion-tema3
3 Conceptos progamacion-tema3
 
tema6-algoritmos-2010.pptx
tema6-algoritmos-2010.pptxtema6-algoritmos-2010.pptx
tema6-algoritmos-2010.pptx
 
01 T1 2021 Sistemas Embebidos.pptx
01 T1 2021 Sistemas Embebidos.pptx01 T1 2021 Sistemas Embebidos.pptx
01 T1 2021 Sistemas Embebidos.pptx
 

Más de Eliezer Cordova

Tipos de comunicacion
Tipos de comunicacionTipos de comunicacion
Tipos de comunicacion
Eliezer Cordova
 
Presentacion 3
Presentacion 3Presentacion 3
Presentacion 3
Eliezer Cordova
 
Presentacion 2
Presentacion 2Presentacion 2
Presentacion 2
Eliezer Cordova
 
Presentacion 2
Presentacion 2Presentacion 2
Presentacion 2
Eliezer Cordova
 
Presentacion 1
Presentacion 1Presentacion 1
Presentacion 1
Eliezer Cordova
 
Introduccion publisher
Introduccion publisherIntroduccion publisher
Introduccion publisher
Eliezer Cordova
 
Presentaciones efectivas
Presentaciones efectivasPresentaciones efectivas
Presentaciones efectivas
Eliezer Cordova
 
Programación
ProgramaciónProgramación
Programación
Eliezer Cordova
 
Presentacion aula virtual videoconferencia
Presentacion aula virtual videoconferenciaPresentacion aula virtual videoconferencia
Presentacion aula virtual videoconferencia
Eliezer Cordova
 
Lenguajes de programación.ppt
Lenguajes de programación.pptLenguajes de programación.ppt
Lenguajes de programación.ppt
Eliezer Cordova
 
3 estructuras no lineales estáticas y dinámicas
3  estructuras no lineales estáticas y dinámicas3  estructuras no lineales estáticas y dinámicas
3 estructuras no lineales estáticas y dinámicas
Eliezer Cordova
 
2 arboles
2 arboles2 arboles
2 arboles
Eliezer Cordova
 
1 árbol
1 árbol1 árbol
1 árbol
Eliezer Cordova
 
Acciones funciones
Acciones funcionesAcciones funciones
Acciones funciones
Eliezer Cordova
 
3 funciones
3 funciones3 funciones
3 funciones
Eliezer Cordova
 
2 estructura programa-c
2 estructura programa-c2 estructura programa-c
2 estructura programa-c
Eliezer Cordova
 
1 estructura programa-c
1 estructura programa-c1 estructura programa-c
1 estructura programa-c
Eliezer Cordova
 
Introduccion ia
Introduccion iaIntroduccion ia
Introduccion ia
Eliezer Cordova
 
Inteligencia artificial
Inteligencia artificialInteligencia artificial
Inteligencia artificial
Eliezer Cordova
 
Sistemas operativos 3
Sistemas operativos 3Sistemas operativos 3
Sistemas operativos 3
Eliezer Cordova
 

Más de Eliezer Cordova (20)

Tipos de comunicacion
Tipos de comunicacionTipos de comunicacion
Tipos de comunicacion
 
Presentacion 3
Presentacion 3Presentacion 3
Presentacion 3
 
Presentacion 2
Presentacion 2Presentacion 2
Presentacion 2
 
Presentacion 2
Presentacion 2Presentacion 2
Presentacion 2
 
Presentacion 1
Presentacion 1Presentacion 1
Presentacion 1
 
Introduccion publisher
Introduccion publisherIntroduccion publisher
Introduccion publisher
 
Presentaciones efectivas
Presentaciones efectivasPresentaciones efectivas
Presentaciones efectivas
 
Programación
ProgramaciónProgramación
Programación
 
Presentacion aula virtual videoconferencia
Presentacion aula virtual videoconferenciaPresentacion aula virtual videoconferencia
Presentacion aula virtual videoconferencia
 
Lenguajes de programación.ppt
Lenguajes de programación.pptLenguajes de programación.ppt
Lenguajes de programación.ppt
 
3 estructuras no lineales estáticas y dinámicas
3  estructuras no lineales estáticas y dinámicas3  estructuras no lineales estáticas y dinámicas
3 estructuras no lineales estáticas y dinámicas
 
2 arboles
2 arboles2 arboles
2 arboles
 
1 árbol
1 árbol1 árbol
1 árbol
 
Acciones funciones
Acciones funcionesAcciones funciones
Acciones funciones
 
3 funciones
3 funciones3 funciones
3 funciones
 
2 estructura programa-c
2 estructura programa-c2 estructura programa-c
2 estructura programa-c
 
1 estructura programa-c
1 estructura programa-c1 estructura programa-c
1 estructura programa-c
 
Introduccion ia
Introduccion iaIntroduccion ia
Introduccion ia
 
Inteligencia artificial
Inteligencia artificialInteligencia artificial
Inteligencia artificial
 
Sistemas operativos 3
Sistemas operativos 3Sistemas operativos 3
Sistemas operativos 3
 

Último

Hablemos de ESI para estudiantes Cuadernillo
Hablemos de ESI para estudiantes CuadernilloHablemos de ESI para estudiantes Cuadernillo
Hablemos de ESI para estudiantes Cuadernillo
Mónica Sánchez
 
La necesidad de bienestar y el uso de la naturaleza.pdf
La necesidad de bienestar y el uso de la naturaleza.pdfLa necesidad de bienestar y el uso de la naturaleza.pdf
La necesidad de bienestar y el uso de la naturaleza.pdf
JonathanCovena1
 
Liturgia día del Padre del siguiente domingo.pptx
Liturgia día del Padre del siguiente domingo.pptxLiturgia día del Padre del siguiente domingo.pptx
Liturgia día del Padre del siguiente domingo.pptx
YeniferGarcia36
 
1° T3 Examen Zany de primer grado compl
1° T3 Examen Zany  de primer grado compl1° T3 Examen Zany  de primer grado compl
1° T3 Examen Zany de primer grado compl
ROCIORUIZQUEZADA
 
Vida, obra y pensamiento de Kant I24.ppt
Vida, obra y pensamiento de Kant I24.pptVida, obra y pensamiento de Kant I24.ppt
Vida, obra y pensamiento de Kant I24.ppt
LinoLatella
 
Mundo ABC Examen 1 Grado- Tercer Trimestre.pdf
Mundo ABC Examen 1 Grado- Tercer Trimestre.pdfMundo ABC Examen 1 Grado- Tercer Trimestre.pdf
Mundo ABC Examen 1 Grado- Tercer Trimestre.pdf
ViriEsteva
 
Carnavision: anticipa y aprovecha - hackathon Pasto2024 .pdf
Carnavision: anticipa y aprovecha - hackathon Pasto2024 .pdfCarnavision: anticipa y aprovecha - hackathon Pasto2024 .pdf
Carnavision: anticipa y aprovecha - hackathon Pasto2024 .pdf
EleNoguera
 
Módulo 1 de didactica de la lecto escritura
Módulo 1 de didactica de la lecto escrituraMódulo 1 de didactica de la lecto escritura
Módulo 1 de didactica de la lecto escritura
marilynfloresyomona1
 
Power Point: El conflicto inminente (Bosquejo)
Power Point: El conflicto inminente (Bosquejo)Power Point: El conflicto inminente (Bosquejo)
Power Point: El conflicto inminente (Bosquejo)
https://gramadal.wordpress.com/
 
Business Plan -rAIces - Agro Business Tech
Business Plan -rAIces - Agro Business TechBusiness Plan -rAIces - Agro Business Tech
Business Plan -rAIces - Agro Business Tech
johnyamg20
 
Presentación de la historia de PowerPoint y sus características más relevantes.
Presentación de la historia de PowerPoint y sus características más relevantes.Presentación de la historia de PowerPoint y sus características más relevantes.
Presentación de la historia de PowerPoint y sus características más relevantes.
genesiscabezas469
 
APUNTES UNIDAD I ECONOMIA EMPRESARIAL .pdf
APUNTES UNIDAD I ECONOMIA EMPRESARIAL .pdfAPUNTES UNIDAD I ECONOMIA EMPRESARIAL .pdf
APUNTES UNIDAD I ECONOMIA EMPRESARIAL .pdf
VeronicaCabrera50
 
Evaluacion del tercer trimestre del 2023-2024
Evaluacion del tercer trimestre del 2023-2024Evaluacion del tercer trimestre del 2023-2024
Evaluacion del tercer trimestre del 2023-2024
israelsouza67
 
p4s.co Ecosistema de Ecosistemas - Diagrama.pdf
p4s.co Ecosistema de Ecosistemas - Diagrama.pdfp4s.co Ecosistema de Ecosistemas - Diagrama.pdf
p4s.co Ecosistema de Ecosistemas - Diagrama.pdf
DavidCamiloMosquera
 
ACERTIJO DESCIFRANDO CÓDIGO DEL CANDADO DE LA TORRE EIFFEL EN PARÍS. Por JAVI...
ACERTIJO DESCIFRANDO CÓDIGO DEL CANDADO DE LA TORRE EIFFEL EN PARÍS. Por JAVI...ACERTIJO DESCIFRANDO CÓDIGO DEL CANDADO DE LA TORRE EIFFEL EN PARÍS. Por JAVI...
ACERTIJO DESCIFRANDO CÓDIGO DEL CANDADO DE LA TORRE EIFFEL EN PARÍS. Por JAVI...
JAVIER SOLIS NOYOLA
 
MATERIAL ESCOLAR 2024-2025 3 AÑOS CEIP SAN CRISTÓBAL
MATERIAL ESCOLAR 2024-2025 3 AÑOS CEIP SAN CRISTÓBALMATERIAL ESCOLAR 2024-2025 3 AÑOS CEIP SAN CRISTÓBAL
MATERIAL ESCOLAR 2024-2025 3 AÑOS CEIP SAN CRISTÓBAL
Ana Fernandez
 
Cronica-de-una-Muerte-Anunciada - Gabriel Garcia Marquez.pdf
Cronica-de-una-Muerte-Anunciada - Gabriel Garcia Marquez.pdfCronica-de-una-Muerte-Anunciada - Gabriel Garcia Marquez.pdf
Cronica-de-una-Muerte-Anunciada - Gabriel Garcia Marquez.pdf
RicardoValdiviaVega
 
Presentación simple corporativa degradado en violeta blanco.pdf
Presentación simple corporativa degradado en violeta blanco.pdfPresentación simple corporativa degradado en violeta blanco.pdf
Presentación simple corporativa degradado en violeta blanco.pdf
eleandroth
 
pueblos originarios de chile presentacion twinkl.pptx
pueblos originarios de chile presentacion twinkl.pptxpueblos originarios de chile presentacion twinkl.pptx
pueblos originarios de chile presentacion twinkl.pptx
RAMIREZNICOLE
 
FEEDBACK DE LA ESTRUCTURA CURRICULAR- 2024.pdf
FEEDBACK DE LA ESTRUCTURA CURRICULAR- 2024.pdfFEEDBACK DE LA ESTRUCTURA CURRICULAR- 2024.pdf
FEEDBACK DE LA ESTRUCTURA CURRICULAR- 2024.pdf
Jose Luis Jimenez Rodriguez
 

Último (20)

Hablemos de ESI para estudiantes Cuadernillo
Hablemos de ESI para estudiantes CuadernilloHablemos de ESI para estudiantes Cuadernillo
Hablemos de ESI para estudiantes Cuadernillo
 
La necesidad de bienestar y el uso de la naturaleza.pdf
La necesidad de bienestar y el uso de la naturaleza.pdfLa necesidad de bienestar y el uso de la naturaleza.pdf
La necesidad de bienestar y el uso de la naturaleza.pdf
 
Liturgia día del Padre del siguiente domingo.pptx
Liturgia día del Padre del siguiente domingo.pptxLiturgia día del Padre del siguiente domingo.pptx
Liturgia día del Padre del siguiente domingo.pptx
 
1° T3 Examen Zany de primer grado compl
1° T3 Examen Zany  de primer grado compl1° T3 Examen Zany  de primer grado compl
1° T3 Examen Zany de primer grado compl
 
Vida, obra y pensamiento de Kant I24.ppt
Vida, obra y pensamiento de Kant I24.pptVida, obra y pensamiento de Kant I24.ppt
Vida, obra y pensamiento de Kant I24.ppt
 
Mundo ABC Examen 1 Grado- Tercer Trimestre.pdf
Mundo ABC Examen 1 Grado- Tercer Trimestre.pdfMundo ABC Examen 1 Grado- Tercer Trimestre.pdf
Mundo ABC Examen 1 Grado- Tercer Trimestre.pdf
 
Carnavision: anticipa y aprovecha - hackathon Pasto2024 .pdf
Carnavision: anticipa y aprovecha - hackathon Pasto2024 .pdfCarnavision: anticipa y aprovecha - hackathon Pasto2024 .pdf
Carnavision: anticipa y aprovecha - hackathon Pasto2024 .pdf
 
Módulo 1 de didactica de la lecto escritura
Módulo 1 de didactica de la lecto escrituraMódulo 1 de didactica de la lecto escritura
Módulo 1 de didactica de la lecto escritura
 
Power Point: El conflicto inminente (Bosquejo)
Power Point: El conflicto inminente (Bosquejo)Power Point: El conflicto inminente (Bosquejo)
Power Point: El conflicto inminente (Bosquejo)
 
Business Plan -rAIces - Agro Business Tech
Business Plan -rAIces - Agro Business TechBusiness Plan -rAIces - Agro Business Tech
Business Plan -rAIces - Agro Business Tech
 
Presentación de la historia de PowerPoint y sus características más relevantes.
Presentación de la historia de PowerPoint y sus características más relevantes.Presentación de la historia de PowerPoint y sus características más relevantes.
Presentación de la historia de PowerPoint y sus características más relevantes.
 
APUNTES UNIDAD I ECONOMIA EMPRESARIAL .pdf
APUNTES UNIDAD I ECONOMIA EMPRESARIAL .pdfAPUNTES UNIDAD I ECONOMIA EMPRESARIAL .pdf
APUNTES UNIDAD I ECONOMIA EMPRESARIAL .pdf
 
Evaluacion del tercer trimestre del 2023-2024
Evaluacion del tercer trimestre del 2023-2024Evaluacion del tercer trimestre del 2023-2024
Evaluacion del tercer trimestre del 2023-2024
 
p4s.co Ecosistema de Ecosistemas - Diagrama.pdf
p4s.co Ecosistema de Ecosistemas - Diagrama.pdfp4s.co Ecosistema de Ecosistemas - Diagrama.pdf
p4s.co Ecosistema de Ecosistemas - Diagrama.pdf
 
ACERTIJO DESCIFRANDO CÓDIGO DEL CANDADO DE LA TORRE EIFFEL EN PARÍS. Por JAVI...
ACERTIJO DESCIFRANDO CÓDIGO DEL CANDADO DE LA TORRE EIFFEL EN PARÍS. Por JAVI...ACERTIJO DESCIFRANDO CÓDIGO DEL CANDADO DE LA TORRE EIFFEL EN PARÍS. Por JAVI...
ACERTIJO DESCIFRANDO CÓDIGO DEL CANDADO DE LA TORRE EIFFEL EN PARÍS. Por JAVI...
 
MATERIAL ESCOLAR 2024-2025 3 AÑOS CEIP SAN CRISTÓBAL
MATERIAL ESCOLAR 2024-2025 3 AÑOS CEIP SAN CRISTÓBALMATERIAL ESCOLAR 2024-2025 3 AÑOS CEIP SAN CRISTÓBAL
MATERIAL ESCOLAR 2024-2025 3 AÑOS CEIP SAN CRISTÓBAL
 
Cronica-de-una-Muerte-Anunciada - Gabriel Garcia Marquez.pdf
Cronica-de-una-Muerte-Anunciada - Gabriel Garcia Marquez.pdfCronica-de-una-Muerte-Anunciada - Gabriel Garcia Marquez.pdf
Cronica-de-una-Muerte-Anunciada - Gabriel Garcia Marquez.pdf
 
Presentación simple corporativa degradado en violeta blanco.pdf
Presentación simple corporativa degradado en violeta blanco.pdfPresentación simple corporativa degradado en violeta blanco.pdf
Presentación simple corporativa degradado en violeta blanco.pdf
 
pueblos originarios de chile presentacion twinkl.pptx
pueblos originarios de chile presentacion twinkl.pptxpueblos originarios de chile presentacion twinkl.pptx
pueblos originarios de chile presentacion twinkl.pptx
 
FEEDBACK DE LA ESTRUCTURA CURRICULAR- 2024.pdf
FEEDBACK DE LA ESTRUCTURA CURRICULAR- 2024.pdfFEEDBACK DE LA ESTRUCTURA CURRICULAR- 2024.pdf
FEEDBACK DE LA ESTRUCTURA CURRICULAR- 2024.pdf
 

Intro

  • 2. Prof. Eliezer Córdova Representación de los datos en el ordenador • El único código que entiende la CPU son los bits. • Los bits son representados en circuitos electrónicos 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
  • 3. Prof. Eliezer Córdova • Base 10: – Dígitos = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9} – 1111 = 1*103 + 1*102 + 1*101 + 1*100 • Base 2: – Dígitos = {0, 1} – 1111 = 1*23 + 1*22 + 1*21 + 1*20 = 8 + 4 + 2 + 1 = 15 • ¿Cuántos valores puede representar un byte? – 1 byte = 8 bits (Ej: 01100101) – Cada bit puede representar 2 valores (0 y 1) – Un byte puede representar 28 = 256 valores Representación de los datos en el ordenador
  • 4. Prof. Eliezer Córdova Representación de textos TEXTO: My name is Eliezer ASCII: 77-121-32-110-97-109-101-32-105-115-32-70-77-106-70-123-70-115 18 bytes
  • 5. Prof. Eliezer Córdova Representación de imagen • División de la imagen en una matriz de pixels (unidad de la imagen) • Cada pixel asociado con un color 0 0 0 0 0 0 0 0 0 0 1 1 0 1 1 0 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
  • 6. Prof. Eliezer Córdova ¿Qué es un programa? • Un programa es una secuencia de instrucciones a la CPU • Cada instrucción es un conjunto de bytes • Ejemplos de instrucciones: – Leer un dato del teclado – Guardar un dato en la memoria – Ejecutar una operación sobre dos datos – Mostrar un dato en la pantalla – etc.
  • 7. Prof. Eliezer Córdova Acceso a la memoria 9 8 7 6 5 4 3 2 1 15 64 32 10 0 2 45 125 12 RAM CPU
  • 8. Prof. Eliezer Córdova Algoritmo • Un esquema para resolver cierto tipo de problema • Se puede traducir en un programa para ejecutarlo en un ordenador • Pasos para la resolución de un problema con ordenador: 1. Diseño de un algoritmo 2. Codificación de un programa 3. Ejecución y validación
  • 9. Prof. Eliezer Córdova • Componentes: – Entrada: datos del problema a resolver – Salida: el resultado de la resolución – Proceso: pasos a seguir para la resolución • Propiedades: – Preciso: orden estricto + expresiones precisas – Definido: con la misma entrada, siempre resulta la misma salida – Finito: número finito de pasos Algoritmo
  • 10. Prof. Eliezer Córdova Algoritmo 1 • Problema: Sumar dos números • Solución: – Entrada: dos números – Salida: guardar la suma en la memoria y imprimirla por pantalla – Proceso: 1) Añadir los dos números 2) Guardar el resultado en la memoria 3) Imprimir el resultado por pantalla
  • 11. Prof. Eliezer Córdova Algoritmo 2 • Problema: hacer una taza de té a la inglesa • Solución: – Entrada: agua, bolsa de té, leche, tetera, taza, cuchara – Salida: una taza de té a la inglesa – Proceso: 1. Poner la bolsa de té en la taza 2. Poner el agua a hervir en la tetera 3. Verter el agua hervida en la taza 4. Añadir leche 5. Remover
  • 12. Prof. Eliezer Córdova Algoritmo 3 • Problema: averiguar la solvencia de un cliente que ejecuta un pedido a una fábrica. • Solución: – Entrada: el pedido – Salida: mensaje de aceptación o rechazo – Proceso: 1. Leer el pedido 2. Examinar la ficha del cliente 3. Si el cliente es solvente, aceptar pedido 4. En caso contrario, rechazar pedido
  • 13. Prof. Eliezer Córdova Lenguajes de programación • Lenguajes máquina • Lenguajes ensamblador • Lenguajes de alto nivel: C, C++, Visual Basic, Java, Pascal, Prolog, LISP,…
  • 14. Prof. Eliezer Córdova Lenguajes máquina • Programas son secuencias de instrucciones compuestas de bytes: – 16 29 156 9 82 75 • Ventajas: – La CPU entiende estos programas • Desventajas: – Pensar en modo de 0’s y 1’s es muy difícil para nosotros
  • 15. Prof. Eliezer Córdova Lenguajes ensamblador • Instrucciones compuestas de palabras cortas y números: – LOD 15 6 – LOD 16 8 – ADD 15 16 17 – JMP 10 • Ventajas: – Más fácil a entender • Desventajas: – Todavía bastante abstracto – Necesita traducir el código a lenguajes máquina
  • 16. Prof. Eliezer Córdova Lenguajes de alto nivel • Diseñados para ser más parecidos a lenguaje natural • Ventajas: – Mucho más fácil de dar instrucciones • Desventajas: – Más complicado convertir en lenguajes máquina
  • 17. Prof. Eliezer Córdova Lenguajes de programación ¿Por qué hay tantos? ¿Cómo nacen, sobreviven y caducan? 1. Diferentes dominios de aplicación: • Programación de sistemas – rapidez y acceso de bajo nivel: C • Inteligencia artificial – computación simbólica: LISP, Prolog • Programación científica – fórmulas matemáticas: Fortran • Negocios – transacciones: COBOL • Uso específico: SQL (bases de datos), Perl (manipulación de textos), JavaScript (páginas web), Pascal (formación)
  • 18. Prof. Eliezer Córdova 1. Diferentes necesidades: • Fiabilidad: Ada • Escabilidad, paradigma orientado a objeto: C  C++ • Portabilidad: Java 1. Evolución: • Mejora del hardware • Mejor comprensión de como reforzar criterios de legibilidad, facilidad de aprender y escribir, fiabilidad… 1. Importancia de la estandardización 2. ¡Número de usuarios! Lenguajes de programación
  • 19. Prof. Eliezer Córdova Traductores de lenguaje: intérpretes PROGRAMA FUENTE INTERPRETE EJECUCION DE LA(S) INSTRUCCION(ES) INTERPRETADA(S)
  • 20. Prof. Eliezer Córdova Traductores de lenguaje: compiladores PROGRAMA FUENTE COMPILADOR ENLAZADOR (binder, linker) EJECUCION Fase de compilación Fase de ejecución OPCION 1 programa ejecutable Fase de compilación Fase de ejecución OPCION 2 programa objeto
  • 21. Prof. Eliezer Córdova Java • Se desarrolló en los comienzos de los años 1990 • La intención era crear una herramienta para escribir programas cortos y efectivos • Ventajas: – Básico, fácil de entender – Portátil: el mismo código sirve para todos los sistemas operativos – Soporta interfaz gráfica de usuario (GUI) – Apropiado para programas en Internet • Desventajas: – La ejecución es más lenta que algunos otros lenguajes
  • 22. Prof. Eliezer Córdova • El código fuente se guarda en un archivo con extensión .java • Un compilador traduce el código fuente en código de byte, y lo guarda en un archivo con extensión .class • Las instrucciones son diferentes para diferentes sistemas operativos • Un intérprete específico al sistema operativo interpreta el código byte para ejecutar el programa • Un programa puede ser compuesto de varios archivos Java
  • 23. Prof. Eliezer Córdova La Máquina Virtual Java (JVM) PROGRAMA FUENTE COMPILADOR JAVA PROGRAMA OBJETO .java .class Programa bytecode para JVM INTERPRETE (JVM) para Windows INTERPRETE (JVM) para Linux INTERPRETE (JVM) para Macintosh WINDOWS LINUX MACINTOSH
  • 24. Prof. Eliezer Córdova Ejecución de un programa Java HolaMundo.java HolaMundo.class javac HolaMundo.java System.class java HolaMundo SISTEMA OPERATIVO compilador Java llamar a la JVM crear el programa en un editor
  • 25. Prof. Eliezer Córdova Componentes de un lenguaje • Sintaxis (gramática): reglas que determinan de manera estricta el vocabulario, orden y formato de las instrucciones permitidas – Errores sintácticos: el programa no compila y/o no se puede interpretar • Semántica (sentido): el programa, al ejecutarlo, produce el resultado correcto que uno quiere
  • 26. Prof. Eliezer Córdova Errores de programación Modificar o crear un archivo .java Editar para corregir errores Compilar Ejecutar programa Depurar (debugging) errores de compilación (sintaxis) no hay errores errores de ejecución (semántica)