SlideShare una empresa de Scribd logo
Fundamentos de Programación
Clase de introducción ¿Qué es un ordenador? Programas y algoritmos Lenguajes de programación Java
¿Qué es un ordenador? “ Un sistema digital con tecnología microelectrónica capaz de procesar información a partir de un grupo de instrucciones denominado programa” Componentes principales: Procesador (CPU: Central Processing Unit) Memoria (RAM: Random Access Memory) Componentes auxiliares: Disco duro Lector CD-ROM Teclado Pantalla etc.
Elementos de un ordenador Memoria Principal  (RAM) Unidad de  Control (CU) ‏ Unidad aritmetica  y logica (ALU) ‏ Programa Dispositivos de entrada Dispositivos de salida Dispositivos de  almacenamiento de datos teclado rat ó n pantalla impresora disco duro lector/grabador de CD-ROM lector/grabador de disquete Procesador (CPU) (hardware)
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
Representación de los datos en el ordenador Base 10: Dígitos = {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: Dígitos = {0, 1} 1111 = 1*2 3  + 1*2 2  + 1*2 1  + 1*2 0  = 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 2 8  = 256 valores
Representaci ó n de textos TEXTO:  My name is Anders. ASCII:  77-121-32-110-97-109-101-32-105-115-32-65-110-100-101-114-115-46 18 bytes
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
Representación de sonido Discretización de la amplitud Un byte para cada valor 4 8 12 13 12 10 8…
¿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.
Acceso a la memoria RAM CPU 9 8 7 6 5 4 3 2 1 15 64 32 10 0 2 45 125 12
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: Diseño de un algoritmo Codificación de un programa Ejecución y validación
Algoritmo 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 1 Problema:  Sumar dos números Solución:  Entrada:  dos números Salida:  guardar la suma en la memoria y imprimirla por pantalla Proceso:   Añadir los dos números  Guardar el resultado en la memoria Imprimir el resultado por pantalla
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: Poner la bolsa de té en la taza Poner el agua a hervir en la tetera Verter el agua hervida en la taza   Añadir leche Remover
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:  Leer el pedido Examinar la ficha del cliente  Si el cliente es solvente, aceptar pedido En caso contrario, rechazar pedido
Lenguajes de programación Lenguajes máquina Lenguajes ensamblador Lenguajes de alto nivel: C, C++, Visual Basic, Java, Pascal, Prolog, LISP,…
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
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
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
Lenguajes de programación: ¿ Por qué hay tantos?   ¿Cómo nacen, sobreviven y caducan? 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)
Lenguajes de programación: ¿ Por qué hay tantos?   ¿Cómo nacen, sobreviven y caducan? Diferentes necesidades: Fiabilidad: Ada Escabilidad, paradigma orientado a objeto: C    C++  Portabilidad: Java Evolución:  Mejora del hardware Mejor comprensión de como reforzar criterios de legibilidad, facilidad de aprender y escribir, fiabilidad… Importancia de la estandardización ¡Número de usuarios!
Traductores de lenguaje: intérpretes PROGRAMA FUENTE INTERPRETE EJECUCION DE LA(S) ‏ INSTRUCCION(ES)  INTERPRETADA(S) ‏
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
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
Errores de programación Modificar o crear un  archivo .java Editar para  corregir errores Ejecutar programa Depurar (debugging) ‏ errores de compilación (sintaxis) ‏ no hay errores errores de ejecución (semántica) ‏ Compilar

Más contenido relacionado

PDF
Lo básico para programar
DOCX
Lo básico para programar
PDF
01 benchmarking sobre las definiciones de las tic
PPTX
Research methodology
PPT
СибДневник.ру - преимущества для учеников
PDF
Yellow Pages
PPTX
Pre double page spread
PPTX
Evolución de las redes sociales
Lo básico para programar
Lo básico para programar
01 benchmarking sobre las definiciones de las tic
Research methodology
СибДневник.ру - преимущества для учеников
Yellow Pages
Pre double page spread
Evolución de las redes sociales

Destacado (9)

PPTX
13203215 pss7
DOCX
amira foods financials globalisation in the retailing industry
PPTX
Presentaciones pawer poin sistemas
DOC
Profil ssn 2011
PPSX
Strategi pembelajaran afektif kajian jataka
DOCX
Coursework front cover sheet 12 13
PDF
Primera Cumbre de Fondos de Capital de Riesgo
PPTX
Practica 19
PPTX
13203215 pss7
amira foods financials globalisation in the retailing industry
Presentaciones pawer poin sistemas
Profil ssn 2011
Strategi pembelajaran afektif kajian jataka
Coursework front cover sheet 12 13
Primera Cumbre de Fondos de Capital de Riesgo
Practica 19
Publicidad

Similar a Introducción FundamProgramación (20)

PPT
intro.ppt
PPT
PPTX
Modulo1 introduccion
PDF
Lenguaje de programacion i
DOC
Guia de-programacion-i-visual-b-net
PPTX
generalidades del computador y sistemas de numeracion.pptx
PPT
Ordenador
PPTX
Rmc gera [autoguardado]
PPT
03 Software Parte I
PPT
Dispositivos de entrada y salida, ppt
PPTX
PPTX
pdfslide.tips_tema-1-fundamentos-de-computacion-prof-maria-alejandra-quintero...
PPT
Universidad De Los Andes
PPTX
Presentacion_Lenguaje_C.pptx
PDF
Lenguaje de Programación
PPTX
Arquitectura de ordenadores
PDF
3 Conceptos progamacion-tema3
PPT
Clase 1 Itinerario
PPT
Fundamentos Informáticos (I Bimestre)
intro.ppt
Modulo1 introduccion
Lenguaje de programacion i
Guia de-programacion-i-visual-b-net
generalidades del computador y sistemas de numeracion.pptx
Ordenador
Rmc gera [autoguardado]
03 Software Parte I
Dispositivos de entrada y salida, ppt
pdfslide.tips_tema-1-fundamentos-de-computacion-prof-maria-alejandra-quintero...
Universidad De Los Andes
Presentacion_Lenguaje_C.pptx
Lenguaje de Programación
Arquitectura de ordenadores
3 Conceptos progamacion-tema3
Clase 1 Itinerario
Fundamentos Informáticos (I Bimestre)
Publicidad

Más de JJ (John John) 4601 (20)

PDF
Consentimiento inf. Usach
PDF
Consntimiento informado -1
PDF
Excelencia académica tec monterrey cambridge
DOCX
DOCX
DOCX
Información
PDF
presentación
PDF
Boletín estadístico no 04 2014 ventas vehículos importados comercio 2013
DOCX
Estadística
PPS
Sistemas Operativos Software
PPS
Introducción Computación
PPSX
PPSX
Presentación
PPSX
Ap1 ap2 nom_g6
PPS
PDF
Declaración de punteros
DOC
DOC
Libro compartido para trabajar en colaboración
PPS
Teoria De Grafos
PPS
Docentes, Por: JJ
Consentimiento inf. Usach
Consntimiento informado -1
Excelencia académica tec monterrey cambridge
Información
presentación
Boletín estadístico no 04 2014 ventas vehículos importados comercio 2013
Estadística
Sistemas Operativos Software
Introducción Computación
Presentación
Ap1 ap2 nom_g6
Declaración de punteros
Libro compartido para trabajar en colaboración
Teoria De Grafos
Docentes, Por: JJ

Último (20)

PPT
Cosacos y hombres del Este en el Heer.ppt
PDF
Gasista de unidades unifuncionales - pagina 23 en adelante.pdf
PDF
Guia de Tesis y Proyectos de Investigacion FS4 Ccesa007.pdf
PDF
Escuela de Negocios - Robert kiyosaki Ccesa007.pdf
PDF
Escuela Sabática 6. A través del Mar Rojo.pdf
PDF
el - LIBRO-PACTO-EDUCATIVO-GLOBAL-OIEC.pdf
DOCX
V UNIDAD - PRIMER GRADO. del mes de agosto
PPTX
AGENTES PATÓGENOS Y LAS PRINCIPAL ENFERMEAD.pptx
PDF
Cronograma de clases de Práctica Profesional 2 2025 UDE.pdf
DOCX
PROYECTO DE APRENDIZAJE para la semana de fiestas patrias
PDF
Educación Artística y Desarrollo Humano - Howard Gardner Ccesa007.pdf
DOCX
V UNIDAD - SEGUNDO GRADO. del mes de agosto
PDF
Escuelas Desarmando una mirada subjetiva a la educación
PDF
Integrando la Inteligencia Artificial Generativa (IAG) en el Aula
PDF
Didactica de la Investigacion Educativa SUE Ccesa007.pdf
PDF
Híper Mega Repaso Histológico Bloque 3.pdf
PDF
Lección 6 Escuela Sab. A través del mar rojo.pdf
DOCX
Tarea De El Colegio Coding For Kids 1 y 2
DOCX
UNIDAD DE APRENDIZAJE 5 AGOSTO tradiciones
PDF
OK OK UNIDAD DE APRENDIZAJE 5TO Y 6TO CORRESPONDIENTE AL MES DE AGOSTO 2025.pdf
Cosacos y hombres del Este en el Heer.ppt
Gasista de unidades unifuncionales - pagina 23 en adelante.pdf
Guia de Tesis y Proyectos de Investigacion FS4 Ccesa007.pdf
Escuela de Negocios - Robert kiyosaki Ccesa007.pdf
Escuela Sabática 6. A través del Mar Rojo.pdf
el - LIBRO-PACTO-EDUCATIVO-GLOBAL-OIEC.pdf
V UNIDAD - PRIMER GRADO. del mes de agosto
AGENTES PATÓGENOS Y LAS PRINCIPAL ENFERMEAD.pptx
Cronograma de clases de Práctica Profesional 2 2025 UDE.pdf
PROYECTO DE APRENDIZAJE para la semana de fiestas patrias
Educación Artística y Desarrollo Humano - Howard Gardner Ccesa007.pdf
V UNIDAD - SEGUNDO GRADO. del mes de agosto
Escuelas Desarmando una mirada subjetiva a la educación
Integrando la Inteligencia Artificial Generativa (IAG) en el Aula
Didactica de la Investigacion Educativa SUE Ccesa007.pdf
Híper Mega Repaso Histológico Bloque 3.pdf
Lección 6 Escuela Sab. A través del mar rojo.pdf
Tarea De El Colegio Coding For Kids 1 y 2
UNIDAD DE APRENDIZAJE 5 AGOSTO tradiciones
OK OK UNIDAD DE APRENDIZAJE 5TO Y 6TO CORRESPONDIENTE AL MES DE AGOSTO 2025.pdf

Introducción FundamProgramación

  • 2. Clase de introducción ¿Qué es un ordenador? Programas y algoritmos Lenguajes de programación Java
  • 3. ¿Qué es un ordenador? “ Un sistema digital con tecnología microelectrónica capaz de procesar información a partir de un grupo de instrucciones denominado programa” Componentes principales: Procesador (CPU: Central Processing Unit) Memoria (RAM: Random Access Memory) Componentes auxiliares: Disco duro Lector CD-ROM Teclado Pantalla etc.
  • 4. Elementos de un ordenador Memoria Principal (RAM) Unidad de Control (CU) ‏ Unidad aritmetica y logica (ALU) ‏ Programa Dispositivos de entrada Dispositivos de salida Dispositivos de almacenamiento de datos teclado rat ó n pantalla impresora disco duro lector/grabador de CD-ROM lector/grabador de disquete Procesador (CPU) (hardware)
  • 5. 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
  • 6. Representación de los datos en el ordenador Base 10: Dígitos = {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: Dígitos = {0, 1} 1111 = 1*2 3 + 1*2 2 + 1*2 1 + 1*2 0 = 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 2 8 = 256 valores
  • 7. Representaci ó n de textos TEXTO: My name is Anders. ASCII: 77-121-32-110-97-109-101-32-105-115-32-65-110-100-101-114-115-46 18 bytes
  • 8. 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
  • 9. Representación de sonido Discretización de la amplitud Un byte para cada valor 4 8 12 13 12 10 8…
  • 10. ¿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.
  • 11. Acceso a la memoria RAM CPU 9 8 7 6 5 4 3 2 1 15 64 32 10 0 2 45 125 12
  • 12. 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: Diseño de un algoritmo Codificación de un programa Ejecución y validación
  • 13. Algoritmo 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
  • 14. 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: Añadir los dos números Guardar el resultado en la memoria Imprimir el resultado por pantalla
  • 15. 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: Poner la bolsa de té en la taza Poner el agua a hervir en la tetera Verter el agua hervida en la taza Añadir leche Remover
  • 16. 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: Leer el pedido Examinar la ficha del cliente Si el cliente es solvente, aceptar pedido En caso contrario, rechazar pedido
  • 17. Lenguajes de programación Lenguajes máquina Lenguajes ensamblador Lenguajes de alto nivel: C, C++, Visual Basic, Java, Pascal, Prolog, LISP,…
  • 18. 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
  • 19. 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
  • 20. 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
  • 21. Lenguajes de programación: ¿ Por qué hay tantos? ¿Cómo nacen, sobreviven y caducan? 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)
  • 22. Lenguajes de programación: ¿ Por qué hay tantos? ¿Cómo nacen, sobreviven y caducan? Diferentes necesidades: Fiabilidad: Ada Escabilidad, paradigma orientado a objeto: C  C++ Portabilidad: Java Evolución: Mejora del hardware Mejor comprensión de como reforzar criterios de legibilidad, facilidad de aprender y escribir, fiabilidad… Importancia de la estandardización ¡Número de usuarios!
  • 23. Traductores de lenguaje: intérpretes PROGRAMA FUENTE INTERPRETE EJECUCION DE LA(S) ‏ INSTRUCCION(ES) INTERPRETADA(S) ‏
  • 24. 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
  • 25. 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. Errores de programación Modificar o crear un archivo .java Editar para corregir errores Ejecutar programa Depurar (debugging) ‏ errores de compilación (sintaxis) ‏ no hay errores errores de ejecución (semántica) ‏ Compilar