Está en la página 1de 2

Traducción de pseudocódigo a C++

Estructura Alternativa
Variables de E/ y S/
..... si if (condición)
{Pre: ...} condición entonces {
{Post: ...}

Algoritmo Nombre Algoritmo /* No hay un equivalente en C++ para esta línea */


bloque_instrucciones_1 bloque_instrucciones_1;
}
#include <nombre_fichero> /* ver sección 2.2 */ si_no else
{
constantes bloque_instrucciones_2 bloque_instrucciones_2;
cte 1 = valor 1 /* zona de definición de tipos */ fsi }
...
tipos /* declaraciones de funciones */
tipo 1 = ... Est. Alternativa Anidada
... int main()
variables { si if (condición_1)
variable 1 : tipo 1 const tipo cte_1 = valor_1; condición_1 entonces {
... tipo_1 variable_1;
...
principio bloque_instrucciones_1 bloque_instrucciones_1;
/* sentencias */ }
si_no si condición_2 entonces else if (condición_2)
} {
{ sentencias} bloque_instrucciones_2 bloque_instrucciones_2;
}
fin. ... ...
si_no si condición_k entonces else if (condición_k)
Tipos {
• Entero: int • Real: float bloque_instrucciones_k bloque_instrucciones_k;
• Carácter: char • Lógico: bool fsi }

Operadores Aritméticos Operadores Relacionales Selección Múltiple


+ a+b Suma = a = = b Igual
- a-b Resta; cambio de signo ≠ a ! = b Distinto (≠) según <variable> sea switch (variable)
* a*b Producto < a < b Inferior {
div a / b División entera > a > b Superior <valor_1>: case <valor_1>:
/ a/b División real <= a <= b Menor o igual {
mod a % b Resto de la división >= a >= b Mayor o igual bloque_instrucciones_1 bloque_instrucciones_1;
}
break;
Operadores Lógicos Operador Asignación <valor_2>: case <valor_2>:
NOT ! a Negación := c = b Asigna el valor de b a c {
AND a & & b y bloque_instrucciones_2 bloque_instrucciones_2;
OR a | | b o }
break;
... ...
Asignación Externa(Lectura) <valor_k>: case <valor_k>:
{
Leer (variable de_entrada) cin >> variable_de_entrada; bloque_instrucciones_k bloque_instrucciones_k;
}
Salida de Datos(Escritura) break;
otros default:
Escribir(expresión) cout << expresión; {
Escribirln(expresión) cout << expresión <<endl; bloque_por_defecto bloque_por_defecto;
}
fsegún; }
Vectores
Estructura Iterativa
mientras que condición hacer while (condición) tipo
{ tvector=vector[1..<tamaño>] de <tipo>
bloque_de_instrucciones bloque_de_instrucciones; ... <tipo> <variable>[<tamaño>];
fmq } variables
<variable>:tvector
Estructura Repetitiva ...
repetir do
{ Para acceder a un elemento que ocupa la posición <indice>:
bloque_de_instrucciones bloque_de_instrucciones;
hasta que condición }while (!(condición)); <variable>[<indice>]

Estructura Repetitiva Incondicional


para ind:=inicio hasta fin hacer for(ind=inicio;ind<=fin;ind=ind+1) En C++ los vectores son siempre parámetros de entrada/salida y además no debe
{ utilizarse el & para indicarlo.
bloque_instrucciones bloque_instrucciones;
fpara } Cadenas
char <variable>[<tamaño>];

Funciones Para leer cadenas por teclado:


gets(variable_cadena);
función nombre_función(...) devuelve tipo tipo nombre_función(...)
.... {
Para saber la longitud de la cadena:
principio .....
strlen(variable_cadena);
..... .....
devuelve ( valor ); return ( valor );
fin } Para copiar una cadena en otra:
strcpy(variable_cadena, variable_copia_cadena);
Acciones
Para comparar una cadena con otra:
acción nombre_acción (...) void nombre_acción(...) strcmp(variable_cadena_1, variable_cadena_2);
.... {
principio .....
..... .....
fin; }

Especificación de parámetros

( tipo_1 parámetro_1, tipo_2 parámetro_2, ..., tipo_n parámetro_n)

Parámetros de entrada
Se especifican escribiendo el identificador del parámetro y el tipo del
mismo.

Parámetros de salida y entrada/salida

Se especifican igual que los parámetros de entrada pero poniendo un &


detrás del tipo del parámetro, y delante del identificador del parámetro.

También podría gustarte