You are on page 1of 7

Lenguaje de Programacin IV

Estructura Selectiva
Factor 1 Operador IF ------ENDIF Operador IF ------ELSE ------ENDIF Operador IF ------ELSEIF ------ENDIF Operador SELECT WHEN ------WHEN ------OTHER ------ENDSL Factor 2 <Condicin> Resultado

Factor 1

Factor 2 <Condicin>

Resultado

Factor 1

Factor 2 <Condicin>

Resultado

<Condicin>

Factor 1

Factor 2 <Condicin>

Resultado

<Condicin>

Ronald Donayre Anchante

Pgina 1

Lenguaje de Programacin IV Ejemplos de Estructura Selectiva 1. Supngase que el importe del seguro obligatorio de un auto depende del modelo del auto, del color y de la edad del conductor. Sean dos modelos de coche A y B y los precios del seguro segn el color: Modelo A Color Blanco Metalizado Otros Blanco Metalizado Otros Precio ($) 240.41 330.00 270.50 300.00 360.00 330.00

Si el conductor tiene menos de 26 aos, el precio se incrementa un 25%; si tiene entre 26 y 30 aos se incrementa un 10%; si tiene entre 31 y 65 aos el precio no se modifica; si tiene ms de 65 aos el precio se incrementar un 10%. Adems, en cualquier caso, hay que considerar que si el conductor tiene menos de 2 aos el permiso de conducir, el precio se incrementar un 25% adicional, por ultimo si el valor total del seguro est entre 300 y 400 pintar el campo con amarillo y si es mayo a 400 pintarlo en rojo. Disear un programa que calcule el precio del seguro para un determinado modelo y un determinado conductor. PANTALLA: RDA006D
Trabajar con Registros de Pantalla Archivo . . . . . : QDDSSRC Miembro . . . . . . : RDA006D Biblioteca . . : RYC26061 Tipo fuente . . . . : DSPF Teclee opciones, pulse Intro. 1=Aadir 2=Editar comentarios 3=Copiar 4=Suprimir 7=Redenominar 8=Seleccionar palabras clave 12=Disear imagen Opc Orden Registro Tipo Subarch Rel Fecha Error DDS 10 20 30 REG01 REG02 REG03 RECORD RECORD RECORD 03/10/12 03/10/12 03/10/12 Final F3=Salir F12=Cancelar F14=Palabras clave nivel archivo F15=Comentarios nivel archivo F17=Subconjunto F24=Ms teclas

Calculo de Seguro Nombre del Cliente .: Fecha Nacimiento ...: Modelo del Auto ....: Color del Auto .....: Fecha Emision Lic ..: BBBBBBBBBBBBBBBBBBBBBBBBBBBBBB 9999/99/99 B BBBBBBBBBB 9999/99/99 +B(30) +9(8) +B(1) +B(10) +9(8) ---> ---> ---> ---> ---> VNOM vFEN VMOD VCOL VFEE

REG01

OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO +O(60) ---> VERR Edad del Cliente ..........: 666 Tiempo de Permiso .........: 66 Precio Total Seguro ($) ...: 6666666.666 F3=Salir Enter=Calcular +6(3) ---> VEDA +6(2) ---> VTIE +6(10,3) -> VTOT

REG02

REG03

Ronald Donayre Anchante

Pgina 2

Lenguaje de Programacin IV REG01 En el campo VNOM ingresamos a Seleccionar Palabras Clave de Campo
*BBBBBBBBBBBBBBBBBBBBBBBBBBBBBB Seleccionar Palabras Clave de Campo Campo . . . . . : Longitud . . . : VNOM 30 Y=S Y Utilizacin: B Fila . . . : 4 Columna . . : 31

Teclee opciones, pulse Intro. Atributos de pantalla . . Colores . . . . . . . . . Opciones de tecleo . . . Comprobacin validez . . Palabras clave de entrada Palabras clave generales Referencia base de datos Mensajes error . . . . . ID mensaje (MSGID) . . . Palabra clave TEXT . . . F3=Salir . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Para Tipo de Campo Todos excepto Oculto Todos excepto Oculto Oculto, Entrada o Bivalente Entrada o Bivalente, no flotante Entrada o Bivalente Todos los tipos Oculto, Entrada, Salida, Bivalente Entrada, Salida, Bivalente Salida o Bivalente F12=Cancelar

F4=Visualizar palabras clave seleccionadas Seleccionar Atributos de Pantalla

Campo . . . . . : Longitud . . . :

VNOM 30

Utilizacin: B Fila . . . : 4 P.clave Y=S

Columna

. . :

31

Teclee opciones, pulse Intro. Indicadores/+ a DSPATR HI RI CS BL ND UL PC MDT PR OID SP Y 30 a a a a a a a a a a a Condicionamiento campo . . . . . . Campo programa-a-sistema . . . . . . . Atributos pantalla: Alta intensidad . . . . . . . . . . Contraste invertido . . . . . . . . Separadores columnas . . . . . . Parpadeo . . . . . . . . . . . . . . No visualizacin . . . . . . . . . . Subrayado . . . . . . . . . . . . . Situar cursor . . . . . . . . . . . Establecer identificador datos modif Proteger campo . . . . . . . . . . . Tarjeta magntica ID operador . . . Seleccionar por lpiz fotosensible . F3=Salir F12=Cancelar . . . . . . . . . . . . .

30

Hacemos lo mismo para VFEN, VMOD, VCOL, VFEE con los indicadores 31, 32, 33, 34 respetivamente para los atributos Contrastes Invertido y Situar Cursor. En los Campo VFEN y VFEE ingresamos a Seleccionar Palabras Clave de Campo
Seleccionar Palabras Clave de Campo Campo . . . . . : VFEN Longitud . . . : 8,0 Teclee opciones, pulse Intro. Y=S Atributos de pantalla . . Colores . . . . . . . . . Opciones de tecleo . . . Comprobacin validez . . Palabras clave de entrada Palabras clave generales Palabras claves edicin Referencia base de datos Mensajes error . . . . . ID mensaje (MSGID) . . . Palabra clave TEXT . . . F3=Salir . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Utilizacin: B Fila . . . : 5 Columna . . : 31

Para Tipo de Campo Todos excepto Oculto Todos excepto Oculto Oculto, Entrada o Bivalente Entrada o Bivalente, no flotante Entrada o Bivalente Todos los tipos Numrico Salida o Bivalente Oculto, Entrada, Salida, Bivalente Entrada, Salida, Bivalente Salida o Bivalente F12=Cancelar

F4=Visualizar palabras clave seleccionadas

Ronald Donayre Anchante

Pgina 3

Lenguaje de Programacin IV
Seleccionar palabras clave de edicin Campo . . . . . : VFEN Longitud . . . : 8,0 Teclee opciones, pulse Intro. Cdigo de edicin . . . . . . . Sustituir ceros iniciales por Palabra de edicin . . . . . . . Mscara de edicin . . . . . . . F3=Salir F12=Cancelar . . . . . . . . Utilizacin: B Fila . . . : 5 Columna . . : 31

Palabra clave Ms EDTCDE A-D, J-Q, W, Y, Z, 1-9 *, $ EDTWRD ' / / ' EDTMSK ' & & '

REG02 En el campo VTOT ingresamos a Seleccionar Palabras Clave de Campo


*6666666.666 Seleccionar Palabras Clave de Campo Campo . . . . . : VTOT Longitud . . . : 10,3 Teclee opciones, pulse Intro. Y=S Atributos de pantalla . . Colores . . . . . . . . . Palabras clave generales Palabras claves edicin Referencia base de datos Mensajes error . . . . . ID mensaje (MSGID) . . . Palabra clave TEXT . . . F3=Salir . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Y Utilizacin: O Fila . . . : 15 Columna . . : 38

Para Tipo de Campo Todos excepto Oculto Todos excepto Oculto Todos los tipos Numrico Salida o Bivalente Oculto, Entrada, Salida, Bivalente Entrada, Salida, Bivalente Salida o Bivalente F12=Cancelar

F4=Visualizar palabras clave seleccionadas

Campo . . . . . : VTOT Longitud . . . : 10,3 Teclee opciones, pulse Intro. Colores: Azul . . Verde . Rosa . . Rojo . . Turquesa Blanco . Amarillo F3=Salir

Seleccionar Colores Utilizacin: O Fila . . . : 15 P.clave Orden (1-7)

Columna

. . :

38

Indicadores/+ a a a

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

COLOR BLU GRN PNK RED TRQ WHT YLW

2 1

51 50

a a a a

F12=Cancelar

Estando en la pantalla de Trabajar


8=Seleccionar palabras clave

con Registros de Pantalla

ingresamos a la opcin

Trabajar con Registros de Pantalla Archivo . . . . . : QDDSSRC Miembro . . . . . . : RDA006D Biblioteca . . : RYC26061 Tipo fuente . . . . : DSPF Teclee opciones, pulse Intro. 1=Aadir 2=Editar comentarios 3=Copiar 4=Suprimir 7=Redenominar 8=Seleccionar palabras clave 12=Disear imagen Opc Orden Registro Tipo Subarch Rel Fecha Error DDS 8 10 20 30 REG01 REG02 REG03 RECORD RECORD RECORD 03/10/12 03/10/12 03/10/12 Final F3=Salir F12=Cancelar F14=Palabras clave nivel archivo F15=Comentarios nivel archivo F17=Subconjunto F24=Ms teclas

Ronald Donayre Anchante

Pgina 4

Lenguaje de Programacin IV
Seleccionar Palabras Clave de Registro Registro . . : REG02 Teclee opciones, pulse Intro. Palabras clave generales . . . Palabras clave de indicador . . Ayuda de aplicacin . . . . . . Palabras clave de ayuda . . . . Palabras clave de salida . . . Palabras clave de entrada . . . Palabras clave de recubrimiento Palabras clave de impresin . . Palabra clave ALTNAME . . . . . Palabra clave TEXT . . . . . . F3=Salir . . . . . . . . . . Y=S a a a a a a Y a a F12=Cancelar

F4=Visualizar palabras clave seleccionadas Seleccionar Palabras Clave de Recubrimiento

Registro . . : REG02 Teclee opciones, pulse Intro. Recubrir sin borrar . . . . . . . . Retener datos en revisualizacin . . Proteger todos campos entrada . . Activar OVRDTA y OVRATR . . . . . . Alterar Temporalmente Datos . . . . Alterar Temporalmente Atributo . . . Inicializar campos entrada . . . Restaurar todos ident. datos modif. Parmetro MDTOFF . . . . . . . . . Borrar todos campos entrada . . . Parmetro ERASEINP . . . . . . . . Borrar todos los regist. siguientes. F3=Salir F12=Cancelar P.clave OVERLAY PUTRETAIN PROTECT PUTOVR OVRDTA OVRATR INZINP MDTOFF *UNPR *ALL ERASEINP *MDTON *ALL ERASE Y=S Y Indicadores/+ Giro

REG03 Estando en la pantalla de Trabajar


8=Seleccionar palabras clave Trabajar con Registros de Pantalla Archivo . . . . . : QDDSSRC Miembro . . . . . . : RDA006D Biblioteca . . : RYC26061 Tipo fuente . . . . : DSPF Teclee opciones, pulse Intro. 1=Aadir 2=Editar comentarios 3=Copiar 4=Suprimir 7=Redenominar 8=Seleccionar palabras clave 12=Disear imagen Opc Orden Registro Tipo Subarch Rel Fecha Error DDS 10 20 30 REG01 REG02 REG03 RECORD RECORD RECORD 03/10/12 03/10/12 03/10/12 Final F3=Salir F12=Cancelar F14=Palabras clave nivel archivo F15=Comentarios nivel archivo F17=Subconjunto F24=Ms teclas con Registros de Pantalla

ingresamos a la opcin

Seleccionar Palabras Clave de Registro Registro . . : REG03 Teclee opciones, pulse Intro. Palabras clave generales . . . Palabras clave de indicador . . Ayuda de aplicacin . . . . . . Palabras clave de ayuda . . . . Palabras clave de salida . . . Palabras clave de entrada . . . Palabras clave de recubrimiento Palabras clave de impresin . . Palabra clave ALTNAME . . . . . Palabra clave TEXT . . . . . . F3=Salir . . . . . . . . . . Y=S a Ya a a a a Y a a F12=Cancelar

F4=Visualizar palabras clave seleccionadas

Ronald Donayre Anchante

Pgina 5

Lenguaje de Programacin IV
Definir palabras clave de indicadores Registro . . : REG03 Teclee palabras clave y parmetros, pulse Intro. Palabras clave condic CFnn CAnn CLEAR PAGEDOWN/ROLLUP PAGEUP/ROLLDOWN HOME HELP HLPRTN Palabras clave no condic.: INDTXT VLDCMDKEY SETOF CHANGE Pal clave Indicad/+ CF03 Resp Texto 03 a Final F3=Salir F12=Cancelar

Seleccionar Palabras Clave de Recubrimiento Registro . . : REG03 Teclee opciones, pulse Intro. Recubrir sin borrar . . . . . . . . Retener datos en revisualizacin . . Proteger todos campos entrada . . Activar OVRDTA y OVRATR . . . . . . Alterar Temporalmente Datos . . . . Alterar Temporalmente Atributo . . . Inicializar campos entrada . . . Restaurar todos ident. datos modif. Parmetro MDTOFF . . . . . . . . . Borrar todos campos entrada . . . Parmetro ERASEINP . . . . . . . . Borrar todos los regist. siguientes. F3=Salir F12=Cancelar P.clave OVERLAY PUTRETAIN PROTECT PUTOVR OVRDTA OVRATR INZINP MDTOFF *UNPR *ALL ERASEINP *MDTON *ALL ERASE Y=S Y Indicadores/+ Giro

Una vez realizado toda esta configuracin en cada uno de los registros procedemos a compilar el archivo RDA006D. PROGRAMA: RDA006RP
0001.00 0002.00 0003.00 0004.00 0005.00 0006.00 0007.00 0008.00 0009.00 0010.00 0011.00 0012.00 0013.00 0014.00 0015.00 0016.00 0017.00 0018.00 0019.00 0020.00 0021.00 0022.00 0023.00 0024.00 0025.00 0026.00 0027.00 0028.00 0029.00 0030.00 0031.00 0032.00 0033.00 0034.00 0035.00 0036.00 0037.00 0038.00 0039.00 0040.00 0041.00 0042.00 0043.00 0044.00 0045.00 HDATFMT(*ISO) DATEDIT(*YMD-) FRDA006D CF E DSFECHA DS DXA 1 DXM 5 DXD 7 DVPRC S C MOVE C MOVE C DOW C MOVE C EVAL C MOVEA C EXFMT C IF C EVAL C EVAL C EVAL C ELSEIF C EVAL C EVAL C EVAL C ELSEIF C EVAL C EVAL C EVAL C ELSEIF C EVAL C EVAL C EVAL C ELSEIF C EVAL C EVAL C EVAL C ELSE C EVAL C EVAL C ENDIF C IF C MOVE C EVAL C MOVE C EVAL * CALCULO TOTAL DEL SEGURO C IF WORKSTN 4S 0 6S 0 8S 0 5S 2 INZ(*ZEROS) *DATE SFECHA LOG D XA A_ACT 4 0 *IN03='0' *ZEROS VOK 1 VERR='' '00000' *IN(30) REG01 VNOM=*BLANKS VERR='INGRESE UN NOMBRE DE CLIENTE' VOK='N' *IN30='1' VFEN=*ZEROS VERR='INGRESE UNA FECHA DE NACIMIENTO' VOK='N' *IN31='1' VMOD<>'A' AND VMOD<>'B' VERR='INGRESE UN MODELO VALIDO: A O B' VOK='N' *IN32='1' VCOL=*BLANKS VERR='INGRESE UN COLOR DE AUTO' VOK='N' *IN33='1' VFEE=*ZEROS VERR='INGRESE UNA FECHA DE NACIMIENTO' VOK='N' *IN34='1' VERR='' VOK='S' VOK='S' VFEN SFECHA VEDA=A_ACT - XA VFEE SFECHA VTIE=A_ACT - XA VMOD='A'

Ronald Donayre Anchante

Pgina 6

Lenguaje de Programacin IV
0046.00 0047.00 0048.00 0049.00 0050.00 0051.00 0052.00 0053.00 0054.00 0055.00 0056.00 0057.00 0058.00 0059.00 0060.00 0061.00 0062.00 0063.00 0064.00 0065.00 0066.00 0067.00 0068.00 0069.00 0070.00 0071.00 0072.00 0073.00 0074.00 0075.00 0076.00 0077.00 0078.00 0079.00 0080.00 0081.00 0082.00 0083.00 0084.00 0085.00 0086.00 0087.00 0088.00 0089.00 0090.00 0091.00 C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C SELECT WHEN EVAL WHEN EVAL OTHER EVAL ENDSL ELSEIF SELECT WHEN EVAL WHEN EVAL OTHER EVAL ENDSL ENDIF EVAL SELECT WHEN EVAL WHEN EVAL WHEN EVAL ENDSL IF EVAL ENDIF EVAL EVAL IF EVAL ELSEIF EVAL ENDIF WRITE WRITE ELSE WRITE WRITE ENDIF EXFMT ENDDO EVAL

VCOL='BLANCO' VPRC=240.41 VCOL='METALIZADO' VPRC=330 VPRC=270.50 VMOD='B' VCOL='BLANCO' VPRC=300 VCOL='METALIZADO' VPRC=360 VPRC=330 VTOT=VPRC VEDA<26 VTOT += VPRC VEDA>=26 AND VTOT += VPRC VEDA>65 VTOT += VPRC * 0.25 VEDA<=30 * 0.10 * 0.10

VTIE<2 VTOT += VPRC * 0.25 *IN50='0' *IN51='0' VTOT>300 AND VTOT<400 *IN50='1' VTOT>400 *IN51='1' REG02 REG03 REG01 REG03 REG03 *INLR='1'

Aplicacin Final

Ronald Donayre Anchante

Pgina 7

You might also like