Tema 1: Introducción a la Programación
Oscar Perpiñán Lamigueiro
Oscar Perpiñán Lamigueiro Tema 1: Introducción a la Programación 1 / 13
¿Por qué programar?
¿Qué hay dentro de un ordenador?
¿Cómo funciona un ordenador?
Algoritmo y Programa Informático
Algoritmo: método para resolver un problema.
Programa informático:
▶ una colección de instrucciones expresadas de forma que un ordenador pueda realizar
una tarea.
▶ es una implementación del algoritmo para un determinado sistema informático.
Lenguaje máquina: los ordenadores utilizan el sistema de numeración binario (dos
dígitos, 0 y 1) para almacenar información.
Las instrucciones del programa deben estar codificadas como sucesiones de 0s y 1s.
01001000 01101111 01101100 01100001
Oscar Perpiñán Lamigueiro Tema 1: Introducción a la Programación 5 / 13
¿Qué es un lenguaje de programación?
Un lenguaje artificial que emplea expresiones similares al lenguaje humano y un
traductor para convertir a código binario.
Lenguaje de bajo nivel: similar al lenguaje máquina, adaptado a un procesador
concreto.
Lenguaje de alto nivel: similar al lenguaje natural, de uso general.
Oscar Perpiñán Lamigueiro Tema 1: Introducción a la Programación 6 / 13
Ejemplo de lenguaje de bajo nivel
Ensamblador
STACK SEGMENT STACK
DW 64 DUP (?)
STACK ENDS
DATA SEGMENT
SALUDO DB Hola Mundo",13,10,"$" ; Cadena
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE, DS:DATA, SS:STACK
INICIO:
MOV AX,DATA
MOV DS,AX
MOV DX,OFFSET SALUDO
MOV AH,09H
INT 21H
MOV AH,4CH
INT 21H
CODE ENDS
END INICIO
Oscar Perpiñán Lamigueiro Tema 1: Introducción a la Programación 7 / 13
Ejemplo de lenguaje de alto nivel
Python
print "Hola Mundo"
R
print("Hola Mundo")
Más Ejemplos
[Link]
Ejemplos_de_implementaci%C3%B3n_del_%C2%ABHola_mundo%C2%BB
Oscar Perpiñán Lamigueiro Tema 1: Introducción a la Programación 8 / 13
Lenguajes de alto nivel
[Link]
Oscar Perpiñán Lamigueiro Tema 1: Introducción a la Programación 9 / 13
C
Características
Lenguaje de nivel medio.
De propósito general
Compacto (sólo 32 palabras)
Estructurado. Permite reutilizar el código.
Funciona en plataformas diferentes.
Historia
C (Ritchie, 1972. Laboratorios Bell).
ANSI C American National Standards Institute C (1989).
C99 (ISO/IEC 9899, 1999).
Oscar Perpiñán Lamigueiro Tema 1: Introducción a la Programación 10 / 13
Ejemplo de programa en C
#include <stdio.h>
int main()
{
printf("Hola Mundo\n");
return 0;
}
Oscar Perpiñán Lamigueiro Tema 1: Introducción a la Programación 11 / 13
Desarrollo de programas en C
Oscar Perpiñán Lamigueiro Tema 1: Introducción a la Programación 12 / 13
Cómo programar
Extraído de Best Practices for Scientific Computing
Write programs for people, not computers.
Automate repetitive tasks
Use the computer to record history
Make incremental changes
Use version control
Don’t repeat yourself (or others)
Plan for mistakes
Optimize software only after it works correctly
Document design and purpose, not mechanics
Collaborate
Oscar Perpiñán Lamigueiro Tema 1: Introducción a la Programación 13 / 13