1. (Electrónica)
Fundamentos de Programación
Tarea # 3 “Condiciones, expresiones lógicas y estructuras de control de
selección”
Universidad Técnica Particular de Loja
Versión [1.0.0]
2. Información del Documento
TÍTULO: Fundamentos de Programación
SUBTÍTULO: Universidad Técnica Particular de Loja
VERSIÓN: Error! Reference source not found.
ARCHIVO: Cap#4.-TAREA_Condiciones_Expres_Estruc_De_ControlesDeSeleccion.docx
AUTOR: Andrés Rodríguez
ESTADO: Final
Lista de Cambios
VERSIÓ FECHA AUTOR DESCRIPCIÓN
N
1.0.0 05/01/2012 DRI Emisión Inicial
Firmas y Aprobaciones
ELABORADO Andrés Rodríguez
POR: Ingeniería Electrónica y
telecomunicaciones
FECHA: 05/01/2012 Firma:
REVISADO POR: [Nombre]
[Cargo]
FECHA: [AAA-MM- Firma:
DD]
APROBADO [Nombre]
POR: [Cargo]
FECHA: [AAAA-MM- Firma:
DD]
3. 1. Diseño / Verificación / Ejecución.
4.1Escribir las sentencias si apropiadas para cada una de las siguientes condiciones.
CODIGO (Diseño) CORRIDA MANUAL (Verificación)
//Numero: 4.1 datos operacion Resp.
//Nombre: Sentencias
a Si a=90 Correcto
//Descripcion: Escribir las sentencias 'si' para las
siguientsxpresiones b Si b >100 correcto
//Autor: AndresRodriguez Correcto
//Fecha Act: 25-10-2011 Si c positivo a
#include <iostream> positivos
c
#include <math.h> Correcto
using namespace std; Si c negativo a
int main() negativos
{ d Si X >Y y Z>20 correcto
cout<<"** Escribir las sentencias 'si' para las e Si e>20 y <35 correcto
siguientsxpresiones **"<<endl;
float a,b,c,c1,c2,d,d1,d2,d3,e,e1;
cout<<endl;
cout<<"a) Angulo Recto."<<endl; EJECUCIÓN
cout<<" -Ingrese un angulo: ";
cin>>a;
if (a==90)
{
cout<<" El angulo es un angulo Recto! "<<endl;
}
else
{
cout<<" El angulo no es un angulo recto"<<endl;
}
cout<<endl;
cout<<"b) Temperatura de ebullicion. "<<endl;
cout<<" -Ingrese una temperatura: ";
cin>>b;
if (b>100)
{
cout<<" esta por encima del punto de ebullicion del agua!
"<<endl;
}
else
{
cout<<"esta por debajo del punto de ebullicion del
agua!"<<endl;
}
cout<<endl;
cout<<"c) Suma de numeros a positivo y negativo"<<endl;
cout<<" -Total Positivos (25) & Total negativos (-15)."<<endl;
cout<<" Ingrese un numero positivo o negativo: ";
cin>>c;
if (c>=0)
{
c1=c+25;
cout<<" numero positivo anadido a positivos, igual a:
"<<c1<<endl;
}
else
{
c2=((c)+(-15));
cout<<" numero negativo anadido a negativos, igual a:
"<<c2<<endl;
}
cout<<endl;
cout<<"d) leer 'p' segun las condiciones."<<endl;
cout<<" -Ingresar 3 numeros, correspondientes a X: ";
cin>>d;
cout<<" Y: ";
cin>>d1;
cout<<" Z: ";
cin>>d2;
if ((d>d1)&(d2<20))
{
cout<<" se cumplen las condiciones, leer un valor para 'p' ";
cin>>d3;
cout<<" *se lee 'p' dado ke 'Z'<20 & 'X'>'Y' "<<endl;
}
else
4. {
cout<<" no se cumplieron las condiciones!."<<endl;
}
cout<<endl;
cout<<"e) segun distancia leer valor para tiempo: "<<endl;
cout<<" Ingrese un valor para distancia: ";
cin>>e;
if ((e>20)&(e<35))
{
cout<<" SE cumplen condiciones, proceder a leer un valor
para 't'= tiempo: ";
cin>>e1;
cout<<" se le tiempo dado ke distancia: "<<e<<" es mayor ke
'20' y menor ke '35'."<<endl;
}
else
{
cout<<" no se cumplen condiciones."<<endl;
}
return 0;
}
4.3. Dados tres Nnumeros deducir cual es el central
CODIGO (Diseño) CORRIDA MANUAL (Verificación)
//Numero: 4.3 datos operacion Resp.
//Nombre: Operadores sentencias
b Si c>b y b>a o a<b y b>c Correcto b
//Descripcion: Dados tres Nnumeros deducir cual es
el central a Si a>b y a<c o c<a y a<b Correcto a
//Autor: AndresRodriguez c Si c>a y c<b o b<c y c<a Correcto c
//Fecha Act: 25-10-2011
#include <iostream>
#include <math.h>
using namespace std;
int main() EJECUCIÓN
{
cout<<"**Dados tres Nnumeros deducir cual es el
central**"<<endl;
int a,b,c,X,X1,Y,Y1,Z,Z1;
cout<<" Primer numero: ";
cin>>a;
cout<<" Segundo numero: ";
cin>>b;
cout<<" Tercer numero: ";
cin>>c;
if (((c>b) and (b>a)) or ((a>b) and (b>c)))
{
cout<<" el central es 'b': "<<b<<endl;
}
else
if (((a>b) and (a<c)) or ((c<a) and (a<b)))
{
cout<<" el central es 'a': "<<a<<endl;
}
else
if ((c>a and c<b) or (b<c and c<a))
{
cout<<" el central es 'c': "<<c<<endl;
}
else
if ((a==b) & (b==c) )
{
cout<<" no hay central! todos son iguales! "<<endl;
}
else
if ((a=b) or (c=b) or (a=c))
{
cout<<" *no hay central! dos numeros son iguales!
"<<endl;
}
return 0;
}
5. 4.5Escribir los diferentes métodos para deducir si una variable o expresiónnumérica es par.
CODIGO (Diseño) CORRIDA MANUAL (Verificación)
//Numero: 4.5 datos operacion Resp.
//Nombre: Variables u expresiones numericas
Si a%2=0 Par
//Descripcion: Escribir los diferentes metodos para deducir si a
una variable o expresionnumerica es par Si a&2=1 impar
//Autor: AndresRodriguez
//Fecha Act: 25-10-2011
#include <iostream>
#include <math.h> EJECUCIÓN
using namespace std;
int main()
{
cout<<"** Escribir los diferentes metodos para deducir si una
variable o expresionnumerica es par **"<<endl;
int a;
cout<<"Ingresar variable o xpresion (numerica): ";
cin>>a;
if (a==0)
cout<<" numeroigual 0"<<endl;
else
if ((a%2)==0)
{
cout<<" "<<a<<" es un numero par"<<endl;
}
else
if ((a%2)==1)
cout<<" "<<a<<" no es numero par "<<endl;
return 0;
}
4.8Realizar un algoritmo que averigue si dados dos números introducidos por teclado,
uno es divisor de otro.
6. CODIGO (Diseño) CORRIDA MANUAL (Verificación)
//Numero: 4.8 Datos operacion Resp.
//Nombre: Divisor de un numero a otro
Divisible
//Descripcion: algoritmo para deducir si un numero es Si b&a=0
a a: “a”
divisor de otro
//Autor: AndresRodriguez Si mod es igual a 1no división entera
//Fecha Act: 25-10-2011 Divisible
Si a%b=0
#include <iostream> b a: “b”
#include <math.h> Si mod es igual a 1no división entera
using namespace std;
int main()
{
cout<<"**Realizar un algoritmo que dado dos numeros EJECUCIÓN
introducidos por teclado, uno es divisor del otro**"<<endl;
inta,b;
cout<<"a) primer numero: ";
cin>>a;
cout<<"b) segundo numero: ";
cin>>b;
if ((b%a)==0)
{
cout<<b<<" Si es divisible para: "<<a<<" en enteros! "<<endl;
}
else
if ((a%b)==0)
{
cout<<a<<" Si es divisible para: "<<b<<" en enteros! "<<endl;
}
else
if (((a%b)==1) or ((b%a)==1))
{
cout<<"no hay division posible, en enteros!!"<<endl;
}
return 0;
}
4.10Sistema de calificación americano (Estados Unidos) calcular a su equivalente
numérico
7. CODIGO (Diseño) CORRIDA MANUAL (Verificación)
//Numero: 4.10 Datos operacion Resp.
//Nombre: Conversionnumerica a su equivalente en letras
Si a>=90 A
//Descripcion: Convertir una calificacionnumerica de un
studiante a su equivalente en letras Si a<90 y >80 B
//Autor: AndresRodriguez a Si a<80 y >70 C
//Fecha Act: 25-10-2011 Si a<70 y >69 D
#include <iostream> Si a<69 F
#include <math.h>
using namespace std;
int main()
{ EJECUCIÓN
cout<<"**Convertir una calificacionnumerica de un studiante
a su equivalente en letras"<<endl;
float a;
cout<<" ingresar nota numerica: (0-100)...(";
cin>>a;
if (a>=90)
{
cout<<" su nota numerica:"<<a<<" nota equivalent: "<<char
(65)<<endl;
}
else
if ((a<90) and (a>=80))
{
cout<<" su nota numerica:"<<a<<" nota equivalent: "<<char
(66)<<endl;
}
else
if ((a<80) and (a>=70))
{
cout<<" su nota numerica:"<<a<<" nota equivalent: "<<char
(67)<<endl;
}
else
if ((a<70) and (a>=69))
{
cout<<" su nota numerica:"<<a<<" nota equivalent: "<<char
(68)<<endl;
}
else
if (a<69)
{
cout<<" su nota numerica: "<<a<<" nota equivalent: "<<char
(70)<<endl;
}
return 0;
}
4.14 Escriba un programa que simule el funcionamiento normal de un elevador
moderno.
8. CODIGO (Diseño) CORRIDA MANUAL (Verificación)
//Numero: 4.14 Datos Aux…………… operaciones PANTALLA…..
//Nombre: simulacion de un elevador
a Piso de llamada Si b>a Bajaraasensor
//Descripcion: Programa que simula el funcionamiento
normal de un elevador moderno b Piso de elevador Si b<a Subiraasensor
//Autor: AndresRodriguez Si en lo que “b” va hacia “a” tmbien se hacen llamadas desde
//Fecha Act: 25-10-2011 “c”d”e” entonces:
#include <iostream> Si “c”mas Asensor ira
c Llamadasalternas
#include <math.h> cercano a “b” primero a: “c”
using namespace std; Si “d”mas Asensor ira
d Llamadasalternas
int main() cercano a “b” primero a: “d”
{ Si “e”mas Asensor ira
e Llamadasalternas
cout<<"**Programa que simula el funcionamiento normal de cercano a “b” primero a: “e”
un elevador moderno** "<<endl;
floata,b,c,d,e;
cout<<"-total de pisos 25 desd 0!"<<endl;
cout<<"ingrese el numero de piso en el que usted esta: "; EJECUCIÓN
cin>>a;
cout<<" ingrese el numero de piso del elevador elevador: ";
cin>>b;
cout<<" elevador asistira a llamada piso: "<<a<<endl;
if (a==b)
{
cout<<" esta n el mismo piso!"<<endl;
}
else
if ((a>25) or (b>25))
{
cout<<" solo hay 25 pisos eh!"<<endl;
}
else
if ((a<0) or (b<0))
{
cout<<" solo hay pisos dsde nivel 0 eh! "<<endl;
}
else
if (b>a)
{
cout<<"elevador bajara pra asistir llamada hacia: "<<a<<endl;
cout<<" ingrese el numero(pisos) nuevos de llamadas: "<<endl;
cout<<" datos entre el rango piso: ("<<a<<") y elevador:
("<<b<<")"<<endl;
cout<<" para decidir por ke piso pasar primero si son
llamados a la vez!"<<endl;
a=b;
cout<<" llamada 1: ";
cin>>c;
cout<<" llamada 2: ";
cin>>d;
cout<<" llamada 3: ";
cin>>e;
if ((b>c) & (b>d) & (b>e))
{
if (((b*c)>(b*d)) & ((b*c)>(b*e)))
{
b=c;
cout<<" primero pasara por: "<<c<<endl;
}
if (((b*d)>(b*c)) & ((b*d)>(b*e)))
{
b=d;
cout<<" primero pasara por: "<<d<<endl;
}
if (((b*e)>(b*c))&((b*e)>(b*d)))
{
b=e;
cout<<" primero pasara por: "<<e<<endl;
}
if((c>b) or (d>b) or (e>b))
{
cout<<" no pasara x ninguno!"<<endl;
}
if ((c==d) or (d==e) or (c==e))
{
cout<<" son datos repetidos"<<endl;
}
}
else
{
9. cout<<" llamada fuera de rango (elevador "<<b<<" -llamada
inicial) "<<a<<endl;
cout<<" si no son llamados a la vez, pasara x el primero n ser
llamado!"<<endl;
}
}
else
if (b<a)
{
cout<<"elevador subirapra asistir llamada hacia: "<<a<<endl;
cout<<" ingrese el numero(pisos) nuevos de llamadas: "<<endl;
cout<<" datos entre el rango piso: ("<<a<<") y elevador:
("<<b<<")"<<endl;
cout<<" para decidir por ke piso pasar primero si son
llamados a la vez!"<<endl;
a=b;
cout<<" llamada 1: ";
cin>>c;
cout<<" llamada 2: ";
cin>>d;
cout<<" llamada 3: ";
cin>>e;
if ((b<c) & (b<d) & (b<e))
{
if (((b*c)<(b*d)) & ((b*c)<(b*e)))
{
b=c;
cout<<" primero pasara por: "<<c<<endl;
}
if (((b*d)<(b*c)) & ((b*d)<(b*e)))
{
b=d;
cout<<" primero pasara por: "<<d<<endl;
}
if (((b*e)<(b*c))&((b*e)<(b*d)))
{
b=e;
cout<<" primero pasara por: "<<e<<endl;
}
if ((c==d) or (d==e) or (c==e))
{
cout<<" son datos repetidos"<<endl;
}
}
else
{
cout<<" llamada fuera de rango (elevador-llamada inicial)
"<<a<<endl;
cout<<" si no son llamados a la vez, pasara x el primero n ser
llamado!"<<endl;
}
}
return 0;
}