Está en la página 1de 9

2 ESO - Tecnologa, Programacin y Robtica

Colegio San Juan Bosco

Programacin y algoritmos de control

Anlisis de problemas mediante algoritmos


Imagina que compras un mueble que se tiene que montar. Dentro de la caja hay un listado de
instrucciones que se indican cmo montar el mueble. La escena que se presenta es la siguiente:

Problema: mueble desmontado

Proceso que debes seguir: leer las instrucciones que indican cmo montar el mueble y
ejecutarlas en orden.

Objetivo: mueble montado

Un algoritmo es una lista de pasos organizados que establecen el proceso que se debe seguir para
obtener la solucin de un problema.
Algunos tipos de algoritmos cotidianos son:

Una ecuacin de primer grado indica el procedimiento para poder encontrar la incgnita

El orden secuencial que sigue un alumno de lunes a viernes desde que se levanta hasta que
se va al colegio

Una receta indica los pasos que se deben seguir para conseguir cocinar un plato
determinado.

Caractersticas de un algoritmo

Debe ser preciso, indicando diferentes acciones debidamente ordenadas

Las rdenes se tienen que entender perfectamente

Debe estar bien definido. Es decir, el resultado tiene que ser el mismo en caso de que se
repitan los mismos pasos.

Debe ser finito, es decir, tiene un nmero finito de pasos

Tiene que seguir la estructura siguiente:


o Entrada: Debe estar bien definida. El objetivo tiene que quedar claro para que se
pueda desarrollar el proceso.
1

2 ESO - Tecnologa, Programacin y Robtica

Colegio San Juan Bosco

o Proceso: Definir los datos iniciales, los que se esperan, las condiciones y las acciones
que se han de seguir.
o Salida: Precisar la forma de presentar el objetivo buscado.

Diagramas de flujo
Un diagrama de flujo sirve para representar de forma grfica un algoritmo. Utiliza smbolos y
flechas para indicar una secuencia de instrucciones.

Figuras para dibujar un diagrama de flujo


Para realizar diagramas de flujo hay que conocer algunas de las figuras principales que se utilizan
para su creacin. Estas figuras estn normalizadas y se pueden encontrar en la ISO 9001 de calidad.

Lenguajes de programacin
Para escribir los programas se utilizan diferentes lenguajes de programacin. Como toda lengua
(ingls, espaol, chino,....), los lenguajes de programacin tienen una sintaxis y un vocabulario para
que el ordenador pueda entender lo que le decimos. As, deberemos traducir lo que queremos que
haga el ordenador a un lenguaje de programacin.
Existen diferentes tipos de lenguajes de programacin:
De bajo nivel: son los que pueden ser comprendidos por la parte fsica del ordenador. Se
basa en el uso de 0 y 1 (lenguaje binario o cdigo mquina) y de algunas palabras
abreviadas (lenguaje ensamblador). Es el ms complicado de utilizar.
2

2 ESO - Tecnologa, Programacin y Robtica

Colegio San Juan Bosco

De alto nivel: son los que pueden ser comprendidos por los programadores, ya que son
bastante cercanos al lenguaje natural. En vez de ejecutarse directamente sobre elementos
fsicos del ordenador, estos lenguajes se refieren a las variables, objetos, funciones y otros
conceptos de informtica abstracta. Ejemplos de estos lenguajes son: Java, PHP, C,
JavaScript, Python, etc.

Componentes de un programa
Aunque los problemas que resuelven los programas informticos son muy diversos, existen una
serie de componentes comunes que se repiten en cualquier programa.

Variables
Una variable es una caja donde guardamos un dato, que podremos ver y recuperar ms adelante
durante el resto del programa (como la variable x de una ecuacin matemtica). Si no guardamos
ese dato en una variable, luego no podremos utilizarlo, ya que el programa no lo recordar. Adems,
en cualquier momento se puede cambiar ese valor guardado.
Una variable se crea dndole un nombre concreto e indicando el tipo de dato que puede guardar en
su interior. Slo puede contener el tipo de datos para el que lo hemos creado: nmeros naturales,
decimales, textos, etc.

Una variable puede ser global (puede ser vista y utilizada en cualquier parte del programa) o local
(se declara dentro de una funcin, impidiendo su funcionamiento dentro de ella).
Ejemplos
intedad=13; significa que la variable edad tiene en su interior guardado el valor entero 13.
Stringsaludo=Buenosdas, significa que la variable saludo tiene en su interior guardado

el texto Buenos das


En el caso de que la variable no deba cambiar su valor durante todo el programa, se dice que la
variable es constante. Las constantes se utilizan para que los programas sean ms legibles y fciles
de mantener.
Ejemplo
intvidasIniciales=3;significa que la constante vidasIniciales tiene en su interior guardado

el valor entero 3.
3

2 ESO - Tecnologa, Programacin y Robtica

Colegio San Juan Bosco

Operadores
Para manipular datos y crear expresiones complejas se utilizan distintos tipos de operadores. stos
se clasifican en: aritmticos, relacionales y lgicos.
Operadores aritmticos: toman valores numricos como sus operandos y devuelven un solo valor
numrico. Los operadores aritmticos ms habituales son:
Operador

Nombre

Descripcin

Ejemplo

Resultado

Suma

Suma de dos nmeros

2+3

Resta

Resta de dos nmeros

7-1

Producto

Multiplicacin de de dos nmeros

2*5

10

Divisin

Divisin de dos nmeros

27/9

Operadores relacionales: toman valores numricos o cadenas de caracteres como sus operandos y
los compara, devolviendo un valor lgico (verdadero o falso) basado en si la comparacin es
verdad o no. Los operadores relacionales son:
Operador Nombre

Descripcin

==

Igual

Devuelve verdadero si los dos operandos 4==4


son iguales

!=

Distinto

Devuelve verdadero si los dos operandos Hola!=Adis Verdadero


son diferentes

>

Mayor que Devuelve verdadero si el primer


operando es estrictamente mayor que el
segundo

9>9

Falso

>=

Mayor o Devuelve verdadero si el primer


igual que operando es mayor o igual que el
segundo

9>=9

Verdadero

<

Menor

5<4

Falso

<=

Menor o Devuelve verdadero si el primer


igual que operando es menor o igual que el
segundo

4<=1

Falso

Devuelve verdadero si el primer


operando es estrictamente menor que el
segundo

Ejemplo

Resultado
Verdadero

2 ESO - Tecnologa, Programacin y Robtica

Colegio San Juan Bosco

Operadores lgicos: toman valores lgicos y los compara, devolviendo un valor lgico (verdadero
o falso) basado en si la comparacin es verdad o no. Los operadores lgicos ms habituales son:
Operador Nombre

Descripcin

Ejemplo

Conjuncin

Devuelve verdadero si los dos (verdadero) Y (1!=3)


operandos son verdadero

Verdadero

Disyuncin

Devuelve verdadero si uno de los (1>2) O (8<3)


operadores es verdadero

Falso

No

Negacin

Devuelve el valor opuesto del


operando

Verdadero

No(falso)

Resultado

Instrucciones de control de bifurcacin


Instruccin SI (IF)
La instruccin IF comprueba si la condicin se cumple o no y ejecuta la siguiente instruccin en
funcin del resultado. Si el resultado es verdadero, va a la instruccin que acompaa al resultado. Si
el resultado es falso, el programa ignora la instruccin siguiente y contina.
Un ejemplo de sentencia condicional podra ser: Si empieza a llover, abrir el paraguas. Otro ms:
si se hace de noche, encender la linterna.
SI(condicin){sehaceesto;}

Instruccin SI..SI NO (IF..ELSE)


En muchos caso la sentencia SI no es suficiente. Para los casos en los que se quiera ejecutar una
instruccin cuando el resultado es falso se emplea la instruccin IFELSE.
Por ejemplo, si nos encontramos ante una puerta, la puerta tendr dos estados: abierta o cerrada. En
caso de que est abierta haremos una cosa (pasar) y, de lo contrario, en el caso de que est cerrada
haremos otra (llamar).
SI(condicin){sehaceesto}
SINO{sinocumplelacondicinsehaceestootro};

2 ESO - Tecnologa, Programacin y Robtica

Colegio San Juan Bosco

Instruccin SWITCHCASE
Esta instruccin permite seguir caminos diferentes dentro del algoritmo segn los valores entrantes.
Es equivalente a anidar varias instrucciones IF.
switch(variable){
casevalor1:instrucciones1;
break;
casevalor2:instrucciones2;
break;
[...]
casevalorN:instruccionesN;
break;
}
switch(dia){
case1:escribir(Hoyeslunes);
break;
case2:escribir(Hoyesmartes);
break;
[...]

2 ESO - Tecnologa, Programacin y Robtica

Colegio San Juan Bosco

Instrucciones de control de repeticin


Bucle DESDE (FOR)
Este bucle se utiliza para repetir una o ms acciones un determinado nmero de veces. Por tanto,
utilizamos el bucle DESDE slo cuando sabemos seguro el nmero de veces que queremos que se
ejecute una accin. Para contar el nmero de veces que lleva ejecutado el bucle, ste viene
acompaado de una variable a modo de contador.
desdeindice=iniciohastaindice=final{sehaceesto};
desdeindice=1hastaindice=100{
escribirMeportarbienenclase;
}

Bucle MIENTRAS (WHILE)


Este bucle se utiliza cuando queremos repetir la ejecucin de unas acciones un nmero indefinido
de veces, mientras que se cumpla una condicin..
mientras(condicin){sehaceesto};

2 ESO - Tecnologa, Programacin y Robtica

Colegio San Juan Bosco

escribirDeseassalirdeljuego(S/N)?
leerletra;
mientras(letra<>Soletra<>N){
escribirDeseassalirdeljuego(S/N)?;
leerletra;
}

Programas informticos
Un programa informtico es un conjunto de instrucciones, es decir, un algoritmo, que se ejecuta en
un ordenador, telfono u otros dispositivos para realizar determinadas funciones. Es el software del
ordenador.
Existen tres tipos de programas informticos:

Programas informticos de sistemas: permiten que el usuario no tenga que ocuparse de la


gestin ni de las caractersticas internas del hardware: memoria, discos, puertos, etc.
8

2 ESO - Tecnologa, Programacin y Robtica

Colegio San Juan Bosco

Un claro ejemplo de este tipo de programas es el sistema operativo, pues permite el


mantenimiento, control, diagnstico y optimizacin del equipo informtico.

Programas informticos de programacin: permiten crear programas informticos. Se


incluyen en esta categora: editores de texto, compiladores, depuradores y entornos de
desarrollo integrado.

Programas informticos de aplicacin: permiten a los usuarios realizar tareas especficas.


Existen una gran variedad de este tipo de programas: editores de imagen, antivirus,
programas ofimticos, reproductores multimedia, etc.