Documentos de Académico
Documentos de Profesional
Documentos de Cultura
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.
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.
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: A5*4 a’Hola’
No se puede utilizar una palabra reservada como identificador, sin embargo, los
identificadores estándar se pueden redefinir. Ejemplo Sqrtb*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
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.
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.
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.
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.
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
#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
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;
}
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
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
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.
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.
Estructuras de control
Secuencial.
Estructuras de control Selectiva.
Repetitiva o de iteración condicionada.
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.
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 //.
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>
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 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
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.
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
#include <iostream>
#include <conio.h>
#include <math.h>
#define PI 3.1416
main()
{ const float e=2.71;
float radio,Area;
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
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ó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
Ejemplo 28:
#include <iostream.h>
#include <conio.h>
#include <math.h>
main()
{ float num;
MIGUEL ANGEL LAQUIHUANACO CHIARELLA FUNDAMENTOS DE PROGRAMACIÓN
#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;
#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();
}
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.
#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();
}
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
Pseudocódigo C++
inicio {
inst 1 inst 1;
inst 2 inst 2;
inst 3 inst 3;
………. ……….
inst n inst n;
fin }
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");
}
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
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
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.
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
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>;
}
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
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
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.
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;