Facultad de Ingeniería y Arquitectura Introducción a la Computación 2006 – II (8va Semana)...

20
Facultad de Ingeniería y Arquitec Introducción a la Computación 2006 – II (8va Semana) Lunes 23 de Abril del 2007 Ing. Juan José Montero Román. [email protected]

Transcript of Facultad de Ingeniería y Arquitectura Introducción a la Computación 2006 – II (8va Semana)...

Page 1: Facultad de Ingeniería y Arquitectura Introducción a la Computación 2006 – II (8va Semana) Lunes 23 de Abril del 2007 Ing. Juan José Montero Román. jmonteror@usmp.edu.pe.

Facultad de Ingeniería y Arquitectura

Introducción a la Computación 2006 – II

(8va Semana) Lunes 23 de Abril del 2007

Ing. Juan José Montero Román.

[email protected]

Page 2: Facultad de Ingeniería y Arquitectura Introducción a la Computación 2006 – II (8va Semana) Lunes 23 de Abril del 2007 Ing. Juan José Montero Román. jmonteror@usmp.edu.pe.

ESTRUCTURAS DE DECISIONSI – SINO - FIN SI

ESTRUCTURAS DE DECISIONSI – SINO - FIN SI

Introducción a la Computación

SEMANA 07

Page 3: Facultad de Ingeniería y Arquitectura Introducción a la Computación 2006 – II (8va Semana) Lunes 23 de Abril del 2007 Ing. Juan José Montero Román. jmonteror@usmp.edu.pe.

Estructura Lógica de Decisión Doble (SI/SINO)

Una estructura de decisión doble “SI... SINO... FINSI” permite alterar el flujo secuencial (o pasos secuenciales) de una solución, ejecutando un conjunto de pasos dependiendo del resultado de una condición lógica. Si la condición resulta verdadera, se ejecuta un conjunto de pasos, y si la condición resulta falsa, se ejecuta otro conjunto de pasos. En ningún caso se podrá ejecutar ambos conjuntos de pasos a la vez.

PSEUDOCODIGO

EXPLICACIÓN:

Si la condición resulta verdadera, se ejecutan las instrucciones que se encuentran entre las reglas ENTONCES y SINO.Si la condición resulta falsa se ejecutan las instrucciones que se encuentran entre las reglas SINO y FINSI.Sólo se ejecuta uno de los grupos de instrucción, en ningún caso se podrá ejecutar ambos grupos.

SI (condición)ENTONCES instrucciones...SINO instrucciones...FINSI

ESTRUCTURAS LÓGICAS DE DECISION

Definición:

Page 4: Facultad de Ingeniería y Arquitectura Introducción a la Computación 2006 – II (8va Semana) Lunes 23 de Abril del 2007 Ing. Juan José Montero Román. jmonteror@usmp.edu.pe.

Estructura Lógica de Decisión Doble (SI/SINO)

ESTRUCTURAS LÓGICAS DE DECISION

Page 5: Facultad de Ingeniería y Arquitectura Introducción a la Computación 2006 – II (8va Semana) Lunes 23 de Abril del 2007 Ing. Juan José Montero Román. jmonteror@usmp.edu.pe.

JAVA y C

EXPLICACIÓN:

Si la condición resulta verdadera, se ejecutan las sentencias que se encuentran entre las llaves { } ubicadas después de la palabra reservada if.Si la condición resulta falsa, se ejecutan las sentencias que se encuentran entre las llaves { } ubicadas después de la palabra reservada else.

if (condición) { sentencias... } else { sentencias... }

Estructura Lógica de Decisión Doble (SI/SINO)

ESTRUCTURAS LÓGICA DE DECISION

Page 6: Facultad de Ingeniería y Arquitectura Introducción a la Computación 2006 – II (8va Semana) Lunes 23 de Abril del 2007 Ing. Juan José Montero Román. jmonteror@usmp.edu.pe.

ESTRUCTURAS LÓGICAS DE DECISION

Problema 1: Calcular y mostrar la nota final de un alumno. Si la nota final (nf) es menor a 14 se deberá mostrar el mensaje “Desaprobado”, caso contrario se mostrará el mensaje “Aprobado”. Fórmula: nf = (n1+n2+n3) / 3.

Algoritmo NotaFinal2

ENTRADA: nota1, nota2, nota3SALIDA: nf, mensaje

INICIOENTERO nota1, nota2,nota3REAL nfTEXTO mensaje LEER nota1, nota2, nota3nf = (nota1 + nota2 + nota3 ) / 3

SI ( nf < 14 )ENTONCES

mensaje = “Desaprobado”SINO

mensaje = “Aprobado”FINSI

ESCRIBIR nf, mensajeFIN

INICIO

ENTERO nota1, nota2,nota3REAL nf TEXTO mensaje

nf = (nota1 + nota2 + nota3) / 3

nota1, nota2,nota3

nota < 14

FIN

V F

mensaje=“Desaprobado” mensaje=“Aprobado”

mensaje

Page 7: Facultad de Ingeniería y Arquitectura Introducción a la Computación 2006 – II (8va Semana) Lunes 23 de Abril del 2007 Ing. Juan José Montero Román. jmonteror@usmp.edu.pe.

ESTRUCTURAS LÓGICAS DE DECISION

import biblioteca.Lectura;

class PrgNotaFinal2 { public static void main (String[] args ) {

String mensaje; int nota1, nota2, nota3 double nf ; System.out.print (“Ingrese la nota1: “); nota1 = Lectura.leerInt(); System.out.print (“Ingrese la nota2: “); nota2 = Lectura.leerInt(); System.out.print (“Ingrese la nota3: “); nota3 = Lectura.leerInt();

nf = (nota1+nota2+nota3) / 3; if (nf <14) {

mensaje = “Desaprobado”; } else {

mensaje = “Aprobado”; }

System.out.print (“su nota final es: “ + nf + “, usted está “ + mensaje);

}}

#include <iostream> #include <string> using std::cout ;using std::cin ;using std::string;int main ( ) {

string mensaje; int nota1, nota2, nota3; double nf;

cout <<“Ingrese la nota1: “>>; cin >> nota1; cout << “Ingrese la nota2: “>>; cin >> nota2; cout <<Ingrese la nota3: “>>; cin >> nota3;

nf = (nota1+nota2+nota3) / 3; if (nf <14) {

mensaje = “Desaprobado”; } else {

mensaje = “Aprobado”; }

cout <<“su nota final es: “ + nf + “, usted está “ + mensaje;

return 0;}

Page 8: Facultad de Ingeniería y Arquitectura Introducción a la Computación 2006 – II (8va Semana) Lunes 23 de Abril del 2007 Ing. Juan José Montero Román. jmonteror@usmp.edu.pe.

ESTRUCTURAS LÓGICAS DE DESICION

Problema 2: Ingrese un número y determine si el número ingresado es un número par o un número impar.

ENTRADA: numSALIDA: mensaje

INICIOENTERO numTEXTO mensaje LEER num

SI ( num RESTO 2 = 0 )ENTONCES

mensaje = “Es un numero par”SINO

mensaje = “Es un numero impar”FINSI

ESCRIBIR mensajeFIN

Algoritmo NumPar INICIO

ENTERO numTEXTO mensaje

LEER num

num RESTO 2 = 0

FIN

V F

mensaje=“Numero par” mensaje=“Numero impar”

mensaje

Page 9: Facultad de Ingeniería y Arquitectura Introducción a la Computación 2006 – II (8va Semana) Lunes 23 de Abril del 2007 Ing. Juan José Montero Román. jmonteror@usmp.edu.pe.

ESTRUCTURAS LÓGICAS DE DECISION

JAVA

Import bibioteca.Lectura;class PrgNumPar { public static void main (String[] args ) {

String mensaje; int numero; System.out.print (“Ingrese un numero: “); numero = Lectura.leerInt();

if (numero % 2 == 0) {mensaje = “Numero par”;

} else {mensaje = “Numero impar”;

}

System.out.print (“Usted ingreso el numero: “ + numero + “ ,es un ” + mensaje”);

}}

“C”

#include <iostream> #include <string> using std::cout ;using std::cin ;using std::string;int main ( ) {

string mensaje; int numero; cout <<“Ingrese un numero: “; cin >> numero;

if (numero % 2 == 0) {Mensaje = “Es un numero par”;

} else {Mensaje = “Es un numero impar”;

}

cout <<“Usted ingreso el numero: “ + numero + “ ,es un ” + mensaje;

return 0;}

Page 10: Facultad de Ingeniería y Arquitectura Introducción a la Computación 2006 – II (8va Semana) Lunes 23 de Abril del 2007 Ing. Juan José Montero Román. jmonteror@usmp.edu.pe.

Funciones matemáticas y Manejo de cadenas

La Clase Math

La clase Math representa la librería matemática de Java.

Las funciones que contiene son las de todos los lenguajes, parece que se han metido en una clase solamente a propósito de agrupación, por eso se encapsulan en Math.

Page 11: Facultad de Ingeniería y Arquitectura Introducción a la Computación 2006 – II (8va Semana) Lunes 23 de Abril del 2007 Ing. Juan José Montero Román. jmonteror@usmp.edu.pe.

Funciones matemáticas y Manejo de cadenas

La clase Math define dos constantes muy útiles, el número pi y el número e.

final double E= 2.7182818284590452354;final double PI = 3.14159265358979323846;

System.out.println("Pi es " + Math.PI); System.out.println("e es " + Math.E);

Page 12: Facultad de Ingeniería y Arquitectura Introducción a la Computación 2006 – II (8va Semana) Lunes 23 de Abril del 2007 Ing. Juan José Montero Román. jmonteror@usmp.edu.pe.

Función Tipo de Datos Descripción

Math.abs( x ) para int, long, float y double Valor Abosuluto

Math.sin( double ) Valor Seno

Math.cos( double ) Valor Coseno

Math.tan( double ) Valor Tangente

Math.asin( double )

Valor Arco Seno

Math.acos( double )

Valor Arco Coseno

Math.atan( double )

Valor Arco Tangente

Math.exp( double )

Logaritmo Neperiano

Math.log( double ) Logaritmo natural

Math.sqrt( double )

Raiz Cuadrada

Math.ceil( double )

Math.floor( double )

Math.rint( double )

Math.pow( a,b ) Potencia

Math.round( x )       

para double y float Redondear

Page 13: Facultad de Ingeniería y Arquitectura Introducción a la Computación 2006 – II (8va Semana) Lunes 23 de Abril del 2007 Ing. Juan José Montero Román. jmonteror@usmp.edu.pe.

Función Tipo de Datos Descripción

Math.random() 

devuelve un double Valor Aleatorio

Math.max( a,b )

para int, long, float y double

Valor Maximo

Math.min( a,b)  

para int, long, float y double

Valor minimo

Math.E        para la base exponencial

Math.PI   para PIEjemplo:

double x=4.0;double r=Math.sqrt(x); // raiz cuadradaLE.mostrarInformacion(“La raiz cuadrada de “+ x + “es " + r);

int x=5, y=9 ;int max=Math.max(x,y) ; // mayor de dos enterosLE.mostrarInformacion ("El mayor es " + max);

int i = -9;double x = 0.3498; LE.mostrarInformacion ("|" + i + "| es " + Math.abs(i));LE.mostrarInformacion ("|" + x + "| es " + Math.abs(x));

Page 14: Facultad de Ingeniería y Arquitectura Introducción a la Computación 2006 – II (8va Semana) Lunes 23 de Abril del 2007 Ing. Juan José Montero Román. jmonteror@usmp.edu.pe.

Diseñe un programa para generar dos numero aleatorios

package domapli;public class Prg2 { public static void main(String[] args) { LE.mostrarInformacion("Número aleatorio:" + Math.random()); LE.mostrarInformacion("Otro número aleatorio:" + Math.random());

}}

Page 15: Facultad de Ingeniería y Arquitectura Introducción a la Computación 2006 – II (8va Semana) Lunes 23 de Abril del 2007 Ing. Juan José Montero Román. jmonteror@usmp.edu.pe.

ESTRUCTURAS LÓGICAS DE DECISION

1.- Ingresar la edad de una persona y mostrar un mensaje expresando si es o no mayor de edad.

2.- Ingresar un numero y mostrar un mensaje si es múltiplo de 7 y 5 a la vez.

3.- ingresar 2 números por teclado y mostrar el mayor de ambos.

4.- Calcular y mostrar el monto total a pagar por la compra de un artículo si se tiene que agregar el IGV. En caso que el monto total a pagar incluido IGV sea mayor a S/.500 nuevos soles se aplica un descuento de 8%, caso contrario el descuento será de 2%.

5.- ingresar dos números con decimales por teclado, Identificar cual es el mayor y cual es el menor, luego elevas el número mayor al número menor, lo redondeas a 2 decimales y lo muestras.

INTENTALO…!!!

Page 16: Facultad de Ingeniería y Arquitectura Introducción a la Computación 2006 – II (8va Semana) Lunes 23 de Abril del 2007 Ing. Juan José Montero Román. jmonteror@usmp.edu.pe.

ESTRUCTURAS LÓGICAS DE DECISION

INTENTALO…!!!

Si se ingresan por teclado el número A y el número B. Si el número A es mayor que el número B calcular el “Binomio Cuadrado Perfecto” de dichos números. Si el número B es

mayor o igual que el número A calcular el “Trinomio Cuadrado Perfecto” de dichos números.

Imprimir resultados en la pantalla de la computadora.

NOTA:

Binomio Cuadrado Perfecto: (a+b)2= a2 +2ab+b2Trinomio Cuadrado Perfecto: (a+b)3= a3 +3a2b+3ab2+b3

Page 17: Facultad de Ingeniería y Arquitectura Introducción a la Computación 2006 – II (8va Semana) Lunes 23 de Abril del 2007 Ing. Juan José Montero Román. jmonteror@usmp.edu.pe.

ESTRUCTURAS LÓGICAS DE DECISION

ALGORITMO PrgMayorMenor

ENTRADA a , bSALIDA binomio , trinomio

INICIO ENTERO a , b , c LEER a LEER a SI ( a > b ) c = a * a + 2 * a * b + b * b ELSE c = a * a * a + 3 * a * a * b + 3 * a * b * b + b * b * b FINSI IMPRIMIR cFIN

Page 18: Facultad de Ingeniería y Arquitectura Introducción a la Computación 2006 – II (8va Semana) Lunes 23 de Abril del 2007 Ing. Juan José Montero Román. jmonteror@usmp.edu.pe.

ESTRUCTURAS LÓGICAS DE DECISION

INTENTALO…!!!

Hacer un programa que solicite a una persona ingresar su NOMBRE y EDAD por teclado. Si es

mayor de 18 años, que el programa le pida ingresar el número de su DNI, y que luego de esto muestre el

siguiente mensaje “BIENVENIDO, TIENE UN DESCUENTO DEL 15%”. En caso contrario que

muestre este mensaje: “RECLAMA TU JUGUETE DE CORTESIA”.

Page 19: Facultad de Ingeniería y Arquitectura Introducción a la Computación 2006 – II (8va Semana) Lunes 23 de Abril del 2007 Ing. Juan José Montero Román. jmonteror@usmp.edu.pe.

ESTRUCTURAS LÓGICAS DE DECISION

ALGORITMO PrgNombreApellido

ENTRADA nombre , edad , dniSALIDA mensaje

INICIO TEXTO nombre , mensaje ENTERO edad LEER nombre LEER edad SI (edad>18) LEER dni mensaje = “Bienvenido tiene un descuento del 15%”; ELSE mensaje = ”Reclama tu juguete de cortesía”; FINSI IMPRIMIR mensajeFIN

Page 20: Facultad de Ingeniería y Arquitectura Introducción a la Computación 2006 – II (8va Semana) Lunes 23 de Abril del 2007 Ing. Juan José Montero Román. jmonteror@usmp.edu.pe.

ESTRUCTURAS LÓGICAS DE DECISION

package domApl;import biblioteca.Lectura;public class PgrEleRed {

public static void main(String[] args) {double a,b,may,men,c;System.out.print("Ingresar 1er Número");a=Lectura.leerDouble();System.out.print("Ingresar 2do Número");b=Lectura.leerDouble();may=Math.max(a,b);men=Math.min(a,b);c=Math.pow(may,men);System.out.println("mayor: "+may);System.out.println("menor: "+men);System.out.println("sin dedondeo: "+c);c=(double)Math.round(c*100)/100 ;System.out.println("con redondeo: "+c);

}}