Introducción a la Computación (8va Semana) Lunes 23 de Abril del 2007

Slides:



Advertisements
Presentaciones similares
Estructuras de control Secuenciales y selectivas
Advertisements

Estructura de Datos Unidad 4. Recursividad Dra. María Lucía Barrón Estrada Enero-Junio 2007.
Sesión 3 Estructuras Repetitivas
Sesión 2 Programación Estructurada
Estructuras de decisión
ALGORITMOS Y LENGUAJES Estructuras de Control CONDICIONAL
Estructuras de decisión en C
Informática I – 4to año Volumen II.
Algoritmo y Estructura de Datos I I Facultad de Ingeniería y Arquitectura Juan José Montero Román. Sesión 6 - Uso de estructuras.
Algoritmo y Estructura de Datos I
Estructuras de Control
Complemento a los Diagrama de Flujos Fundamentos de la Programación
SENTENCIA EN LENGUAJE C++
ESTRUCTURAS DE SECUENCIA
Introducción a la Computación
ESTRUCTURAS DE DECISION MULTIPLES
/*Desarrollar una solución que permita ingresar y almacenar el promedio de prácticas, la nota del examen parcial y la nota del examen final de todos.
Juan José Montero Román.
Algoritmo y Estructura de Datos I
Algoritmo y Estructura de Datos I I Facultad de Ingeniería y Arquitectura Juan José Montero Román. Sesión 15 - Archivos.
Algoritmo y Estructura de Datos I
Facultad de Ingeniería y Arquitectura Introducción a la Computación 2007 – I (14va Semana) Lunes 11 de Junio Ing. Juan José Montero Román.
Algoritmo y Estructura de Datos I I Facultad de Ingeniería y Arquitectura Ing. Juan José Montero Román. Sesión 8.
Algoritmo y Estructura de Datos I I Facultad de Ingeniería y Arquitectura Juan José Montero Román. Sesión 6.
Algoritmo y Estructura de Datos I
Introducción a la Computación (7ma Semana) Lunes 16 de Abril del 2007
Introducción a la Computación
Facultad de Ingeniería y Arquitectura Introducción a la Computación 2007 – I (11va Semana) Lunes 14 de Mayo Ing. Juan José Montero Román.
Algoritmo y Estructura de Datos I I Facultad de Ingeniería y Arquitectura Ing. Juan José Montero Román. Sesión 11.
Algoritmo y Estructura de Datos I
Algoritmo y Estructura de Datos I
Algoritmo y Estructura de Datos I
INTRODUCCIÓN A LA COMPUTACIÓN 14va Semana – 24va Sesión Miércoles 01 de Junio del 2005 Juan José Montero Román
INTRODUCCIÓN A LA COMPUTACIÓN
Algoritmo y Estructura de Datos I I Facultad de Ingeniería y Arquitectura Ing. Juan José Montero Román. Sesión 3.
Facultad de Ingeniería y Arquitectura Introducción a la Computación 2006 – II (8va Semana) Lunes 25 de Setiembre del 2006 Juan José Montero Román.
Introducción a la Computación
Facultad de Ingeniería y Arquitectura Introducción a la Computación 2006 – II (7ma Semana) Lunes 18 de Setiembre del 2006 Juan José Montero Román.
Método en Java.
Recursión Se dice que un método es recursivo si forma parte de sí mismo o se define en función de sí mismo. La recursión es un medio particularmente poderoso.
Estructuración y modularidad de los programas Fundamentos de Programación/ Programación I
Estructuras de Control
Estructuras de repetición
Creación de Aplicaciones
Unidad I Java y C++ : Similitudes y diferencias
Archivos y Búsqueda Secuencial
INTRODUCCIÓN A LA COMPUTACIÓN 12va Semana – 19va Sesión Miércoles 18 de Mayo del 2005 Juan José Montero Román
Estructuras de Decisión Múltiple
Introducción a la Computación
Suponiendo que además en la clase U hay: import java.util.*; class U{ static Scanner teclado = new Scanner(System.in); static public int readInt(String.
INTRODUCCIÓN A LA COMPUTACIÓN 13va Semana – 21va Sesión Miércoles 25 de Mayo del 2005 Juan José Montero Román
CI TEORIA semana 4 Estructura Algorítmica: SELECCIÓN
Capítulo 1 “Elementos de Programación”
INTRODUCCIÓN A LA COMPUTACIÓN
Capítulo 2 – Estructuras de Control
ESTRUCTURA DE DECISION LOGICA
Unidad II: Fundamentos de Programación
Introducción a la Ingeniería de Sistemas
Estructuras de Decisión Simples y Dobles
Estructuras de Repetición (Hacer-Mientras)
Estructuras de Repetición (Hacer-Mientras)
Entrada y Salida ES.leerChar (); ES.leerEntero (); ES.leerEnteroLargo (); ES.leerFloat (); ES.leerDouble (); System.out.print System.out.println.
Informática Prof. María Alejandra Quintero.  Operadores relacionales  Operadores lógicos  Expresiones lógicas  Estructuras de decisión simple  Estructuras.
Estructuras Algorítmicas Selectivas
ETAPAS DESARROLLO DE SOFTWARE DE APLICACION
ESTRUCTURAS DE DECISION MULTIPLE
Estructuras de Decisión en Visual Basic 6.0
Este material ha sido desarrollado para alumnos que cursan la asignatura de Programación Básica impartida en el primer semestre en la Facultad de Ingeniería.
UNIVERSIDAD TECNOLÓGICA DE PANAMÁ Facultad de Ingeniería de Sistemas Computacionales Programa de Lic. en Informática Educativa Computación.
Input-Process-Output Entrada Datos Números con decimales (doublé) Números sin decimales(integer) Palabras de texto (string) Procesamiento Calcular Realizar.
Transcripción de la presentación:

Introducción a la Computación (8va Semana) Lunes 23 de Abril del 2007 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 DECISION Introducción a la Computación ESTRUCTURAS DE DECISION SI – SINO - FIN SI SEMANA 07

Estructura Lógica de Decisión Doble (SI/SINO) ESTRUCTURAS LÓGICAS DE DECISION Estructura Lógica de Decisión Doble (SI/SINO) Definición: 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 FINSI

Estructura Lógica de Decisión Doble (SI/SINO) ESTRUCTURAS LÓGICAS DE DECISION Estructura Lógica de Decisión Doble (SI/SINO)

Estructura Lógica de Decisión Doble (SI/SINO) ESTRUCTURAS LÓGICA DE DECISION Estructura Lógica de Decisión Doble (SI/SINO) 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 {

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 INICIO ENTRADA: nota1, nota2, nota3 SALIDA: nf, mensaje INICIO ENTERO nota1, nota2,nota3 REAL nf TEXTO mensaje LEER nota1, nota2, nota3 nf = (nota1 + nota2 + nota3 ) / 3 SI ( nf < 14 ) ENTONCES mensaje = “Desaprobado” SINO mensaje = “Aprobado” FINSI ESCRIBIR nf, mensaje FIN ENTERO nota1, nota2,nota3 REAL nf TEXTO mensaje nota1, nota2,nota3 nf = (nota1 + nota2 + nota3) / 3 V nota < 14 F mensaje=“Desaprobado” mensaje=“Aprobado” mensaje FIN

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;

mensaje=“Numero impar” 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. Algoritmo NumPar INICIO ENTERO num TEXTO mensaje LEER num num RESTO 2 = 0 FIN V F mensaje=“Numero par” mensaje=“Numero impar” mensaje ENTRADA: num SALIDA: mensaje INICIO ENTERO num TEXTO mensaje LEER num SI ( num RESTO 2 = 0 ) ENTONCES mensaje = “Es un numero par” SINO mensaje = “Es un numero impar” FINSI ESCRIBIR mensaje FIN

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;

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.

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);

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

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)   Valor minimo Math.E        para la base exponencial Math.PI   para PI Ejemplo: double x=4.0; double r=Math.sqrt(x); // raiz cuadrada LE.mostrarInformacion(“La raiz cuadrada de “+ x + “es " + r); int x=5, y=9 ; int max=Math.max(x,y) ; // mayor de dos enteros LE.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));

Diseñe un programa para generar dos numero aleatorios Ejercicio 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()); }

INTENTALO…!!! 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.

Imprimir resultados en la pantalla de la computadora. NOTA: 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+b2 Trinomio Cuadrado Perfecto: (a+b)3= a3 +3a2b+3ab2+b3

ALGORITMO PrgMayorMenor ESTRUCTURAS LÓGICAS DE DECISION ALGORITMO PrgMayorMenor ENTRADA a , b SALIDA binomio , trinomio INICIO ENTERO a , b , c 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 c FIN

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”.

ALGORITMO PrgNombreApellido ESTRUCTURAS LÓGICAS DE DECISION ALGORITMO PrgNombreApellido ENTRADA nombre , edad , dni SALIDA 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 mensaje FIN

import biblioteca.Lectura; public class PgrEleRed { 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); }