Documentos de Académico
Documentos de Profesional
Documentos de Cultura
program Saludo;
begin
write('Hola');
end.
El equivalente en lenguaje C resulta algo ms difcil de leer, porque los programas en C
suelen necesitar incluir bibliotecas externas y devolver cdigos de error (incluso cuando
todo ha ido bien):
#include <stdio.h>
int main()
{
printf("Hola");
return 0;
}
En C# hay que dar todava ms pasos para conseguir lo mismo, porque, como veremos,
cada programa ser "una clase":
public class Saludo
{
public static void Main()
{
System.Console.WriteLine("Hola");
}
}
Como se puede observar, a medida que los lenguajes evolucionan, son capaces de
ayudar al programador en ms tareas, pero a la vez, los programas sencillos se vuelven
ms complicados. Afortunadamente, no todos los lenguajes siguen esta regla, y algunos
se han diseado de forma que las tareas simples sean (de nuevo) sencillas de
programar. Por ejemplo, para escribir algo en pantalla usando el lenguaje Python
haramos:
print("Hello")
Por el contrario, los lenguajes de bajo nivel son ms cercanos al ordenador que a los
lenguajes humanos. Eso hace que sean ms difciles de aprender y tambin que los
fallos sean ms difciles de descubrir y corregir, a cambio de que podemos optimizar al
mximo la velocidad (si sabemos cmo), e incluso llegar a un nivel de control del
ordenador que a veces no se puede alcanzar con otros lenguajes. Por ejemplo, escribir
Hola en lenguaje ensamblador de un ordenador equipado con el sistema operativo
MsDos y con un procesador de la familia Intel x86 sera algo como
Revisin 0.99zb Pgina 10
dosseg
.model small
.stack 100h
.data
saludo db 'Hola',0dh,0ah,'$'
.code
main proc
mov
mov
mov
mov
int
mov
int
main endp
end main
ax,@data
ds,ax
ah,9
dx,offset saludo
21h
ax,4C00h
21h
funcionarn en cualquier ordenador que tenga instalada dicha "plataforma .Net", algo
que suele ocurrir en las versiones recientes de Windows y que se puede conseguir de
forma un poco ms artesanal en plataformas Linux y Mac, gracias a un "clon" de la
"plataforma .Net" que es de libre distribucin, conocido como "proyecto Mono".
Ejercicios propuestos
0.4. Pseudocdigo
A pesar de que los lenguajes de alto nivel se acercan al lenguaje natural (ingls), que
nosotros empleamos, es habitual no usar ningn lenguaje de programacin concreto
cuando queremos plantear iniciamente los pasos necesarios para resolver un problema,
Revisin 0.99zb Pgina 13
sino emplear un lenguaje de programacin ficticio, no tan estricto, muchas veces incluso
en espaol. Este lenguaje recibe el nombre de pseudocdigo.
Esa secuencia de pasos para resolver un problema es lo que se conoce como algoritmo.
Realmente es algo un poco ms estricto que eso: por ejemplo, un algoritmo debe estar
formado por un nmero finito de pasos. Por tanto, un programa de ordenador es un
algoritmo expresado usando un lenguaje de programacin.
Por ejemplo, un algoritmo que controlase los pagos que se realizan en una tienda con
tarjeta de crdito, escrito en pseudocdigo, podra ser:
Leer banda magntica de la tarjeta
Conectar con central de cobros
Si hay conexin y la tarjeta es correcta:
Pedir cdigo PIN
Si el PIN es correcto
Comprobar saldo_existente
Si saldo_existente >= importe_compra
Aceptar la venta
Descontar importe del saldo.
Fin Si
Fin Si
Fin Si
Como se ve en este ejemplo, el pseudocdigo suele ser menos detallado que un
lenguaje de programacin "real" y expresar las acciones de forma ms general,
buscando concretar las ideas ms que la forma real de llevarlas a cabo. Por ejemplo, ese
"conectar con central de cobros" correspondera a varias rdenes individuales en
cualquier lenguaje de programacin.
Ejercicios propuestos
Proceso EjemploDeSuma
Escribir 2+3
FinProceso