Programación I.
|
|
|
- Cristián Carrizo Cortés
- hace 9 años
- Vistas:
Transcripción
1 Programación I [email protected] [email protected]
2 Profesores teoría Toni Navarrete despacho: 371 Jesús Ibáñez despacho: 381
3 Introducción Filosofía: aprender a programar programando Web de la asignatura: Bibliografía básica The C Programming Language, Second Edition by Brian W. Kernighan and Dennis M. Ritchie. Prentice Hall.
4 El plan Docente
5 El plan docente: objetivo de la asignatura El objetivo fundamental de esta asignatura es que los alumnos adquieran las bases de la algorítmica y estructuras de datos, así como que sean capaces de desarrollar fluidamente programas de tamaño medio utilizando el lenguaje C
6 El plan docente: competencias Competencias generales Instrumentales: CG1: Capacidad de síntesis CG2: Capacidad de análisis Sistémicas CG3: Capacidad para aplicar el conocimiento en la práctica CG4: Interés por la calidad Competencias específicas CE1: Capacidad para trabajar con un compilador y debugador CE2: Dominio de los tipos de datos estáticos básicos y compuestos CE3: Dominio de las estructuras de control CE4: Capacidad de resolución de problemas mediante diseño descendente y dominio de la utilización de funciones CE5: Dominio de los tipos de datos dinámicos y de la gestión dinámica de memoria CE6: Documentación y estructuración de código
7 El plan docente: tipos de actividades Sesiones de teoría Sesiones de ejercicios (seminarios) Sesiones de prácticas Ejercicios de auto-evaluación Consultar calendario!
8 El plan docente: evaluación Dos partes principales: Fundamentos teórico-prácticos: exámenes parcial (25%) y final (75%) 1 punto extra actividades seminarios (ejercicios) Prácticas: prácticas parcial (25%) y final (75%) Cada parte supone un 50% de la nota final, aunque es necesario aprobar ambas para superar la asignatura Otras actividades de auto-evaluación Septiembre
9 Importante! En esta asignatura se dan las bases necesarias para (sólo las de primer curso): Programación II, Programación III, Estructuras de Datos I Álgebra II, Análisis Numérico, Sistemas Operativos
10 Introducción Hardware: la parte física, la máquina Software: los programas que se ejecutan sobre esa máquina
11 Arquitectura von Neumann CPU ALU CU Registros RAM CPU = Unidad Central de Proceso ALU = Unidad Aritmético Lógica CU = Unidad de Control RAM = Memoria principal (Random Access Memory) Bus E/S
12 Lenguaje máquina La Unidad de control entiende una serie de combinaciones de bits que determinan diferentes instrucciones Ejemplo: (16 bits)
13 Lenguaje máquina La Unidad de control entiende una serie de combinaciones de bits que determinan diferentes instrucciones Ejemplo: (16 bits) Problemas: Extremadamente difícil escribir y leer No portable (específico para una unidad de control concreta)
14 Lenguaje ensamblador Cada tipo de instrucciones tiene una traducción Ejemplo: LOAD A ADD B STORE C
15 Lenguaje ensamblador Cada tipo de instrucciones tiene una traducción Ejemplo: LOAD A R1 LOAD B R2 ADD R1 R2 STORE C R1 Problemas: Aún difícil escribir y leer No portable
16 Lenguaje de alto nivel Las instrucciones son de un nivel superior, más cercano a cómo se piensa una solución Más fáciles de escribir y leer Son independientes de la máquina Ejemplo: C = A + B
17 Lenguaje de alto nivel Las instrucciones son de un nivel superior, más cercano a cómo se piensa una solución Más fáciles de escribir y leer Son independientes de la máquina Ejemplo: C = A + B Desventaja: Hay que traducirlo a lo que la máquina entiende (código máquina): más lento
18 Niveles Lenguajes de Alto Nivel C=A+B Lenguajes Ensambladores LOAD A R1 LOAD B R2 ADD R1 R2 STORE C R1 Lenguajes Máquina
19 Compilador vs intérprete Compilador Intérprete Solución híbrida: máquina virtual
20 Compilación #include <stdio.h> main() { printf("hola mundo!"); } errores Compilador Código fuente a.out a.exe Código máquina
21 Compilación Se compila antes de ejecutar Detecta errores sintácticos Cuando ya no hay errores, genera el código máquina (fichero ejecutable) No necesita el compilador para ejecutar
22 Interpretación Código fuente Coge una instrucción Intérprete La traduce a código máquina y la ejecuta
23 Interpretación El proceso de traducción se realiza mientras se ejecuta, instrucción a instrucción Se necesita el intérprete para poder ejecutar
24 Solución híbrida: la máquina virtual (Java)
25 Solución híbrida: la máquina virtual (Java) Se compila el código fuente y se obtiene código máquina de una máquina virtual Al código máquina virtual se le denomina byte-code La máquina virtual en realidad es un intérprete que después va ejecutando (traduciendo a código máquina real) instrucción a instrucción el byte-code
26 Lenguaje C Historia Principios 70 s: Dennis Ritchie, Laboratorios Bell de AT&T, creado para desarrollar UNIX 1983: ANSI C 1990: estándar ISO Primer programa #include <stdio.h> main() { printf("hola mundo!"); }
27 Comentando el código Es conveniente documentar el código: /* comentarios de varias líneas */ // comentario en una línea # include <stdio.h> /* la línia anterior ha d estar sempre que fem operacions de lectura o escriptura. Tot i això, hi ha compiladors que no ho necessiten*/ main () { //el codi del programa anirà entre les dues claus printf("hola mundo!"); //això escriu Hola mundo! per pantalla }
28 Compilación Librerías de C Edita hola.c compila hola.o Linka a.out a.exe Código fuente Código objeto Ejecutable gcc hola.c
29 Diseño de programas Problema Algoritmo Programa El Proceso de Diseño de Programas tiene dos fases: Resolución de Problemas Crea un algoritmo que resuelve un problema Implementación Traduce el algoritmo a un lenguaje de programación
30 Bloques 2 y 3 Un programa es como una receta. Contiene una lista de ingredientes (variables) y una lista de instrucciones (sentencias) que le dicen al ordenador qué hacer con las variables. Las variables pueden representar datos numéricos, caracteres,... Bloque 2: ingredientes : cómo escribimos los datos que hemos de utilizar Bloque 3: instrucciones : cómo escribimos las órdenes que se han de ejecutar
Tema 2 Introducción a la Programación en C.
Tema 2 Introducción a la Programación en C. Contenidos 1. Conceptos Básicos 1.1 Definiciones. 1.2 El Proceso de Desarrollo de Software. 2. Lenguajes de Programación. 2.1 Definición y Tipos de Lenguajes
FUNDAMENTOS DE INFORMATICA
Programa de la asignatura: FUNDAMENTOS DE INFORMATICA Titulación: TITULO DE INGENIERO TECNICO INDUSTRIAL: ESPECIALIDAD EN QUÍMICA INDUSTRIAL Centro: ESCUELA UNIVERSITARIA DE INGENIERIA TECNICA INDUSTRIAL
C1 INTRODUCCIÓN AL LENGUAJE C. Fundamentos de Informática Departamento de Ingeniería de Sistemas y Automática. EII. Universidad de Valladolid
C1 INTRODUCCIÓN AL LENGUAJE C Fundamentos de Informática Departamento de Ingeniería de Sistemas y Automática. EII. Universidad de Valladolid Índice 1. Lenguajes de Programación 1. Definición. 2. Niveles
HISTORIA DE C Creado entre 1972 por Brian Kernighan y Dennis Ritchie para escribir el código del sistema operativo UNIX. A mediados de los ochenta se
LENGUAJE DE PROGRAMACION C Introducción al Lenguaje HISTORIA DE C Creado entre 1972 por Brian Kernighan y Dennis Ritchie para escribir el código del sistema operativo UNIX. A mediados de los ochenta se
SYLLABUS de la Asignatura. Programación INF1201
Sazie 2325, 3er Piso, Santiago +56 2 661 8256 SYLLABUS de la Asignatura Programación INF1201 1. Descripción de la asignatura El estudiante aprenderá a analizar un problema y plantear una solución racionalmente,
Lenguajes de Cuarta Generación
Lenguajes de Cuarta Generación Diana Marcela SánchezS http://www.csi.map.es/csi/metrica3/index.html www.csi.map.es/csi/metrica3/ /metrica3/index.htmlindex.html Que es un programa? La unión de una secuencia
Estructura de Computadores Grado en Ingeniería Informática Curso
Estructura de Computadores Grado en Ingeniería Informática Curso 2016-2017 Presentación de la asignatura Área de Arquitectura y Tecnología de Computadores Escuela Superior de Informática de Ciudad Real
Analista Universitario en Sistemas. Taller de Programación II. Instituto Politécnico Superior INTRODUCCIÓN
INTRODUCCIÓN 1 Docentes: - Bottallo, Diego - Ramis, Pablo - Villar, Fernando WEB de la materia http://www.fceia.unr.edu.ar/~diegob/taller1 Plan de la materia http://www.fceia.unr.edu.ar/~diegob/taller1/plan.html
Tema 2: Introducción a los Computadores
Tema 2: Introducción a los Computadores Arquitectura Von Neumann Fases de ejecución de una instrucción Lenguajes de programación Simulador MSX88 Bibliografía básica Fundamentos de los Computadores (Capítulo
Sistema electrónico digital (binario) que procesa datos siguiendo unas instrucciones almacenadas en su memoria
1.2. Jerarquía de niveles de un computador Qué es un computador? Sistema electrónico digital (binario) que procesa datos siguiendo unas instrucciones almacenadas en su memoria Es un sistema tan complejo
FUNDAMENTOS DE INFORMÁTICA
UNIVERSIDAD DE MÁLAGA Dpto. Lenguajes y CC. Computación E.T.S.I. Telecomunicación FUNDAMENTOS DE INFORMÁTICA Tema 1 Programación I Programación I 0 Tema 1: FUNDAMENTOS DE INFORMÁTICA Tema 1: FUNDAMENTOS
Algoritmos y Lenguajes de Programación
Introducción y horario Algoritmos y Lenguajes de Programación 543242-2 [email protected] Código: 543242-2 Carrera: Ing. Civil Electrónica Clases 7 de Marzo a 28 de Junio Horario clases Martes, 9:10 a
Fundamentos de Programación 2017-I
Fundamentos de Programación 2017-I Fundamentos para la construcción de código a partir del algoritmo Objetivo: El alumno construirá programas utilizando el lenguaje de programación C a través de un análisis
FUNDAMENTOS DE PROGRAMACIÓN. Algoritmos y Programas
FUNDAMENTOS DE PROGRAMACIÓN Algoritmos y Programas Dato La palabra proviene del latín datum, forma del verbo dare dar, que significa Lo que es dado Representación de una información de manera adecuada
FUNCIONAMIENTO DEL ORDENADOR
FUNCIONAMIENTO DEL ORDENADOR COMPUTACIÓN E INFORMÁTICA Datos de entrada Dispositivos de Entrada ORDENADOR PROGRAMA Datos de salida Dispositivos de Salida LOS ORDENADORES FUNCIONAN CON PROGRAMAS Los ordenadores
Laboratorio de Arquitectura de Redes. Introducción al lenguaje C
Laboratorio de Arquitectura de Redes Introducción al lenguaje C Introducción al lenguaje C Introducción Características del lenguaje C Funciones en C Identificadores o etiquetas Las librerías y el linkado
Contenidos: Definiciones:
Contenidos: Definiciones. Esquema de un ordenador. Codificación de la información. Parámetros básicos de un ordenador. Programas e instrucciones. Proceso de ejecución de una instrucción. Tipos de instrucciones.
Programación I Teoría I.
Programación I Teoría I http://proguno.unsl.edu.ar Horarios Teorías: Jueves 8:00 10:00; aula 58 (Bloque 2) Prácticas: Comisión 1: Licenciatura Martes de 10 a 13 en sala 7, bloque 2 jueves de 10 a 13 en
Capítulo 3 CICLO DE VIDA DE UN PROGRAMA. Presentación resumen del libro: "EMPEZAR DE CERO A PROGRAMAR EN lenguaje C"
Presentación resumen del libro: "EMPEZAR DE CERO A PROGRAMAR EN lenguaje C" Autor: Carlos Javier Pes Rivas ([email protected]) Capítulo 3 CICLO DE VIDA DE UN PROGRAMA 1 OBJETIVOS Saber qué es la Ingeniería
INICIACIÓN A LA PROGRAMACIÓN 1ª parte
TEMA 4 INICIACIÓN A LA PROGRAMACIÓN 1ª parte Qué es la programación? La programación es el proceso de diseñar, codificar, depurar y mantener el código fuente de programas computacionales. En la actualidad,
INTRODUCCIÓN A COMPILADORES Y LENGUAJES FORMALES FUNDAMENTOS DE COMPILADORES
Todos los derechos de propiedad intelectual de esta obra pertenecen en exclusiva a la Universidad Europea de Madrid, S.L.U. Queda terminantemente prohibida la reproducción, puesta a disposición del público
Tema: Introducción a la Programación Estructurada
Tema: Introducción a la Programación Estructurada 1 Objetivos Mostrar el contexto en el que se desarrolla la asignatura. Comprender algunos conceptos como el de algoritmo y programa. Entender las tareas
EL LENGUAJE C. INTRODUCCIÓN y AMBIENTES.
FUNDAMENTOS DE PROGRAMACIÓN EL LENGUAJE C. INTRODUCCIÓN y AMBIENTES. Fundamentos de Programación. Página 0 de 16 Historia. C es un lenguaje de programación de alto nivel y de propósito general que fue
INTRODUCCION AL LENGUAJE C PARA SISTEMAS EMBEBIDOS
INTRODUCCION AL LENGUAJE C PARA SISTEMAS EMBEBIDOS QUE ES UN SISTEMA EMBEBIDO? Es un sistema electrónico que está contenido dentro de un dispositivo electromecánico y es diseñado para realizar una aplicación
Es un lenguaje estructurado, tiene una abundante cantidad de operadores y tipos de datos.
Lenguaje C Un poco de historia C es un lenguaje de propósito general, es decir, se pueden desarrollar aplicaciones de diversas áreas. Dentro de sus principales características podemos mencionar que: Es
Presentación del Curso Presencial. Programación en Java Nivel Básico
Presentación del Curso Presencial Programación en Java Nivel Básico Tabla de contenido Presentación del curso... 3 Objetivos de aprendizaje... 6 Contenidos del curso... 7 Competencias previas... 9 Recursos...
Qué es un programa informático?
Qué es un programa informático? Un programa informático es una serie de comandos ejecutados por el equipo. Sin embargo, el equipo sólo es capaz de procesar elementos binarios, es decir, una serie de 0s
roducción a la programación con el lenguaje C usando el entorno de trabajo Dev-C. Nociones básicas de programación
There are no translations available. Introducción a la programación con el lenguaje C usando el entorno de trabajo Dev-C. roducción a la programación con el lenguaje C usando el entorno de trabajo Dev-C.
ESTRUCTURA DE COMPUTADORES GUÍA DOCENTE
ESTRUCTURA DE COMPUTADORES GUÍA DOCENTE OBJETIVOS Y COMPETENCIAS Con la y los ejercicios del documento relativo a esta asignatura se pretenden adquirir las competencias básicas relacionadas con la informática,
ROGRAMA DE CURSO Código Nombre EL4102. Arquitectura de Computadores Nombre en Inglés Computer Organization SCT
ROGRAMA DE CURSO Código Nombre EL4102 Arquitectura de Computadores Nombre en Inglés Computer Organization SCT Unidades Horas de Horas Docencia Horas de Trabajo Docentes Cátedra Auxiliar Personal 6 10 3
Introducción a la programación
Introducción a la programación PROGRAMACION I Grado en Matematicas Informática Programación I - 2015/2016 Introducción 1 Introducción a la programación Computador: aparato electrónico capaz de interpretar
Programación Estructurada
Programación Estructurada 1 Sesión No. 1 Nombre: El Lenguaje de programación C Contextualización Hoy en día existen múltiples lenguajes de programación que deben su origen a un lenguaje de programación
Nociones Básicas de un Sistema Computador. Clase 2 Introducción a la Programación
Nociones Básicas de un Sistema Computador Clase 2 Introducción a la Programación Antes de empezar a programar Veremos algunos conceptos muy básicos sobre: Computadoras Sistemas Operativos Programas, lenguajes
Lenguajes de Programación
Lenguajes de ción Bloque 1. Complemento a Tema 1 1. Historia 2. Paradigmas de programación 3. Fases creación de un programa 4. Traducción: compilación e interpretación 1ª Generación Ordenadores sólo entienden
Facultad de Ingeniería Industrial y de Sistemas v1.1 Pre Maestría LENGUAJES DE PROGRAMACION
LENGUAJES DE PROGRAMACION Preparado por: Angel Chata Tintaya ([email protected]) I. LENGUAJES DE PROGRAMACION 1. El hombre se comunica en su sociedad mediante el lenguaje natural; hablado, escrito,
Lenguaje C. República Bolivariana de Venezuela Fundación Misión Sucre Aldea Fray Pedro de Agreda Introducción a la Programación III
República Bolivariana de Venezuela Fundación Misión Sucre Aldea Fray Pedro de Agreda Introducción a la Programación III Lenguaje C 1 Puntos previos Los códigos fuentes generados en C requieren ser compilados
Intención didáctica Éste programa de estudio se sugiere que contenga una parte teórica y práctica. Por tanto se diseñó cinco unidades.
1.- DATOS DE LA ASIGNATURA: Nombre de la asignatura: Carrera: Clave de la asignatura: Horas teoría-horas prácticacréditos: Lenguaje de Programación Ingeniería Mecatrónica SRD-1005 2-3 - 5 2.- PRESENTACIÓN
Universidad Católica de Santiago del Estero Facultad de Matemática Aplicada Carrera de Ingeniería en Electrónica
INFORMATICA PROGRAMACIÓN DE CONTENIDOS UNIDAD Nº 1. Arquitectura de las computadoras. Introducción a la arquitectura de computadoras. Concepto de arquitectura de computadoras. Hardware y software. Generaciones
IFCD0111 Programación en Lenguajes Estructurados de Aplicaciones de Gestión
IFCD0111 Programación en Lenguajes Estructurados de Aplicaciones de Gestión 1. MÓDULO 1. MF0223_3 SISTEMAS OPERATIVOS Y APLICACIONES INFORMÁTICAS UNIDAD FORMATIVA 1. UF1465 COMPUTADORES PARA BASES DE DATOS
Un diagrama de flujo es un dibujo que utiliza símbolos estándar de diagramación de algoritmos para computadora, en el que cada paso del algoritmo se
Definición de diagrama de flujo Un diagrama de flujo es un dibujo que utiliza símbolos estándar de diagramación de algoritmos para computadora, en el que cada paso del algoritmo se visualiza dentro del
Tema 04: Lenguajes de programación y el lenguaje C
Tema 04: Lenguajes de programación y el lenguaje C M. en C. Edgardo Adrián Franco Martínez http://www.eafranco.com [email protected] @edfrancom edgardoadrianfrancom Estructuras de datos (Prof. Edgardo A.
INGENIERÍA EN COMPUTACIÓN. INGENIERÍA EN COMPUTACIÓN División Departamento Licenciatura
UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO FACULTAD DE INGENIERÍA PROGRAMA DE ESTUDIO FUNDAMENTOS DE PROGRAMACIÓN INGENIERÍA ELÉCTRICA 1 10 Asignatura Clave Semestre Créditos INGENIERÍA EN COMPUTACIÓN INGENIERÍA
Introducción a la Programación. Concepto de algoritmo. Algoritmos computacionales: pseudocódigo y diagramas de flujo. Programa.
Asignatura: Programación y Bases de Datos Carrera/s: Bioingeniería Ciclo Lectivo: 2015 Docente/s: Coordinador: Esp. Ing. Daniel Martin Morales Plantel Docente: Ing. Juan Eduardo Salvatore Carga horaria
Programación en Lenguajes Estructurados de Aplicaciones de Gestión. Certificados de profesionalidad
Programación en Lenguajes Estructurados de Aplicaciones de Gestión Certificados de profesionalidad Ficha Técnica Categoría Informática y Programación Referencia 33002-1404 Precio 170.36 Euros Sinopsis
Programa Regular. Programación y Bases de Datos es una materia obligatoria correspondiente al segundo año de la carrera de Bioingeniería.
Programa Regular Asignatura: Programación y Bases de Datos. Carrera/s: Bioingeniería Ciclo Lectivo: 1er cuatrimestre 2 año Docente/s: Esp. Ing. Daniel Martin Morales (coordinador). Ing. Juan Eduardo Salvatore.
Introducción a la programación
Introducción a la programación Conceptos Básicos El objetivo fundamental de éste curso es enseñar a resolver problemas mediante una computadora. El programador de computadoras es antes que nada una persona
Programación para Ingeniería Eléctrica
Programación para Ingeniería Eléctrica Ignacio Ramírez Instituto de Ingeniería Eléctrica, Facultad de Ingeniería, Universidad de la República. Montevideo, Uruguay. Montevideo, 2015 Agenda 1 Introducción
Acción que el procesador puede ejecutar sin necesidad de información suplementaria
TEMA 5: Algoritmos y programas Fundamentos de Informática (Ingeniería Técnica Industrial) Escuela Universitaria Politécnica Índice de contenidos 1. 2. 3. 4. Introducción. Conceptos básicos Representación
Unidad I: Organización del Computador. Ing. Marglorie Colina
Unidad I: Organización del Computador Ing. Marglorie Colina Arquitectura del Computador Atributos de un sistema que son visibles a un programador (Conjunto de Instrucciones, Cantidad de bits para representar
Tema 2 Conceptos básicos de programación. Fundamentos de Informática
Tema 2 Conceptos básicos de programación Fundamentos de Informática Índice Metodología de la programación Programación estructurada 2 Pasos a seguir para el desarrollo de un programa (fases): Análisis
Introducción. El proceso de traducción
Traductores y compiladores bajo + de abstracción 1945 1950 1968 1970 1990 11100110 0001 0110 10101001 1100 0011 11000011 1101 1100 MOVE AX #2 MOVE BX #3 MUL CX AX BX Fact = 1; For i:=0 to 10 fact := fact
FUNDAMENTOS DE INFORMÁTICA
PRIMER CURSO. INGENIERO QUÍMICO FUNDAMENTOS DE INFORMÁTICA Curso 2007-2008 Departamento de Ingeniería de Sistemas y Automática 1. PROFESORADO Manuel López Martínez (Coordinador) Amparo Núñez Reyes José
Unidad 2: Taller de Cómputo. Estructura y Componentes de la Computadora UNIDAD DOS: INTRODUCCIÓN
UNIDAD DOS: INTRODUCCIÓN Una computadora es una máquina electrónica diseñada para manipular y procesar información de acuerdo a un conjunto de ordenes o programas. para que esto sea posible se requiere
Estructura de Computadores Estructura y Tecnología de Computadores Curso
Estructura de Computadores Estructura y Tecnología de Computadores Curso 2009-2010 Presentación de la asignatura Área de Arquitectura y Tecnología de Computadores Escuela Superior de Informática de Ciudad
