Está en la página 1de 41

MIGUEL ANGEL LAQUIHUANACO CHIARELLA FUNDAMENTOS DE PROGRAMACIÓN

2.5. PSEUDOCÓDIGO

El Pseudocódigo es la combinación del lenguaje natural (español, inglés o cualquier otro idioma),
símbolos y términos utilizados dentro de la programación. Se puede definir como un lenguaje
de especificaciones de algoritmos.

El pseudocódigo se creó para superar las dos principales desventajas del diagrama de flujo: es
lento de crear y difícil de modificar sin un nuevo redibujo. Por otra parte, el pseudocódigo es
más fácil de utilizar ya que es similar al lenguaje natural. Al contrario de los lenguajes de
programación de alto nivel no tiene normas que definan con precisión lo que es y lo que no es
pseudocódigo.
Los pseudocódigos lo iniciaremos con la palabra reservada principal para especificar la función
denominada (main) en lenguaje de programación C++. Todo programa, al igual que toda función,
debe contener las palabras reservadas de inicio ({) y fin (}) delimitando las instrucciones.

La estructura básica de un algoritmo escrito en pseudocódigo es:

algoritmo <identificador_algoritmo>
// declaraciones, sentencias no ejecutables
inicio
// acciones, sentencias ejecutables tanto simples como estructuradas
fin

Los espacios en blanco entre los elementos no resultan significativos, y las partes importantes
se suelen separar unas de otras por líneas en blanco. Para introducir un valor o serie de valores
desde el dispositivo estándar y almacenarlos en una o varias variables utilizaremos
leer(<lista_de_variables>). Con nombre_de_variable ← <expresión> almacenaremos en una
variable el resultado de evaluar una expresión. Hay que tener en cuenta que una única
constante, variable o función, constituyen una expresión. Para imprimir en el dispositivo
estándar de salida una o varias expresiones emplearemos escribir(<lista_de_expresiones>).
Los elementos léxicos de nuestro pseudocódigo son: Comentarios, Palabras reservadas,
Identificadores, Operadores y signos de puntuación y Literales.
<lista_de_variables> lista de variables separadas por comas.
<lista_de_expresiones> lista de expresiones separadas por comas.

Leer b,h //ingreso de datos de base y altura


Ab*h {/* A=b*h …….
Asigno la operación a A. */}

2.5.1. Comentarios
Los comentarios sirven para documentar el algoritmo y en ellos se escriben anotaciones
generalmente sobre su funcionamiento. Cuando se coloque un comentario de una sola línea se
escribirá precedido de //. Si el comentario es multilínea, lo pondremos entre {}.
// Comentario de una línea
{ Comentario que ocupa más
de una línea }
MIGUEL ANGEL LAQUIHUANACO CHIARELLA FUNDAMENTOS DE PROGRAMACIÓN

2.5.2. Identificador
Un identificador es una secuencia de caracteres alfabéticos, numéricos y el guión bajo. Con ellos
podemos dar nombre a variables, constantes, tipos de dato, nombres de funciones o
procedimientos, etcétera.
El programador tiene libertad para darle cualquier nombre a un identificador, siguiendo estas
reglas:
 Debe comenzar con una letra (A a Z) mayúscula o minúscula y no puede contener espacios
en blanco. Ejemplo: ESME_Fundamentos
En lenguaje C++, el carácter “_” (guión bajo) es considerado como letra.
 El lenguaje C++ distingue mayúsculas de minúsculas porque tienen diferente código ASCII.
Ejemplo: A != a (C++) A<>a (Pseudocódigo)
 Letras, dígitos y el carácter guión bajo están permitidos después del primer carácter.
 No pueden existir dos identificadores iguales, es decir, dos elementos de un programa no
pueden nombrarse de la misma forma. Sin embargo, un identificador puede aparecer más
de una vez en un programa. Ejemplo: A5*4 a’Hola’
 No se puede utilizar una palabra reservada como identificador, sin embargo, los
identificadores estándar se pueden redefinir. Ejemplo Sqrtb*h (Error)
 En lenguaje C++ existen identificadores que podrían tener uno o varios puntos, tales como:
persona.apellidoPaterno
El punto indica el acceso a un campo de una estructura.

Sugerencias:
 El identificador debe tener un nombre que sea significativo, es decir, que dé una idea de la
información que almacena. Ejemplo A, Area (ideal) juan=b*h (no es ideal)
 No utilizar nombres muy largos, es mejor utilizar abreviaturas estándar para que éstos
tengan una longitud razonable. Ejemplo A=b*h determina_area_rectangulo=b*h
 En lenguaje C++ es usual escribir variables en minúscula, dejando las mayúsculas para las
constantes. En los casos de nombres compuestos se suele poner la inicial de la segunda
palabra en mayúscula. CIUDADANO=18 (constante)

Ejemplo 11:
promedioAlumnos, areaCuadrado, numeroNegativo.
Identificadores válidos: numero, year2020, Base_2, funcion, suma
Identificadores no válidos: número, ?nota, año, 2020, 1semestre.
En los tres primeros ejemplos se utilizan caracteres especiales y en los dos últimos el primer
carácter no es letra. Hay que recordar que la ñ en el código ASCII, NO aparece con las demás
letras.
Ejemplo 12: Transformar grados Celsius a Kelvin
Principal()
Inicio
entero celsius //el dato es entero
real kelvin
escribir “Ingrese valor de grados celsius”
leer celsius
kelvin ← celsius + 273.15 //K=C+273.15
escribir “En grados Kelvin es = “,kelvin,” su equivalente”
fin
MIGUEL ANGEL LAQUIHUANACO CHIARELLA FUNDAMENTOS DE PROGRAMACIÓN

#include <iostream.h>
#include <conio.h>
main()
{ int celsius; //el dato es entero
float kelvin;
cout<<"ingrese valor de grados celcius ";
cin>>celsius;
kelvin=celsius+273.15;
cout<<"En grados Kelvin es = "<<kelvin<<" su equivalente";
getch();
}

Ejemplo 13: Elabore un diagrama de flujo y pseudocódigo para que ordene tres números en
forma ascendente.

Principal()
Inicio
Entero a, b, c
Leer a, b, c
Si (a<b)
Si (a<c)
Si (b<c)
escribir a,b,c
Sino
Escribir a,c,b
Sino
Escribir c,a,b
Sino
Si (b<c)
Si (a<c)
Escribir b,a,c
Sino
Escribir b,c,a
Sino
MIGUEL ANGEL LAQUIHUANACO CHIARELLA FUNDAMENTOS DE PROGRAMACIÓN

Escribir c,b,a
Fin

2.6. TIPOS DE DATOS


Los diferentes objetos de información en un algoritmo o programa se conocen como datos.
Todos los datos tienen un tipo (rango de valores) asociado con ellos.

El tipo de dato asociado a una variable limita el conjunto de datos que puede almacenar, así
como las operaciones aplicables sobre esa variable. Por lo tanto, una variable que pertenece a
un tipo de dato int no podrá almacenar datos de tipo char; tampoco se podrán calcular
operaciones propias de otros tipos de datos.
La asignación de tipos a los datos tiene dos objetivos principales
 Detectar errores de operaciones en programas.
 Determinar cómo ejecutar las operaciones.

Los datos que utilizan los algoritmos y programas los podemos clasificar en simples o
compuestos. Un dato simple es indivisible, no se puede descomponer. Un dato compuesto está
integrado por varios datos.

Los tipos de datos simples son: numéricos (enteros y reales), lógicos (booleanos) y caracteres.

Tabla 2. Tipos básicos predefinidos


Tipo Tamaño (bits) Rango
int (entero) 16 -32,768 a 32,767
float (flotante) 32 3.4 E-38 a 3.4 E+38
double (flotante de doble precisión) 64 1.7 E-308 a 1.7 E+308
char (carácter) 8 -128 a 127
void 0 Sin valor

Los tipos de datos predefinidos son: numéricos, lógicos, caracteres y cadenas.

De ellos, tan sólo el tipo cadena es compuesto.

 Datos numéricos
Este tipo de datos se divide en enteros y reales.

 Tipos enteros. Son números que no tienen fracciones o decimales. Pueden ser negativos
o positivos y el rango es de -32,768 a 32,767. Se almacenan internamente en 2 o 4 bytes
de memoria y pueden ser: unsigned int, short int, int, signed long int (pueden almacenar
un rango diferente de valores).

 Tipos reales o de coma flotante (float/double). Tienen una coma (un punto) decimal,
tal como 3.1416, pueden ser positivos y negativos formando el subconjunto de los
números reales. Para representar números muy pequeños o muy grandes se emplea la
notación de punto flotante, que es una generalización de la notación científica. En esta
notación se considera al número real como mantisa y al exponente la potencia de 10 a
la que se eleva este número, por ejemplo 340 = 3.4 x 102. C++ soporta tres formatos de
MIGUEL ANGEL LAQUIHUANACO CHIARELLA FUNDAMENTOS DE PROGRAMACIÓN

coma flotante; el tipo float requiere 4 bytes de memoria, double 8 bytes, y long double
10 bytes.

 Datos lógicos o booleanos


Hay lenguajes que sólo pueden tomar uno de dos valores: verdadero (true) o falso ( false ).
En lenguaje C++ no existe el tipo lógico pero se puede implementar con un número entero,
0 es falso y cualquier número diferente de cero es verdadero. Algunos compiladores, como
por ejemplo el DEV-C++ utilizan el bool.

 Caracteres
El almacenamiento de caracteres en el interior de la computadora se hace en “palabras” de
8 bits (1 byte). Este tipo representa valores enteros en el rango -128 a +127. El lenguaje C++
proporciona el tipo unsigned char para representar valores de 0 a 255 y así representar
todos los caracteres ASCII.

Una característica de la parte estándar del conjunto de caracteres (los 128 primeros) es que
contiene las letras mayúsculas, las minúsculas y los dígitos, y que cada uno de estos tres
subconjuntos está ordenado en su forma natural, por lo que podemos manejar rangos de
caracteres bien definidos. Así, la siguiente expresión booleana decide si el carácter
contenido en la variable c es una letra minúscula (‘a’<=c && c<=‘z’). Los caracteres se
almacenan internamente como números y por lo tanto se pueden realizar operaciones
aritméticas con datos tipo char.

Existe también el dato tipo cadena (compuesto), que es una sucesión de caracteres que se
encuentran delimitados por comillas; la longitud de una cadena es el número de caracteres
comprendidos entre los delimitadores “[long_cad]”.

VARIABLES
Una variable es un dato que puede cambiar, cuando es de cierto tipo sólo puede tomar
valores que corresponden a ese tipo. Existen diferentes tipos:
 Enteras
 Reales
 Caracteres
 Cadenas

Declaración de variables:
Todas las variables deben ser declaradas antes de usarlas. En C++ no se admiten como
identificadores palabras reservadas.
Pseudocódigo C++
tipo_dato ident_variable(s) tipo_dato ident_variable(s);

Ejemplo 14:
Pseudocódigo C++
entero x,y,z int x,y,z;
real pi float pi;
caracter opc, nombre[25] char opc, nombre[25];
MIGUEL ANGEL LAQUIHUANACO CHIARELLA FUNDAMENTOS DE PROGRAMACIÓN

Las variables del mismo tipo pueden definirse con una definición múltiple, separándolas
mediante “,”
En el algoritmo o programa, una variable puede declararse en:
 Fuera de todos los subprogramas o funciones (global)
 Dentro de un subprograma o función (local a la función).
 Dentro de un bloque enmarcado por llaves { } (local al bloque).
 Dentro de una instrucción, por ejemplo: for (int c=1; c<=10; c++).
 Como parámetro formal (local a la función)

Reserva de memoria:
Al declarar una variable le indicamos al compilador que debe reservar espacio en memoria,
asignando un nombre y un número determinado de bytes, dependiendo del tipo de datos
asignado.

Las variables pueden ser inicializadas en el momento de declararse.


Pseudocódigo C++
tipo_dato variable ← 𝑣𝑎𝑙𝑜𝑟 tipo_dato variable = valor;

Ejemplo 15:
Pseudocódigo C++
𝑒𝑛𝑡𝑒𝑟𝑜 𝑐 ← 0 𝒊𝒏𝒕 𝑐 = 0;
𝑟𝑒𝑎𝑙 𝑥 ← 12.3 𝒇𝒍𝒐𝒂𝒕 𝑥 = 12.3;

2.7. OPERADORES
Un operador es un símbolo que permite relacionar dos datos en una expresión y evaluar el
resultado de la operación.

Los operadores fundamentales son:


 Aritméticos.
 Relacionales.
 Lógicos.
 Asignación.

2.7.1 Operadores aritméticos


Los operadores aritméticos (+, -, *, /) pueden ser utilizados con tipos enteros o reales y sirven
para realizar operaciones aritméticas básicas.

Ejemplo 16:
𝑠 = 10; 𝑡 = 4
Operador Operación en pseudocódigo Operación en C++ Resultado
+ R←s+t R=s+t; 14 int R,s,t;
- R←s-t R=s-t; 6 int R,s,t;
* R←s*t R=s*t; 40 int R,s,t;
/ R←s/t R=s/t; 2.5 int s,t; float R;
mod, % Resto←s mod t; Resto = s % t; 2 int s,t,Resto;
Resto←8 mod 4; Resto=8%4; 0
^, pow P←s^t; P=pow(s,t); 10 000 Int s,t,p;
Pot=pow(8,1/2); 2.83 float Pot;
MIGUEL ANGEL LAQUIHUANACO CHIARELLA FUNDAMENTOS DE PROGRAMACIÓN

Proceso aritmeticos
Definir s,t Como Entero;
Definir R Como Real;
s<-10; t<-4;
R<-s+t;
Escribir "Suma = ",R;
R<-s-t;
Escribir "Resta = ",R;
R<-s*t;
Escribir "Multiplicación = ",R;
R<-s/t;
Escribir "División = ",R;
R<-s MOD t;
Escribir "Resto = ",R;
R<-s^t;
Escribir "Potencia = ",R;
FinProceso

// Este codigo ha sido generado por el modulo psexport 20180802-w32 de PSeInt.


// Es posible que el codigo generado no sea completamente correcto. Si encuentra
// errores por favor reportelos en el foro (http://pseint.sourceforge.net).

#include <iostream>
#include <conio.h>
#include <math.h>
//using namespace std;

// Para leer variables de texto se utiliza el operador << del objeto cin, que
// lee solo una palabra. Para leer una linea completa (es decir, incluyendo los
// espacios en blanco) se debe utilzar getline (ej, reemplazar cin>>x por
// getline(cin,x)), pero obliga a agregar un cin.ignore() si antes del getline
// se leyó otra variable con >>.

int main() {
float r;
int s;
int t;
s = 10;
t = 4;
r = s+t;
cout << "Suma = " << r << endl;
r = s-t;
cout << "Resta = " << r << endl;
r = s*t;
cout << "Multiplicación = " << r << endl;
r = s/t;
cout << "División = " << r << endl;
r = s%t;
MIGUEL ANGEL LAQUIHUANACO CHIARELLA FUNDAMENTOS DE PROGRAMACIÓN

cout << "Resto = " << r << endl;


r = pow(s,t);
cout << "Potencia = " << r << endl;
getch();
return 0;
}

2.7.2 Operadores Relacionales


Describen una relación entre dos valores. Se usan para expresar condiciones y comparar dos
valores, el resultado de una expresión relacional es un valor tipo lógico o booleano (V o F, en
C++ 1 ó 0).
Ejemplo 17:
𝑠 = 10; 𝑡 = 4
Operador Expresiones relacionales Resultado Valor binario
Pseudocódigo C++
> s>t s>t V 1
t>s t>s F 0
< t<s t<s V 1
= s=t s==t F 0
>= s>=t s>=t V 1
<= s<=t s<=t F 0
<>, ≠ s<>t s!=t V 1

Proceso relacionales
Definir s,t Como Entero;
Definir r Como Logico;
s<-10; t<-4;
r<-s>t;
Escribir "Operador > : ",r;
r<-t<s;
Escribir "Operador < : ",r;
r<-s=t;
Escribir "Operador = : ",r;
r<-s>=t;
Escribir "Operador >= : ",r;
r<-s<=t;
Escribir "Operador <= : ",r;
r<-s<>t;
Escribir "Operador <> : ",r;
FinProceso
MIGUEL ANGEL LAQUIHUANACO CHIARELLA FUNDAMENTOS DE PROGRAMACIÓN

#include<iostream>
#include <conio.h>
//using namespace std;
int main() {
int r, s, t;
s = 10;
t = 4;
r = s>t;
cout << "Operador > : " << r << endl;
r = t<s;
cout << "Operador < : " << r << endl;
r = s==t;
cout << "Operador = : " << r << endl;
r = s>=t;
cout << "Operador >= : " << r << endl;
r = s<=t;
cout << "Operador <= : " << r << endl;
r = s!=t;
cout << "Operador <> : " << r << endl;
getch();
return 0;
}

2.7.3 Operadores lógicos


Las expresiones lógicas pueden combinarse para formar expresiones más complejas utilizando
los operadores lógicos.

Ejemplo 18:
𝑠 = 10; 𝑡 = 4; 𝑢 = 7
Expresiones lógicas
Operador Pseudocódigo C++ Resultado
Y (t<s) y (u<s) (t<s) &&(u<s) V
(t<s) y (u<t) (t<s) &&(u<t) F
O (t<s) o (u<s) (t<s)||(u<s) V
(t>s) o (u>s) (t>s)||(u>s) F
no no (t>s) ! (t>s) V
Proceso logicos
Definir s,t,u Como Entero;
Definir r Como Logico;
s<-10; t<-4; u<-7;
r<-(t<s) y (u<s);
Escribir "Operador y : ",r;
r<-(t<s) y (u<t);
Escribir "Operador y : ",r;
r<-(t<s) o (u<s);
Escribir "Operador o : ",r;
MIGUEL ANGEL LAQUIHUANACO CHIARELLA FUNDAMENTOS DE PROGRAMACIÓN

r<-(t>s) o (u>s);
Escribir "Operador o : ",r;
r<-no(t>s);
Escribir "Operador no : ",r;
FinProceso

2.7.4 Operadores de asignación


El operador de asignación permite evaluar una expresión y asignar el resultado en una
variable.
Sintaxis:
Pseudocódigo C++
Identificador ← expresión Identificador = expresión;
Nunca debe escribirse la expresión a la izquierda del operador de asignación.

Ejemplo 19:
𝑠 = 10; 𝑡 = 4; 𝑟𝑒𝑠𝑡𝑎 = 8; 𝑃𝑟𝑜𝑑 = 5
Operador Seudocódigo C++ Equivalencia Resultado
= Suma←s+t Suma=s+t; Suma=s+t; 14
+= Suma←Suma+3 Suma+=3; Suma=Suma+3; 17
-= resta←resta-3 resta-=3; resta=resta-3; 5
*= Prod←Prod*4 Prod*=4; Prod=Prod*4; 20
/= 𝑡 ← 𝑡/2 t/=2 t=t/2 2
%= 𝑠 ← 𝑠 𝑚𝑜𝑑 2 s%=2 s=s%2 0
-= 𝑆𝑢𝑚𝑎 ← 𝑆𝑢𝑚𝑎 − (𝑡 ∗ 2) Suma-=t*2 Suma=Suma-(t*2) 13

#include <iostream>
#include <conio.h>
main(){
int s,t,Suma,resta=8,Prod=5;
s=10; t=4;
Suma=s+t;
cout<<"Suma = "<<Suma;
Suma+=3;
cout<<"\nSuma = "<<Suma;
resta-=3;
cout<<"\nResta = "<<resta;
Prod*=4;
cout<<"\nProducto = "<<Prod;
t/=2;
cout<<"\nDivision = "<<t;
s%=2;
cout<<"\nResto = "<<s;
Suma-=(t*2);
cout<<"\nSuma = "<<Suma;
getch();
}
MIGUEL ANGEL LAQUIHUANACO CHIARELLA FUNDAMENTOS DE PROGRAMACIÓN

UNIDAD III: PROGRAMACIÓN ESTRUCTURADA

3.1. DEFINICIÓN
La programación estructurada es una forma de programar. Es un conjunto de técnicas que nos
permiten desarrollar programas fáciles de escribir, verificar, leer y mantener e incluyen:
a. Diseño descendente (top-down).
b. Estructuras de datos.
c. Estructuras de control.
d. Programación modular.

a. Diseño descendente (top-down)


En la programación estructurada las instrucciones están ordenadas u organizadas de arriba
a abajo, lo que facilita el diseño del algoritmo y del programa, el entendimiento del código
y por consiguiente el mantenimiento del mismo.

b. Estructuras de datos
Son un conjunto de datos donde podemos almacenar y acceder a elementos individuales de
datos, por lo que pueden separarse en los elementos que la forman.

c. Estructura de control
Nos centraremos en este punto.

d. Programación modular
Otra característica que tiene la programación estructurada es que el problema se puede
dividir en secciones o partes (módulos). Este tipo de programación permite resolverlo de
manera más sencilla y en forma paralela si es necesario, es decir por un equipo de personas.

3.2 ESTRUCTURA DE CONTROL Y SU CLASIFICACIÓN


Estas estructuras controlan cómo se ejecutan los programas, es decir el orden de las
instrucciones, ya que tienen un solo punto de entrada y un punto de salida. En la programación
estructurada se mezclan las estructuras de control y las podemos clasificar en:

Estructuras de control
 Secuencial.
 Estructuras de control Selectiva.
 Repetitiva o de iteración condicionada.

Estructura de control secuencial


Las instrucciones se ejecutan en orden, una por una desde la primera hasta la última, es decir el
programa ejecuta todas las instrucciones del programa en el orden establecido sin saltarse
ninguna de ellas.

Estructura de control selectiva o alternativa


De acuerdo con una condición que puede ser verdadera o falsa se elige una opción, la cual realiza
una acción (una o varias instrucciones). La condición puede ser simple o compuesta (una o
varias).

Estructura de control repetitiva o de iteración condicionada


Una acción se repite una cantidad definida o indefinida de veces mientras una condición sea
verdadera.
MIGUEL ANGEL LAQUIHUANACO CHIARELLA FUNDAMENTOS DE PROGRAMACIÓN

La lógica de programación se centra sobre todo en el cuerpo del programa, utilizando las
estructuras de datos y las de control, además de la programación modular.

3.3 ESTRUCTURA DE UN PROGRAMA EN C++


En la programación estructurada se recomienda tener un orden, tanto en los algoritmos, como
en los programas. La estructura de un programa en lenguaje C++ es el siguiente:
Comentarios
Declaración de archivos de cabecera (librerías)
Prototipo de las funciones
Declaración de variables globales y constantes
main() // Programa principal
{
Declaración de constantes (locales)
Declaración de variables (locales)
Cuerpo del programa (estructuras de control)
}
Declaración de funciones
{
}

Comentarios:
La primera línea de un programa suele ser una línea de comentario, en la cual se escribe el
nombre del programa, lo que realiza, los datos del autor, la fecha y la versión. Las líneas de
comentario en C++ se encierran entre los caracteres /* y */ o puede iniciar con //.

Declaración archivos de cabecera o encabezado: (librerías o bibliotecas)


Indican al compilador que en esta posición se incluyan las líneas de sentencias que están dentro
del archivo que se declara; son archivos estándar proporcionados por el fabricante del
compilador, y se suelen declarar funciones, variables y constantes que van a ser utilizadas en el
programa.

Para llamar un archivo de inclusión o cabecera es necesario hacer uso de la directiva #include,
la cual tiene la siguiente sintaxis:
#include nombre_archivo_cabecera
Donde nombre_archivo_cabecera es el nombre de un archivo que contiene las declaraciones y
definiciones para un propósito específico. Este archivo debe tener la extensión .h.
Ejemplo 19:
#include “stdio.h”
#include <stdio.h>

Las comillas le dicen a C++ que busque primero en el directorio de trabajo actual el archivo de
inclusión; si no lo encuentra, busca entonces en el directorio especificado en la línea de órdenes,
y finalmente si aún no lo ha encontrado entonces busca en el directorio estándar que se haya
definido durante la instalación.
Si el archivo de inclusión se encierra entre signos menor y mayor que, el compilador busca
primero en el directorio especificado en la línea de órdenes; si no lo encuentra busca entonces
en el directorio estándar. Jamás busca en el directorio de trabajo.
Si en la inclusión se especifica nombre de ruta o camino, entonces busca en dicho directorio.
MIGUEL ANGEL LAQUIHUANACO CHIARELLA FUNDAMENTOS DE PROGRAMACIÓN

Ejemplo 20:
#include “c:\cabecera\stdio.h”
#include <c:\include\ctype.h>

Bibliotecas o librerías de cabecera más utilizadas en C++


stdio.h contiene declaraciones de rutinas de entrada/salida.
math.h contiene declaraciones de funciones matemáticas.
string.h contiene funciones con cadenas.
conio.h consola y puertos de E/S.
ctype.h clasificador de caracteres.

Prototipos de funciones:
Un prototipo es la declaración de una función que sólo contiene la cabecera; a diferencia de la
declaración completa, al final lleva punto y coma. El prototipo le avisa al compilador que existe
una función que va a regresar un determinado tipo de dato y qué parámetros utilizará.

Declaración de variables globales y constantes:


Las constantes y variables son elementos que tienen el objetivo de identificar los datos que se
utilizan en las operaciones y cálculos que realiza el programa y que se almacenan en la memoria
de la computadora. Si las variables globales son declaradas en esta parte, pueden ser utilizadas
en todo el programa.

El programa principal o función principal main():


La función main() indica dónde empieza el programa, cuyo cuerpo principal es un conjunto de
instrucciones delimitadas por dos llaves, una inmediatamente después de la declaración main(),
“ { “, y otra que finaliza el listado, “ } “. Todos los programas C++ arrancan del mismo punto: la
primera instrucción dentro de dicha función.

Declaración de funciones:
Se declaran las funciones que utiliza el programa y que no están definidas en las librerías. Las
funciones son un conjunto de sentencias que realizan una tarea concreta y que retornan un dato
como resultado de las operaciones que han realizado. Es importante recordar que lo mínimo
que debe contener un programa en lenguaje C++ es un archivo de cabecera y el main().
Ejemplo 21:
#include <iostream>
main()
{
cout<<"Soy Metalurgista";
}

#include <stdio.h>
main()
{
printf(“Soy Metalurgista”);
}
MIGUEL ANGEL LAQUIHUANACO CHIARELLA FUNDAMENTOS DE PROGRAMACIÓN

Un programa complete sería de la siguiente manera:


/*-------------------------------------
Programa: Bienvenida.cpp
Realiza: Pide el nombre y le saluda
Autor: MALCH - UNJBG
Fecha: 08/05/2023
Versión 1.0
-------------------------------------*/
#include <iostream>
#include <conio.h>
void wellcome (char nomb[]);
char nombre[30];
main()
{
cout<<"What is your name? \n";
cin>>nombre;
wellcome(nombre);
}
void wellcome(char nom[])
{
cout<<"\nHello "<<nom<<" Wellcome to the world Metallurgical";
getch();
}

3.4 CONSTANTES
Una constante es un dato que permanece sin cambio durante la ejecución del programa, es decir
valores fijos que no pueden ser alterados por el usuario. Pueden ser enteras, reales, caracteres
y cadenas.
En lenguaje C++ una constante se define por medio de la instrucción #define (directiva del
procesador) o de la palabra const.

Uso de #define: creación de macros


Para nombrar valores constantes se realiza con el uso de definiciones de preprocesador.
Sintaxis
#𝒅𝒆𝒇𝒊𝒏𝒆 𝑖𝑑𝑒𝑛_𝑐𝑜𝑛𝑠𝑡 𝑣𝑎𝑙𝑜𝑟

Ejemplo 22:
#define MAX 50
#define PI 3.14
#define NUEVALINEA ‘\n’

Uso de const
Permite dar nombres simbólicos a constantes. Su valor no puede ser modificado por el usuario.
Sintaxis
𝒄𝒐𝒏𝒔𝒕 𝑡𝑖𝑝𝑜 𝑖𝑑𝑒𝑛_𝑐𝑜𝑛𝑠𝑡 = 𝑣𝑎𝑙𝑜𝑟;

Ejemplo 23:
const int MAX=50;
MIGUEL ANGEL LAQUIHUANACO CHIARELLA FUNDAMENTOS DE PROGRAMACIÓN

const double PI=3.14;


const char NUEVALINEA='\n';

#include <iostream>
#include <conio.h>
#include <math.h>
#define PI 3.1416
main()
{ const float e=2.71;
float radio,Area;

cout<<"Ingrese el radio => ";


cin>>radio;
Area=PI*pow(radio,2);
cout<<endl<<"Area = "<<Area;
Area=pow(e,radio);
cout<<endl<<"Area = "<<Area;
getch();
}
3.5 COMUNICACIÓN A TRAVÉS DE LA CONSOLA
La consola es la forma más básica para comunicarse con las computadoras, normalmente es el
conjunto compuesto por el teclado y la pantalla. El teclado es el dispositivo de entrada estándar
y la pantalla el dispositivo de salida estándar.
En la biblioteca iostream de C++ existen los flujos de datos para las operaciones estándares de
entrada y salida de un programa cin para la entrada y cout para la salida.
Por consiguiente cout (el flujo de salida estándard) normalmente se dirige a la pantalla y cin (el
flujo de entrada estándar) normalmente se asigna al teclado.
Manejando estos dos flujos se podrá interactuar con el usuario de los programas, dado que se
podrán mostrar mensajes en la pantalla e ingresar peticiones desde el teclado.

Salida (cout)
El flujo cout se usa junto con el operador << (un par de signos "menor que").

El cout no agrega saltos de línea después de la salida a menos que se indique explícitamente.

Ejemplo 24:
cout << "Metalurgia"; // muestra la palabra ‘Metalurgia’ en la pantalla
cout << 2020; // muestra el número 2020 en la pantalla
cout << x; // muestra el contenido de la variable x en la pantalla

El operador << es conocido como operador de inserción y puede usarse más de una vez en una
misma instrucción.

Ejemplo 25:
cout << "Hola, " << "soy " << "Metalurgista";
cout << "Ingrese el año" << ano << " y mi código es " << codigo;
MIGUEL ANGEL LAQUIHUANACO CHIARELLA FUNDAMENTOS DE PROGRAMACIÓN

NOTA: Puede insertar una nueva línea usando endl.

Entrada (cin)
Se puede manejar la entrada estándar en C++ aplicando el operador de extracción (>>) en el
flujo cin. Éste operador debe ir seguido por la variable que guardará los datos que van a ser
leídos. cin sólo puede procesar la entrada una vez que la tecla ENTER se ha presionado.

Ejemplo 26:
int edad;
cin >> edad;

También se puede usar cin para pedir más de una entrada de datos del usuario:
cin >>x>>y;
es equivalente a:
cin >> x;
cin >> b;

Códigos de barra invertida o Secuencias de escape


Son constantes especiales de carácter que usan la barra invertida o contraslash antes del
carácter y se usan en los programas incluyéndolos entre comillas.

Código Significado
\a Alerta, alarma
\b Espacio atrás, retroceso
\f Salto de página
\n Salto de línea
\r Retorno de carro
\t Tabulación horizontal
\v Tabulación vertical
\” Comillas dobles
\’ Comilla simple o apóstrofe
\\ Barra invertida

Ejemplo 27:
#include <iostream.h>
#include <conio.h>
main()
{ int year,a,b;
cout<<"Ingrese su \\ano\\ de \'ingreso\' \a\a=> ";
cin>>year;
cout<<"\n\"Bienvenido\" ingresante del "<<year;
getch();
cout<<"\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\bCachimbo";
cout<<"\nIngrese\tdos\tnumeros => "; cin>>a>>b;
MIGUEL ANGEL LAQUIHUANACO CHIARELLA FUNDAMENTOS DE PROGRAMACIÓN

cout<<"La suma es = "<<(a+b);


getch();
}

3.6 PALABRAS RESERVADAS


Son palabras propias del lenguaje, ya que el creador del mismo les dio un uso específico. No se
pueden utilizar como identificadores. Las más utilizadas en C++ son:

auto break case char


const continue default do
double else enum extern
float for goto if
int long register return
short signed tamof static
struct switch typedef union
unsigned void volatile while

3.7 FUNCIONES MATEMÁTICAS (librería math.h)


Nombre Descripción Tipo de Nombre Descripción Tipo de
valor valor
de de
regreso regreso
ceil(x) Redondea hacia el Double floor(x) Redondeo hacia el double
número inmediato número inmediato
superior inferior
abs(x) Valor absoluto Int fabs(x) Valor absoluto de un double
double
y
pow(x,y) Potencia x double sqrt(x) Raíz cuadrada de x double
asin(x) Arco seno de x double sin(x) Seno de x en radianes Double
acos(x) Arco coseno de x double cos(x) Coseno de x en Doublé
radianes
atan(x) Arco tangente de x double tan(x) Tangente de x en Doublé
radianes
fmod(x,y) Residuo de x/y como double log10(x) Logaritmo en base 10 double
número de punto de x
flotante
exp(x) Exponencial de x, ex. double log(x) Logaritmo natural de x double

Ejemplo 28:
#include <iostream.h>
#include <conio.h>
#include <math.h>
main()
{ float num;
MIGUEL ANGEL LAQUIHUANACO CHIARELLA FUNDAMENTOS DE PROGRAMACIÓN

cout<<"Numero => ";


cin>>num;
cout<<"Redondeando al superior es = "<<ceil(num);
cout<<"\nRedondeando al inferior es = "<<floor(num);
getch();
}

#include <iostream.h>
#include <conio.h>
#include <math.h>
main()
{ float num;
cout<<"Numero => ";
cin>>num;
cout<<"con abs() el valor absoluto es = "<<abs(num);
cout<<"\ncon fabs() el valor absoluto es = "<<fabs(num);
getch();
}

#include <iostream.h>
#include <conio.h>
#include <math.h>
main()
{ float num,n;

cout<<"Numero => ";


cin>>num;
cout<<"Potencia => ";
cin>>n;
cout<<num<<" elevado a "<<n<<" es = "<<pow(num,n);
cout<<"\nRaiz cuadrada es = "<<sqrt(num);
getch();
}

#include <iostream.h>
#include <conio.h>
#include <math.h>
main()
{ float num,n;
cout<<"Numero => ";
cin>>num;
cout<<"\nLogaritmo en base 10 = "<<log10(num);
cout<<"\nLogaritmo natural= "<<log(num);
cout<<"\ne^ln(x) = "<<exp(log(num));
getch();
}
MIGUEL ANGEL LAQUIHUANACO CHIARELLA FUNDAMENTOS DE PROGRAMACIÓN

#include <iostream.h>
#include <conio.h>
#include <math.h>
#define PI 3.1416
main()
{ float num,n;
cout<<"Grados => ";
cin>>num;
cout<<"\nsen ("<<num<<") grados es = "<<sin(num*PI/180);
getch();
}

3.8. ESTRUCTURA DE CONTROL SECUENCIAL


Es la más sencilla debido a que el programador identifica los datos de entrada, los procesos y
muestra o imprime los datos de salida.

Diagrama de Flujo

inicio

Instrucción 1

Instrucción 2

Instrucción n

fin

Pseudocódigo
Principal()
Inicio
Instrucción 1
Instrucción 2

Instrucción n
Fin

C++
main()
{
Instrucción 1;
Instrucción 2;

Instrucción n;
}
MIGUEL ANGEL LAQUIHUANACO CHIARELLA FUNDAMENTOS DE PROGRAMACIÓN

Ejemplo 29:
Desarrolle un programa en lenguaje de programación C++ para que determine el volumen de
un cilindro.

DATOS DE ENTRADA: r (radio), h (altura)


DATOS DE SALIDA: V (volumen)
PROCESO: V<-(pi*r^2)*h

#include <iostream.h>
#include <conio.h>
#include <math.h>
#define PI 3.1416
main()
{ float r,h,V;
cout<<"radio => ";
cin>>r;
cout<<"altura => ";
cin>>h;
V=(PI*pow(r,2))*h;
cout<<"\nVolumen del cilindro es "<<V;
getch();
}

3.9. ESTRUCTURA DE CONTROL SELECTIVA


Una estructura selectiva es aquella en que se ejecutan una acción (una o varias instrucciones) u
otra según se cumpla o no una determinada condición. La condición puede ser simple o
compuesta.

Toma de decisiones
La instrucción si (if) nos permite tomar decisiones, podemos hacer una pregunta y la
contestación sólo puede ser verdadera o falsa, es decir, sí o no.

La expresión condicional
La condición es una expresión booleana. Si el resultado de la expresión:
 es cero, se considera una condición falsa.
 no es cero, se considera una condición cierta.

Existen tres tipos de estructuras de control selectivas; éstas se basan en una condición o en una
opción:
a) Simple if.
b) Doble if-else.
c) Múltiple

Bloque de sentencias o instrucción compuesta


MIGUEL ANGEL LAQUIHUANACO CHIARELLA FUNDAMENTOS DE PROGRAMACIÓN

Se denomina bloque de sentencias a un conjunto de instrucciones delimitadas, en C++ se


utilizan llaves que abren y cierran { }.
Estas instrucciones se toman como una sola sentencia en las estructuras de control.

Pseudocódigo C++
inicio {
inst 1 inst 1;
inst 2 inst 2;
inst 3 inst 3;
………. ……….
inst n inst n;
fin }

a. Estructura de control selectiva simple si (if)


Se evalúa la condición y si ésta da como resultado verdad se ejecuta una determinada
instrucción o grupo de instrucciones; en caso contrario se saltan dicho grupo de acciones.

Pseudocódigo:
Si (condición)
Inicio
Instrucciones
fin

Diagrama de Flujo:

Falsa
Condición

Verdadera

Instrucciones

C++
if (<condición>)
{
<bloque de instrucciones>;
}

Ejemplo 30:
Realice el diagrama de flujo, pseudocódigo y programa para que me indique si aprobó el curso
de Fundamentos de Programación.
MIGUEL ANGEL LAQUIHUANACO CHIARELLA FUNDAMENTOS DE PROGRAMACIÓN

DIAGRAMA DE FLUJO

PSEUDOCÓDIGO
Proceso ifsimple
Definir nota Como Real;
Escribir 'Ingrese nota => ';
Leer nota;
Si nota>=10.5 Entonces
Escribir 'Aprobo Fundamentos de Programacion';
FinSi
FinProceso

C++
#include <iostream>
#include <stdlib.h>
main()
{ float nota;
cout<<"Ingrese nota => ";
cin>>nota;
if (nota>=10.5)
cout<<"\nAPROBO Fundamentos de Programacion\n\n";
system("PAUSE");
}

b. Estructura de control Selectiva doble


Cuando el resultado de evaluar la condición es verdad se ejecutará una determinada
instrucción o instrucciones y si el resultado es instrucción o instrucciones diferentes.

Pseudocódigo:
Si (condición)
Inicio
Inst_1
Fin
sino
Inicio
MIGUEL ANGEL LAQUIHUANACO CHIARELLA FUNDAMENTOS DE PROGRAMACIÓN

Inst_2
Fin

Diagrama de Flujo:

Verdadera Falsa
Condición

Inst_1 Inst_2

C++
if (<condición>)
{
<bloque de instrucciones1>;
}
else
{
<bloque de instrucciones2>;
}

Ejemplo 31:
Realice el diagrama de flujo, pseudocódigo y programa para que me indique si aprobó o
desaprobó el curso de Fundamentos de Programación.

DIAGRAMA DE FLUJO

PSEUDOCÓDIGO
Proceso ifdoble
Definir nota Como Real;
MIGUEL ANGEL LAQUIHUANACO CHIARELLA FUNDAMENTOS DE PROGRAMACIÓN

Escribir 'Ingrese nota => ';


Leer nota;
Si nota>=10.5 Entonces
Escribir 'APROBO';
SiNo
Escribir 'DESAPROBO';
FinSi
FinProceso

C++
#include <iostream>
#include <stdlib.h>
main()
{ float nota;
cout<<"Ingrese nota => ";
cin>>nota;
if (nota>=10.5)
cout<<"\nAPROBO\n\n";
else
cout<<"\nDESAPROBO\n\n";
system("PAUSE");
}

Ejemplo 32:
Realice el diagrama de flujo, pseudocódigo y programa para que me imprima el monto de pago
para el CEID. Si es estudiante de la UNJBG entonces pagará 50 soles y si no es de la UNJBG pagará
80 soles.

DIAGRAMA DE FLUJO

PSEUDOCÓDIGO
Proceso CEID
Definir opc Como Caracter;
Escribir 'Es estudiante de la UNJBG => ';
Leer opc;
MIGUEL ANGEL LAQUIHUANACO CHIARELLA FUNDAMENTOS DE PROGRAMACIÓN

Si opc='S' o opc='s' Entonces


Escribir 'Pagara 50 soles';
SiNo
Escribir 'Pagara 80 soles';
FinSi
FinProceso

C++
#include <iostream>
#include <stdlib.h>
main()
{ char opc;
cout<<"Es estudiante de la UNJBG? => ";
cin>>opc;
if (opc=='S' || opc=='s')
cout<<"Pagara 50 soles\n\n";
else
cout<<"Pagara 80 soles\n\n";
system("PAUSE");
}

Ejemplo 33:
Realice el diagrama de flujo, pseudocódigo y programa para que me indique el mayor de 3
números.

A=5; b=6; c=4 a b c


Si a>b V: Si a>c V:M=a 4 5 6
sino Si b>c V: M=b 4 6 5
A=6; b=5; c=4
5 4 6
Si a>b V: Si a>c V:M=a
sino Si b>c V: M=b 5 6 4
A=6; b=4; c=5 6 4 5
Si a>b V: Si a>c V: 6 5 4
F:M=c
sino Si b>c V: M=b

//Ordena en forma ascendente


#include "iostream.h"
#include "conio.h"
main()
{ int a,b,c;
cout<<"a = "; cin>>a;
cout<<"b = "; cin>>b;
cout<<"c = "; cin>>c;
cout<<"\n\nOrden Ascendente\n";
MIGUEL ANGEL LAQUIHUANACO CHIARELLA FUNDAMENTOS DE PROGRAMACIÓN

if (a<b)
if (a<c)
if (b<c)
cout<<a<<endl<<b<<endl<<c;
else
cout<<a<<endl<<c<<endl<<b;

else
cout<<c<<endl<<a<<endl<<b;
else
if (b<c)
if (a<c)
cout<<b<<endl<<a<<endl<<c;
else
cout<<b<<endl<<c<<endl<<a;

else
cout<<c<<endl<<b<<endl<<a;

getch();
}
MIGUEL ANGEL LAQUIHUANACO CHIARELLA FUNDAMENTOS DE PROGRAMACIÓN

Proceso mayor
Definir m,a,b,c Como Entero;
Escribir 'Ingrese 3 numeros => ';
Leer a,b,c;
Si a>b Entonces
Si a>c Entonces
m <- a;
SiNo
m <- c;
FinSi
SiNo
Si b>c Entonces
m <- b;
SiNo
m <- c;
FinSi
FinSi
Escribir '==> El mayor es ',m;
FinProceso

#include <iostream>
#include <stdlib.h>
main()
{ int m,a,b,c;
cout<<"Ingrese 3 numeros => ";
cin>>a>>b>>c;
if (a>b)
if (a>c)
m=a;
else
MIGUEL ANGEL LAQUIHUANACO CHIARELLA FUNDAMENTOS DE PROGRAMACIÓN

m=c;
else
if (b>c)
m=b;
else
m=c;
cout<<"==> El mayor es "<<m<<endl<<endl;
system("PAUSE");
}

#include <iostream.h>
#include <conio.h>
main()
{
int a,b,c;
cout<<"Ingrese valor a ";
cin>>a;
cout<<"Ingrese valor b ";
cin>>b;
cout<<"Ingrese valor c ";
cin>>c;
if (a>b && a>c)
cout<<"El mayor es = "<<a;
else
if (b>c && b>a)
cout<<"El mayor es = "<<b;
else
cout<<"El mayor es = "<<c;
getch();
}

Ejemplo 16:
Realice el diagrama de flujo, pseudocódigo y programa para que determine si el número
ingresado es cero, negativo o positivo, par o impar.
N=5;
Positivo, impar
N=-8
Negativo, par
N=0
Es cero
MIGUEL ANGEL LAQUIHUANACO CHIARELLA FUNDAMENTOS DE PROGRAMACIÓN
MIGUEL ANGEL LAQUIHUANACO CHIARELLA FUNDAMENTOS DE PROGRAMACIÓN

8/2=4
9 2
-8 4
1
MIGUEL ANGEL LAQUIHUANACO CHIARELLA FUNDAMENTOS DE PROGRAMACIÓN

c. Estructura de Control Selectiva múltiple


Se ejecutarán unas acciones u otras según el resultado que se obtenga al evaluar una expresión.
Puede contener instrucciones sencillas o compuestas. Pueden estar incluidas una o más
instrucciones if-else.
Al incluir una o más instrucciones de if en una instrucción de if existente se crean las
instrucciones anidadas if.

La estructura presentada a continuación, aparece con bastante frecuencia y es por lo que se le


da un tratamiento por separado. Esta estructura es consecuencia de las sentencias if anidadas.

Sintaxis en C++
if (<condición1>)
{
<bloque de instrucciones1>;
}
else if (<condición2>)
{
<bloque de instrucciones2>;
}
else if (<condición3>)
{
<bloque de instrucciones3>;
}

else
{
<bloque de instruccionesn>;
}

La evaluación de esta estructura sucede así: si se cumple la condición 1, se ejecuta el bloque de


instrucciones 1 y si no se cumple, se examinan secuencialmente las condiciones siguientes hasta
el último else, ejecutándose el bloque de instrucciones correspondiente al primer else if, cuya
condición sea cierta. Si todas las condiciones son falsas, se ejecuta el bloque de instrucciones n
correspondiente al último else. En cualquier caso, se continúa en la primera sentencia ejecutable
que haya a continuación de la estructura.

Los bloques de instrucciones 1, 2, ..., n pueden ser sentencias simples o compuestas.

Ejemplo 17:
Realice un diagrama de flujo, pseudocódigo y programa para que al efectuar una compra en una
ferretería, si adquirimos más de 100 unidades de un mismo artículo, nos hacen un descuento de
un 40%; entre 25 y 100 un 20%; entre 10 y 24 un 10%; y no hay descuento para una adquisición
de menos de 10 unidades. Se pide calcular el importe a pagar.
MIGUEL ANGEL LAQUIHUANACO CHIARELLA FUNDAMENTOS DE PROGRAMACIÓN

>100 25 y 100 10 y 24 <10


>24 y <101 >9 y <25
Articulo
Cantidad C
p.u. P
Descuento 40% 20% 10% 0%
importe I=(C*P)-D

Articulo= Cellocord
Cantidad= 110
P.U.=10 soles
Total=1100
D=440
Importe=1100-440=660
Importe=(C*PU)*0.6

DIAGRAMA DE FLUJO

PSEUDOCÓDIGO
MIGUEL ANGEL LAQUIHUANACO CHIARELLA FUNDAMENTOS DE PROGRAMACIÓN

PROGRAMA EN C++
#include <iostream.h>
#include <conio.h>
main()
{
char art[15];
float c,pu,I;
cout<<"Articulo => "; cin>>art;
cout<<"Cantidad => "; cin>>c;
cout<<"Precio Unitario => "; cin>>pu;
I=c*pu;
if (c>100)
{ cout<<"Descuento 40% = "<<I*0.4;
cout<<"\nImporte = "<<I*0.6;
}
else if (c>24 && c<101)
{ cout<<"Descuento 20% = "<<I*0.2;
cout<<"\nImporte = "<<I*0.8;
}
else if (c>9 && c<25)
{ cout<<"Descuento 10% = "<<I*0.1;
cout<<"\nImporte = "<<I*0.9;
}
else
{ cout<<"Descuento 0% = "<<I*0;
cout<<"\nImporte = "<<I;
MIGUEL ANGEL LAQUIHUANACO CHIARELLA FUNDAMENTOS DE PROGRAMACIÓN

}
getch();
}

Ejemplo 18:
Realice el Diagrama de Flujo, pseudocódigo y programa para simular una calculadora básica.
Sus opciones serán 1=Suma, 2=Resta, 3=multiplicación, 4=división; en caso contrario deberá
indicar “Opcion invalida”.
MIGUEL ANGEL LAQUIHUANACO CHIARELLA FUNDAMENTOS DE PROGRAMACIÓN

#include <iostream.h>
#include <conio.h>
main()
{
int op;
float x,y,z;
gotoxy(20,2);cout<<"Calculadora basica";
gotoxy(20,3);cout<<"==================";
gotoxy(23,5);cout<<"1=Suma";
gotoxy(23,6);cout<<"2=Resta";
gotoxy(23,7);cout<<"3=Multiplicacion";
gotoxy(23,8);cout<<"4=Division";
gotoxy(23,10);cout<<"Opcion => ";cin>>op;
if (op==1)
{
cout<<"\nSuma\n";
cout<<"Ingrese 1er valor => "; cin>>x;
cout<<"Ingrese 2do valor => "; cin>>y;
z=x+y;
cout<<"\nLa suma es = "<<z;
}
else if (op==2)
MIGUEL ANGEL LAQUIHUANACO CHIARELLA FUNDAMENTOS DE PROGRAMACIÓN

{
cout<<"\nResta\n";
cout<<"Ingrese 1er valor => "; cin>>x;
cout<<"Ingrese 2do valor => "; cin>>y;
z=x-y;
cout<<"\nLa resta es = "<<z;
}
else if (op==3)
{
cout<<"\nMultiplicacion\n";
cout<<"Ingrese 1er valor => "; cin>>x;
cout<<"Ingrese 2do valor => "; cin>>y;
z=x*y;
cout<<"\nLa multipicacion es = "<<z;
}
else if (op==4)
{
cout<<"\nDivision\n";
cout<<"Ingrese 1er valor => "; cin>>x;
cout<<"Ingrese 2do valor => "; cin>>y;
z=x/y;
cout<<"\nLa division es = "<<z;
}
else
cout<<"\nOpcion no valida";
getch();
}
MIGUEL ANGEL LAQUIHUANACO CHIARELLA FUNDAMENTOS DE PROGRAMACIÓN

3.10. ESTRUCTURA DE SELECCIÓN SWITCH


If-else se usa donde un conjunto de instrucciones debe ser seleccionada entre muchas
alternativas posibles. La instrucción switch de C++ permite que el programa evalúe una variable
y luego elija el camino a seguir en base al valor de esta variable.

Pseudocódigo:
segun_sea (expresión)
inicio
caso exp_const_1: inst1
salir
caso exp_const_2 : inst2
inst3
salir

caso exp_const_n : inst n
salir
caso contrario: inst n+1
fin

Diagrama de Flujo:

Expresión

Inst1 Inst2
Inst n Inst n+1
Inst3

C++
switch (expresión) switch (variable) //variable es de tipo int, char.
{ { //inicio de instrucción compuesta
case exp_const_1 : inst1; case <valor_1> :
break; <instrucciones>
case exp_const_2 : inst2; [break;]
inst3; case <valor_2> :
break; <instrucciones>
… [break;]
case exp_const_n : inst n; case <valor_N> :
break; <instrucciones>
default: inst n+1; [break;]
} [default: <instrucciones>]
};
MIGUEL ANGEL LAQUIHUANACO CHIARELLA FUNDAMENTOS DE PROGRAMACIÓN

Cuando un programa encuentra una instrucción switch, analiza primero la condición y luego
intenta encontrar un valor coincidente dentro de los casos posibles. Al encontrarlo, ejecuta las
instrucciones correspondientes.
La instrucción break indica que se termine la instrucción switch en curso y se prosiga la ejecución
del programa en la primera instrucción que sigue al switch. Si no se da la instrucción break, se
seguirán ejecutando todas las instrucciones de los siguientes casos, por ejemplo, si son cuatro
casos y el selector tiene el valor para el caso 2, si no existe un break se ejecutarán las
instrucciones correspondientes a los casos 2, 3 y 4.

break: sale del bloque de interruptores para que no se ejecuten todos los códigos de otros casos.

default: Se ejecuta si ninguno de los otros casos se ejecuta.

Ejemplo 19:
Realice el diagrama de flujo, pseudocódigo y programa para indicar a que día de la semana
corresponde el número ingresado.

DIAGRAMA DE FLUJO

PSEUDOCÓDIGO
Proceso semana
definir dia Como Entero;
Escribir "Ingrese el dia <1..7>=> ";
Leer dia;
Segun dia Hacer
1:
Escribir "Lunes";
2:
Escribir "Martes";
3:
Escribir "Miercoles";
4:
Escribir "Jueves";
5:
Escribir "Viernes";
MIGUEL ANGEL LAQUIHUANACO CHIARELLA FUNDAMENTOS DE PROGRAMACIÓN

6:
Escribir "Sabado";
7:
Escribir "Domingo";
De Otro Modo:
Escribir "Fuera de rango";
FinSegun
FinProceso

C++
#include <iostream>
#include <conio.h>
main()
{
int dia;
cout<<"Ingrese el dia <1..7> => ";
cin>>dia;
switch (dia)
{
case 1:
cout<<"\nLunes";
break;
case 2:
cout<<"\nMartes";
break;
case 3:
cout<<"\nMiercoles";
break;
case 4:
cout<<"\nJueves";
break;
case 5:
cout<<"\nViernes";
break;
case 6:
cout<<"\nSabado";
break;
case 7:
cout<<"\nDomingo";
break;
default: cout<<"\nFuera de rango";
}
getch();
}
MIGUEL ANGEL LAQUIHUANACO CHIARELLA FUNDAMENTOS DE PROGRAMACIÓN

Ejemplo 20:
Realice el Diagrama de Flujo, pseudocódigo y programa para simular una calculadora básica.
Sus opciones serán 1=Suma, 2=Resta, 3=multiplicación, 4=división; en caso contrario deberá
indicar “Opcion invalida”.

DIAGRAMA DE FLUJO

PSEUDOCÓDIGO
Proceso calculadora
Definir op Como Entero;
Definir a,b,z Como Real;
Escribir "Ingrese 1er valor => ";
Leer a;
Escribir "Ingrese 2do valor => ";
Leer b;
Escribir "1=Suma 2=Resta 3=Multiplicacion 4=Division";
Leer op;
Segun op Hacer
1:
z<-a+b;
Escribir "La Suma es = ",z;
2:
z<-a-b;
Escribir "La Resta es = ",z;
3:
z<-a*b;
Escribir "La Multiplicacion es = ",z;
4:
z<-a/b;
Escribir "La Division es = ",z;
MIGUEL ANGEL LAQUIHUANACO CHIARELLA FUNDAMENTOS DE PROGRAMACIÓN

De Otro Modo:
Escribir "ERROR: Opcion no valida";
FinSegun
FinProceso

C++
#include <iostream.h>
#include <conio.h>
main()
{
int op;
float x,y,z;

cout<<"Ingrese 1er valor => "; cin>>x;


cout<<"Ingrese 2do valor => "; cin>>y;
gotoxy(20,8);cout<<"Calculadora basica";
gotoxy(20,9);cout<<"==================";
gotoxy(23,10);cout<<"1=Suma";
gotoxy(23,11);cout<<"2=Resta";
gotoxy(23,12);cout<<"3=Multiplicacion";
gotoxy(23,13);cout<<"4=Division";
gotoxy(23,15);cout<<"Opcion => ";cin>>op;
switch (op)
{
case 1: cout<<"\nSuma\n";
z=x+y;
cout<<"\nLa suma es = "<<z;
break;
case 2: cout<<"\nResta\n";
z=x-y;
cout<<"\nLa resta es = "<<z;
break;
case 3: cout<<"\nMultiplicacion\n";
z=x*y;
cout<<"\nLa multipicacion es = "<<z;
break;
case 4: cout<<"\nDivision\n";
z=x/y;
cout<<"\nLa division es = "<<z;
break;
default: cout<<"\nERROR: Opcion no valida";
}
getch();
}

También podría gustarte