You are on page 1of 9

Sentencias:

Las sentencias son acciones algortmicas que pueden ser ejecutadas. Hay dos tipos
principales de sentencias:

Sentencias simples

Sentencias estructuradas

Sentencias simples:
Una sentencia simple es una sentencia que no contiene a ninguna otra sentencia.

Ejemplo:
Si (Nota > 15) entonces
Escribir Estudiante eximido
Eximidos = Eximidos + 1
fin si

Sentencia de asignacin:
Asignacin interna: Es utilizada para almacenar valores en variables.

Referencia a variable representa una variable e Identificador de funcin el nombre de


una funcin y expresin representa una constante o una variable o una expresin
propiamente dicha. La flecha representa la asignacin.
Se evala la expresin y el resultado es asignado a la variable o al identificador de la
funcin ubicada en el miembro izquierdo de la asignacin. Debe existir una
correspondencia de tipos entre, el resultado de la expresin, y el tipo definido para la
variable, caso contrario se generar un error de incompatibilidad de tipos. La expresin
podr estar formada por, una constante, una variable o una expresin propiamente dicha, en
cambio en el miembro izquierdo de la asignacin solo podr especificarse un objeto
variable o el nombre de la funcin dentro de su propio bloque. Cualquier valor previo que
tuviera la variable en la parte izquierda de la asignacin es reemplazado por el nuevo valor
asignado, por lo tanto, la asignacin es destructiva. Cualquier variable situada en la parte
derecha de la asignacin deber tener un valor previamente asignado, debido a que deber
leerse su contenido.
Ejemplos:

a <-- 4; a toma el valor constante entero 4


b <-- a; b toma el valor de a
b <-- b + 3 b toma el valor de b + 3
ApeNom <-- Perez Juan ApeNom toma el valor constante de cadena
x <-- sqrt(25) de qu tipo definira a x?
Car <-- h

Cociente <-- b div a


Resto <-- b mod a
existe <-- true existe y negativo son de tipo boolean.
Negativo <-- x MENOR 0

La sentencia GOTO
La sentencia goto se utilizaba mucho en los primeros lenguajes de programacin porque era
la nica manera de saltar de una instruccin del programa a otra.
La forma que tiene de trabajar es la siguiente:

Se pone al principio de una lnea una etiqueta. Es como una seal que marca el sitio

Y se hacen llamadas a GOTO desde otras partes del cdigo indicando la etiqueta de
la instruccin que se quiere ejecutar a continuacin

muy importante!! Se ha comentado algo sobre el goto por curiosidad e historia, pero
olvdate de que existe. Es una mala herramienta de programacin y se puede cambiar por
las sentencias de control repetitivas y alternativas
Ejemplo:
En BASIC, las etiquetas se sentencian igual que en C, con dos puntos al final.
:PRINT "Prueba de GOTO en QBASIC"
:GOTO prueba
:PRINT "Esto no se ve porque hemos saltado a la etiqueta llamada prueba"
:prueba:
:PRINT "GOTO realizado correctamente!"

http://teleformacion.edu.aytolacoruna.es/PASCAL/document/conten.htm

Estructuras de control de programas


Sentencias estructuradas
Las sentencias estructuradas son construcciones compuestas por otras sentencias que son
ejecutadas en secuencia, condicionalmente o repetidamente.

Si ( x > 0 ) entonces
Si ( y < 0.5) entonces
y=a*x
fin si
a=x+y
fin si

Sentencias compuestas:
En numerosas ocasiones, en vez de realizar slo una accin, cuando se cumpla o no se
cumpla una determinada condicin, se deben realizar diferentes acciones. Esto es posible
gracias a las sentencias compuestas. Una sentencia compuesta es un conjunto de sentencias
separadas por puntos y comas y encerradas entre las palabras begin y end.
Ejemplo 1:
Begin
Readln (Numero);
Numero: = Numero+1;
Write (`El nmero es `,Numero)
End.

La estructura condicionales
Nos permiten ejecutar una serie de instrucciones si cumple una determinada condicin que
nosotros le indiquemos. Es importante recordar que la condicin debe dar un
resultado booleano, por lo que lo ms normal es usar
operadores relacionales y condicionales. Tenemos varios tipos de estructuras condicionales:
if: le indicamos una condicin si esta es verdadera se ejecuta, sino no se ejecuta las
instrucciones de dentro. Se suele traducir como Si se cumple esta condicin haz esto.
Su sintaxis es:
Por ejemplo:
1 Module Module1
2
3
Sub Main()
4
5
Dim precio As Integer = 300
6
7
If precio > 100 Then
8
Console.WriteLine("El precio es mayor que 100")
9
End If
10
11
Console.ReadLine ()
12
13
End Sub
14
15 End Module

Donde colocamos la condicin, podemos colocar una variable booleana, ya que su valor
puede ser true o false.

if else: es como el anterior solo que despus de cerrarse la llave de if, se aade
else sin indicarle ninguna condicin. Esto sirve para que si la condicin del if no es
verdadera, ejecute otras instrucciones que estarn dentro de else. Se suele traducir
como Si se cumple esta condicin haz esto y sino haz esto.

Veamos un ejemplo:
1 Module Module1
2
3
Sub Main()
4
5
Dim precio As Integer = 50
6
7
If precio > 100 Then
8
Console.WriteLine("El precio es mayor que 100")
9
Else
10
Console.WriteLine("El precio es menor que 100")
11
End If
12
End Sub
13
14 End Module
En este caso, se ejecutara lo que hay en else ya que no cumple la condicin.

if -elseif: esta estructura es como una mezcla de los anteriores, esto nos permite, que
si no se cumple la condicin podamos indicar otra condicin para hacerlo an mas
especifico. Se suele traducir como Si se cumple esta condicin haz esto y sino si
cumple esta condicin haz esto.

Estructura de repeticin o bucle


Nos permite ejecutar un nmero de veces determinado una serie de instrucciones. La mayor
utilidad es evitar la repeticin de lneas de cdigo iguales. Para salir del bucle, se indica
una condicin, si esa condicin no se cumple se sale del bucle. Las estructuras de
repeticin son:

1
2
3

while: indicamos una condicin que se ejecutara hasta que la condicin sea falsa, es
importante que la variable que este en la condicin, vare para que no se produzca
un bucle infinito. Su sintaxis es:
While condicion
'instrucciones
End While

Veamos un ejemplo:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

Module Module1
Sub Main()
Dim num As Integer = 1
While num <= 5
Console.WriteLine(num)
num += 1
End While
Console.ReadLine()
End Sub
End Module

Como vemos, num vale 1 al principio, se comprueba la condicin, como 1 es menor o


igual que 5, entra en el bucle y ejecuta las instrucciones, y as sucesivamente hasta
que num vale 6, ya que 6 no es menor o igual que 5. Si num no fuera modificado, nunca
saldra del bucle.

for: este tipo de bucle, es como el anterior pero ademas de la condicin, incluye
una inicializacin de una variable y un incremento o decremento de esa variable, en
principio, no es necesario que incluya las 3 partes. Si no indicamos el incremento
por defecto es 1. NOTA: cuando salimos del bucle, la variable inicializada no
existe. Su sintaxis:

1 For inicializacion to limite step paso


2
'instrucciones
3 Next
Si nos fijamos, es como en while pero todo se define en el bucle. Veamos un ejemplo:
1
2
3
4
5
6

Module Module1
Sub Main()
For num As Integer = 1 To 5 Step 1
Console.WriteLine(num)

7
8
9
10
11
12
13

Next
Console.ReadLine()
End Sub
End Module

Fijate en la condicin, 1 to 5 es igual que 1<=5 Es el mismo ejemplo de antes pero mas
reducido

1
2
3
4
5
6
7
8

do-while: esta estructura repetitiva, tiene algo especial y es que como mnimo las
instrucciones dentro de la estructura repetitiva al menos una vez, mientras que
el while sus instrucciones pueden ejecutarse 0 o N veces. Se sale del bucle cuando
la condicin del while no se cumple, si esto pasa empieza desde el do. Se utiliza
para la validacin de datos. Su sintaxis es:

Do
'intrucciones
Loop While condicion
'Otra sintaxis
Do
'intrucciones
Loop Until condicion

Veamos un ejemplo:
1 Module Module1
2
3
Sub Main()
4
5
Dim num As Integer = 0
6
7
Do
8
Console.WriteLine("Introduce un nmero entre 0 y 10")
9
num = Console.ReadLine()
10
Loop While num >= 10 Or num < 0
11
12
Console.WriteLine("El numero introducido con Loop While es " & num)
13

14
Do
15
Console.WriteLine("Introduce un nmero entre 0 y 10")
16
num = Console.ReadLine()
17
Loop Until num <= 10 Or num > 0
18
19
Console.WriteLine("El numero introducido con Loop Until es " & num)
20
21
Console.ReadLine()
22
23 End Sub
24
25 End Module
Tenemos que pensar bien la condicin de salida. En nuestro caso, si insertamos un 5
(5>=10 or 5<0) devolvera falso, saliendo del bucle. Si insertramos un -1 (-1>=10 or
5<o) devolvera verdadero, haciendo que vuelva a pedir un nmero.
La diferencia entre loop while y loop until es la salida del bucle, con loop while, la
condicin indicada debe ser false para salir del bucle y con loop until, la condicin debe
ser true para salir del bucle.
La posicion de while o until se puede poner delante de do o de loop, pero recomiendo que
sea siempre despus de loop.
Por ltimo, tenemos la estructura de repeticin For Each pero lo veremos ms detallamente
ms adelante cuando usemos estructuras ms complejas.
Espero que os sea de ayuda. Si tenis dudas, preguntad, estamos para ayudarte.

You might also like