Descargar archivo adjunto

Anuncio
GUIA EQUIVALENCIAS ENTRE
CODIGO C++ Y DIAGRAMAS
NASSI-SHNEIDERMAN
Introducción
Presentamos una breve guía de equivalencias entre los diagramas de NASSI
SHNEIDERMAN y el código en C/C++.
Describimos la selección simple, la selección múltiple y tres casos de
procesos repetitivos: mientras, repetir hasta, repetir un número fijo de veces..
Para cada caso presentamos a través de un ejemplo el diagrama y el código
que lo representa. En todos los casos proponemos actividades para desarrollar..
Es importante que copien cada ejemplo en un programa utilizando el Turbo C
, lo compilen, ejecuten y observen los resultados.
Tengan en cuenta que solamente presentamos las líneas de código que
resuelven el problema. Para que esto compile faltan: las definiciones de las
variables, incluir las librerías (iostrean, conio, etc) y definir la función main().
La sentencia selección simple (if … else …)
Esta sentencia permite incluir selecciones simples en los programas.
Por ejemplo si debemos escribir en pantalla si una persona es menor de edad en
función si tiene 18 años o menos.
Ejemplo
Figura 1: Diagrama de selección simple
Página 1 de 7
Las siguientes líneas son la resolución en código C/C++ del diagrama de la figura 1.
if (iEdad<18) {
cout<<”Es menor de edad”<<endl;
}else{
cout<<”Es mayor de edad”<<endl;
}
Observemos que:
La expresión en la comparación está entre símbolos parentesis: ()
Actividad 1
A partir del código C/C++ realice el diagrama correspondiente.
if ((a==10) && (b==20)) {
cout<<”la variable a contiene el valor 10 y”<<endl;
cout<<”la variable b contiene el valor 20”<<endl;
}
Actividad 2
A partir del código C/C++ realice el diagrama correspondiente.
if (a==10) {
cout<<”la variable a contiene el valor 10 y”<<endl;
if (b==20)
cout<<”la variable b contiene el valor 20” <<endl;
else
cout<<”la variable b no contiene el valor 20”<<
endl;
}
else
cout<<”la variable a no contiene el valor 10”<<endl;
}
Página 2 de 7
La sentencia selección múltiple (switch …case,..,case)
Esta sentencia permite incluir selecciones múltiples en los programas.
Por ejemplo debemos escribir en pantalla la categoría de una persona, de
acuerdo al valor que contiene una variable.
Ejemplo
Figura 2: Diagrama se selección múltiple
Las siguientes líneas son la resolución en código C/C++ del diagrama de la figura 2.
switch (iCategoria){
case 1: cout<<”Categoría 1”<<endl; break;
case 2: cout<<”Categoría 2”<<endl; break;
case 3: cout<<”Categoría 3”<<endl; break;
default : cout<<”Categoría inválida”<<endl;
}
Observemos que:
Cada caso se determina en un “case”
Cada “case” finaliza con una sentencia break
Existe la opción “default”
que engloba a cualquier valor no contemplado
en los “case”
Actividad 3
A partir del código C/C++ realice el diagrama correspondiente.
switch (sProvincia){
case ´C´: cout<<”Provincia: Capital Federal”<<endl;
valor = 10;
break;
case ´B´: cout<<”Provincia: Buenos Aires”<<endl;
valor = 20;
break;
ase ´T´: cout<<”Provincia: Tierra del Fuego”<<endl;
Página 3 de 7
valor = 30;
break;
case ´S´: cout<<”Provincia: Santa Fé” <<endl;
valor = 40;
break;
default : cout<<”Provincia desconocida”<<endl;
valor = -1;
break;
}
La sentencia de repetición (mientras)
Esta sentencia permite incluir un número indeterminado de veces un conjunto de
instrucciones.
Es uno de los posibles ciclos que se pueden utilizar para resolver programas. Por
ejemplo si queremos mostrar los números entre el 1 y el 10.
Ejemplo
Figura 3: Proceso repetitivo “mientras”
Las siguientes líneas son la resolución en código C/C++ del diagrama de la figura 3.
a=0;
while (a<10){
cout<<a<<endl;
Página 4 de 7
a = a + 1;
// en C++ se puede escribir
a++;
}
Observemos que:
Se asigna un valor inicial a la variable “a”
Esta variable se utiliza para controlar el ciclo
Entonces se debe modificar su valor dentro del bloque del ciclo
Si el valor inicial de la variable a es mayor a 10, NO SE INGRESA AL CICLO
Entonces este tipo de ciclo puede que no se realice nunca (no entra!!)
Actividad 4
A partir del código C/C++ realice el diagrama correspondiente.
cout<<”Ingrese un número entre 2 y 10”<<endl;
cin >>a;
while ((a<2)||(a>10)){
cout<<”Ingrese un número entre 2 y 10”<<endl;
cin >>a;
}
La sentencia de repetición (hacer mientras)
Esta sentencia permite incluir un número indeterminado de veces un conjunto de
instrucciones.
Es uno de los posibles ciclos que se pueden utilizar para resolver programas. Por
ejemplo si queremos pedir un número por pantalla que sea mayor que 0 (cero).
Ejemplo
Figura 4: Proceso repetitivo “hacer-mientras”
Página 5 de 7
Las siguientes líneas son la resolución en código C/C++ del diagrama de la figura 4.
do{
cout<<”Ingrese un número mayor a 0”<<endl;
cin >>a;
} while (a<0);
Observemos que:
Siempre se realiza al menos una vez
En el bloque del ciclo se debe modificar el valor de la variable de control “a”
Actividad 5
A partir del código C/C++ realice el diagrama correspondiente.
do{
cout<<”Ingrese un número entre 2 y 10”<<endl;
cin >>a;
} while ((a<2)||(a>10));
La sentencia de repetición (número fijo de veces)
Esta sentencia permite incluir un número determinado de veces un conjunto de
instrucciones.
Es uno de los posibles ciclos que se pueden utilizar para resolver programas. Por
ejemplo si queremos mostrar los números del 1 al 10.
Ejemplo
Figura 5: Proceso repetitivo “número fijo de veces”
Página 6 de 7
Las siguientes líneas son la resolución en código C/C++ del diagrama de la figura 4.
for (i=1; i<=10; i++){
cout << i<<endl;
}
Observemos que:
Siempre se realiza un número fijo de veces
La variable de control (i) no se inicializa antes de ingresar al ciclo
Dentro del bloque del ciclo no se modifica la variable de control del ciclo
La instrucción está compuesta por 3 partes: inicialización de la variable, condición de
continuación e incremento de la variable
Actividad 6
A partir del código C/C++ realice el diagrama correspondiente.
for (i=1; i<=10; i++){
for (j=1; j<=5; j++){
cout << i<<j<<i*j<<endl;
}
}
Indice
Introducción..................................................................................... 1
La sentencia selección simple (if … else …) ................................................ 1
La sentencia selección múltiple (switch …case,..,case) .................................. 3
La sentencia de repetición (mientras) ...................................................... 4
La sentencia de repetición (hacer mientras) ............................................... 5
La sentencia de repetición (número fijo de veces)........................................ 6
Página 7 de 7
Descargar