Está en la página 1de 24

Asignatura de Programacin II: Borland C++ 4.

5 Pgina # 1
Programacin II
ndice
Tema 1: Teora de Algoritmos
1.1. Teora de los Algoritmos
1.2. Lenguaje C++
1.3. Resolucin de Ejemplos
1.1 - Teora de los Algoritmos
Qu es un Algoritmo?
Es un conjunto de Instrucciones o Reglas que permiten obtener un resultado determinado
a partir de ciertas reglas definidas y as resolver un problema especfico. Es una
secuencia finita de instrucciones cada una de las cuales tienen un significado preciso y
puede ejecutarse con una cantidad finita de esfuerzo en un tiempo finito.
Ejemplo:
Problema: Determinar la Suma de dos nmeros enteros.
Algoritmo (Solucin del Problema):
Leer los dos nmeros
Evaluar si los dos nmeros ledos son enteros
Sumar los dos nmeros
Presentar resultado de la operacin
Caractersticas de un Algoritmo
Debe consistir en una secuencia de instrucciones claras y finitas.
Sus instrucciones deben ser legibles.
Debe plantearse correctamente y ha de resolver el problema en todas sus facetas.
Debe ser eficiente.
Qu es un Programa?
Es el conjunto de Instrucciones o Lneas de Cdigos definidos a travs de un lenguaje
de programacin para llevar a cabo una determinada tarea y as resolver un problema
especfico. Es decir es el proceso de planificar y formalizar una secuencia de
instrucciones dadas en Algoritmos, a travs de la codificacin por medio de un lenguaje
de programacin, que han de seguir en una computadora para dar solucin a un problema
planteado.
Proceso de la Programacin
Para realizar un Programa por computadoras, hay que proponer primeramente una solucin para
un problema especfico, es decir, pensar en una estrategia para solucionarlo. Posteriormente, se
pasa al anlisis en donde se averigua qu tipo de problema es y como le vamos a dar solucin, as
como de seleccionar el lenguaje de programacin a utilizar. Finalmente, se procede a elaborar el
programa en la computadora.
Todo este proceso involucra los pasos siguientes:
Ing. Csar Rivas Lpez UPONIC
Asignatura de Programacin II: Borland C++ 4.5 Pgina # 2
Definicin del Problema
Anlisis del Problema
Planificacin del Problema
Algoritmo Formulado
Codificacin del Algoritmo
Ejecucin y Verificacin de Errores
Documentacin del Programa
Estructura de un Algoritmo
La estructura general de un Algoritmo est basada particularmente del modelo de programacin
estructurada, la cual consta de los puntos siguientes:
Diseo del problema de lo general a lo particular (Metodologa TOP DOWN)
Teorema de la Estructura (Secuencial, Alternativa y Repetitiva)
Adems, se puede representar dicha estructura en:
Forma Grfica: Flujogramas y Diagramas NS.
Forma Textual: Pseudocdigo.
La estructura bsica de un Algoritmo (en Pseudocdigo) sera:
Los elementos que podemos identificar en esta estructura son:
Identificacin del Algoritmo
Consiste en una cabecera en la que se da un nombre caracterstico al algoritmo. La instruccin de
est corresponde:
Algoritmo Nombre_Algoritmo;
Declaracin de Variables
Consiste en definir los nombres de las variables a usar en el algoritmo y el tipo de datos a que
pertenece. Los tipos de datos bsicos son: Enteros, Real, Carcter y Lgico. La instruccin de
est corresponde:
Declaracin de Variables:
Nombre_Variable1, Nombre_Variable2: Tipo_Datos
Cuerpo del Algoritmo
Constituye la secuencia de acciones que resuelve el problema planteado. Estarn comprendidos
entre las palabras INICIOFIN que indicarn el inicio de las acciones a realizar y el final de
ellos.
Ing. Csar Rivas Lpez UPONIC
Algoritmo Nombre_Algoritmo;
Declaracin de Variables:
Nombre_Variable: Tipo_Datos
INICIO
Instrucciones
FIN
Asignatura de Programacin II: Borland C++ 4.5 Pgina # 3
Operaciones Primitivas definidas en un Algoritmo
1. Operacin de Asignacin (Entradas de Datos)
Mediante esta operacin se podrn dar valores a las variables. La notaremos mediante una
flecha, que partir del valor a asignar y apuntar a la variable a la que se le asignar tal valor.
El formato sera:
Nombre_Variable Valor Asignado
Ejemplo:
Salario 5000
Sexo M
Vaco True
PI 3.1416
A la operacin de dar valor a una variable desde el teclado se le conoce como Lectura o
Entrada desde el Teclado. El formato sera:
Leer (Nombre_Variable)
Ejemplo:
Leer (Salario)
2. Operacin de Salidas de Datos
A la operacin que permite mostrar el contenido de una o ms variables en la pantalla se le
denomina Escritura de Datos.
El formato sera:
Escribir (Nombre_Variable)
Ejemplo:
Escribir (Salario) reflejara el valor de: 5000
Existe un segundo formato para la sentencia de Escritura de Datos que permite escribir
mensajes en la pantalla. Tales mensajes habrn de ir encerrados entre comillas dobles. La
sintaxis sera:
Escribir (Contenido del Mensaje)
Ejemplo:
Escribir (Bienvenido a mi Primer Programa)
La mayora de los lenguajes de programacin permiten agrupar mensajes y variables en la misma
sentencia de Escritura de Datos separndolas entre s por comas. La sintaxis sera:
Ing. Csar Rivas Lpez UPONIC
Asignatura de Programacin II: Borland C++ 4.5 Pgina # 4
Escribir (Mensaje, Nombre_Variable)
Ejemplo:
Escribir (El salario mensual obtenido fue: , Salario)
Reflejara: El salario mensual obtenido fue: 5000
3. Estructura de Control
Secuencia
Su Formato sera:
INICIO
Instruccin_1
Instruccin_2
Instruccin_3
.
FIN
Selectiva o Alternativa
Su Formato sera (Simple):
INICIO
SI (Condicin) ENTONCES
Instruccin_1_A
Instruccin_2_A
.
SINO
Instruccin_1_B
Instruccin_2_B
.
FIN_SI
FIN
Su Formato sera (Compuesta):
INICIO
EN CASO (Nombre_Variable) SEA
Valor_1:
Instruccin_1_A
Instruccin_2_A
.
Valor_2:
Instruccin_1_B
Instruccin_2_B
.
Valor_3:
Instruccin_1_C
Instruccin_2_C
Ing. Csar Rivas Lpez UPONIC
Asignatura de Programacin II: Borland C++ 4.5 Pgina # 5
.
Valor_4:
Instruccin_1_D
Instruccin_2_D
.
SINO
Instruccin
FIN_EN CASO
FIN
Repetitiva o Bucle
Bucle Mientras:
Su Formato sera:
INICIO
Mientras (Condicin) Haga
Instruccin_1
Instruccin_2
.
Instruccin que haga Falsa a la Condicin
FIN_Mientras
FIN
Bucle Repetir:
Su Formato sera:
INICIO
Repita
Instruccin_1
Instruccin_2
.
Instruccin que haga Verdadera a la Condicin
Hasta Que (Condicin)
FIN
Bucle Desde:
Su Formato sera:
INICIO
Desde Nombre_Variable Valor_Inicial Hasta Valor_Final Haga
Instruccin_1
Instruccin_2
.
Nombre_Variable Nombre_Variable + Incremento

Nombre_Variable Nombre_Variable Decremento


FIN_Desde
FIN
Ing. Csar Rivas Lpez UPONIC
Asignatura de Programacin II: Borland C++ 4.5 Pgina # 6
Ejemplos:
1.- Formular un Algoritmo que permita leer 2 nmeros enteros y escribir el mayor de los
dos. Si son iguales mandar un mensaje indicndolos que lo son
Solucin
Definicin del Problema
Problema: Determinar el mayor de dos nmeros enteros dados
Si A > B entonces
Mensaje: El mayor es el nmero A
Si A < B entonces
Mensaje: El mayor es el nmero B
Si A = B entonces
Mensaje: Los dos nmeros son iguales
Anlisis del Problema
Variables de Entradas: Variables de Salida:
Num_1 y Num_2 Mensaje en Pantalla
Algoritmo Formulado
Algoritmo Ejemplo_1;
Declaracin de Variables:
Num_1, Num_2: Enteros
INICIO
Limpiar_Pantalla
Escribir (Comparacin entre dos nmeros dados)
{Datos de Entradas}
Escribir (Escriba el Primer Nmero: )
Leer (Num_1)
Escribir (Escriba el Segundo Nmero: )
Leer (Num_2)
{Comparando los dos nmeros}
SI (Num_1 > Num_2) ENTONCES
Escribir (El mayor es el Num_1)
SINO
SI (Num_1 < Num_2) ENTONCES
Escribir (El mayor es el Num_2)
SINO
Escribir (Los nmeros son iguales)
FIN_SI
FIN_SI
FIN
Ing. Csar Rivas Lpez UPONIC
Asignatura de Programacin II: Borland C++ 4.5 Pgina # 7
2.- Leer un carcter y dos nmeros enteros. Si el carcter ledo es un operador aritmtico
(+, , *, /) calcular la operacin correspondiente. Si es cualquier otro entonces mostrar un
mensaje de error.
Solucin
Definicin del Problema
Problema: Determinar la operacin aritmtica entre dos nmeros enteros dados
En caso que (Operador) sea
+:
C = A + B
Mensaje: El Resultado de la operacin fue C
:
C = A B
Mensaje: El Resultado de la operacin fue C
*:
C = A * B
Mensaje: El Resultado de la operacin fue C
/:
C = A / B
Mensaje: El Resultado de la operacin fue C
Anlisis del Problema
Variables de Entradas: Variables de Salida:
Operador, Num_1 y Num_2 Num_3 y Mensaje en Pantalla
Algoritmo Formulado
Algoritmo Ejemplo_2;
Declaracin de Variables:
Num_1, Num_2: Enteros
Num_3 : Real
Operador : Carcter
INICIO
Limpiar_Pantalla
Escribir (Operacin Aritmtica entre dos nmeros dados)
{Datos de Entradas}
Escribir (Escriba el Primer Nmero: )
Leer (Num_1)
Escribir (Escriba el Segundo Nmero: )
Leer (Num_2)
Escribir (Escoja qu operacin aritmtica desea (+,-,*,/): )
Leer (Operador)
{Operacin Aritmtica}
EN CASO (Operador) SEA
+:
Ing. Csar Rivas Lpez UPONIC
Asignatura de Programacin II: Borland C++ 4.5 Pgina # 8
Num_3 Num_1 + Num_2
Escribir (El Resultado de la operacin fue , Num_3)
:
Num_3 Num_1 Num_2
Escribir (El Resultado de la operacin fue , Num_3)
*:
Num_3 Num_1 * Num_2
Escribir (El Resultado de la operacin fue , Num_3)
/:
Num_3 Num_1 / Num_2
Escribir (El Resultado de la operacin fue , Num_3)
FIN_EN CASO
FIN
3.- Formular un algoritmo que muestre el promedio de una serie de nmeros que finaliza
al introducir el valor de 1. Este valor no debe ser tenido en cuenta para el promedio.
Solucin
Definicin del Problema
Problema: Determinar el promedio de los nmeros introducidos desde el teclado.
Promedio =
,
_

+ + + +
i
i Num Num Num Num _ .... 3 _ 2 _ 1 _
Si Num_i = 1
Sale de la introduccin y suma del nmerados. Y Calcula el promedio
Sino
Contina introduciendo los datos.

Anlisis del Problema
Variables de Entradas: Variables de Salida:
Num Promedio y Mensaje de Error
Algoritmo Formulado
Algoritmo Ejemplo_3;
Declaracin de Variables:
Num, Contador, Suma : Enteros
Promedio : Real
INICIO
Limpiar_Pantalla
Escribir (Promedio de una Serie de Nmeros)
{Datos de Entradas}
Suma 0
Contador 0
Escribir (Escriba el Primer Nmero: )
Ing. Csar Rivas Lpez UPONIC
Asignatura de Programacin II: Borland C++ 4.5 Pgina # 9
Leer (Num)
{Totalizando de Datos}
Mientras (Num < > 1) Haga
Suma Suma + Num
Contador Contador + 1
Escribir (Escriba el Siguiente Nmero: )
Leer (Num)
FIN_Mientras
{Determinando el Promedio}
SI (Contador = 0) ENTONCES
Escribir (No se puede determinar Promedio)
SINO
Promedio Suma / Contador
Escribir (El promedio fue , Promedio)
FIN_SI
FIN
4.- Formular un algoritmo que calcule el factorial de un nmero entero dado.
Solucin
Definicin del Problema
Problema: Determinar el factorial de un nmero entero positivo dado.
0! Y 1! = 1
5! = 5 * 4 * 3 * 2 * 1
9! = 9 * 8 * 7 * 6 * 5 * 4 * 3 * 2 * 1
.
N! = N * (N 1) * (N 2) * (N 3) * * (N (N 1))

Si N es menor a 0 mandar un mensaje de error.
Anlisis del Problema
Variables de Entradas: Variables de Salida:
Num Factorial y Mensaje de Error
Algoritmo Formulado
Algoritmo Ejemplo_4;
Declaracin de Variables:
Num, Controlador : Enteros
Factorial : Real
INICIO
Limpiar_Pantalla
Escribir (Factorial de un Nmero Entero Positivo)
Ing. Csar Rivas Lpez UPONIC
Asignatura de Programacin II: Borland C++ 4.5 Pgina # 10
{Datos de Entradas}
Escribir (Escriba el Nmero: )
Leer (Num)
{Evaluando el nmero}
SI (Num < 0) ENTONCES
Escribir (No se puede calcular el factorial de un nmero negativo)
SINO
SI (Num = 0) ENTONCES
Factorial 1
Escribir (El factorial de , Num, es de , Factorial)
SINO
Factorial 1
Desde Controlador Num Hasta 1 Haga
Factorial Factorial * Controlador
Controlador Controlador 1
FIN_Desde
Escribir (El Factorial de , Num, es de , Factorial)
FIN_SI
FIN_SI
FIN
1.2 - Lenguaje C++
Proceso para la Obtencin de un Programa Ejecutable
Fichero Fuente y Programa o Cdigo Fuente: Los programas C y C++ se escriben con la
ayuda de un editor de textos del mismo modo que cualquier texto corriente. Los ficheros que
contiene programas en C o C++ en forma de texto se conocen como Ficheros Fuentes, y el texto
del programa que contiene se conoce como Programa Fuente.
Ficheros Objeto, Cdigo Objeto y Compiladores: Los Programas Fuentes no pueden
ejecutarse. Son Ficheros de Texto, pensados para que los comprendan los seres humanos, pero
incomprensibles para los ordenadores. Para conseguir un Programa Ejecutable hay que seguir
algunos pasos. El primero es Compilar o Traducir el Programa Fuente a su Cdigo Objeto
equivalente. Este es el trabajo que hacen los Compiladores de C y C++. Consiste en obtener un
fichero equivalente a nuestro programa fuente comprensible para el ordenador, este fichero se
conoce como Fichero Objeto, y su contenido como Cdigo Objeto. Los Compiladores son
programas que leen un Fichero de Texto que contiene el Programa Fuente y generan un fichero
que contiene el Cdigo Objeto. El Cdigo Objeto no tiene ningn significado para los seres
humanos, al menos no directamente. Adems es diferente para cada ordenador y para cada
sistema operativo. Por lo tanto existen diferentes compiladores para diferentes sistemas
operativos y para cada tipo de ordenador.
Libreras: Junto con los Compiladores de C y C++, se incluyen ciertos ficheros llamados
Libreras. Las libreras contienen el Cdigo Objeto de muchos programas que permiten hacer
cosas comunes, como Leer desde el teclado, Escribir en la pantalla, Manejar nmeros,
Ing. Csar Rivas Lpez UPONIC
Asignatura de Programacin II: Borland C++ 4.5 Pgina # 11
realizar funciones matemticas, etc. Las Libreras estn clasificadas por el tipo de trabajos
que hacen, hay Libreras de E/S, Libreras de Matemticas, Libreras de Manejo de
Memoria, Libreras de Manejo de Textos, etc. Hay un conjunto de libreras muy especiales,
que se incluyen con todos los Compiladores de C y de C++. Son las Libreras ANSI o
Estndar. Pero tambin hay libreras no estndar, y dentro de estas las hay pblicas y
comerciales.
Ficheros Ejecutables y Enlazadores: Cuando obtenemos el Fichero Objeto, an no hemos
terminado el proceso. El Fichero Objeto, a pesar de ser comprensible para el ordenador, no
puede ser ejecutado.
Existe un programa que hace todas estas cosas, se trata del "Link", o Enlazador. El Enlazador
toma todos los Ficheros Objeto que componen nuestro programa, los combina con los ficheros
de librera que sea necesario y crea un Fichero Ejecutable. Una vez terminada la fase de
enlazado, ya podremos ejecutar nuestro programa.
Errores: Por supuesto, somos humanos, y por lo tanto nos equivocamos. Los errores de
programacin pueden clasificarse en varios tipos, dependiendo de la fase en que se presenten.
Errores de Sintaxis .
Errores de Avisos .
Errores de Enlazado .
Errores de Ejecucin .
Errores de Diseo .
Definicin del Lenguaje C++
Tanto C como C++ son lenguajes de programacin de Propsito General. Todo puede
programarse con ellos, desde sistemas operativos y compiladores hasta aplicaciones de bases de
datos y procesadores de texto, pasando por juegos, aplicaciones a medida, etc.
Una de las propiedades de C y C++ es la reutilizacin del cdigo en forma de libreras de
usuario. Despus de un tiempo trabajando, todos los programadores desarrollan sus propias
libreras para aquellas cosas que hacen frecuentemente. Y adems, raramente piensan en ello, se
limitan a usarlas.
Adems, los programas escritos en C o C++ tienen ventajas importantes con respecto a otros
lenguajes de programacin. Con la excepcin del ensamblador, generan los programas ms
compactos y rpidos. El cdigo es transportable, es decir, un programa ANSI en C o C++ podr
ejecutarse en cualquier mquina y bajo cualquier sistema operativo. Y si es necesario,
proporcionan un acceso a bajo nivel de hardware slo igualado por el ensamblador.
Por ltimo, existen varios compiladores de C y C++ gratuitos, o bajo la norma GNU, as como
cientos de libreras de todo propsito y miles de programadores en todo el mundo, muchos de
ellos dispuestos a compartir su experiencia y conocimientos.
Uso del Programa Borland C++ 4.5
Ing. Csar Rivas Lpez UPONIC
Asignatura de Programacin II: Borland C++ 4.5 Pgina # 12
La palabra C++ hace referencia al lenguaje C++, un C Mejorado a su versin anterior. Por
tanto, Borland C++ 4.5 ha evolucionado a partir del lenguaje C original y ahora contiene
centenares de instrucciones, funciones y palabras claves, muchas de las cuales estn directamente
relacionados con la interfaz grfica de Windows.
Elementos del Entorno Integrado de Desarrollo.
El Entorno de Trabajo del Borland C++ 4.5 se denomina Entorno Integrado de Desarrollo
(IDE), ya que integra muchas funciones diferentes como el diseo, modificacin, compilacin y
depuracin en un entorno comn. En las herramientas de desarrollo ms tradicionales, cada una
de esas funciones funcionara como un programa diferente, cada una con su propia interfaz.
Los pasos para acceder al programa Borland C++ 4.5 se ilustra a continuacin:
Pasos para Crear una Aplicacin en Borland C++ 4.5
Hay Cuatro Pasos Principales para crear una aplicacin en el Lenguaje C++:
o Formular el Algoritmo solucin al Problema.
o Escribiendo el cdigo fuente
o Ejecutar la Aplicacin.
o Generar el Cdigo Ejecutable
Ejemplos:
1.- Formule un Programa en C++ que permita leer 2 nmeros enteros y escribir el mayor
de los dos. Si son iguales mandar un mensaje indicndolos que lo son
Solucin
Algoritmo Formulado
Algoritmo Ejemplo_1;
Declaracin de Variables:
Num_1, Num_2: Enteros
INICIO
Limpiar_Pantalla
Escribir (Comparacin entre dos nmeros dados)
{Datos de Entradas}
Escribir (Escriba el Primer Nmero: )
Leer (Num_1)
Escribir (Escriba el Segundo Nmero: )
Leer (Num_2)
{Comparando los dos nmeros}
SI (Num_1 > Num_2) ENTONCES
Escribir (El mayor es el Num_1)
SINO
SI (Num_1 < Num_2) ENTONCES
Escribir (El mayor es el Num_2)
SINO
Escribir (Los nmeros son iguales)
Ing. Csar Rivas Lpez UPONIC
Asignatura de Programacin II: Borland C++ 4.5 Pgina # 13
FIN_SI
FIN_SI
FIN
Escribiendo el Cdigo Fuente
El Cdigo Fuente en C++ sera:
#include <iostream.h>
#include <conio.h>
int main()
{
//Declaracin de Variables
int Num_1, Num_2;
// Inicio del Programa
clrscr();
cout<<"Comparacin entre dos nmeros dados"<<endl;
cout<<"Escriba el Primer Nmero: ";
cin>>Num_1;
cout<<endl<<"Escriba el Segundo Nmero: ";
cin>>Num_2;
if(Num_1 > Num_2)
cout<<"El mayor es el Num_1"<<endl;
else
if(Num_1 < Num_2)
cout<<"El mayor es el Num_2"<<endl;
else
cout<<"Los nmeros son iguales"<<endl;
cout<<"Escriba cualquier tecla para terminar...";
getch();
return 0;
}
Explicacin del Cdigo, Partes por Partes:
Primera Parte: Archivos o Libreras de Cabecera. En esta se hace referencia a los
archivos o libreras estndar del lenguaje. Todas las funciones de entradas y salidas,
funciones matemticas y otras son definidas a partir de estos archivos con extensin h. Si
no se incluye estos archivos, no correr cualquier programa que vayamos a realizar.
Archivos a Incluir:
#include <iostream.h>
#include <conio.h>
Segunda Parte: int main (). Es el principio de la definicin de la funcin principal del
programa. En general, todas las funciones en C++ toman unos valores de entrada,
llamadas Parmetros o Argumentos y devuelven un valor de retorno. La primera
palabra int indica el tipo de valor de retorno de la funcin principal, que en este caso es
Ing. Csar Rivas Lpez UPONIC
Asignatura de Programacin II: Borland C++ 4.5 Pgina # 14
un nmero entero. La funcin main siempre devuelve un entero expresada por la palabra
reservada return 0. La segunda palabra es el nombre de la funcin lo cual es usada para
ser llamada o invocada en algn punto del cdigo. El cuerpo de la funcin estar
limitados por las llaves {}.
Sintaxis:
int main()
{
return 0;
}
Tercera Parte: int Num_1, Num_2. Esta es nuestra primera sentencia, todas las
sentencias terminan con un punto y coma. Esta concretamente es una declaracin de
variables. Una Declaracin nos dice a nosotros y al compilador, que usaremos variables
Num_1 y Num_2 de tipo Entero (int). Esta declaracin obliga al compilador a reservar un
espacio de memoria para almacenar las variables Num_1 y Num_2, pero no le da ningn
valor inicial. En general, todas las variables declaradas contendrn valores basuras, es
decir, lo que hubiera en esa zona de memoria cuando se reserv espacio para ellas. En
C++ es obligatorio declarar las variables que usar el programa.
Sintaxis:
Tipo_Datos Nombre_Variables;
Cuarta Parte: cout<< y cin>>. Sentencias equivalente al Escribir y Leer del Algoritmo.
Sintaxis:
cout<< Mensaje<<Nombre_Variable;
cin>>Nombre_Variable
Quinta Parte: if (Condicin). Una estructura de control equivalente al SI (Condicin)
Entonces del Algoritmo.
Sintaxis:
If (Condicin)
{
Instrucciones
}
else
{
Instrucciones
}
Ing. Csar Rivas Lpez UPONIC
Asignatura de Programacin II: Borland C++ 4.5 Pgina # 15
Tarea:
I.- Formular los programas para los Algoritmos siguientes:
A) Leer un carcter y dos nmeros enteros. Si el carcter ledo es un operador aritmtico
(+, , *, /) calcular la operacin correspondiente. Si es cualquier otro entonces mostrar un
mensaje de error.
Algoritmo Formulado
Algoritmo Ejemplo_2;
Declaracin de Variables:
Num_1, Num_2: Enteros
Num_3 : Real
Operador : Carcter
INICIO
Limpiar_Pantalla
Escribir (Operacin Aritmtica entre dos nmeros dados)
{Datos de Entradas}
Escribir (Escriba el Primer Nmero: )
Leer (Num_1)
Escribir (Escriba el Segundo Nmero: )
Leer (Num_2)
Escribir (Escoja qu operacin aritmtica desea (+,-,*,/): )
Leer (Operador)
{Operacin Aritmtica}
EN CASO (Operador) SEA
+:
Num_3 Num_1 + Num_2
Escribir (El Resultado de la operacin fue , Num_3)
:
Num_3 Num_1 Num_2
Escribir (El Resultado de la operacin fue , Num_3)
*:
Num_3 Num_1 * Num_2
Escribir (El Resultado de la operacin fue , Num_3)
/:
Num_3 Num_1 / Num_2
Escribir (El Resultado de la operacin fue , Num_3)
FIN_EN CASO
FIN
B) Obtener el promedio de una serie de nmeros que finaliza al introducir el valor de 1.
Este valor no debe ser tenido en cuenta para el promedio.
Algoritmo Formulado
Algoritmo Ejemplo_3;
Declaracin de Variables:
Ing. Csar Rivas Lpez UPONIC
Asignatura de Programacin II: Borland C++ 4.5 Pgina # 16
Num, Contador, Suma : Enteros
Promedio : Real
INICIO
Limpiar_Pantalla
Escribir (Promedio de una Serie de Nmeros)
{Datos de Entradas}
Suma 0
Contador 0
Escribir (Escriba el Primer Nmero: )
Leer (Num)
{Totalizando de Datos}
Mientras (Num < > 1) Haga
Suma Suma + Num
Contador Contador + 1
Escribir (Escriba el Siguiente Nmero: )
Leer (Num)
FIN_Mientras
{Determinando el Promedio}
SI (Contador = 0) ENTONCES
Escribir (No se puede determinar Promedio)
SINO
Promedio Suma / Contador
Escribir (El promedio fue , Promedio)
FIN_SI
FIN
C) Obtener el factorial de un nmero entero dado.
Algoritmo Formulado
Algoritmo Ejemplo_4;
Declaracin de Variables:
Num, Controlador : Enteros
Factorial : Real
INICIO
Limpiar_Pantalla
Escribir (Factorial de un Nmero Entero Positivo)
{Datos de Entradas}
Escribir (Escriba el Nmero: )
Leer (Num)
{Evaluando el nmero}
SI (Num < 0) ENTONCES
Escribir (No se puede calcular el factorial de un negativo)
Ing. Csar Rivas Lpez UPONIC
Asignatura de Programacin II: Borland C++ 4.5 Pgina # 17
SINO
SI (Num = 0) ENTONCES
Factorial 1
Escribir (El factorial de , Num, es de , Factorial)
SINO
Factorial 1
Desde Controlador Num Hasta 1 Haga
Factorial Factorial * Controlador
Controlador Controlador 1
FIN_Desde
Escribir (El Factorial de , Num, es de , Factorial)
FIN_SI
FIN_SI
FIN
II.- Obtener el Algoritmo y Programa para cada uno de los problemas siguientes:
a) Determine el rea de un tringulo sabiendo su base y su altura escrita e introducida desde
el teclado.
b) Leer las cantidades de toneladas de maz producidas por los pases de Mxico, Nicaragua
y Canad, calcular e imprimir el porcentaje de produccin de cada uno de esos pases.
c) Leer los votos obtenidos por los 3 candidatos por la Alcalda Municipal, calcular e
imprimir al ganador. Se desconoce el nmero de votantes.
d) Leer dos nmeros enteros distintos, donde el primero es mayor que el segundo y que
totalice los nmeros comprendidos entre ellos, sin incluirlos.
e) Sean los datos a, b, c, d. Elabore algoritmos independientes para leer los datos, resolver e
imprimir el resultado de cada uno de los siguientes incisos:
a) Escribir los datos en orden inverso.
b) Escribir los datos en orden inverso, omitiendo el segundo dato.
c) Calcular: a + b - c
d
d) Calcular: (a - b)
2
(a - b)
3
c d
a
f) Elabore un algoritmos que teniendo como datos de entrada el radio y la altura de un
cilindro calcule el rea total y el volumen del cilindro.
Anlisis del problema:
Ing. Csar Rivas Lpez UPONIC
Asignatura de Programacin II: Borland C++ 4.5 Pgina # 18
Teniendo en cuenta que el rea de un cilindro es igual a la suma de las reas de los dos
crculos ms el rea del rectngulo formado por la longitud de la circunferencia y la altura
del cilindro y que el volumen se obtiene multiplicando la superficie de la base del crculo
por la altura del cilindro.
g) Un sistema de ecuaciones lineales:
ax + by = c
dx + ey = f
Se puede resolver con las siguientes frmulas:
bd ae
bf ce
x

bd ae
cd af
y

Elabore un algoritmos que lea dos conjuntos de coeficientes (a, b, y c; d, e, y f) y


visualice los valores de x e y.
h) Una persona recibe un prstamo de $10,000.00 de un banco y desea saber cunto pagar
de inters al terminar el mes si el banco le cobra una tasa del 2% mensual.
a) Resuelva este caso particular.
b) Generalice este problema para un monto cualquiera de capital y para una tasa
cualquiera.
i) Sean los datos: x, a
1
, a
2
, a
3
, a
4
; Elabore un diagrama de flujo para calcular:
a
1
x
3
+ a
2
x
2
+ a
3
x + a
4
Sin usar la operacin de potencia.
a) Cuntas operaciones de multiplicacin y cuntas de suma utiliz?
b) Puede reducir ambas cantidades? En caso afirmativo, hgalo.
j) Elabore un Algoritmo que lea dos valores numricos a y b y los imprima en orden
ascendente.
k) Una empresa desea conocer el monto de comisin correspondiente a una venta realizada
por un vendedor bajo las siguientes condiciones. Si la venta es menor a $1,000.00, se le
otorga el 3% de comisin. Si la venta es de $1,000.00 o ms, el vendedor recibe el 5% de
comisin.
l) Elabore un Algoritmo que lea un dato entero e imprima si ese dato es par o impar.
Ing. Csar Rivas Lpez UPONIC
Asignatura de Programacin II: Borland C++ 4.5 Pgina # 19
m) Una agencia automotriz ofrece planes de crdito para la adquisicin de los diferentes
modelos de automviles. Si el automvil vale ms de $250,000.00 la agencia solicita un
35% de enganche y el resto debe cubrirse en 24 mensualidades sin intereses. Si el
automvil tiene un valor mximo de $250,000.00 se requiere un enganche del 25% y el
resto se debe pagar en 18 mensualidades sin intereses.
La agencia desea saber, en base al precio de un automvil que un determinado cliente
elija, cul es el monto del enganche; y cul es el nmero y el monto de las mensualidades
que ste debe cubrir.
n) El precio de un boleto de viaje redondo en tren se calcula tomando en cuenta el nmero
de kilmetros que se van a recorrer, siendo el precio $60.00 por Km. Este precio puede
tener un descuento del 30% si el viaje de regreso se hace despus de 7 das del viaje de
ida, o si el recorrido supera los 800 Km.
Elabore un Algoritmo para calcular cunto se debe pagar por un boleto de tren dando
como datos el total de Km recorridos y el nmero de das entre el viaje de ida y el viaje de
vuelta.
Pruebe su Algoritmo con los siguientes grupos de datos:
a) 850 Km y 10 das.
b) 356 Km y 8 das.
o) Elabore un Algoritmo para resolver ax
2
+ bx + c = 0 en el caso de races reales. Los datos
son: a, b, c. Puede usar las operaciones que necesite. Asegrese que el resultado sea
vlido.
Anlisis del problema:
Si a <> 0 se presentan tres casos:
Primero con dos soluciones dadas con la frmula que da la solucin de la ecuacin
de segundo grado cuando el discriminante es positivo.
Segundo con una solucin dada por la frmula cuando el discriminante es cero.
Tercero con dos soluciones complejas, dadas por la frmula cuando el
discriminante es negativo.
Si a = 0 se presentan a su vez tres casos:
Primero es cuando b <> 0, cuya solucin es
b
c

.
Segundo es cuando b = 0 y c = 0, que es evidente una identidad.
Tercero cuando b = 0 y c <> 0 que no puede tener solucin.
p) Elabore un Algoritmo que calcule el rea de un tringulo mediante la formula:
) )( ( * ) ( c p b p a p p rea
donde p es el semipermetro, p = (a + b + c) / 2, siendo a, b, c los tres lados del tringulo.
Ing. Csar Rivas Lpez UPONIC
Asignatura de Programacin II: Borland C++ 4.5 Pgina # 20
Anlisis del problema:
Para que el tringulo exista debe cumplirse que los lados sean todos positivos, y adems
que la suma de dos lados cualesquiera sea mayor que el otro lado.
q) Dado un valor de x calcular el valor de y segn la siguiente funcin:
r) Elabore un Algoritmo que
calcule la siguiente
funcin:

'


n u m d e v a l o r o t r o c u a l q u i e r p a r a 0
3 n u m / 1 0 0
2 n u m * * 1 0 0
1 n u m * 1 0 0
) (
s i v
s i v
s i v
v f y
Datos: num, v
Donde:
num es una variable de tipo entera.
v es una variable de tipo entera.
s) En una empresa, se darn aumentos a los empleados segn la categora de su contrato
actual de la siguiente forma:
Clave de
categora
Categora Aumento %
S Sindicalizado 20
C Confianza 10
D Directivo 5
E Ejecutivo 0
Elabore un Algoritmo que solicite la clave de la categora y el sueldo actual de un
empleado y calcule e imprima el nuevo salario.
Ing. Csar Rivas Lpez UPONIC

'

< +
<
+

x d e v a l o r e s d e m s l o s p a r a
x s i x
x s i x
x s i x
x f y
0
6 4 3 3 6
3 3 1 1 1 0
1 1 3 6 3
) (
2
Asignatura de Programacin II: Borland C++ 4.5 Pgina # 21
t) Elabore un Algoritmo para que, dados dos nmeros enteros a, b y una clave, realice la
operacin aritmtica indicada por medio de la clave a los nmeros dados. Por ejemplo, si
los datos son: 8 4 +, el algoritmo debe calcular la suma de 8 + 4. Las claves vlidas
son: + - * /.
u) Elabore un Algoritmo para leer una serie de enteros positivos, contar los valores
introducidos y calcular su promedio. El final de los datos se indicar con un nmero
negativo.
v) Una tienda desea obtener una serie de reportes diarios a partir de las ventas realizadas en
un da. Elabore un Algoritmo que:
c) solicite el monto de cada venta sin IVA,
d) para cada venta, calcule e imprima el IVA y el total con IVA,
e) al terminar el da, imprima un reporte con los totales de:
ventas sin IVA,
IVA,
ventas con IVA,
promedio de las ventas con IVA.
Se desconoce el nmero de ventas que se realizan en un da, por lo que el final de los
datos se indica con un 1. Suponga que el IVA es del 15%.
w) Elabore un Algoritmo, que dada una n entera, con 1 n 100, imprima los primeros n
nmeros naturales en orden ascendente.
x) Elabore un Algoritmo, que dada una n entera, con 1 n 100, imprima los primeros n
nmeros naturales en orden descendente.
y) Elabore un Algoritmo, que imprima todos los pares menores o iguales a n.
z) Elabore un Algoritmo, que imprima los primeros n pares.
aa) Elabore un Algoritmo para leer n enteros, calcular e imprimir su suma y su promedio.
bb) Una tabla de estadsticas muestra la produccin de barriles de petrleo de 5 pases
petroleros (Mxico, Venezuela, Arabia Saudita, Libia y Argelia), durante el primer
semestre de 2001. La tabla tiene el siguiente formato:
bm, bv, bas, bl, ba: No de barriles/pas en enero.
bm, bv, bas, bl, ba: No de barriles/pas en febrero.
. . .
bm, bv, bas, bl, ba: No. de barriles/pas en junio.
Elabore un Algoritmo que calcule la produccin total de barriles en el semestre y la de
cada uno de los pases involucrados.
Ing. Csar Rivas Lpez UPONIC
Asignatura de Programacin II: Borland C++ 4.5 Pgina # 22
cc) Elabore un Algoritmo, que calcule m x n (m 0 , n 0, ambos enteros) sin utilizar la
operacin de multiplicacin.
dd) Elabore un Algoritmo, que calcule m
n
(n > 0 y entero) sin utilizar potencia.
ee) Elabore un Algoritmo que dado un valor n entero con n 1, calcule e imprima la
siguiente sumatoria:

n
i
i
i
1
ff) Elabore un Algoritmo que dado un nmero n entero positivo, imprima todos sus
divisores.
gg) Dada la funcin:

'

>
< +


1 0 x s i 5 + x
1 0 x 0 s i 4
0 x s i 3
) (
2
2
x
x
x f y
y dados los valores k,x
1
,x
2
,..,x
k
, Elabore un Algoritmo para calcular f(x
i
) para i = 1,2...,k.
hh) Dados los datos: a, b, c, d; Elabore un Algoritmo para cada uno de los siguientes
problemas:
f) Hallar el mayor.
g) Hallar el menor.
h) Hallar el mayor y el menor.
ii) Dados los datos: n, a
1
, a
2
,..., a
n
con n > 0, Elabore un Algoritmo para encontrar el
mximo de los a
i
.
jj) Elabore un Algoritmo que reciba un valor n entero y
i) si n 0 calcule n!
j) si n<0 escriba un mensaje de error y no calcule nada.
Ing. Csar Rivas Lpez UPONIC
Asignatura de Programacin II: Borland C++ 4.5 Pgina # 23
kk) Sean los datos m y n enteros positivos, Elabore un diagrama de flujo para calcular el
Mximo Comn Divisor y el Mnimo Comn Mltiplo de m y n. El Algoritmo de
Euclides establece que, si m>=n, MCD(m,n) = MCD(n, m mod n).
ll) Construya un Algoritmo que calcule e imprima los 150 primeros nmeros de la serie de
Fibonacci. Recuerde que los dos primeros nmeros de la serie son 0 y 1. El resto se
calcula como la suma de los dos nmeros que lo preceden.
Ejemplo: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, . . .
mm) En una guardera hay 25 nios de 1, 2 y 3 aos. Los nios de 1 ao consumen 6
paales al da, los nios de 2 aos consumen 3 paales diarios y los nios de 3 aos
consumen 2 paales diarios. Se desea conocer el consumo total de paales diarios.
Datos: edad
1


edad
2

. . . . .
edad
25
donde edad
i
representa la edad del isimo nio en aos cumplidos (1, 2 3).
nn) Una empresa que cuenta con k empleados desea realizar algunos clculos para la nueva
nmina. Los datos con que cuenta son los sueldos de los k empleados:
k, s
1
, s
2
, s
3
, ..., s
k
.
Elabore un Algoritmo para leer los datos y contestar a las siguientes preguntas:
k) Cul es el aumento correspondiente a cada empleado segn el siguiente criterio?
17% si el sueldo es inferior a $5,000
10% si el sueldo est entre $5,000 y $15,000
5% si el sueldo es superior a $15,000
l) Cul es el nuevo sueldo para cada empleado?
m) Cul es el total de la nueva nmina?
n) Cul es el incremento en la nmina?
o) Cul es el mximo sueldo nuevo?
p) Cul es el mnimo sueldo nuevo?
Resuelva los incisos progresivamente.
oo) Una empresa tiene n empleados, por los que aporta al INATEC el 2% de la nmina y al
INSS el 15%. Donde los datos son:
n, s
1
, s
2
,..., s
n
Donde:
Ing. Csar Rivas Lpez UPONIC
Asignatura de Programacin II: Borland C++ 4.5 Pgina # 24
n representa el nmero de empleados
s
i
representa el sueldo del empleado i
Elabore un Algoritmo que calcule e imprima:
q) el sueldo-empresa de cada empleado que consiste en el sueldo del empleado ms
las aportaciones mencionadas;
r) el monto total de la nmina que paga la empresa; y
s) el total de aportaciones al INATEC y al INSS que realiza la empresa.
pp) Una carrera profesional consta de 40 materias, repartidas en 8 semestres a razn de 5
materias por semestre. Como datos se dan las 40 calificaciones correspondientes a un
alumno, en grupos de 5 segn el semestre:
c
1
, c
2
,..., c
5
<-primer semestre
c
6
, c
7
,..., c
10
<-segundo semestre
. . . . .
c
36
, c
37
,..., c
40
<-octavo semestre
Elabore un Algoritmo para leer los datos y contestar a las siguientes preguntas:
t) Cul es el promedio del alumno por semestre? Indique tanto el promedio como el
semestre.
u) Cul es el promedio que obtuvo en la carrera?
Ing. Csar Rivas Lpez UPONIC

También podría gustarte