











































Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Prepara tus exámenes
Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Prepara tus exámenes con los documentos que comparten otros estudiantes como tú en Docsity
Encuentra los documentos específicos para los exámenes de tu universidad
Estudia con lecciones y exámenes resueltos basados en los programas académicos de las mejores universidades
Responde a preguntas de exámenes reales y pon a prueba tu preparación
Consigue puntos base para descargar
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Comunidad
Pide ayuda a la comunidad y resuelve tus dudas de estudio
Ebooks gratuitos
Descarga nuestras guías gratuitas sobre técnicas de estudio, métodos para controlar la ansiedad y consejos para la tesis preparadas por los tutores de Docsity
telecomunicaciones, progrmación i, unievrsidad de vigo
Tipo: Apuntes
1 / 51
Esta página no es visible en la vista previa
¡No te pierdas las partes importantes!












































GETT - Curso 2019-
▪ Estructura y operativa de un ordenador ▪ Cómo llega un programa al ordenador ▪ Cómo se escribe un programa ▪ Proceso de desarrollo del software ▪ Ejemplos de programación sencillos ▪ Conceptos de ingeniería del software
▪ Ordenador = máquina que puede almacenar y procesar información ▪ El comportamiento de un ordenador está controlado por un programa que reside en su interior Máquina Datos de entrada Datos de salida Ordenador Datos de entrada Datos de salida Programa
▪ La memoria principal consiste en una serie de celdas de memoria (palabras) ▫ Cada celda de memoria tiene una dirección (posición en la memoria) » y consiste en una secuencia de bits, organizada en bytes ▫ Una instrucción de un programa ocupa 1 o más celdas » En código máquina
▪ Periféricos ▫ Unidades de entrada y salida: teclado, ratón, pantalla ▫ Almacenamiento secundario Datos de entrada Datos de salida Almacenamiento secundario Otros periféricos Memoria primaria Programa ALU CU Datos
▪ El programador escribe el programa en un lenguaje de alto nivel ▫ Texto escrito normal => independiente de la CPU => portable ▫ Usando un editor de textos (que también es un programa!) ▫ Llamamos a esto código fuente ▫ Se guarda en la memoria secundaria como un archivo de texto Almacenamiento secundario Memoria principal Editor de texto Código fuente Código fuente program.c
▪ El texto del programa (código fuente) debe traducirse a código máquina ▫ Mediante un compilador (de nuevo otro programa!) ▫ Comprueba que el texto del fichero cumpla con las reglas del lenguaje => si es sintácticamente correcto ▫ Si lo es, produce un módulo objeto en código máquina y lo almacena en la memoria secundaria ▫ Por el contrario, si descubre un fallo, muestra un mensaje de error en la pantalla Almacenamiento secundario Memoria principal Código fuente Módulo objeto Código fuente^ program.c Compilador Módulo objeto (^) program.o
▪ Para poder ejecutar un programa, debemos volver a situar el módulo cargable en la memoria principal ▪ ¿Cómo sabe el ordenador qué programa (editor, compilador, enlazador, nuestro programa) es el que debe ejecutar? ▪ Mediante el sistema operativo: un programa (como no) en permanente ejecución ▫ Acepta comandos del usuario ▫ Si un comando implica la ejecución de un programa, el SO: » Lo localiza en la memoria secundaria » Lo carga en la memoria principal y » Le pasa el control. Almacenamiento Memoria principal^ secundario Sistema Operativo Program program
▪ Lenguaje máquina ▫ Directamente inteligibles por la máquina (las instrucciones son cadenas binarias) ▪ Lenguaje de bajo nivel o ensamblador ▫ Cercano a la máquina, necesita traducción (ensamblador) AO ▪ Lenguaje de alto nivel ▫ Cercano a las personas, necesita traducción PI, PII Lenguaje de programación: Conjunto de reglas semánticas y sintácticas que permiten la comunicación con el ordenador
▪ Le da al programador libertad para controlar el ordenador con detalle (a bajo nivel) ▪ La mayor parte de los sistemas operativos están escritos en C ▪ La monitorización es laxa = > es fácil cometer errores Lenguaje de programación “C”: es un lenguaje de alto nivel a bajo nivel
Comando Genera Significa emacs myprog.c & (^) myprog.c Código fuente gcc myprog.c (^) a.out Código ejecutable (módulo cargable) gcc myprog.c –o myprog (^) myprog Código ejecutable (módulo cargable) gcc –c mylib.c mylib.o Módulo objeto gcc mylib.o myprog.c –o myprog (^) myprog Código ejecutable (módulo cargable) gcc –Wall myprog.c –o myprog (^) myprog Genera TODAS las advertencias Código ejecutable (módulo cargable) Lenguaje de programación “C”: es un lenguaje de programación en alto nivel a bajo nivel
▪ Programar = construir un programa ▫ No es solo escribir un código ▫ Analogía: construir una casa » No es solo poner un ladrillo encima de otro » Preparación cuidadosa: uso que se le va a dar, dibujar los planos, hacer cálculos, … ▪ Objetivo: proporcionar un programa de alta calidad ▫ Dentro de las restricciones de tiempo y coste dadas, ▫ Que cumpla con las demandas del cliente, y ▫ Que sea fiable, esté bien documentado y sea sencillo de mantener ▪ Es necesaria una aproximación bien estructurada => Ingeniería del software ▫ https://medium.com/edge-coders/software-engineering-is-different-from- programming-b108c135af