Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
El siguiente taller tiene como objetivo general que los aprendices sean capaces de resolver y
codificar de manera eficaz distintos problemas de carácter general, en lenguaje de programación
C++. Este objetivo requiere que los aprendices que reciban la orientación, adquieran el
conocimiento teórico y práctico sobre las técnicas básicas de programación, para lograr definir,
analizar y codificar una solución al momento de desarrollar un aplicativo utilizando el lenguaje C++
Generar aplicaciones que como solución a necesidades.
Orientar respecto a cómo estructurar el código.
Determinar si las aplicaciones desarrolladas dan la solución adecuada a una determinada necesidad.
Reconocer problemas a los que se les puede dar solución mediante un aplicativo.
Especificar aplicativos de manera precisa utilizando conceptos matemáticos y elementos de
programación funcional.
3. REFLEXIÓN INICIAL.
Teniendo en cuenta que ya venimos trabajando con la parte lógica y algorítmica mediante los algoritmos,
seudocódigos y los diagramas de flujo de datos, nos vemos en la necesidad de seguir avanzando utilizando
los algoritmos vistos anteriormente y algunos nuevos para afianzar algunos conceptos referentes a la
programación, para dar cumplimiento a lo anterior usaremos un lenguaje de programación como C++.
Como futuros programadores de software debemos partir de una situación problemática, hacer su
respectivo análisis, tomar la mejor alternativa de solución, diagramarla y luego programarla en un lenguaje
seleccionado.
GFPI-F-019 V3
SERVICIO NACIONAL DE APRENDIZAJE SENA
Procedimiento de Desarrollo Curricular
TALLER DE APRENDIZAJE
Con este taller se pretende que los Aprendices apliquen conocimientos básicos necesarios para la
construcción de soluciones informáticas, utilizando para ello diversas estrategias de aprendizaje,
permitiendo activar las habilidades cognitivas y meta cognitivas en el estudiante.
Otro de los objetivos de este taller es que permitirá analizar, modificar, comprender y desarrollar nuestros
propios ejercicios, recuerde que para comprender mejor cada uno de los temas vistos en nuestro curso es
necesario que usted también tenga la tarea de investigar.
Además en este taller el Aprendiz conocerá las estructuras de control, construcciones de control de
condición que controlan la secuencia o flujo de ejecución de las sentencias. Además aprenderá a
escribir código para que un lenguaje de programación como C++, tome decisiones.
Recuerde que con entusiasmo y dedicación logrará alcanzar los objetivos propuestos en este taller y que
todo proceso de Enseñanza-Aprendizaje-Evaluación requiere de técnicas y métodos de estudio, además de
dedicación, disciplina y responsabilidad.
C++ es un potente lenguaje de programación que apareció en 1980, continuando con las ventajas,
flexibilidad y eficacia del C. Es un lenguaje de programación que permite programar desde sistemas
operativos, compiladores, aplicaciones de bases de datos, procesadores de texto, juegos...
C++ ha ido evolucionando y ha contribuido con la aparición de Java, simplificando instrucciones de C++,
añadiendo nuevas y apareciendo nuevas funcionalidades para realizar aplicaciones utilizables desde
Internet.
Los programas estructurados se basan en estructuras de control bien definidas, bloques de código,
subrutinas independientes que soportan recursividad y variables locales. La esencia de la programación
estructurada es la reducción de un programa a sus elementos constituidos.
ENCAPSULACIÓN: Es el mecanismo que agrupa el código y los datos que maneja. Los mantienen protegidos
frente a cualquier interferencia y mal uso. Cuando el código y los datos están enlazados de esta manera se
ha creado un objeto. Ese código y datos pueden ser privados para ese objeto o públicos para otras partes
del programa.
POLIMORFISMO: Es la cualidad que permite que un nombre se utilice para dos o más propósitos
relacionados pero técnicamente diferentes. El propósito es poder usar un nombre para especificar una clase
general de acciones. Por ejemplo en C tenemos tres funciones distintas para devolver el valor absoluto. Sin
embargo en C++ incorpora Polimorfismo y a cada función se puede llamar abs(). El Polimorfismo se puede
aplicar tanto a funciones como a operadores.
Autor: Ing Victor Rincón - Centro de Materiales y Ensayos, Regional Distrito Capital
SERVICIO NACIONAL DE APRENDIZAJE SENA
Procedimiento de Desarrollo Curricular
TALLER DE APRENDIZAJE
HERENCIA: Proceso mediante el cual un objeto puede adquirir las propiedades de otro objeto. La
información se hace manejable gracias a la clasificación jerárquica.
OBJETO: Conjunto de variables y funciones pertenecientes a una clase encapsulados. A este
encapsulamiento es al que se denomina objeto. Por tanto la clase es quien define las características y
funcionamiento del objeto.
Estimad@ Aprendiz mucho Ánimo: En el modelo de formación por proyectos Usted es el principal actor de
su formación profesional.
Aunque C++ es un súper conjunto de C, existen algunas diferencias entre los dos. En primer lugar,
en C cuando una función no toma parámetros, su prototipo tiene la palabra void. Sin embargo en
C++ void no es necesario (opcional).
En un programa de C++ todas las funciones deben estar en forma de prototipo, en C los prototipos
se recomiendan, pero son opcionales. También si una función de C++ es declarada para devolver
un valor obligatoriamente la sentencia return debe devolver un valor, en C no es necesario que se
devuelva.
Otra diferencia es el lugar donde se declaran las variables locales. En C, deben ser declaradas
solo al principio del bloque, mientras que en C++ las variables se pueden declarar en cualquier
punto. Aunque es conveniente realizarlo siempre al comienzo de la función.
#include <iostream>
Las líneas que comienza con un símbolo de sostenido # son directivas para el preprocesador.
En este caso, la directiva # include <iostream>le dice al preprocesador que incluya el iostream
estándar de archivo. Este archivo específico (iostream) incluye las declaraciones de la norma
básica de entrada y salida de la biblioteca de C++.
Todos los elementos del modelo de librería de C++ se declaran dentro de lo que se denomina un
espacio de nombres. Por lo tanto, para poder acceder a su funcionalidad declaramos con esta
expresión que vamos a utilizar estas entidades. Esta línea es muy frecuente en los programas que
utilizan la biblioteca estándar, y de hecho será incluido en la mayoría de los códigos.
int main ()
definidos antes o después de las instrucciones que figuran dentro de esta función, ya que por
definición será siempre la primera en ser ejecutada. Por esa misma razón, es esencial que todos
los programas tengan una función principal. Lo que se contiene dentro de las llaves que delimitan
la función es lo que hace cuando se ejecuta.
Esta línea es una declaración de C++, en términos simples es una expresión que produce algún
efecto. De hecho, esta declaración lleva a cabo la ´única acción que genera un efecto visible en
nuestro programa. Representa el flujo de salida y su objetivo es insertar una secuencia de
caracteres ( ”Hola Programador”) en el flujo de salida estándar (pantalla)
return 0;
Esta declaración hace que la función principal termine. Un código de retorno es 0, cuando la función
principal interpreta de manera general que el programa trabajo como se esperaba, sin ningún error
durante su ejecución. Esta es la forma más habitual para poner fin a un programa C++ en la
consola.
1. Variables Locales. Se definen solo en bloque en el que se vayan a ocupar, de esta manera
evitamos tener variables definidas que luego no se utilizan.
2. Variables Globales. No son lo más recomendable, pues su existencia atenta contra la
comprensión del código y su encapsulamiento.
3. Variables Estáticas. Se tienen que inicializar en el momento en que se declaran, de manera
obligatoria.
Los espacios de nombre nos ayudan a evitar problemas con identificadores, nos permiten, que
existan variables o funciones con el mismo nombre, declaradas en distintos espacios de nombre,
además no pueden hacerse declaraciones de namespace dentro de bloques, como funciones. Un
namespace se define de la siguiente manera:
namespace <nombre_del_namespace>
{
... //declaraciones y/o definiciones de variables, funciones, clases
}
Aquí nombre del namespace es un identificador estándar C++.
El nombre del espacio funciona como un prefijo para las variables, funciones o clases declaradas
en su interior, de modo que para acceder a una de esas variables se tiene que usar un especificador
de ´ámbito (::), o activar el espacio con nombre adecuado.
Autor: Ing Victor Rincón - Centro de Materiales y Ensayos, Regional Distrito Capital
SERVICIO NACIONAL DE APRENDIZAJE SENA
Procedimiento de Desarrollo Curricular
TALLER DE APRENDIZAJE
#include <iostream>
namespace uno
{
int x;
namespace dos
{
int x;
namespace tres
{
int x;
}
}
}
using std::cout;
using std::endl;
using uno::x;
int main()
{
x = 10; // Declara x como uno::x
uno::dos::x = 30;
uno::dos::tres::x = 50;
cout << x << ", " << uno::dos::x <<
", " << uno::dos::tres::x << endl;
return 0;
}
Autor: Ing Victor Rincón - Centro de Materiales y Ensayos, Regional Distrito Capital
SERVICIO NACIONAL DE APRENDIZAJE SENA
Procedimiento de Desarrollo Curricular
TALLER DE APRENDIZAJE
Pedir por teclado: cin >> variable; La variable pude ser de cualquier tipo.
EJEMPLO:
#include <conio.h>
#include <iostream> // Esta biblioteca permite el uso de cout(<<) y de cin(>>)
Bloque de sentencias
Las sentencias especifican y controlan el flujo de ejecución del programa. Si no existen sentencias especıficas
de selección o salto, el programa se ejecuta de forma secuencial en el mismo orden en que se ha escrito el
código fuente.
En C++ el concepto de bloque de sentencias se utiliza para agrupar un conjunto de sentencias dentro de un
ámbito concreto dentro del programa. Un bloque de sentencias es un conjunto de instrucciones englobadas
bajo llaves { }.
Sentencia if
La sentencia if elige entre varias alternativas en base al valor de una o más expresiones
booleanas.
Sintaxis:
if( <expression booleana>)
<bloque a ejecutar cuando la expresión es verdadera>
else
<bloque a ejecutar cuando la expresión es falsa>
Autor: Ing Victor Rincón - Centro de Materiales y Ensayos, Regional Distrito Capital
SERVICIO NACIONAL DE APRENDIZAJE SENA
Procedimiento de Desarrollo Curricular
TALLER DE APRENDIZAJE
La sentencia else es opcional, puede utilizarse o no. En el caso de no utilizarlo, cuando la expresión
evaluada sea falsa la ejecución continuará con la sentencia inmediatamente posterior al if.
Comparaciones en C++
if ( constante == variable){ }
Asignaciones en C++
En las asignaciones se debe evitar la conversión explicita de tipos de datos. Se aconseja no hacer
asignaciones múltiples, ya que estas dan a lugar a actuaciones erróneas. En general las sentencias de
asignación tienen la forma:
tipo variable;
variable = expresión;
Sentencia switch
En casos en los que el programa presenta varias elecciones después de checar un expresión múltiple o
multialternativa, donde el valor de una expresión determina que sentencias serán ejecutadas es mejor
utilizar una sentencia switch.
Esta estructura ocupa la palabra reservada break que permite que el flujo del programa se detenga justo
después de la ejecución de la sentencia anterior a ese break, pidiendo que se ejecuten las sentencias
correspondientes a las siguientes alternativas de switch.
Por otro lado default es opcional y engloba un conjunto de sentencias que se ejecutan en caso de que
ninguna de las alternativas del switch tenga un valor que coincida con el resultado de evaluar la expresión
del selector.
Sentencia For
Autor: Ing Victor Rincón - Centro de Materiales y Ensayos, Regional Distrito Capital
SERVICIO NACIONAL DE APRENDIZAJE SENA
Procedimiento de Desarrollo Curricular
TALLER DE APRENDIZAJE
La sentencia for se usara para definir un ciclo en el que una variable se incrementa de manera constante
en cada iteración y la finalización del ciclo se determina mediante una expresión constante.
Como contador en for se utilizaran preferiblemente variables de un solo carácter como i, j, k,
declarándolas dentro del mismo ciclo. Su formato general es:
for (inicialización; condición; incremento)
{
Instrucción(es);
};
La sentencia return se utiliza para salir de una función o procedimiento, volviendo al punto en el cual se
llamó a dicha función o procedimiento. En el código hay que minimizar la utilización de return, solo tendría
que aparecer una vez en cada función o procedimiento, al final del mismo, de manera que se tenga un solo
punto de entrada a la función y un solo punto de salida de la misma.
Ejemplos
A continuación presentamos algunos ejemplos en donde se implementan las sentencias del lenguaje C++.
1. Este programa cuenta números en intervalos de a ocho
#include <iostream>
Autor: Ing Victor Rincón - Centro de Materiales y Ensayos, Regional Distrito Capital
SERVICIO NACIONAL DE APRENDIZAJE SENA
Procedimiento de Desarrollo Curricular
TALLER DE APRENDIZAJE
#include <stdlib.h>
using namespace std;
main()
{
int numero, contador, sumador;
sumador=contador=0;
do
{
cout << "Introduzca un numero mayor que 0 y menor que 500: ";
cin >> numero;
}
while(numero < 0 || numero > 500);
// La condición controla el intervalo establecido, controlando que
// no entren números con diferencia inferior a ocho hasta 500 y no superior.
if(numero<=492)
{
for(numero; numero<500;numero+= 8)
{
sumador = sumador + numero;
contador = contador + 1;
cout << numero << " , " ;
}
}
cout << "\n Esta es la suma: " << sumador << endl;
cout << "El numero total hasta 500 separado ocho posiciones es: " <<
contador << endl;
system("PAUSE");
#include<iostream>
using namespace std;
main()
{
int a, b;
char oper;
cout << "Introduzca la operación a realizar usando espacios:\n\n";
cin >> a >> oper >> b;
switch(oper)
{
Autor: Ing Victor Rincón - Centro de Materiales y Ensayos, Regional Distrito Capital
SERVICIO NACIONAL DE APRENDIZAJE SENA
Procedimiento de Desarrollo Curricular
TALLER DE APRENDIZAJE
case '+': cout << a << oper << b << " = " << a + b << endl;
break;
case '-': cout << a << oper << b << " = " << a - b << endl;
break;
case '*': cout << a << oper << b << " = " << a * b << endl;
break;
case '/': cout << a << oper << b << " = " << a / b << endl;
break;
case '%': cout << a << oper << b << " = " << a % b << endl;
break;
default: break;
}
}
3.1 Apropiación.
Entorno gráfico
Con el aplicativo Dev C++ crearemos un nuevo proyecto: seleccione menú Archivo – nuevo- proyecto
Autor: Ing Victor Rincón - Centro de Materiales y Ensayos, Regional Distrito Capital
SERVICIO NACIONAL DE APRENDIZAJE SENA
Procedimiento de Desarrollo Curricular
TALLER DE APRENDIZAJE
Estructura básica
Autor: Ing Victor Rincón - Centro de Materiales y Ensayos, Regional Distrito Capital
SERVICIO NACIONAL DE APRENDIZAJE SENA
Procedimiento de Desarrollo Curricular
TALLER DE APRENDIZAJE
Main(), para abrir el principal se maneja llave de apertura "{" y se cierra con otra llave "}"
System (“pause”), permite ver los resultados hasta que se digite cualquier tecla (congela pantalla) .
Getch(), permite visualizar los resultados, necesita la librería conio.
\n, indica al programa que debe dar un enter o salto de línea.
\t , indica al programa que debe hacer una tabulación o una sangría.
Los comentarios se evidencian dos formatos:
Luego se procede a guardar el programa, se aconseja dar el mismo nombre del proyecto
Autor: Ing Victor Rincón - Centro de Materiales y Ensayos, Regional Distrito Capital
SERVICIO NACIONAL DE APRENDIZAJE SENA
Procedimiento de Desarrollo Curricular
TALLER DE APRENDIZAJE
Inicio del manejo del programa y uso de While (mientras – condición – haga)
Autor: Ing Victor Rincón - Centro de Materiales y Ensayos, Regional Distrito Capital
SERVICIO NACIONAL DE APRENDIZAJE SENA
Procedimiento de Desarrollo Curricular
TALLER DE APRENDIZAJE
Parametros
int main(int argc, char *argv[])
Manejo de for (para=Variable inicial, condición e incremento)
Autor: Ing Victor Rincón - Centro de Materiales y Ensayos, Regional Distrito Capital
SERVICIO NACIONAL DE APRENDIZAJE SENA
Procedimiento de Desarrollo Curricular
TALLER DE APRENDIZAJE
Autor: Ing Victor Rincón - Centro de Materiales y Ensayos, Regional Distrito Capital
SERVICIO NACIONAL DE APRENDIZAJE SENA
Procedimiento de Desarrollo Curricular
TALLER DE APRENDIZAJE
Autor: Ing Victor Rincón - Centro de Materiales y Ensayos, Regional Distrito Capital
SERVICIO NACIONAL DE APRENDIZAJE SENA
Procedimiento de Desarrollo Curricular
TALLER DE APRENDIZAJE
Autor: Ing Victor Rincón - Centro de Materiales y Ensayos, Regional Distrito Capital
SERVICIO NACIONAL DE APRENDIZAJE SENA
Procedimiento de Desarrollo Curricular
TALLER DE APRENDIZAJE
Ejecución
Autor: Ing Victor Rincón - Centro de Materiales y Ensayos, Regional Distrito Capital
SERVICIO NACIONAL DE APRENDIZAJE SENA
Procedimiento de Desarrollo Curricular
TALLER DE APRENDIZAJE
Se están dando 5 opciones con letras del abecedario y cada una tiene un número de equivalencia.
Autor: Ing Victor Rincón - Centro de Materiales y Ensayos, Regional Distrito Capital
SERVICIO NACIONAL DE APRENDIZAJE SENA
Procedimiento de Desarrollo Curricular
TALLER DE APRENDIZAJE
Autor: Ing Victor Rincón - Centro de Materiales y Ensayos, Regional Distrito Capital
SERVICIO NACIONAL DE APRENDIZAJE SENA
Procedimiento de Desarrollo Curricular
TALLER DE APRENDIZAJE
Dependiendo de dónde se declaren las variables, podrán o no ser accesibles desde distintas partes del
programa. Es decir, su ámbito de acceso y temporal dependerá del lugar en que se declaren.
Las variables declaradas dentro de un bucle, serán accesibles sólo desde el propio bucle, esto es, tendrán
un ámbito local para el bucle. Esto es porque las variables se crean al iniciar el bucle y se destruyen cuando
termina. Evidentemente, una variable que ha sido destruida no puede ser accedida, por lo tanto, el ámbito
de acceso está limitado por el ámbito temporal.
Las variables declaradas dentro de una función, y recuerda que main también es una función, sólo serán
accesibles para esa función, desde el punto en que se declaran hasta el final. Esas variables son variables
locales o de ámbito local de esa función.
Al igual que ocurre con las variables locales de bucle, en las de función, las variables se crean al iniciar la
función y se destruyen al terminar.
Las variables declaradas fuera de las funciones, serán accesibles desde todas las funciones definidas después
de la declaración. Diremos que esas variables son globales o de ámbito global.
El ámbito temporal de estas variables es también global: se crean junto con el programa, y se destruyen
cuando el programa concluye.
Las variables globales son las únicas que son inicializadas automáticamente con valor cero cuando se
declaran. Esto no sucede con ninguna variable local.
En todos los casos descritos, el ámbito temporal coincide con el de acceso: las variables que no pueden ser
accedidas es porque no existen todavía o porque han sido destruidas. Más adelante veremos casos en que
estos ámbitos no coinciden.
Una variable global declarada después de la definición de una función no será accesible desde esa función,
por eso, normalmente se declaran las variables globales antes de definir las funciones. Pero esto es hablando
de forma general, en realidad, en C++ está mal visto usar variables globales, ya que se consideran poco
seguras.
Variables globales.
Son variables declaradas fuera de cualquier función, normalmente al comienzo del programa.
Las variables globales son accesibles desde su declaración hasta el final del programa por todas las funciones
que lo forman.
Autor: Ing Victor Rincón - Centro de Materiales y Ensayos, Regional Distrito Capital
SERVICIO NACIONAL DE APRENDIZAJE SENA
Procedimiento de Desarrollo Curricular
TALLER DE APRENDIZAJE
void funcion();
int main()
{
cout << x << endl; // muestra 1
x++;
cout << x << endl, // muestra 2
//se llama a una función que accede a
//la variable global x
funcion();
cout << x << endl, // muestra 4
system("pause");
}
void funcion()
{
x = x * 2;//la función tiene acceso a la variable global x
}
Variables locales.
Las variables locales son las que se declaran dentro de una función. Son accesibles desde el punto
donde se declaran hasta el final del bloque donde se han declarado. Los límites de los bloques
están definidos por las llaves de apertura y cierre { }. Normalmente el final del bloque coincide con
el final de la función. Si el bloque donde se ha declarado la variable local contiene a su vez otros
bloques, también son accesibles dentro de ellos.
Las variables locales se destruyen cuando se sale del bloque donde han sido declaradas.
Los parámetros formales (los que aparecen en la cabecera de una función) se consideran variables
locales de la función.
El siguiente programa muestra el uso de variables locales. El programa lee 5 números por teclado
y calcula si el número es primo. Para comprobar si el número leído es primo se utiliza una función
que recibe el número y devuelve true o false según el número sea primo o no.
#include <iostream>
#include <stdlib.h>
using namespace std;
bool es_primo(int);
int main()
{ int numero, i; // variables locales de main
cout << "Introduzca 5 numeros enteros > 0: ";
for(i=1;i<=5;i++)
{
do
{
Autor: Ing Victor Rincón - Centro de Materiales y Ensayos, Regional Distrito Capital
SERVICIO NACIONAL DE APRENDIZAJE SENA
Procedimiento de Desarrollo Curricular
TALLER DE APRENDIZAJE
Ocultación de variables
Puede ocurrir que una variable global y otra local tengan el mismo nombre. Cuando ocurre esto,
la variable global queda oculta en el ámbito de accesibilidad de la local del mismo nombre.
Para acceder a una variable global que ha quedado oculta por otra local se utiliza el operador de
resolución de ámbito ::
Autor: Ing Victor Rincón - Centro de Materiales y Ensayos, Regional Distrito Capital
SERVICIO NACIONAL DE APRENDIZAJE SENA
Procedimiento de Desarrollo Curricular
TALLER DE APRENDIZAJE
Variables de bloque.
Una función puede contener bloques definidos dentro de otros. Los límites de los bloques están
definidos por las llaves de apertura y cierre { }.
El ámbito de una variable declarada dentro de un bloque comienza en el punto en que se declara
hasta el final del bloque donde se ha declarado (llave final del bloque).
Una variable de bloque se destruye cuando acaba la ejecución del bloque donde se ha declarado.
1. Pasar a C++ los ejercicios manejados en LPP correspondientes al anterior taller de algoritmia.
3. Escriba un programa que lea temperaturas expresadas en grados Fahrenheit y las convierta a
grados Celsius mostrándola. El programa finalizará cuando lea un valor de temperatura igual a 999.
La conversión de grados Fahrenheit (F) a Celsius (C) está dada por
C = 5/9(F − 32).
4. Escriba un programa que cuente por pantalla del 1 al 10 en español. Utiliza una estructura
switch que incluya la cláusula default.
5. Programa que lea dos números por teclado y muestre el resultado de la división del primer
número por el segundo. Se debe comprobar que el divisor no puede ser cero.
Autor: Ing Victor Rincón - Centro de Materiales y Ensayos, Regional Distrito Capital
SERVICIO NACIONAL DE APRENDIZAJE SENA
Procedimiento de Desarrollo Curricular
TALLER DE APRENDIZAJE
6. El instructor de Matemáticas quiere determinar cuál es la calificación más alta del grupo,
formando grupos de tres calificaciones y las captura. Desarrollar un programa en C++, el cual
determine el mayor de las tres calificaciones, el programa debe mostrar en pantalla la
calificación mayor.
7. Un cliente ordena cierta cantidad de brochas de cerda, rodillos y sellador; las brochas de
cerda tienen un 20% de descuento y los rodillos un 15% de descuento. Los datos que se tienen
por cada tipo de artículo son: la cantidad pedida y el precio unitario. Además, si se paga de
contado todo tiene un descuento del 7%. Elaborar un programa en C++ que calcule y muestre en
pantalla el costo total de la orden, tanto para el pago de contado como para el caso de pago de
crédito.
9. Escribir un programa que dado un número del 1 al 7 escriba el correspondiente nombre del
día de la semana.
10. En la clase de aritmética de la escuela secundaria técnica No. 35, el maestro les solicita al
departamento de sistemas que se le desarrolle un programa que pida al usuario un número
entero decimal entre 1 y 99, incluyendo los extremos y obtenga la correspondiente
representación en el sistema romano y su decimal, con el objetivo de poder explicar
mediante el programa visualmente el sistema de conversión a sus alumnos. El programa
mostrará en pantalla el número decimal y su conversión el sistema romano.
Autor: Ing Victor Rincón - Centro de Materiales y Ensayos, Regional Distrito Capital
SERVICIO NACIONAL DE APRENDIZAJE SENA
Procedimiento de Desarrollo Curricular
TALLER DE APRENDIZAJE
12. Desarrollar un programa que muestre los pagos que recibirá un trabajador por cada hora
laboral en base a la hora del día en que trabaja. El usuario deberá escribir el número de horas
trabajadas en cada uno de los horarios y el programa determinará el total de dinero a recibir por
el trabajador y también dirá si ganó más dinero por horas extras que por horas de oficina
trabajadas o viceversa, o si el trabajador ganó exactamente lo mismo por horas extras que por
horas de oficina. De la galería de productos, el usuario introducirá el código y el número de
unidades del producto que desea comprar. El programa determinará el total a pagar, como una
factura.
13. Realizar un programa que pida dos números enteros por teclado y muestra por pantalla el
siguiente menú:
MENU
1. Sumar
2. Restar
3. Multiplicar
4. Dividir
Elija la Opción Deseada:
El usuario deberá elegir una opción y el programa deberá mostrar el resultado por pantalla.
Además, para que en aquellos casos en los que el usuario elige una opción distinta de las 4
posibles el programa muestre un mensaje de error (por ejemplo: “Error. Opción no válida” y a
continuación finalice.
Condicionales:
15. Una papelería debe calcular las diferentes cantidades de fotocopias a sacar. El precio
unitario de cada fotocopia es de $100 debe digitarse la cantidad de copias. Mostrar el total a
pagar teniendo en cuenta que se tiene una política de descuento para cantidades que se
obtengan del mismo original así: el 12% para fotocopias entre 100 y 200, del 15% para fotocopias
entre 201 y 400, y del 18% para fotocopias por cantidades mayores a 400.
Estructuras Iterativas:
16. Imprimir un listado con los números impares desde 1 hasta 99 y seguidamente otro listado
con los números pares desde 2 hasta 100.
17. Imprimir los 100 primeros números de Fibonacci. Recuerde que un número de Fibonacci se
calcula como la suma de los dos anteriores así: 0, 1, 1, 2, 3, 5, 8,13…
18. Calcular el factorial de un número N (siendo N un número que se lee).
19. Leer 20 números y encontrar el mayor y el menor valor leídos.
20. Leer un dato y almacenarlo en la variable n. Calcular el valor de 2 elevado a la potencia n
Autor: Ing Victor Rincón - Centro de Materiales y Ensayos, Regional Distrito Capital
SERVICIO NACIONAL DE APRENDIZAJE SENA
Procedimiento de Desarrollo Curricular
TALLER DE APRENDIZAJE
Abstracción: habilidad de tomar algo como un todo, sin tener en cuenta los detalles. El propósito
de la abstracción es entender algo sin basarse en su estructura interna. La programación
orientada a objetos se basa en la abstracción tanto de datos como funcional.
Atributo: miembro de datos de una clase. Define una característica para cada objeto de la clase.
Atributo de clase: Atributo cuyo valor es común a todos los objetos de una clase. En C++ son los
miembros estáticos.
Clase: Definición de un tipo de objetos que tienen unas características comunes. Una clase es un
patrón para crear nuevos objetos. Una clase contiene tanto atributos como métodos.
Clase abstracta: Clase que se usa para definir las características comunes de un conjunto de
clases. Una clase abstracta sirve como un patrón que define una serie de clases relacionadas.
En C++ este término se usa específicamente para las clases que tienen un método virtual puro.
Clase base / padre / madre / ascendiente / superclase: Clase que define un conjunto de
características comunes a todas las clases derivadas de ella.
Clase contenedora: Una clase de objetos contenedores. Por ejemplo conjunto, diccionarios, pilas,
listas.
Clase derivada / hija / descendiente / subclase: Clase que es descendiente o es derivada de otra.
Hereda las propiedades de la clase base.
Autor: Ing Victor Rincón - Centro de Materiales y Ensayos, Regional Distrito Capital
SERVICIO NACIONAL DE APRENDIZAJE SENA
Procedimiento de Desarrollo Curricular
TALLER DE APRENDIZAJE
Clases genéricas o parametrizadas (templates): Plantilla para generar clases reales que puedan
diferir solamente en unos parámetros y no en el código fuente. Los parámetros pueden ser tipos
o clases y otros valores constantes, como por ejemplo el tamaño de una pila.
Contenedor: Objeto que existe para contener otros objetos y que proporciona operaciones para
acceder o iterar sobre los elementos que contiene.
Declaración: Una declaración introduce nombres y sus tipos dentro del programa sin que
necesariamente se defina un objeto o función asociado. Sin embargo, muchas declaraciones
sirven como definiciones.
Encapsulación: Habilidad de poner todos los datos y funcionalidades de un tipo de datos en una
estructura controlada y abstracta, de forma que esté aislada del resto del sistema. Las clases
permiten al programador la libertad de encapsular atributos y métodos en una única estructura.
Excepción: Es una situación anómala o error que se puede presentar durante la ejecución de un
programa. Elevar una excepción es abandonar la ejecución normal de un programa para indicar
que el error ha tenido lugar. El manejador de excepciones se encargará de su tratamiento.
Extensibilidad: Propiedad del software por la cual algunos objetos o funcionalidades pueden
añadirse a un sistema con poca o ninguna modificación del código existente.
Función: Relación operacional entre varias entidades. Se suelen representar como una
correspondencia entre unos argumentos (entrada) y un resultado (salida).
Instanciación: Acción de instanciar una clase, es decir, el proceso de crear un objeto. Similar a
construcción.
Autor: Ing Victor Rincón - Centro de Materiales y Ensayos, Regional Distrito Capital
SERVICIO NACIONAL DE APRENDIZAJE SENA
Procedimiento de Desarrollo Curricular
TALLER DE APRENDIZAJE
Iterador:Mecanismo que permite recorrer una estructura que contiene muchos objetos como, por
ejemplo, un contenedor.
Jerarquía de clases: Cuando unas clases heredan de otras se forma una estructura arbórea que
se denomina jerarquía. Se puede pensar una jerarquía de clases como un árbol de familia, en el
que las clases derivadas son las hijas de las clases base (madres).
Lenguaje orientado a objetos: Lenguaje que tiene la capacidad de definir clases y objetos y que
permite la herencia y el polimorfismo.
Método: Define una operación sobre un objeto. Es la implementación de un mensaje para una
clase. Cuando se envía un mensaje a un objeto, se ejecuta el método definido por la clase del
objeto. En C++ los métodos son funciones miembros de las clases que se invocan de la misma
forma que las funciones.
Miembro: Cada elemento definido dentro de una clase. En C++, los miembros son tanto los
atributos (datos) como los métodos (funciones).
Módulo: Subconjunto coherente del sistema conteniendo un grupo de funciones, clases y sus
relaciones.
Objeto: Es la instancia de una clase. Un objeto es una entidad que tiene un estado y un conjunto
definido de operaciones (métodos) que operan sobre este estado. El estado se representa por un
conjunto de atributos del objeto. Las operaciones asociadas con el objeto dan servicio a otros
objetos (clientes) que piden estos servicios cuando se necesita alguna operación (por medio de
mensajes).
Operador: Función que tiene un nombre, generalmente no alfanumérico, y que se invoca sin
paréntesis y en distintas posiciones (prefijo, postfijo o infijo).
Parámetro: Parte variable de una plantilla o macro que permite obtener instancias diferentes.
Polimorfismo: Habilidad de enviar el mismo mensaje a objetos de diferentes clases. Estos objetos
reciben el mismo mensaje pero responderán de distinta forma. El polimorfismo en C++ se
consigue a través de los métodos virtuales y punteros o referencias a clases bases.
Privado (referido a un miembro de una clase): Miembro sólo accesible por métodos de su clase.
Autor: Ing Victor Rincón - Centro de Materiales y Ensayos, Regional Distrito Capital
SERVICIO NACIONAL DE APRENDIZAJE SENA
Procedimiento de Desarrollo Curricular
TALLER DE APRENDIZAJE
Protegido (referido a un miembro de una clase): Miembro sólo accesible por métodos de su
clase y descendientes.
Público (referido a un miembro de una clase):Miembro accesible por métodos de cualquier clase.
Puntero: Variable (o atributo de un objeto) que contiene una referencia explícita a otro. Se ha de
realizar una dirección para acceder al objeto referenciado.
Referencia: Variable o atributo de un objeto que contiene una referencia implícita a otro que no
requiere realizar una dirección para acceder al objeto referenciado.
Sobrecarga: Es la propiedad de que un mismo identificador tenga varios significados. En C++ hay
sobrecarga en las funciones y los operadores, donde puede haber un mismo nombre de función
para distintas operaciones sobre distintos argumentos. La llamada a una función u operador
sobrecargado se resuelve en tiempo de compilación basándose en el tipo de argumentos con el
que se llama.
TAD (Tipo Abstracto de Datos): Separación o abstracción del concepto de estructura de datos y
las operaciones a realizar sobre él, de su implementación. Esta implementación debe quedar
oculta.
Variable: Entidad que puede cambiar de estado. En C++ una variable es un dato de un tipo
fundamental o derivado (por ejemplo int, float, punteros), en contraposición a los objetos que son
instancias de una clase.
Visibilidad: Se dice que un identificador es visible en un punto dado del código fuente de un
programa si el compilador le puede asociar el elemento que denota el identificador.
Autor: Ing Victor Rincón - Centro de Materiales y Ensayos, Regional Distrito Capital