Fundamentos de Programación/Programación I Anders Jonsson

Slides:



Advertisements
Presentaciones similares
Componentes físicos de un ordenador MSc. Lic. David Escalera.
Advertisements

¿Que es un ordenador? Un ordenador es una máquina programable. Las dos características principales de un ordenador son: 1. Responde a un sistema específico.
Hardware. Que es el hardware y sus componentes. 1. El hardware son todas las partes físicas y tangibles de una computadora. 2. Partes del hardware: 2.1.
LABORATORIO DE HERRAMIENTAS COMPUTACIONALES I.S.C. BERTHA GEORGINA FLORES DÍAZ.
Conocimientos Básicos de Computación Programación de Computadores.
MÉTODOS Y ELEMENTOS DE PROGRAMACIÓN MÉTODOS Y ELEMENTOS DE PROGRAMACIÓN.
Tema 1 Fundamentos de Computación
COMPUTACIÓN Y SOFTWARE DE APLICACIÓN
FUNCIONAMIENTO BÁSICO
Introducción a los Ordenadores
Yireth Alejandra Amaya Guevara y Yennifer Tatiana Arboleda Araque
LENGUAJES DE PROGRAMACIÓN
PROGRAMACIÓN (1).
Evolución de paradigmas y lenguajes de Programación
LENGUAJE DE PROGRAMACIÓN Y SOFTWARE PROPIETARIO
Informática 1 Año. Trabajo Practico. Tema: Definiciones
LENGUAJES Y REPRESENTACION TECNICA
CURSO INFORMÁTICA: Niverl 1
Computadora Máquina electrónica rápida y exacta que es capaz de aceptar datos a través de un medio de entrada, procesarlos automáticamente bajo el control.
El hardware y el software
Prueba Inicial Informática
ALMACENAMIENTO DE DATOS
Oscar Martin Tirado Ochoa
UNIVERSIDAD PEDAGÓGICA NACIONAL FRANCISCO MORAZÁN
Universidad Nacional de Canindeyú Facultad de Ciencias de la Salud
Tecnología de la Información Software
HARDWARE Y SOFTWARE Hardware Informática Software
Lenguaje y representación técnica
Tecnología de la Información Profesora Ariana Rosenthal Software
Software Es intangible, existe como información, ideas, conceptos, símbolos, pero no ocupa un espacio físico, se podría decir que no tiene sustancia. Se.
EL COMPUTADOR Msc. Raymond Marquina..
LENGUAJES Y REPRESENTACION TECNICA
ES… ES IMPORTANTE PORQUE SU FUNCION ES SE COMPONE DE ESTA UBICADO EN
¿Qué es una computadora?
ORDENADORES Y EL SISTEMA COMPUTACIONAL
Centro educativo independiente tizayocan Saúl Cervantes Pérez
1.1 Identifica los componentes físicos del equipo de cómputo mediante su caracterización y funciones.
INTRODUCCIÓN A JAVA.
TAREA DEFINICIONES: Software: Equipamiento lógico o soporte lógico de una computadora digital; comprende el conjunto de los componentes lógicos necesarios.
CONCEPTOS PRELIMINARES (Cont)
INTRODUCCIÓN ING. IVONNE MALDONADO. PROGRAMACIÓN Programar no es mas que idear y ordenar las acciones. Lograr que un programa cumpla con una cierta tarea.
Concepto Clasificación Hardware Como procesa datos Sistemas de los Procesos de Datos (Dispositivos) Software (Conceptos, tipos, clasificación, fuentes)
Introducción al lenguaje de programación. Introducción  Los lenguajes de programación son aplicaciones específicas que han sido pensadas y diseñadas.
Concepto Clasificación Hardware Como procesa datos Sistemas de los Procesos de Datos (Dispositivos) Software (Conceptos, tipos, clasificación, fuentes)
-HARDWARE: parte física y tangible; componentes eléctricos, electrónicos, electromagnéticos; cables, cajas, periféricos… -SOFTWARE: parte lógica e.
Introducción a las Ciencias de la Computación
UNIVERSIDAD DEL VALLE Docente: MsC. Cinthya Irene Rosales Martinez Facultad de Ingeniería Lenguajes de Programación.
Programación Orientada a Objetos. ¿Qué es un ordenador? “Un sistema digital con tecnología microelectrónica capaz de procesar información a partir de.
Hardware y Software Objetivo de la Sesión:
FUNDAMENTOS DE PROGRAMACIÓN
CURSO PROGRAMACIÓN BÁSICA SEMANA 3 ¿Qué es un programa?
CURSO PROGRAMACIÓN BÁSICA SEMANA 2
Fundamentos de la Programación I
FUNDAMENTOS DE PROGRAMACIÓN. INTRODUCCIÓN  Conceptos: Informática, Ordenador, Programa, Dato, Bit, Byte, Hardware, Software, Lenguaje de Programación,
Tema 1 Fundamentos de Computación
Informática Aplicada al Medio Ambiente - Curso 99/00 1 Tema 6. Introducción a la programación 1 Conceptos básicos 2 Los algoritmos – Concepto de algoritmo.
FUNDAMENTOS DE PROGRAMACIÓN
Informática Aplicada al Medio Ambiente - Curso 99/00 1 Tema 6. Introducción a la programación 1 Conceptos básicos 2 Los algoritmos – Concepto de algoritmo.
Concepto Clasificación Hardware Como procesa datos Sistemas de los Procesos de Datos (Dispositivos) Software (Conceptos, tipos, clasificación, fuentes)
Lenguaje de Programación II
INTRODUCCIÓN A LA INFORMÁTICA
Informática Aplicada al Medio Ambiente - Curso 99/00 1 Tema 6. Introducción a la programación 1 Conceptos básicos 2 Los algoritmos – Concepto de algoritmo.
Fundamentos de Programación/Programación I Anders Jonsson
DIAGRAMAS DE FLUJO. D I A G R A M A DE F L UJ O EL DI AGRAMA DE FLUJO ES LA REPRESENTACIÓN GRÁFICA DE DICHA SE CUENCIA DE INSTRUCCIONES QUE CONFORMAN.
PROGRAMACIÓN BÁSICA CONCEPTOS BÁSICOS Software. TEMAS:  Software y sus funciones  Tipos de Software  Software de Sistemas  Software de Aplicación.
EVOLUCIÓN DE LOS PARADIGMAS DE PROGRAMACIÓN Integrantes: Christian Abad, Kevin Colcha.
Concepto Clasificación Hardware Como procesa datos Sistemas de los Procesos de Datos (Dispositivos) Software (Conceptos, tipos, clasificación, fuentes)
Informática- R.L.G.1 Computadora: Herramienta electromecánica que facilita diversas y muy variadas tareas dependiendo del programa que se utilice. Se caracteriza.
Tema 1 Introducción a la programación (Lenguaje java). 1.1 Conceptos básicos.
Concepto Clasificación Hardware Como procesa datos Sistemas de los Procesos de Datos (Dispositivos) Software (Conceptos, tipos, clasificación, fuentes)
Transcripción de la presentación:

Fundamentos de Programación/Programación I Anders Jonsson

2 Administración Página web: (en construcción) Teoría: Miércoles 17-18:30, Aula 119 Práctica: P1 Jueves 18:40-19:25, Aula 202 P2 Jueves 19:35-20:20, Aula 202 Tutoría: Para confirmar Edificio França

3 Administración Evaluación: Prácticas: 40% Controles: 20% Examen final: 40% Las prácticas se hacen en grupos de dos Después de cada dos prácticas hay un control en clase sobre el conocimiento de estas prácticas (últimos 15 minutos de teoría)

4 Clase de introducción 1.¿Qué es un ordenador? 2.Programas y algoritmos 3.Lenguajes de programación 4.Java

5 ¿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.

6 Elementos de un ordenador Memoria Principal (RAM) Unidad de Control (CU)‏ Unidad aritmetica y logica (ALU)‏ Programa Dispositivos de entradaDispositivos de salidaDispositivos de almacenamiento de datos teclado ratón pantalla impresora disco duro lector/grabador de CD-ROM lector/grabador de disquete Procesador (CPU) (hardware)

7 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 = bytes 1 megabyte = kilobytes = bytes

8 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 0 Base 2: –Dígitos = {0, 1} –1111 = 1* * * *2 0 = = 15 ¿Cuántos valores puede representar un byte? –1 byte = 8 bits (Ej: ) –Cada bit puede representar 2 valores (0 y 1) –Un byte puede representar 2 8 = 256 valores

9 Representación de textos TEXTO: My name is Anders. ASCII: bytes

10 Representación de imagen División de la imagen en una matriz de pixels (unidad de la imagen) Cada pixel asociado con un color

11 Representación de sonido Discretización de la amplitud Un byte para cada valor …

12 ¿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.

13 Acceso a la memoria RAM CPU

14 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

15 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

16 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

17 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

18 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

19 Lenguajes de programación Lenguajes máquina Lenguajes ensamblador Lenguajes de alto nivel: C, C++, Visual Basic, Java, Pascal, Prolog, LISP,…

20 Lenguajes máquina Programas son secuencias de instrucciones compuestas de bytes: – Ventajas: –La CPU entiende estos programas Desventajas: –Pensar en modo de 0’s y 1’s es muy difícil para nosotros

21 Lenguajes ensamblador Instrucciones compuestas de palabras cortas y números: –LOD 15 6 –LOD 16 8 –ADD –JMP 10 Ventajas: –Más fácil a entender Desventajas: –Todavía bastante abstracto –Necesita traducir el código a lenguajes máquina

22 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

23 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)

24 Lenguajes de programación: ¿ Por qué hay tantos? ¿Cómo nacen, sobreviven y caducan? 1.Diferentes necesidades: Fiabilidad: Ada Escabilidad, paradigma orientado a objeto: C  C++ Portabilidad: Java 2.Evolución: Mejora del hardware Mejor comprensión de como reforzar criterios de legibilidad, facilidad de aprender y escribir, fiabilidad… 3.Importancia de la estandardización 4.¡Número de usuarios!

25 Traductores de lenguaje: intérpretes PROGRAMA FUENTE INTERPRETE EJECUCION DE LA(S)‏ INSTRUCCION(ES) INTERPRETADA(S)‏

26 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

27 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

28 Java 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

29 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

30 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

31 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

32 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)‏