You are on page 1of 36

Bachiller:

Frank D. Rivas A. CI. 26028773


ING. INFORMATICA
SECCION N02
SUBPROYECTO Algoritmo y Programacin I

Barinas, JUNIO del 2016.

INDICE

INTRODUCCION

DESARROLLO

A) Si Condicional (IF):
*SI (IF) Condicional: Los condicionales en C++, son una estructura de

control esencial al momento de programar y aprender a programar.


Tanto C como C++ y la mayora de los lenguajes de programacin
utilizados actualmente, nos permiten hacer uso de estas estructuras
para definir ciertas acciones condiciones especificas en nuestro
algoritmo. Un condicional, permite establecer una serie de condiciones
al interior de nuestro programa, que nos ayudan a determinar que
acciones llevar cabo dadas ciertas circunstancias, por ejemplo si
queremos decidir cundo dar acceso a un usuario, dependiendo de si el
nombre de usuario y contrasea son correctos, para algo como esto, es
til un condicional, nos permite verificar si determinada condicin se

cumple (en este caso si la contrasea y el nombre de usuario son


correctos) y de acuerdo a que se cumpla o no, llevar a cabo un conjunto
de acciones. Los condicionales aumentan la "expresividad" de un
software, es decir nos permiten considerar diferentes situaciones con
antelacin, evitando o permitiendo sortear diferentes tipos de
situaciones que son del inters de nuestra aplicacin.
EJEMPLO:
IF A=0 THEN
PRINT A VALE 0
ELSE
PRINT A NO VALE 0
2) IF (CONDICION A EVALUAR)//POR EJEMPLO 50<=10
{

BLOQUE DE INSTRUCIONES SI SE CUMPLE LA CONDICION...

}
ELSE
{

BLOQUE DE INSTRUCCIONES SI NO SE CUMPLE LA CONDICION

*SI (IF) CONDICIONAL COMPLEJO: Este programa lee un nmero entero


digitado por el usuario. Luego el programa prueba el valor usando una estructura
condicional simple para verificar si el nmero es negativo. S lo es, el programa imprime el
mensaje: "El valor es negativo". En otro caso, el programa no hace nada. El (b < 0) es la
parte de la estructura condicional que se denomina Expresin Booleana. C evala
(determina si es cierta o falsa) para decidir cundo imprimir o no imprimir el mensaje. Si la
expresin booleana se evala a verdadero (True), entonces C ejecuta el bloque de
instrucciones (dentro de llaves {}) o la instruccin que sigue a la estructura condicional. S
la expresin booleana es falsa (False), entonces C salta el bloque de instrucciones o la
instruccin que sigue a la estructura condicional.
EJEMPLO:
1) A continuacin se muestra un ejemplo un poco ms complejo:
#include <stdio.h>
int main ()
{
int valor;
printf ("Enter a value:");
scanf ("%d", &valor);
if (valor < 0)
printf ("\nEl valor es negativo\n");
else
if (valor == 0)
printf ("\nEl valor es cero\n");
else
printf ("\nEl valor es positivo\n");
return 0;
}
En este ejemplo, la estructura condicional despus de la primera aparicin de
else: if(valor == 0) evalua por un valor de cero y si es cierto C imprimir el
mensaje "El valor es cero", el segundo else corresponde a la ocurrencia de un
valor positivo, en este caso no se evalan ms condiciones debido a que luego
de haber evaluado las dos expresiones booleanas, solo queda la opcin de que
el valor sea positivo y por lo tanto no es necesario evaluar algo como if
(valor>0).
2) #include <stdio.h>

int main ()
{

int valor;
printf ("Digite un valor entero:");
scanf ("%d", &valor);
if (valor < 0)
printf ("\nEl valor es negativo\n");
return 0;
}

*SI (IF) CONDICIONAL ANIDADO:


Las sentencias if implementan decisiones que implican una o dos alternativas.
Una sentencia if es anidada cuando la sentencia de la rama verdadera o la
rama falsa es a su vez una sentencia if.
Una sentencia if anidada se puede utilizar para implementar decisiones con
varias alternativas o multi-alternativas.
EJEMPLO:
1) if (condicin1)
sentencia1
Else if (condicin2)
sentencia2

Else if (condicin)
Sentencia n
Else sentencia e

2)

if (condicin 1)
if (condicin 2)
Estatuto;
else // este else pertenece al if de la condicin 2, pues se
// Se asocia al if ms cercano estatuto;

Niveles de anidamiento en Visual Basic:


En Visual Basic, las estructuras de control pueden anidarse en tantos niveles
como se desee. A fin de que las estructuras anidadas sean ms fciles de leer,
es prctica habitual aplicar sangra al cuerpo de cada una. El editor del
entorno de desarrollo integrado (IDE) lo hace automticamente.
En el siguiente ejemplo, el procedimiento sumRows suma los elementos
positivos de cada fila de la matriz
Public Sub sum Rows (By Val a (,) As Double, ByRef r () As Double)
Dim i, j As Integer
For i = 0 To UBound(a, 1)
R (i) = 0
For j = 0 To UBound(a, 2)
If a(i, j) > 0 Then
R (i) = r (i) + a (i, j)
End If
Next j
Next i
End Sub

B) Estructura de control switch:

La sentencia switch selecciona una de

entre mltiples alternativas.


La forma general de esta expresin es la siguiente:
switch (expresin)
{
Case constante1:

Instrucciones;
Break;
Case constante 2:
Instrucciones;
Break;

Default:
Instrucciones;
}

En una instruccin switch, expresin debe ser una expresin con un valor
entero, y constante1, constante2, ..., deben ser constantes enteras, constantes
de tipo carcter o una expresin constante de valor entero. Expresin tambin
puede ser de tipo char, ya que los caracteres individuales tienen valores
enteros
Dentro de un case puede aparecer una sola instruccin o un bloque de
instrucciones.
La instruccin switch evala la expresin entre parntesis y compara su valor
con las constantes de cada case. Se ejecutarn las instrucciones de aquel case
cuya constante coincida con el valor de la expresin, y contina hasta el final
del bloque o hasta una instruccin que transfiera el control fuera del bloque del
switch (una instruccin break, o return). Si no existe una constante igual al
valor de la expresin, entonces se ejecutan las sentencias que estn a
continuacin de default si existe (no es obligatorio que exista, y no tiene
porqu ponerse siempre al final).
EJEMPLO:

1) De uso de la instruccin switch en C++. Programa que lee dos nmeros y


una operacin y realiza la operacin entre esos nmeros.
#include <iostream>
Using namespace std;
Int main (void)

{
Int A, B, Result ado;
Char operador;
Cout << "Introduzca un numero:";
Cin >> A;
Cout << "Introduzca otro numero:";
Cin >> B;
Cout <<"Introduzca un operador (+,-,*, /):";
Cin >> operador;
Resultado = 0;
Switch (operador)
{
Case '-: Result ado = A - B;
Break;
Case '+: Result ado = A + B;
Break;
Case '*: Result ado = A * B;
Break;
Case '/: Resultado = A / B; //suponemos B!=0
Break;
Default: cout << "Operador no valido"<< endl;
}
Cout << "El resultado es: ";
Cout << Resultado << endl;
System ("pause");
}

Otro ejemplo de uso de switch en C++. Programa que determina si un


carcter ledo es o no una vocal. En ese caso como la sentencia a
ejecutar por todas las etiquetas case es la misma, esta sentencia se
pone una nica vez al final:
#include <iostream>
Using namespace std;
Int main (void)
{
Char car;
Cout << "Introduzca un caracter: ";
Cin >> car;
Switch (car)
{
Case 'a':
Case 'A':
Case 'e':
Case 'E':
Case 'i':
Case 'I':
Case 'o':
Case 'O':
Case 'u':
Case 'U': cout << car << " es una vocal" << endl;
Break;
Default: cout << car << " no es una vocal" << endl;
}
System ("pause");

Estructuras de decisin (Visual Basic)


Visual Basic permite probar condiciones y realizar diferentes operaciones en
funcin de los resultados de la prueba. Puede comprobar si una condicin es
verdadera o falsa, los distintos valores de una expresin o las diferentes
excepciones que se generan al ejecutar una serie de instrucciones.
En el siguiente ejemplo se muestra una estructura de decisin que prueba si el
valor de una condicin es true y emprende distintas acciones en funcin del
resultado.

Emprender acciones diferentes cuando el valor de una condicin es true y


cuando es false.

Ejercicios propuestos condicional

IF

1) Dado como dato el sueldo de un trabajador, considere un aumento del 15%


si su sueldo es inferior a 1000 y de un 12% en caso contrario. Imprima el
sueldo con el aumento incorporado.

#include <cstdlib>
#include <iostream>
Using namespace std;
Int main ()
{
float Sueldo, Total, Aumento;
system (color F0);

cout<<\n\t***EJERCICIO 1 CONDICIONAL IF***\n\n;


cout<<\tDado como dato el sueldo de un trabajador, considere un aumento\n;
cout<<\tSi su sueldo es menor a 1000 se hara del 15%\n;
cout<<\tSi su sueldo es mayor o igual a 1000 se hara del 12%\n;
cout<<\tImprima el sueldo con el aumento incorporado\n\n;
cout<<\tEscriba el sueldo del trabajador\n\t;
cin>>Sueldo;
if (Sueldo<1000)
{
Aumento=Sueldo*.15;
Total=Sueldo+Aumento;
}
else
{
Aumento=Sueldo*.12;
Total=Sueldo+Aumento;
}
cout<<\n\tSu aumento es de: <<Aumento<< pesos\n;
cout<<\tEl sueldo con aumento es de: <<Total<< pesos\n\n\t;
system(PAUSE);
return 0;
}

2) En una tienda efectan un descuento a los clientes dependiendo del monto


de la compra. El descuento se efecta con base en el siguiente criterio.
Si
Si
Si
Si
Si

el
el
el
el
el

monto
monto
monto
monto
monto

es menor que 500 no hay descuento


est comprendido entre 500 y 1000 inclusive, el desc es de 5%
est comprendido entre 1000 y 7000 inclusive, el desc es del 11%
est comprendido entre 7000 y 15000 inclusive, el desc es del 18%
es mayor de 15000 el desc es del 25%

#include <cstdlib>
#include <iostream>
Using namespace std;
Int main ()
{
Float Compra, Total;

system (color F0);


cout<<\n\t***EJERCICIO 3 CONDICIONAL IF***\n;
cout<<\n En una tienda efectuan descuento a los clientes;
cout<<\n dependiendo del monto de la compra. El descuento;
cout<<\n se efectan con base en los siguientes criterios.;
cout<<\n\n *Si el monto es menor que 500 no hay descuento;
cout<<\n *Si la compra es entre 500 y menor a 1000 hay descuento de 5%;
cout<<\n *Si la compra es entre 1000 y menor a 7000 hay descuento de
11%;
cout<<\n *Si la compra es entre 7000 y menor a 1500 hay descuento de
18%;
cout<<\n *Si la compra es mayor o igual a 1500 hay descuento de 25%;
cout<<\n\n Introduzca el monto de la compra\n ;
cin>>Compra;
if (Compra<500)
Total=Compra;
else
{
if (Compra <1000)
Total = Compra-Compra*0.05;
else
{
if (Compra<7000)
Total = Compra-Compra*0.11;
else
{
if (Compra<1500)
Total = Compra -Compra*0.18;
else
Total = Compra-Compra*0.25;
}
}
}
cout<<\n\n El monto a pagar es <<Total<< pesos<<endl;
cout<<\n Gracias por su compra :p\n\n ;
system(PAUSE);
return EXIT_SUCCESS;
}

Que pida 3 nmeros y los muestre en pantalla de menor a mayor

#include <stdio.h>
#include <stdlib.h>

Int main (void)


{
Int num1, num2, num3;

Printf ("Introduzca nmero 1:");


scanf("%d",&num1);

printf("Introduzca nmero 2:");


Scanf ("%d", &num2);

Printf ("Introduzca nmero 3:");


scanf("%d",&num3);

if (num1<num2 && num1<num3)


{
if (num2<num3)
{
Printf ("%d", num1);
Print ("%d", num2);
Printf ("%d", num3);
}
else
{

Printf ("%d", num1);


Printf ("%d", num3);
Printf ("%d", num2);
}
}
Else if (num2<num1 && num2<num3)
{
If (num1<num3)
{
Printf ("%d", num2);
Printf ("%d", num1);
Printf ("%d", num3);
}
Else
{
Printf ("%d", num2);
Printf ("%d", num3);
Printf ("%d", num1);
}
}
Else if (num3<num1 && num3<num2)
{
If (num1<num2)
{
Printf ("%d", num3);
Printf ("%d", num1);

Printf ("%d", num2);


}
Else
{
Printf ("%d", num3);
Printf ("%d", num2);
Printf ("%d", num1);
}
}

System ("PAUSE");
return 0;
}

4) Que pida 3 nmeros y los muestre en pantalla de mayor a menor en lneas


distintas. En caso de haber nmeros iguales se pintan en la misma lnea.

#include <stdio.h>
#include <stdlib.h>

Int main (void)


{
Int num1, num2, num3;

Printf ("Introduzca nmero 1:");

Scanf ("%d", &num1);

Printf ("Introduzca nmero 2:");


Scanf ("%d", &num2);

Printf ("Introduzca nmero 3:");


Scanf ("%d", &num3);

If (num1>num2 && num1>num3)


{
If (num2>num3)
{
Printf ("%d\n", num1);
Printf ("%d\n", num2);
Printf ("%d\n", num3);
}
Else if (num3>num2)
{
Printf ("%d\n", num1);
Printf ("%d\n", num3);
Printf ("%d\n", num2);
}
Else
{
Printf ("%d\n", num1);
Printf ("%d", num3);

Printf ("%d\n", num2);


}
}
Else if (num2>num1 && num2>num3)
{
If (num1>num3)
{
Printf ("%d\n", num2);
Printf ("%d\n", num1);
Printf ("%d\n", num3);
}
Else if (num3>num1)
{
Printf ("%d\n", num2);
Printf ("%d\n", num3);
Printf ("%d\n", num1);
}
Else
{
Printf ("%d\n", num2);
Printf ("%d", num3);
Printf ("%d\n", num1);
}
}
Else if (num3>num1 && num3>num2)
{

If (num1>num2)
{
Printf ("%d\n", num3);
Printf ("%d\n", num1);
Printf ("%d\n", num2);
}
Else if (num2>num1)
{
Printf ("%d\n", num3);
Printf ("%d\n", num2);
Printf ("%d\n", num1);
}
Else
{
Printf ("%d\n", num3);
Printf ("%d", num2);
Printf ("%d\n", num1);
}
}
Else
{
Printf ("%d", num1);
Printf ("%d", num2);
Printf ("%d", num3);
}

System ("PAUSE");
return 0;
}

5) Que pida un nmero y diga si es positivo o negativo.

#include <stdio.h>
#include <stdlib.h>

Int main (void)


{
int num1;

Printf ("Introduzca nmero 1:");


Scanf ("%d", &num1);

If (num1>0) {
Printf ("Es positivo\n");
}
Else if (num1<0) {
printf ("Es negativo\n");
}
else
{
Printf ("Es cero\n");
}

System ("PAUSE");
Return 0;
}

6) Que slo permita introducir los caracteres S y N.

#include <stdio.h>
#include <stdlib.h>

Int main (void)


{
Char c;

Printf ("Introduzca un carcter:");


scanf("%c",&c);

if (c=='s' || c=='n' ){
Printf ("Es correcto\n");
}
Else
{
Printf ("Es incorrecto\n");
}

System ("PAUSE");

Return 0;
}

7) Que pida un nmero y diga si es mayor de 100.

#include <stdio.h>
#include <stdlib.h>

Int main (void)


{
Int num1;

Printf ("Introduzca un nmero:");


Scanf ("%d", &num1);

If (num1>100) {
Printf ("Es mayor\n");
}
else
{
Printf ("Es menor\n");
}

System ("PAUSE");
return 0;
}

8) Que pida tres nmeros y detecte si se han introducido en orden creciente.

#include <stdio.h>
#include <stdlib.h>

Int main (void)


{
Int num1, num2, num3;

Printf ("Introduzca nmero 1:");


Scanf ("%d", &num1);

Printf ("Introduzca nmero 2:");


Scanf ("%d", &num2);

Printf ("Introduzca nmero 3:");


Scanf ("%d", &num3);

If (num1<num2)
{
If (num2<num3)
{
Printf ("Orden creciente");
}
Else

{
Printf ("No estn introducidos en orden creciente ");
}
}
Else
{
Printf ("No estn introducidos en orden creciente ");
}

System ("PAUSE");
return 0;
}

9) Que pida tres nmeros y detecte si se han introducido en orden


decreciente.

#include <stdio.h>
#include <stdlib.h>

Int main (void)


{
Int num1, num2, num3;

Printf ("Introduzca nmero 1:");


Scanf ("%d", &num1);

Printf ("Introduzca nmero 2:");

Scanf ("%d", &num2);

Printf ("Introduzca nmero 3:");


Scanf ("%d", &num3);

If (num1>num2)
{
If (num2>num3)
{
Printf ("Orden decreciente");
}
else
{
printf("No estn introducidos en orden decreciente ");
}
}
else
{
Printf ("No estn introducidos en orden decreciente ");
}

System ("PAUSE");
Return 0;
}

10) Que pida tres nmeros e indicar si el tercero es igual a la suma del primero
y el segundo.

#include <stdio.h>
#include <stdlib.h>

Int main (void)


{
Int num1, num2, num3;

Printf ("Introduzca nmero 1:");


Scanf ("%d", &num1);

Printf ("Introduzca nmero 2:");


Scanf ("%d", &num2);

Printf ("Introduzca nmero 3:");


Scanf ("%d", &num3);

If (num1+num2==num3)
{
Printf ("El tercer nmero es la suma de los dos primeros.\n");
}
Else
{
Printf ("El tercer nmero NO es la suma de los dos primeros.\n");
}

System ("PAUSE");
return 0;
}

11) Que muestre un men que contemple las opciones Archivo, Buscar y
Salir, en caso de que no se introduzca una opcin correcta se notificar por
pantalla.

#include <stdio.h>
#include <stdlib.h>

int main(void)
{
int opcion;
printf("Seleccione opcin:\n");
printf("1 - Archivo\n");
printf("2 - Buscar\n");
printf("3 - Salir\n");

scanf("%d",&opcion);

if (opcion!=1 && opcion!=2 && opcion!=3)


{
printf("La opcin NO es correcta.\n");
}
else
{

printf("La opcin es correcta.\n");


}

System ("PAUSE");
Return 0;
}

12) Que tome dos nmeros del 1 al 5 y diga si ambos son primos.

#include <stdio.h>
#include <stdlib.h>

Int main (void)


{
Int num1, num2;
Printf ("Introduzca nmero del 1 al 5:");
Scanf ("%d", &num1);

Printf ("Introduzca nmero del 1 al 5:");


Scanf ("%d", &num2);

if (num1!=4 && num2!=4) {


Printf ("Ambos son primos.\n");
}
else
{

Printf ("Los nmeros, o uno de ellos, no son primos.\n");


}

System ("PAUSE");
Return 0;
}

Ejercicios propuestos condicional SWITCH


1)Que pida una letra y detecte si es una vocal.

#include <stdio.h>
#include <stdlib.h>

Int main (void)


{
Char c;

Printf ("Introduzca un carcter:");


Scanf ("%c", &c);

Switch (c)
{
Case 'a':
Printf ("Es vocal\n");
Break;
Case 'e':

Printf ("Es vocal\n");


Break;
Case 'i':
Printf ("Es vocal\n");
Break;
Case 'o':
Printf ("Es vocal\n");
Break;
Case 'u':
Printf ("Es vocal\n");
Break;
default:
printf ("No es vocal\n");
break;
}

System ("PAUSE");
return 0;
}

2) Que pida un nmero del 1 al 7 y diga el da de la semana

correspondiente.

#include <stdio.h>
#include <stdlib.h>

int main (void)


{
Int i;
Printf ("Introduzca nmero del 1 al 7:");
Scanf ("%d", &i);

Switch (i) {
Case 1:
Printf ("Lunes\n");
Break;
Case 2:
Printf ("Martes\n");
Break;
Case 3:
printf ("Mircoles\n");
Break;
Case 4:
Printf ("Jueves\n");
Break;
Case 5:
Printf ("Viernes\n");
break;
Case 6:
Printf ("Sbado\n");
Break;

Case 7:
Printf ("Domingo\n");
Break;
Default:
printf ("Opcin no vlida\n");
break;
}

System ("PAUSE");
Return 0;
}

Calcular el salario de un trabajador


#include <stdio.h>
#include <stdlib.h>
#include <windows.h>

Int main ()
{
Int nivel;
Float salario, slanuevo;
Printf ("Introduce el nivel de antiguedad del trabajador: ");
Scanf ("%d", &nivel);
Printf ("Introduce tu salario: ");
Scanf ("%f", &salario);

Switch (nivel) {
Case 5:
slanuevo=salario+(salario*.035);
Printf ("\nTu salario es: %f\n", slanuevo);
Break;
Case 6:
Salmuero=salario+ (salario*.041);
Printf ("\nTu salario es: %f\n", slanuevo);
Break;
Case 7:
slanuevo=salario+(salario*.048);
Printf ("\nTu salario es: %f\n", slanuevo);
Break;
Case 8:
slanuevo=salario+(salario*.053);
Printf ("\nTu salario es: %f\n",slanuevo);
Break;
Default:
Printf ("\nTu salario es: %f\n", salario);
}
System ("PAUSE");
Return 0;
}

Programa que muestre los das de la semana

#include <stdio.h>
Int dia = 0;
Main (void) {
Printf ("Elige un Dia a la Semana\n\n");
Printf ("1. Lunes\n");
Printf ("2. Martes\n");
Printf ("3. Miercoles\n");
Printf ("4. Jueves\n");
Printf ("5. Viernes\n");
Printf ("6. Sbado\n");
Printf ("7. Domingo\n");
Printf ("Que numero de dia de la semana escoges: ");
Scanf ("%i",&dia);

switch(dia) {
case 1 :
printf("Lunes es, Luna\n");
break;
case 2 :
printf("Martes es, Marte\n");
break;
case 3 :
Printf ("Miercoles es, Mercurio\n");
Break;
Case 4:

Printf ("Jueves es, Jupiter\n");


Break;
Case 5:
Printf ("Viernes es, Venus\n");
Break;
Case 6:
Printf ("Sbado es, Saturno\n");
Break;
Case 7:
Printf ("Domingo es, Sol\n");
Break;
Default:
Printf ("No existe\n");
}
System ("PAUSE");
}

Anlisis y ejemplo comparativo con SCRIPT PHP


1) Dado un nmero entero positivo determine si es par o impar.
<html>
<title> Numero Par o impar </title>
<body>
<?php
$numero=8;

if($numero>0){
if($numero%2==0)
printf(El numero %d es par,$numero);
else
printf(El numero %d es impar,$numero);
}
else
printf(El Numero no es entero positivo);
?>
</body>
</html>

You might also like