Está en la página 1de 26

Instrucciones Condicionales

Instrucciones de Entrada y Salida

Lectura y Escritura
• Lectura: establece el valor de una variable a través de un dispositivo de entrada.
• Escritura: permite comunicar el valor de una expresión a través de un dispositivo
de salida.
Cuando se lee desde teclado se leen números enteros, reales o caracteres.
Se escriben números enteros, reales o caracteres.
Ejemplos.
algoritmo ejemplo
var n: entero; x: real; c: carácter; fvar
LeerEntero(n);
EscribirEntero(n);
LeerReal(x);
EscribirReal(x);
LeerCarácter(c);
EscribirCarácter(c)
falgoritmo
Lectura de datos

algoritmo leer_variables
var n: entero; x: real; c: carácter; b: booleano fvar
LeerEntero(n); LeerReal(x);
LeerCarácter(c); LeerBooleano(b);
...
falgoritmo
Notación alternativa:
algoritmo leer_variables
var n: entero; x: real; c: carácter; b: booleano fvar
n:=LeerEntero( );
x:=LeerReal( );
c:=LeerCarácter( );
b:=LeerBooleano( ) ...
falgoritmo

3
1.6.- Instrucciones

La notación anterior se puede simplificar utilizando las instrucciones leer(variable),


escribir(variable), así como instrucciones de lectura y escritura múltiple. También
se pueden escribir mensajes de texto, siempre que éstos se escriban entre comillas.
algoritmo ejemplo
var n: entero; x: real; c: carácter; fvar
escribir(“Introduzca un entero, un real y un carácter:”);
leer(n, x, c); escribir(n, x, c)
falgoritmo

4
EN C:
#include <stdio.h>
#include <stdlib.h>

int main(void)
{
int n, suma;
printf("Introduzca número :");
scanf("%d",&n);
suma=n*(n+1)/2;
printf(” La suma es: %d”, suma)

5
Python:

n =int( input(‘Introduzca número ‘))


suma=n*(n+1)/2
print(“ La suma es: ”, suma)

6
EN JAVA:

import java.util.*; //para usa Scanner


public class ProgramaSuma {
static public void main(String[] args) {
Scanner s = new Scanner(System.in);
int n, suma;
System.out.println(″Introduzca un numero? ″);

n = s.nextInt();

suma=n*(n+1)/2;
System.out.println(“ La suma es”, suma);

}
}

7
Secuenciación

Cuando tengamos más de una instrucción, utilizaremos la instrucción de


secuenciación. Las distintas instrucciones se separan con el signo “ ; “.

instrucción_1; instrucción_2; ... ; instrucción_k; ... ; instrucción_n

En este caso la instrucción_k no se ejecuta hasta que termina la ejecución


de las k-1 instrucciones anteriores.

8
Asignación

variable := expresión la variable toma el valor de la expresión


Ejemplos. n := 1 (entero); x := 9.8 (real);
c := ’e’ (carácter); b := VERDADERO (booleano);
Notas: El tipo de la variable y el de la expresión deben de ser iguales.
El valor que tenía la variable antes de la asignación se pierde.
Las variables cuando se declaran no tienen ningún valor concreto.
Siempre que trabajemos con una variable debemos darle un valor
inicial. Este proceso se denomina “inicialición de las variables”.

9
.

10
.

11
Instrucción condicional o alternativa (si … entonces … si no … fsi)

12
Instrucción condicional o alternativa (si … entonces … si no … fsi)

13
Instrucción condicional o alternativa (si … entonces … si no … fsi)

si expresión_booleana entonces
instrucciones_V [instrucciones que se ejecutan si la
expresión booleana es verdadera]
si no
instrucciones_F [instrucciones que se ejecutan si la
expresión booleana es falsa (opcional)]
fsi

Cuando hay varias condiciones se puede utilizar el siguiente esquema:


si
expresión_booleana_1  instrucciones_1
expresión_booleana_2  instrucciones_2
...
expresión_booleana_n  instrucciones_n
fsi

14
Python:

15
C:

16
Ejemplo java
public class Prog01 {
public static void main(String[] args)
{int n;
System.out.print("Introduce un número: ");
Scanner s = new Scanner(System.in);
n=s.nextInt();
if(n%2==0){
System.out.println(“El numero es par");
}
else {
System.out.println(“El numero es
impar”);
}
} 17
Ejemplo
1. Realizar un algoritmo que ingrese un número y
muestre el mes.
2. Realizar un algoritmo que ingrese un número y
muestre los días de la semana

18
Algoritmo Alg_calcula_nombremes
Inicio
Var v_mes:entero f_var
imprimir(“Ingrese el numero del mes”);
V_mes=leer_entero();

Si v_mes==1 entonces
imprimir(“Enero”);
Si v_mes=2 entonces
imprimir(“febrero”);

Si v_mes==12 entonces
imprimir(“Diciembre”)
F_si

F_Alg_calcula_nombremes

19
Ejemplo en python

20
Ejemplo en c

21
Ejemplo java
public class Prog01 {
public static void main(String[] args)
{int v_mes;
System.out.print("Introduce un número: ");
Scanner s = new Scanner(System.in);
V_mes=s.nextInt ();
if(v_mes==1){
System.out.println(“enero");
}
if(v_mes==2){
System.out.println(“febrero”);
}
}
If v_mes>12 || v_mes<0 {
System.out.println(“numero incorrecto”);
22
}
Ejercicio 3. Determinar las raíces de una ecuación de segundo grado

• Las raíces de la ecuación de segundo grado ax2+bx+c=0 se obtienen mediante la


fórmula x=(-b  (b2-4ac)1/2)  2a
• Esta expresión para x se obtiene
1. sustituyendo x por t-(b/2a) en la ecuación ax2+bx+c=0
2. despejando t
3. calculando el valor de x a partir del valor de t.

23
Ejemplo. Calcular el máximo de dos números dados.
algoritmo máximo
var x, y: real fvar (* Declaración de variables *)
LeerReal(x); (* Instrucción de lectura *)
LeerReal(y) (* Instrucción de lectura *)
si (x  y) entonces (* Instrucción alternativa *)
EscribirReal(x) (* Instrucción de escritura *)
si no
EscribirReal(y) (* Instrucción de escritura *)
fsi
falgoritmo

Ejemplo. Calcular el máximo de dos números teniendo en cuenta si son iguales.


algoritmo máximo=
var x, y: real fvar
LeerReal(x); LeerReal(y)
si
(x > y)  EscribirReal(x)
(x < y)  EscribirReal(y)
(x = y)  EscribirCadenadeCarateres(“Son iguales.”)
fsi 24
falgoritmo
algoritmo raíces de ecuación de segundo grado
var a, b, c, x, y, aux: real fvar
Escribir (“Introducir los coeficientes de mayor a menor grado, i.e., a, b y c
tales que la ecuación es ax^2+bx+c=0:”);
LeerReal(a); LeerReal(b); LeerReal(c);
aux := b2 - 4ac;
si
a = 0 y b = 0 —> Escribir(“No es una ecuación.”);
a = 0 y b  0 —> Escribir(“Ecuacion de primer grado con raiz:”);
x := -c/b; EscribirReal(x);
aux > 0 —> Escribir(“Tiene dos raices reales distintas:”);
x := (- b + aux 1/2 ) / 2a ; y := (- b - aux 1/2 ) / 2a;
EscribirReal(x) ; EscribirReal(y)
aux = 0 —> Escribir(“Tiene dos raices reales iguales:”);
x := - b / 2a ; y := x; EscribirReal(x)
aux < 0 —> Escribir(“Tiene dos raices complejas:”);
aux := (-aux) 1/2 ;
EscribirReal(-b/2a); EscribirCadenadeCaracteres(“+i”); EscribirReal(|aux/2a|) ;
EscribirCadenadeCaracteres(“\n”);
EscribirReal(-b/2a); EscribirCadenadeCaracteres(“-i”); EscribirReal(|aux/2a|)
fsi 25
falgoritmo
26

También podría gustarte