Professional Documents
Culture Documents
No
Si
ESTRUCTURA SELECTIVA Este tipo de sentencias permiten variar el flujo del programa en base a unas determinadas condiciones.
Estructura Selectiva if ( Si )
if (condicin)
La (condicin) tiene 3 partes:
Operadores lgicos: AND(&&), OR(||), NOT(!) Estas condiciones se puede encadenar con y , o , etc., que se indican de la siguiente forma: Operador Significado && Y || O ! No De modo que podremos escribir condiciones como: if ((opcion==1) && (usuario==2)) ... if ((opcion==1) || (opcion==3)) ... if ((!(opcion==opcCorrecta)) || (tecla==ESC)) ...
Su estructura bsica es: ( de alternativa nica) Si (condicin es Verdadera) entonces Instrucciones A Fin_si
Codificada en C++:
Nota: las llaves siempre se tiene que colocar para indicar donde inicia y donde acaban las instrucciones para el if, solo se prescindira de ellas cuando solo exista una instruccin para el if.
EJEMPLOS:
if (edad>30) cont=cont+1;
EJEMPLOS:
De alternativa mltiple: if (condicion1 es true) Acciones A else if (condicion2 es true) Acciones B else if (condicion3 es true) Acciones C else Acciones D
Ejemplo: el siguiente fragmento de programa, permite ejecutar instrucciones en funcin a rangos de edad:
int e; AnsiString cat; //Lectura de Datos de Entrada e=StrToInt(EdEdad->Text); if (e>=0 && e<=13) cat= Nio ; else if (e>=14 && e<=25) cat= Joven ; else if (e>=26 && e<=60) cat= Adulto ; else if (e>= 61) cat= Anciano ; else ShowMessage( Incorrecto ) ;
float a, b, c, menor; //Lectura de Datos de Entrada a=StrToFloat(EdA->Text); b=StrToFloat(EdB->Text); c=StrToFloat(EdB->Text); if (a < b) { if (a < c) menor = a; else menor = c; } else { if (b < c) menor = b; else menor = c; }
EL ENUNCIADO segn sea (switch) El control segun sea es ms prctico, pero slo es aplicable cuando se conocen los posibles datos que almacena la variable a evaluar, por ejemplo: Sexo Estado civil Meses del ao Tipo de materiales, etc. Pero cuando no se conoce exactamente los posibles datos que almacena la variable a evaluar como: Edad Talla Peso Precios, etc. Ya que son infinidad de posibilidades y derrepente sea preciso trabajar con rangos donde se plantee mayor (>) o menor (<), es mejor hacer uso del control si, ya que este s permite condicionar instrucciones en funcion a los valores de la variable.
EL ENUNCIADO segn sea (switch) Pseudocdigo: segn sea (selector) hacer caso valor1: Instrucciones 1 caso valor2: Instrucciones 2 . . caso valorN: Instrucciones N else Instrucciones X fin_segun } Codificado en C++: switch (selector) { case valor_1: instruccin_1; break; case valor_2: instruccin_2; break; . . . case valor_n: instruccin_n; break; default: instruccin_otras;
El selector es una variable, que debe ser del tipo entero o carcter y dependiendo de los datos que sta variable pueda almacenar sern los casos que se listan a continuacin.
EJEMPLOS
switch (talla) { case S : p=33.00; break; case M : p=23.50; break; case L : p=10.30; break; case X : p=10.30; break; default: p=5.50; }
EJEMPLO
Se desea saber cuanto pagar por comprar una cierta cantidad de polos de una misma talla, donde la talla Small cuesta 30 soles, el Medium 40 soles, el Large 50 soles y el ExtraLarge cuesta 60 soles, Adems sobre el monto que salga se cobrara el IGV. SOLUCION A NIVEL CONSOLA
Codificado en C++
#include <iostream.h> float calculo_pago(int , int); // Declaracin de funciones void main() { //Declaracin de variables locales int talla,n; float pagototal; //Datos de entrada cout<<"Ingrese la Cantidad de Prendas a comprar: "; cin>>n; cout<<"Ingrese la Talla [0]Small - [1]Medio - [2]Large - [3]Extralarge: "; cin>>talla; //Llamada a funcin para calcular el pago total pagototal=calculo_pago(n,talla); //Datos de salida cout<<"\n El Monto a Pagar es: "<<pagototal; } float calculo_pago(int n, int talla) { float precio,pagoprevio,pagototal; switch(talla) { case 0:precio=30;break; case 1:precio=40;break; case 2:precio=50;break; case 3:precio=60;break; } pagoprevio=n*precio; pagototal=pagoprevio+pagoprevio*0.19; return pagototal; }
BtnSalir
BtnCalcular
BtnNuevo
EdPago
float TFrmPrendas::calculo_pago(int n, int talla) { //Declaracin de Variables locales float precio,pagoprevio,pagototal; //Clculos y procesos switch(talla) { case 0:precio=30;break; case 1:precio=40;break; case 2:precio=50;break; case 3:precio=60;break; } pagoprevio=n*precio; pagototal=pagoprevio+pagoprevio*0.19; return pagototal; }
void __fastcall TFrmPrendas::BtnNuevoClick(TObject *Sender) { EdCantidad->Clear(); EdCantidad->SetFocus(); EdPago->Clear(); //reinicializando el ComboBox CbxTalla->ItemIndex=-1; CbxTalla->Text="--Seleccione--"; }
Codificacin en el botn Salir
ComboBox
Es un componente que permite visualizar y seleccionar un elemento de una lista desplegable (items).
Propiedades:
Items: contiene los elementos del ComboBox; es del tipo TStrings (lista de strings). Esta clase, a su vez, contiene mtodos que permiten manipular elementos como agregar (Add), insertar (insert), eliminar (delete) y mover (move). ItemIndex: esta clase devuelve un numero entero que viene a hacer la posicin del tem seleccionado. Las posiciones de los Items empiezan desde 0 (cero). Para indicar que no hay ninguna seleccin colocar el ItemIndex en -1. Text: esta propiedad permite colocar un texto en el ComboBox, este texto no es un items de la lista desplegable.