jmartel s-06 - selectiva multiple-impresion
DESCRIPTION
programacionTRANSCRIPT
![Page 1: JMARTEL S-06 - Selectiva Multiple-impresion](https://reader037.vdocuments.net/reader037/viewer/2022102622/5695d1b61a28ab9b02979e0d/html5/thumbnails/1.jpg)
PROGRAMACIÓN DE INGENIERÍA
S-06: Estructura Selectiva Múltiple
Ing. Jorge A. Martel TorresIngenierías
![Page 2: JMARTEL S-06 - Selectiva Multiple-impresion](https://reader037.vdocuments.net/reader037/viewer/2022102622/5695d1b61a28ab9b02979e0d/html5/thumbnails/2.jpg)
UNTELS JORGE A. MARTEL TORRES 2
Contenido
• Estructuras de Programación
– Secuencial, Decisión, Repetitivas
– Anidaciones
• Estructura de un Programa/Algoritmo
– Entorno, Edición, grabación, otros
• Elementos y estructura de un programa en C/C++
– Tipos de datos.
– Operadores, Tipos
• Instrucciones de I/O
– Sentencias: ;, { }, //, /* */
– Sentencias cin >>, cout <<, endl
– Funciones: printf(), scanf(), clrscr(), gotoxy(), getch()
![Page 3: JMARTEL S-06 - Selectiva Multiple-impresion](https://reader037.vdocuments.net/reader037/viewer/2022102622/5695d1b61a28ab9b02979e0d/html5/thumbnails/3.jpg)
Estructuras de Programación
![Page 4: JMARTEL S-06 - Selectiva Multiple-impresion](https://reader037.vdocuments.net/reader037/viewer/2022102622/5695d1b61a28ab9b02979e0d/html5/thumbnails/4.jpg)
UNTELS JORGE A. MARTEL TORRES 4
DIAGRAMA DE FLUJO
INGRESO POR
EL TECLADO
SALIDA
POR
PANTALLA
INICIO
FIN
PROCESO
INICIO
PROCESO
SALIDA
POR
PANTALLA
FIN
PROCESO
V
F
MIENTRAS
PROCESOV
HACER MIENTRAS
F
PROCESOPROCESO
VF
SI DOBLE
PROCESO
V
SI SIMPLE
F
VI, VF, INCR
PROCESOV
DESDE PARAF
1
ACCIONES
S2
ACCIONES
S3
ACCIONES
OTROS
ACCIONES
S1
2 3 OTRO
SELECTOR DE CASOS
![Page 5: JMARTEL S-06 - Selectiva Multiple-impresion](https://reader037.vdocuments.net/reader037/viewer/2022102622/5695d1b61a28ab9b02979e0d/html5/thumbnails/5.jpg)
UNTELS JORGE A. MARTEL TORRES 5
DIAGRAMA NASSI-SCHNEIDERMAN (D-NS)
Nombre del Algoritmo;
Inicio
Acción 1;
Acción 2;
Acción 1;
...
Acción n;
Fin.
Acciones
por SI o
Verdad
SI NO
Acciones
por No o
Falsedad
CONDICION
MIENTRAS CONDICION
Acciones que se
ejecutaran si la
CONDICION es
VERDAD
MIENTRAS CONDICION
Acciones que se
ejecutaran mientras
QUE LACONDICION
es VERDAD
PARA VI, VF, INCREMENTO
FIN_PARA
ACCIONESACCIONES
S2
ACCIONES
S3
ACCIONES
OTROS
ACCIONES
S1
variable
1 2 3 OTRO
Acciones
por SI o
Verdad
SI
CONDICION
![Page 6: JMARTEL S-06 - Selectiva Multiple-impresion](https://reader037.vdocuments.net/reader037/viewer/2022102622/5695d1b61a28ab9b02979e0d/html5/thumbnails/6.jpg)
UNTELS JORGE A. MARTEL TORRES 6
PSEUDOCODIGO
MIENTRAS
Mientras ( Condición )
Acciones Solo Si
la condición es Verdad
Fin_Mientras
V
HACER
Hacer
Acciones Solo Si
la condición es Verdad
Mientras ( Condición )
V
PARA /DESDE/ HASTA
Para ( Vari; VIni; Vfin; Incre )
Acciones Que Solo Si
la Vari >= Vfin
Fin ( Condición )
V
SELECTOR DE MULTIPLE
Seleccionar ( Condición )
CASO n1:
Acciones
CASO n2:
Acciones
CASO n3:
Acciones
Fin_Seleccionar
SELECCION DOBLE
Si ( Condición )
Acciones Si
la condición
es verdad
Si_No
Acciones Si
la condición
es Falso
Fin_Si
V
F
SECUENCIALNombre del Algoritmo;Inicio
Acción 1;
Acción 2;
Acción 1;
...
Acción n;
Fin.
V
SELECCION SIMPLE
Si ( Condición )
Acciones Solo Si
la condición
es Verdad
Fin_Si
![Page 7: JMARTEL S-06 - Selectiva Multiple-impresion](https://reader037.vdocuments.net/reader037/viewer/2022102622/5695d1b61a28ab9b02979e0d/html5/thumbnails/7.jpg)
Estructuras Selectivas!!Alguien tiene que ser!!
?
VVF
??
?
a
bc
![Page 8: JMARTEL S-06 - Selectiva Multiple-impresion](https://reader037.vdocuments.net/reader037/viewer/2022102622/5695d1b61a28ab9b02979e0d/html5/thumbnails/8.jpg)
UNTELS JORGE A. MARTEL TORRES 8
Estructuras Selectivas de Decisión Múltiple
ACCIONES
II
ACCIONES
III
ACCIONES
IV
ACCIONES
I
( variable )
1 2 3 OTRO
SELECTOR DE CASOS
Seleccionar ( variable )
CASO cons1 :
Instrucciones I ;
CASO cons2 :
Instrucciones II ;
CASO cons3 :
Instrucciones III ;
NingunoAnterior :
Instrucciones IV ;
Fin_Seleccionar
SELECTOR DE CASOS
(dia)
?
romper
C = 2
cons1
(C)
ACCIONES
II
ACCIONES
III
ACCIONES
IV
ACCIONES
I
cons2 cons3 DeLoContra
SELECTOR DE CASOS
“Lina”
“Martha”
“Margarita”
“1”
“2”
“3”
![Page 9: JMARTEL S-06 - Selectiva Multiple-impresion](https://reader037.vdocuments.net/reader037/viewer/2022102622/5695d1b61a28ab9b02979e0d/html5/thumbnails/9.jpg)
UNTELS JORGE A. MARTEL TORRES 9
Estructuras Selectivas de Decisión Múltiple
Si mi día lo represento con
una letra (caracter), y, Si hoy
es el segundo día de la
semana, a que compañera le
tengo que ayudar con la
tarea?
( dia )
?
“Lina”
“Martha”
“Margarita”
“L”
“M”
“C”
“cálculo”
“programación”
“química”
Si mi día lo represento con
un numero (entero), y, Si
hoy es el tercer día de la
semana, a que curso le
tengo que ayudar con la
tarea?
( dia )
1
2
3
![Page 10: JMARTEL S-06 - Selectiva Multiple-impresion](https://reader037.vdocuments.net/reader037/viewer/2022102622/5695d1b61a28ab9b02979e0d/html5/thumbnails/10.jpg)
UNTELS JORGE A. MARTEL TORRES 10
Estructuras Selectivas de Decisión Múltiple
ACCIONES
“fisica”
ACCIONES
“calculo”
ACCIONES
“FACE”
ACCIONES
“program”
( variable )
con1 con2 con3 OTRO
Pseudocodigo
Seleccionar ( variable )
CASO cons1 :
Instrucciones I ;
CASO cons2 :
Instrucciones II ;
CASO cons3 :
Instrucciones III ;
NingunoAnterior :
Instrucciones IV ;
Fin_Seleccionar
romper
cons1
(variable)
ACCIONES
II
ACCIONES
III
ACCIONES
IV
ACCIONES
I
cons2 cons3 DeLoContra
c/ c++
switch ( variable )
{
case cons1 :
Instrucciones I ;
case cons2 :
Instrucciones II ;
case cons3 :
Instrucciones III ;
default :
Instrucciones IV ;
}
break
![Page 11: JMARTEL S-06 - Selectiva Multiple-impresion](https://reader037.vdocuments.net/reader037/viewer/2022102622/5695d1b61a28ab9b02979e0d/html5/thumbnails/11.jpg)
Ejemplo
switch ( dia )
{
case ‘L’ :
cout << “Programación\n” ;
break ;
case ‘M’ :
cout << “Física\n”;
break;
case ‘C’ :
cout << “Cálculo\n” ;
break;
default :
cout << “Face - tota\n” ;
}
UNTELS JORGE A. MARTEL TORRES 11
‘L’
( dia )
‘M’ ‘C’ DeLoContra
char dia ;
dia = ‘L’ ;
cout << “que semana\n” ;
dia = ‘M’;
Dia
Representar como
Imprime CursoLetra Numero
Lunes ´L´ 1 "programacion"
Martes ´M´ 2 "fisica"
Miercoles ´C´ 3 "calculo"
otros "feriado"
Dia
Lunes Programación
Martes física
Miercoles Cálculo
“program” “fisica” “calculo” “face”
“que semana”
Se ingresa un identificador
de día(letra), para mostrar
que curso me toca por día
seleccionado.
![Page 12: JMARTEL S-06 - Selectiva Multiple-impresion](https://reader037.vdocuments.net/reader037/viewer/2022102622/5695d1b61a28ab9b02979e0d/html5/thumbnails/12.jpg)
Ejemplo
switch ( Dn )
{
case 1 :
cout << “Programación\n” ;
break ;
case 2 :
cout << “Física\n”;
break;
case 3 :
cout << “Cálculo\n” ;
break;
default :
cout << “Face - tota\n” ;
}
UNTELS JORGE A. MARTEL TORRES 12
int Dn ;
Dn = 2;
cout << “que semana\n” ;
Dia
Representar como
Imprime CursoLetra Numero
Lunes ´L´ 1 "programacion"
Martes ´M´ 2 "fisica"
Miercoles ´C´ 3 "calculo"
otros "feriado"
Dia
Lunes Programación
Martes física
Miercoles Cálculo
1
( Dn )
2 3 DeLoContra
Dn = 2;
“program” “fisica” “calculo” “face”
“que semana”
Se ingresa un identificador
de día(numero), mostrar
que curso me toca por dia
seleccionado.
![Page 13: JMARTEL S-06 - Selectiva Multiple-impresion](https://reader037.vdocuments.net/reader037/viewer/2022102622/5695d1b61a28ab9b02979e0d/html5/thumbnails/13.jpg)
UNTELS JORGE A. MARTEL TORRES 13
Estructura de un Programa en C++char chrCarrera;
main() {
cout << "Ingresar un Caracter : “ ;
cin >> chrCarrera;
switch ( chrCarrera ) {
case ‘A’ :
cout << “administración“;
break;
case ‘B’:
cout << “ambiental“;
break;
case ‘E’ :
cout << “Electrónica“;
break ;
default :
cout << “No hay“ ;
}
}
• Se ingresa desde el teclado un
identificador (opcion) de
carrera para mostrar el nombre
de la carrera por la pantalla
carrera
Representar como
Imprime Letra Numero
administración ´A´ 100 “administración"
ambiental ´B´ 200 “ambiental"
electrónica ´E´ 300 “electrónica"
otros “no hay"
![Page 14: JMARTEL S-06 - Selectiva Multiple-impresion](https://reader037.vdocuments.net/reader037/viewer/2022102622/5695d1b61a28ab9b02979e0d/html5/thumbnails/14.jpg)
UNTELS JORGE A. MARTEL TORRES 14
using namespace std ;
int intN ;
main() {
cout << "Ingresar Número Entero: “ ;
cin >> intN;
switch ( intN )
{
case 1 :
cout << “uno“ ;
break ;
case 2 :
cout << “dos“ ;
break;
case 3 :
cout << “tres“ ;
break;
default :
cout << “no hay“ ;
}
}
Estructura de un Programa en C++
Numero
Representar como
Imprime CursoLetra Numero
1 1 “uno"
2 2 “dos"
3 3 “tres"
otros “no hay"
• Se ingresa desde el teclado un
identificador (opcion) numero
entero, mostrar el numero en letras
por la pantalla
![Page 15: JMARTEL S-06 - Selectiva Multiple-impresion](https://reader037.vdocuments.net/reader037/viewer/2022102622/5695d1b61a28ab9b02979e0d/html5/thumbnails/15.jpg)
Selectiva múltiple con if - else anidados
if ( expresionLogica1 )
{
Instruccioenes1 ;
}
else if ( expresionLogica2 )
{
Instruccioenes2 ;
}
else if ( expresionLogica3 )
{
Instruccioenes3 ;
}
else if ( expresionLogica4 )
{
Instruccioenes4 ;
}
else
{
Instruccioenes5 ;
}
UNTELS JORGE A. MARTEL TORRES 15
Voltios (V) mensaje
< 0; 1.2 ] “apagado”
< 1.2; 2.5 ] “amarillo”
< 2.5; 5.5 ] “rojo”
< 5.5, 12.0 ] “verde”
< 12 ; … > “peligro?”
if ( ( v > 0 ) && ( v <= 1.2 ) ) {
cout << “apagado” << endl;
}
else if ( ( v > 1.2 ) && ( v <= 2.5 ) ) {
cout << “amarillo” << endl ;
}
else if ( ( v > 2.5 ) && ( v <= 5.5 ) ) {
cout << “rojo” << endl ;
}
else if ( ( v > 5.5 ) && ( v <= 12 ) ) {
cout << “verde” << endl ;
}
else {
cout << “peligroso” << endl ;
}
v = 2.7 ;
Para Trabajar con
rango (intervalos)
de datos.
![Page 16: JMARTEL S-06 - Selectiva Multiple-impresion](https://reader037.vdocuments.net/reader037/viewer/2022102622/5695d1b61a28ab9b02979e0d/html5/thumbnails/16.jpg)
Selectiva múltiple con if - else anidados
Se ingresa un valor
que representa los
estados en voltios de
un semáforo. Según
el cuadro adjunto,
mostrar un mensaje
en función a los
valores ingresados a
un monitor de
estados.
UNTELS JORGE A. MARTEL TORRES 16
Voltios (V) mensaje
< 0; 1.2 ] “apagado”
< 1.2; 2.5 ] “amarillo”
< 2.5; 5.5 ] “rojo”
< 5.5, 12.0 ] “verde”
< 12 ; … > “peligro?”
if ( ( v > 0 ) && ( v <= 1.2 ) ) {
cout << “apagado” << endl;
}
else if ( ( v > 1.2 ) && ( v <= 2.5 ) ) {
cout << “amarillo” << endl ;
}
else if ( ( v > 2.5 ) && ( v <= 5.5 ) ) {
cout << “rojo” << endl ;
}
else if ( ( v > 5.5 ) && ( v <= 12 ) ) {
cout << “verde” << endl ;
}
else {
cout << “peligroso” << endl ;
}
cin >> v ;
![Page 17: JMARTEL S-06 - Selectiva Multiple-impresion](https://reader037.vdocuments.net/reader037/viewer/2022102622/5695d1b61a28ab9b02979e0d/html5/thumbnails/17.jpg)
UNTELS JORGE A. MARTEL TORRES 17
ContadoresOP Operación Ejemplo Equivalente
+= suma más asignacion c += 7; c = c + 7;
-= resta más asignacion d -= 4; d = d - 4;
= Asignacion simple a = b;
*= multiplicacion más asignacion e *= 5; e = e * 5
/= division más asignacion f /= 3; f = f / 3
%= modulo más asignacion g %= 9; g = g % 3
OP Si Operación
a ++; Utiliza el valor actual, después suma 1
++ b; suma 1, después utiliza el valor actual
c --; Utiliza el valor actual, después quita 1
-- d; quita 1, después utiliza el valor actual
++
--