Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad


programacion i - teleco uvigo, Apuntes de Programación Informática

telecomunicaciones, progrmación i, unievrsidad de vigo

Tipo: Apuntes

2019/2020

Subido el 07/07/2020

jose-castro-7
jose-castro-7 🇪🇸

5

(1)

15 documentos

1 / 51

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
Programación I
GETT - Curso 2019-2020
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33

Vista previa parcial del texto

¡Descarga programacion i - teleco uvigo y más Apuntes en PDF de Programación Informática solo en Docsity!

Programación I

GETT - Curso 2019-

Tema 1. Algoritmos y

Lenguajes de

Programación

Contenido

▪ 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

Estructura y operativa de un ordenador

▪ 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

Estructura y operativa de un ordenador

▪ 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

  • Poco amigable y dependiente de la CPU
  • Por tanto, los programas se escriben en leguajes de alto nivel (C, java, ADA) ▫ Cualquier dato ocupa 1 o más celdas » Con un formato específico ▪ La información se puede guardar de un modo más permanente usando el almacenamiento secundario: ▫ Organizado en ficheros: » Programas » Datos de entrada/Datos de salida de un programa

Estructura y operativa de un ordenador

▪ 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

Cómo llega un programa al ordenador

▪ 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

Cómo llega un programa al ordenador

▪ 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

Cómo llega un programa al ordenador

▪ 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

Cómo se escribe un programa

▪ 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

Cómo se escribe un programa

▪ 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

Cómo se escribe un programa

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

Proceso de desarrollo del software

▪ 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

Proceso de desarrollo del software

  1. Análisis y especificación ▫ Determinar qué hay que hacer ▫ Resultado: Documento de especificación de requisitos » Debe ser aceptado por cliente y desarrollador ▫ Podría incluir un manual de usuario preliminar y los procedimientos de prueba
  2. Diseño ▫ Determinar cómo va el programa a satisfacer sus demandas ▫ Partes, interconexión, algoritmos, estructura de datos, interfaces de usuario ▫ Resultado: Descripción detallada del sistema + Manual de usuario
  3. Implementación ▫ Escribir el código y realizar pruebas parciales ▫ Resultado: código del programa + protocolos de pruebas finales Modelo Waterfall