You are on page 1of 20

ESTRUCTURAS BASICAS DE PROGRAMACION ESTRUCTURA CONDICIONAL SIMPLE MULTIPLE

ESTRUCTURAS BASICAS DE PROGRAMACION

Secuenciales Selectivas Repetitivas


Solamente con estas tres estructuras se puede hacer un programa informtico.

ESTRUCTURA SELECTIVA O CONDICIONAL

No

Estudiar y terminar la carrera

Si

ESTRUCTURA SELECTIVA Este tipo de sentencias permiten variar el flujo del programa en base a unas determinadas condiciones.

Los controles que se manejan en esta estructura son:

if (condicin) switch (selector)

Estructura Selectiva if ( Si )

if (condicin)
La (condicin) tiene 3 partes:

if (variable op.relacional dato) Ejem: ( edad > 16)

if (variable op.relacional variable) Ejem: ( talla != peso)

Puedo unir dos o ms condiciones con operadores lgicos AND, OR.

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

Donde: Instrucciones A, puede ser una o varias acciones.

Codificada en C++:

if (condicion es true) { Instrucciones A; }

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:

Con una solo instruccin:

if (edad>30) cont=cont+1;

Con mas de una instruccin:

if (edad>30) { suma=suma+edad; cont=cont+1; }

De alternativa doble: doble: En Pseudocdigo: Codificada en C++:

Si (condicion es verdadera) entonces Acciones A sino Acciones B Fin_si

if (condicion es true) { Instrucciones A; } else { Instrucciones B; }

EJEMPLOS:

Con una solo instruccin: if (edad>30) cont=cont+1; else suma=suma+edad;

Con mas de una instruccin: if (edad>30) { suma1= suma1+edad; cont1=cont1+1; }


else {

suma2= suma2+edad; cont2=cont2+1;


}

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:

Este fragmento de cdigo elige el menor de tres nmeros:

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

Si el selector rubro es un nmero entero


switch (rubro) { case 0: ph=33.00; break; case 1: ph=23.50; break; case 2: ph=10.30; break; case 3: ph=10.30; break; default: ph=0; }

Si el selector talla es un carcter

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

A Nivel visual usando el C++ Builder (Nombre de Formulario FrmPrendas)


void __fastcall TFrmPrendas::BtnCalcularClick(TObject *Sender) { //Declaracin de variables locales int talla,n; float pagototal; //Lectura de datos n=StrToInt(EdCantidad->Text); talla=CbxTalla->ItemIndex; //Llamada a funcin para calcular el pago total pagototal=calculo_pago(n,talla);
EdCantidad CbxTalla

BtnSalir

BtnCalcular

BtnNuevo

EdPago

// Datos de salida EdPago->Text=FormatFloat("#,##0.00 ,pagototal); }

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

Codificacin en el botn Nuevo

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

void __fastcall TFrmPrendas::BtnCerrarClick(TObject *Sender) { Close(); }

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.

You might also like