Maual Laboratorio Dev C++para Windows 8
Maual Laboratorio Dev C++para Windows 8
Maual Laboratorio Dev C++para Windows 8
PRESENTACION
CONTENIDO
CARATULA 01
EL AUTOR 02
PRESENTACIÓN 03
CONTENIDO 04
GUIA DE LABORATORIO N° 01
INSTALACIÓN DEL ENTORNO DEV C++ PARA WINDOWS 8
I. OBJETIVOS
II. INTRODUCCIÓN
DEV C++ : Bloodshed Dev - C++ es un entorno de desarrollo integrado (IDE por sus
siglas en inglés) para programar en lenguaje C/C++.
3. Aceptamos la licencia.
4. Seleccionamos las opciones que viene por default, o sea FULL. Luego siguiente:
7. Una vez finalizado, apreciaremos ésta ventana, la que nos permitirá verificar la
instalación de nuestro compilador C++, seleccionamos Ejecutar Dev-C++ 5, para
luego presionar el botón Terminar.
seleccionamos el idioma
8. Una vez que está cargado nuestro compilador, verificamos que las rutas a las
librerías están correctamente instaladas. Vamos a Herramientas -> Opciones del
compilador.
Barra de Herramientas
para Compilar y
Nombre de archivo Ejecutar
TOTAL 100 %
Observaciones
__________________________________________________________________________
__________________________________________________________________________
Conclusiones
__________________________________________________________________________
__________________________________________________________________________
GUIA DE LABORATORIO N° 02
CONCEPTOS BÁSICOS DE LOS PROGRAMAS EN C++
I. OBJETIVOS
c) Variables: Lugar donde se almacena los datos a utilizar, que pueden ser de un
tipo de dato particular.
d) Constantes: Si un dato no va a cambiar su valor durante la ejecución del
programa, generalmente se declara como un valor constante (const).
a) Todas las palabras reservadas de C++ (return, int, ect), y funciones predefinidas
(system(), main, etc), deben escribirse en minúsculas.
b) Al declarar variables en C++, por ejemplo una variable entera “A”, considere que
A mayúscula es diferente de a minúscula.
c) Al declarar variables en C++, por ejemplo una variable entera “var uno”,
considere que produciría un error debido a que no se reconocen los espacios en
blanco para la declaración de variable, razón por la cual se sugiere utilizar un
guion bajo(_) “var_uno” o unirlas “varuno”.
3. Los comentarios.
Son señales que utiliza el programador para explicar que hacen las líneas de
programación ó para documentación interna, normalmente un programa tiene
comentarios sólo en las instrucciones que podrían dar lugar a dudas debido a que
un programa con demasiados comentarios innecesarios dificultan la lectura del
programa, los comentarios son ignorados por el compilador. Todos los
comentarios en C++ comienzan con // para los de una línea y /* */ para
comentarios multilínea.
IV. PROCEDIMIENTOS
using namespace std; Uso de nombres con espacios std cout y cin.
} Finaliza el programa.
Para correr nuestro programa primero debemos compilarlo y luego ejecutarlo, ubique la
Compilar
Compilar y
Ejecutar
Ejecutar
Ejemplo N° 03:
En una empresa de calzado, se aplican los siguientes descuentos al sueldo base de cada
uno de sus empleados: Renta (10%), AFP Confía (7%) y Seguro Social (5%). Desarrollar un
programa en C++ que pida el sueldo base de un empleado y que determine los descuentos
y el sueldo neto a pagar.
Ejemplo N° 04:
Diseñar el programa que permita obtener el salario neto de un empleado, a partir del
número de horas trabajadas en el mes. Al salario nominal, se le aplica un descuento del
15%. Debe mostrar como resultado un mensaje en donde debe verse el nombre del
empleado, el número de horas trabajadas, el salario nominal, el descuento aplicado y el
salario neto.
1. Diseñar el programa que lea 5 números enteros y tres números reales y los visualice.
2. Diseñar el programa que permita leer su nombre y dirección y visualice la misma.
3. Diseñar el programa que lea la base y la altura de un trapecio, y calcule su área.
4. Diseñar el programa que lea el radio de una circunferencia y calcule su longitud.
5. Diseñar el programa que lea tres números reales, y los visualice.
6. Diseñe los programas de los algoritmos realizados en clase.
VI. Evaluación de Análisis de Resultados
6 TOTAL 100 %
Observaciones
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
Conclusiones
__________________________________________________________________________
__________________________________________________________________________
GUIA DE LABORATORIO N° 03
OPERADORES Y EXPRESIONES
I. OBJETIVOS
Operaciones No nivel bits: ~ Operaciones lógicas aplicadas a nivel de int a= 0xff, b= 0xf0;
con bits Y nivel bits: & bits. En los desplazamientos: a << c,
O nivel bits: | significa desplazar c bits el valor a. (a & b);
Xor nivel bits: ^
Despl. izq.: << (a | b);
Despl. Der.: >>
a << 2;
Concatenación expr1 , expr2 Sirve para unir varias expresiones en una int i;
de expresiones misma línea de código. El resultado final i= (i= 2, i++, i*= 2);
es el de la derecha.
Condicional exp1 ? exp2:exp3 Expresión condicional. Si exp1 es true el int a, b, max, min;
resultado es exp2, si no exp3. max= (a>b ? a : b);
min= (a<b ? a : b);
IV. PROCEDIMIENTOS
Generar programas con los operadores descritos en la tabla anterior, para ello deberá crear
una carpeta en mis documentos o en el escritorio, donde guardara los ejercicios
desarrollados.
12. Escribir un programa que lea tres números y si el tercero es positivo calcule y
escriba la suma de los tres números, y si es negativo calcule y escriba su producto.
13. Se desea calcular el salario neto semanal de los trabajadores de una empresa de
acuerdo a las siguientes normas:
Horas Semanales trabajadas < 38 a una tasa dada.
Horas extras (38 o más) a una tasa 50 por 100 superior a la ordinaria.
Impuestos 0 por 100, si el salario bruto es menor o igual a 600 soles
Impuestos 10 por 100, si el salario bruto es mayor de 600 soles.
6 TOTAL 100 %
Observaciones
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
Conclusiones
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
GUIA DE LABORATORIO N° 04
I. OBJETIVOS.
II. INTRODUCCIÓN
Estructuras de control selectivas
Las sentencias if, if-else, if-else-if y switch, son utilizadas para construir estructuras de
control, la comparación de las mismas se muestra en el siguiente cuadro.
Simple
Múltiple
IV. PROCEDIMIENTOS
Ejercicio Nº 01
Crear un diagrama de flujo y programa en C++ que verifique si un número ingresado por el
usuario es positivo o negativo.
INICIO
LEER: A
A> 0
ESCRIBIR: ESCRIBIR:
Positivo Negativo
FIN
Ejercicio Nº 02: Crear un programa que determine si un número es par o impar, en caso
que el número sea par verificar si el número está entre 10 y 100 incluyéndolos.
Ejercicio Nº 03
1. Suma 2. Multiplicación
3. Resta 4. División
Se pide que utilice la estructura switch:
Ejercicio Nª 04:
Ing. Carlos A. Silva Delgado
UNIVERSIDAD NACIONAL DE MOQUEGUA
Carrera Profesional de Ingeniería de Sistemas e Informática
Ejercicio Nº 06: Crear un programa que pida 3 números al usuario y determine cuál es el
mayor y menor de los números.
Esta tarea deberá ser entregada al docente la próxima semana, de manera digital e
impreso.
1. Diseñe un programa que solicite de una persona, su edad, sexo y teléfono; si el sexo es
m ó M, que muestre en pantalla el mensaje El señor nombre con edad se ha registrado
o si es f o F La señorita nombre con edad se ha registrado. En caso contrario mandar un
mensaje: Sexo no válido. Ejemplo:
2. Diseñar el programa que permita los siguiente, un vendedor recibe su salario con base
a las ventas. Si las ventas son menores de 200 recibe 200 + ventas. Si las ventas son
igual a 200 en total obtiene 500, pero si las ventas son mayores a 200 son 500 + 10% de
la venta.
3. Diseñar el programa que permita determinar el máximo de tres números.
4. Diseñar el programa que determine el máximo y el mínimo de tres números.
5. Diseñar el programa que determine si un número es cuadrado perfecto.
6. Diseñar el programa que calcule el impuesto de los trabajadores de una empresa
considerando que aquellos empleados cuyo salario es el mínimo están exentos de este
pago.
7. Diseñar el programa para que me muestre si una persona es mayor de edad o no
ingresando para ello la edad de la persona. Nota: Considerar la mayoría de edad los 18
años.
8. Si un ángulo es igual a 90 grados imprima el mensaje “El ángulo es un ángulo recto”, de
lo contrario imprima el mensaje “El ángulo no es ángulo recto”.
9. Si la temperatura está por encima de 100 grados desplegar el mensaje “arriba del
punto de ebullición del agua”, de lo contrario desplegar el mensaje “abajo del punto de
ebullición del agua”.
10. Escriba un programa en C++ que le pida al usuario que introduzca dos números. Si el
primer número introducido es mayor que el segundo número el programa deberá
imprimir el mensaje “El primer número es mayor”, de lo contrario deberá imprimir el
mensaje “El primer número es menor”. Pruebe su programa introduciendo los números
5 y 8 y luego usando los números 11 y 2.
11. Una fábrica pequeña genera su propia energía con un generador de 20 kilowatts y un
generador de 50 kilowatts. El gerente de la planta indica cuál generador se requiere al
introducir un código de carácter. Escriba un programa en C++ que acepte este código
como entrada. Si se introduce el código s deberá desplegarse un mensaje que le
indique al capataz de la planta que use el generador más pequeño; de lo contrario
deberá ser la salida un mensaje que le indique el uso del generador más grande.
6 TOTAL 100 %
Observaciones
__________________________________________________________________________
Conclusiones
__________________________________________________________________________
__________________________________________________________________________
GUIA DE LABORATORIO N° 05
I. OBJETIVOS
II. INTRODUCCIÓN
ESTRUCTURAS DE CONTROL REPETITIVAS
La sentencia while: El bucle while tiene una condición del bucle (expresión lógica) que
controla la secuencia de repetición. La posición de esta condición del bucle es delante del
cuerpo del bucle y significa que un bucle while es un bucle pretest de modo que cuando se
ejecuta el mismo, se evalúa la condición antes de que se ejecute el cuerpo del bucle.
ALGORITMO SINTAXIS
while ( condición )
Bloque de Instrucciones;
Las sentencias del cuerpo del bucle se repiten mientras que la expresión lógica (condición
del bucle) sea verdadera. Cuando se evalúa la expresión lógica y resulta falsa, se termina y
LA SENTENCIA FOR: El bucle for es el más adecuado para implementar bucles controlados
por contador que son bucles en los que un conjunto de sentencias se ejecutan una vez por
cada valor de un rango especificado, de acuerdo al algoritmo. Por cada valor de una
variable contador de un rango específico: ejecutar sentencias.
ALGORITMO SINTAXIS
Las Sentencias, acciones o sentencias que se ejecutarán por cada iteración del bucle.
ALGORITMO SINTAXIS
do
Bloque de Instrucciones;
while ( condición );
IV. PROCEDIMIENTOS
Crear una carpeta en mis documentos o en el escritorio con los programas desarrollados en
el laboratorio.
Esta tarea deberá ser entregada al docente la próxima semana, de manera digital e
impreso. Ejercicios de Instrucciones de repetición (While, For, Do While)
While
7 4000 0 28000
4. Un automóvil viaja a una velocidad promedio de 55 millas por hora durante cuatro
horas. Escriba un programa en C++ que despliegue la distancia, en millas, que el
automóvil ha recorrido después de 1, 2, etc.., horas hasta el final del viaje.
5. El valor del número de Euler, e, puede aproximarse usando la fórmula:
Usando esta fórmula, escriba un programa en C++ que aproxime el valor de e usando
un ciclo while que termine cuando la diferencia entre dos aproximaciones sucesivas
difiera por menos que 10 e-9.
6. Una serie aritmética se define por:
Usando estas fórmulas, escriba un programa en C++ que continué aceptando números
hasta que se introduzca el número 999 y luego calcule y despliegue tanto la media
geométrica como la armónica de los números introducidos. (Sugerencia: Será necesario
que su programa cuente en forma correcta el número de valores introducidos)
For
Donde a es el coeficiente de expansión (el cual para el acero es 11.7 e-6) y L es el largo
del puente a la temperatura T0. Usando esta fórmula, escriba un programa en C++ que
despliegue una tabla de longitudes de expansión para un puente de acero que tiene
7365 metros de largo a 0 grados Celsius, conforme la temperatura incrementa a 40
grados en incrementos de 5 grados.
11. La probabilidad que una llamada telefónica individual dure menos de t minutos puede
aproximarse por la función de probabilidad exponencial:
Donde x = el número de clientes que llegan por minuto; λ=el número promedio de llegadas
por minuto y e el número de Euler (2.71828). Por ejemplo, si el número promedio de
clientes que entran en el banco es de tres clientes por minuto, entonces λ es igual a tres.
Por tanto, la probabilidad que un cliente llegue en cualquier minuto es:
13. Una pelota de golf es soltada desde un avión. La distancia, d, que cae la pelota en t
segundos está dada por la ecuación d=(1/2)gt2, donde g es la aceleración debida a la
gravedad y es igual a 32 pies/s2. Usando esta información, escriba y ejecute un
programa en C++ que despliegue la distancia que cae en cada intervalo de un segundo
para diez segundos y la distancia que cae la pelota de golf al final de cada intervalo. La
salida deberá completar la siguiente tabla:
Tiempo Distancia en el intervalo Distancia total
actual
0 0.0 0.0
1 16.0 16.0
. . .
. .
10 . .
14. La secuencia de Fibonacci es 0,1,1,2,3,5,8,13,… donde los primeros dos términos son 0y
1, y cada término a partir de entonces es la suma de los dos términos precedentes; es
decir Fib[n]=Fib[n-1]+Fib[n-2]. Usando esta información, escriba un programa en C++
que calcule el enésimo número en una secuencia de Fibonacci, donde n sea introducido
de manera iterativa en el programa por el usuario. Por ejemplo si n=6, el programa
deberá desplegar el valor de 5.
Do While
15. Usando una instrucción do, escriba un programa para aceptar una calificación. El
programa deberá solicitar una calificación en forma continua en tanto se introduzca
una calificación inválida. Una calificación inválida en cualquier calificación menor que 0
o mayor que 100. Después que se ha introducido una calificación válida, su programa
deberá desplegar el valor de la calificación introducida.
16. Escriba un programa que solicite en forma continua que se introduzca una calificación.
Si la calificación es menor que 0 o mayor que 100, su programa deberá imprimir un
mensaje apropiado que informe al usuario que se ha introducido una calificación
inválida, de lo contrario la calificación deberá sumarse a un total. Cuando se introduzca
una calificación de 999 el programa deberá salir del ciclo de repetición y calcular y
desplegar el promedio de las calificaciones válidas introducidas.
17. Escriba un programa para invertir los dígitos de un número entero positivo. Por
ejemplo, si se introduce el número 8735, el número desplegado deberá ser 5378.
(Sugerencia: Use una instrucción do y continuamente quite y despliegue el dígito de las
unidades del número. Si la variable num en un inicio contiene el número introducido, el
dígito de las unidades se obtiene como (num % 10). Después que se despliega un dígito
de unidades, dividir el número entre 10 establece el número para la siguiente iteración.
Por tanto (8735%10) es 5 y (8735/10) es 873. La instrucción do deberá continuar en
tanto el número remanente no sea cero.
6 TOTAL 100 %
Observaciones
__________________________________________________________________________
__________________________________________________________________________
Conclusiones
__________________________________________________________________________
__________________________________________________________________________
GUIA DE LABORATORIO N° 06
FUNCIONES Y MÓDULOS
I. OBJETIVOS
II. INTRODUCCIÓN
Cuando veamos que secciones o bloques de código se repiten varias veces podemos llevar
esta tarea a una función, lo que nos ahorra esfuerzo y evita líneas de código repetidas.
Cuando necesitemos realizar una operación sobre algún tipo de dato y producto de ello
necesitemos un valor de respuesta. Como por ejemplo calcular el cuadrado de un número
entero.
SINTAXIS
<tipo> Es el tipo de dato que Cuerpo Es todo lo que se return Esta sentencia se
devuelve la función. Si se coloca encuentra entre las llaves {} y usa si el tipo de dato de
variables, las cuales se escriben con le damos a nuestra función returns a lo largo de un
separadas por comas, que vienen a menos la palabras reservadas función encuentra a
función.
Ejemplo 01: En el siguiente ejemplo se definirá una función para que calcule el área de un
triángulo.
En la línea 3 podemos ver que el tipo de dato que devolverá la función es un entero (int)
que el nombre de la función es areaTriangulo y tienen dos parámetros de tipo entero base
y altura. El cuerpo de la función comprende todas las líneas de código desde la línea 4
hasta la línea 8.
El cuerpo de una función contiene todas las instrucciones que le permiten realizar su tarea,
podemos definir variables cuyo ámbito o vida tendrá duración sólo en el cuerpo de la
función (variables locales). También se puede hacer llamada a otras funciones o declarar
tipos de datos definidos por el usuario, en síntesis se puede trabajar en el cuerpo de una
función con todas las ventajas que el lenguaje nos ofrece pero orientado a la resolución de
un problema específico.
Ejemplo 02:
{ Mostrar ("UMSS");
cout <<nombre; }
Valor de retorno
Una función después de haber realizado operaciones con los datos que se le proporciona
debe de devolver algo, ya sea en forma de un valor o si no haber efectuado alguna
modificación con los datos o sino mostrar algo por pantalla. El valor que devuelve la
función se fija con la instrucción return, cuando la función encuentra esa palabra acaba e
inmediatamente devuelve el valor que se indica. En el ejemplo 01 en la línea 7 se devuelve
el valor que contiene la variable área. Existen funciones que no devuelven ningún valor,
estas llevan como tipo de dato de retorno void, pero no significan que no hacen nada,
pueden realizar cálculos o simplemente mostrar algo por pantalla.
Variables locales
Todas la variables que se crean dentro del cuerpo de una función tienen ámbito o vida sólo
en el cuerpo mismo de la función, estas variables son llamadas locales. Esto quiere decir
que podemos utilizar estas variables sólo en la función pues al terminar esta las variables
se destruyen.
Variables globales
Las variables globales son definidas fuera de cualquier función, están definidas de una
manera parecida a las librerías, estas variables tienen un alcance global en todo el
programa, esto quiere decir que pueden ser accedidas de cualquier parte del programa.
Una vez escrita la función, podemos utilizarla escribiendo su nombre y luego dándole los
parámetros correspondientes: Sintaxis: NombreFuncion( parámetros ). En el ejemplo 1 en
la línea 13 se llama a la función areaTriangulo para que el valor de retorno se muestre.
Una función es un conjunto de sentencias independientes que se ejecutan cada vez que se
llama o invoca a una función. Cada vez que se encuentra una llamada a una función el
control del programa se pasa a la función, es decir, la ejecuta y cuando esta acaba entonces
el control vuelve a la sección del programa desde donde se hizo la llamada.
En cuanto a los parámetros, en el caso que utilicemos variables, no se debe de pensar que
existe alguna relación entre las variables que se pasan y las que están definidas como
parámetros en la función, a menos que las referenciemos.
Una función puede tener de 0 a n parámetros y lo más común es que utilice los valores que
guardan los parámetros para realizar la operación y luego devolver un resultado, está el
caso del ejemplo 1 en el que la función areaTriangulo tiene dos parámetros enteros base y
altura, estas variables contienen los valores a partir de los cuales se calculará el área del
triángulo. Debemos tener en cuenta que los parámetros son variables locales, sólo las
podemos utilizar dentro de la función.
Esto significa que cuando hacemos la llamada a la función como parámetros le damos
valores, si es que colocamos variables como parámetros la función solo toma los valores.
En el ejemplo 1 en la línea 13 se llama a la función areaTriangulo así: areaTriangulo
(baseT,alturaT) Cuando el paso de parámetros es por valor viene a ser como si solo los
valores de las variables baseT y alturaT se pasarán como parámetros a la función así:
areaTriangulo(3,4).
En este caso existe una formalidad de las variables, después de haberlas pasado como
parámetros en una función, estas sufren cambios, producto de las operaciones que se
realizan dentro de la función, para mostrar cómo funciona esta parte se resolverá el mismo
problema que en el ejemplo 1 utilizando paso de parámetros por referencia.
¿Por qué ocurre esto? :Porque ya no se pasan simplemente valores sino se pasa una
dirección de memoria.
Ejemplo 03
Ejemplo 04: Escribir una función que calcule los primeros 10 números primos.
10. Escribir un programa que mediante funciones determine el área del círculo
correspondiente a la circunferencia circunscrita de un triángulo del que conocemos las
coordenadas de los vértices.
11. Escribir un programa que lea dos enteros positivos n y b y mediante un función
CambiarBase visualice la correspondiente representación del número de n en la base
b.
12. Escribir el inverso de un número entero dado (1234, inverso 4321).
VI. EVALUACIÓN DE ANÁLISIS DE RESULTADOS
6 TOTAL 100 %
Observaciones
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
Conclusiones
Ing. Carlos A. Silva Delgado
UNIVERSIDAD NACIONAL DE MOQUEGUA
Carrera Profesional de Ingeniería de Sistemas e Informática
__________________________________________________________________________
GUIA DE LABORATORIO N° 07
ARRAYS (ARREGLOS)
I. OBJETIVOS
II. INTRODUCCIÓN
Arrays ( arreglos)
Declaración de un arreglo
Un arreglo se define indicando el tipo de arreglo, es decir, el tipo de datos de todos los
elementos del arreglo, luego se le da un nombre al arreglo y finalmente se le da un
tamaño.
Se le da una dimensión al arreglo que va entre los caracteres '[' y ']' , en el caso anterior la
dimensión es 4, esto quiere decir que en la memoria se reservaron 4 posiciones para
almacenar 4 valores enteros.
Inicializar un Arreglo
Existen varias maneras de inicializar un arreglo, una manera muy sencilla es poner entre
llaves ({ }), los elementos del arreglo separados por comas.
También podemos utilizar la estructura de control for para inicializar los elementos del
arreglo.
Puedo acceder a un elemento por medio de un subíndice, por ejemplo si yo quiero acceder
al primer elemento tendré que hacerlo de esta manera : int A = arreglo[0];
Si nos damos cuenta tener un arreglo es mucho más ventajoso que tener definidas 4
variables.
Desventajas.
En ocasiones, no podemos predecir con precisión el tamaño que un arreglo tendrá por lo
que podemos definir un arreglo muy grande, lo que nos lleva a desperdiciar memoria, por
ejemplo si defino un arreglo de 100 elemento (arreglo[100]), y sólo utilizo 5 posiciones de
memoria, las demás 95 estarán desperdiciadas, la solución a este problema la veremos más
adelante en lo que se denomina punteros.
Ejemplo 01
{ }
for (i=0; i <TAM; i++) cout << "el promedio de las notas es :"<<promedio;
{ }
Se desea ingresar las notas finales de 10 alumnos de la materia de Introducción a la
programación, para luego emitir un reporte del promedio de todas las notas.
No hubiera sido muy práctico manejar 10 variables diferentes para guardar las notas de los
10 alumnos, utilizando un arreglo se nos simplifican mucho las cosas.
Nota: Se puede declarar un arreglo dándole la dimensión o tamaño por un valor constante
int arreglo[TAM];
Arreglos Bidimensionales
Declaración
también podemos utilizar constantes para definir la dimensión del arreglo de dos
dimensiones: const int N = 10; int arreglo[N][N];
Inicialización
Ing. Carlos A. Silva Delgado
UNIVERSIDAD NACIONAL DE MOQUEGUA
Carrera Profesional de Ingeniería de Sistemas e Informática
0 1 2
0 1 2 3
1 4 5 6
2 7 8 9
También podemos utilizar una estructura for dentro de otra estructura for para inicializar
los valores de un arreglo de dos dimensiones como se muestra a continuación:
IV. PROCEDIMIENTOS
Ejemplo 01: Leer desde teclado una matriz de números enteros de dimensión 3x3.
3: { 12: }
7: {
9: {
8 1 6
3 5 7
4 9 2
Esta tarea deberá ser entregada al docente la próxima semana, de manera digital e
impreso.
D 500
C 100
L 50
X 10
V 5
I 1
2. Escribir una función a la que se le proporcione una fecha (día, mes, año), así como
número de días a añadir a esta fecha. La función debe calcular la nueva fecha
visualizarla.
3. Escribir una función que acepte como parámetro un vector que puede contener
elementos duplicados. La función debe sustituir cada valor repetido por -5 y devolver al
punto donde fue llamado el vector modificado y el número de entradas modificadas.
4. Escribir un programa que lea una colección de cadenas de caracteres de longitud
arbitraria. Por cada cadena leída, su programa hará lo siguiente:
5. Visualizar la longitud de la cadena.
6. Contar el número de ocurrencias de palabras de cuatro letras.
7. Sustituir cada palabra de cuatro letras por una cadena de cuatro asteriscos e imprimir la
nueva cadena.
8. Escribir un programa que lea una frase, sustituya todas las secuencias de dos o más
blancos por un solo blanco y visualice la frase restante.
9. Escribir un programa que desplace una palabra leída del teclado desde la izquierda
hasta la derecha de la pantalla.
10. Escribir un programa que lea una serie de cadenas, a continuación, determine si la
cadena es un identificador válido C++. Sugerencias: utilizar los siguientes
subprogramas: longitud (tamaño del identificador en el rango permitido); primero
Ing. Carlos A. Silva Delgado
UNIVERSIDAD NACIONAL DE MOQUEGUA
Carrera Profesional de Ingeniería de Sistemas e Informática
6 TOTAL 100 %
Observaciones
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
Conclusiones
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
GUIA DE LABORATORIO N° 08
CADENAS
I. OBJETIVOS
II. INTRODUCCIÓN
Cadenas: Una cadena o cadena de caracteres nos es más que una serie de caracteres
manipulados como una unidad. Si asemejamos una cadena al lenguaje castellano sería
como una palabra, que es un conjunto de sílabas y vocales en donde cada una de estas
viene a ser un carácter.
Visto desde otro punto vendría a ser un arreglo de caracteres. Una cadena puede contener
cualquier carácter, puede almacenar un nombre propio una dirección, es decir, lo que
nosotros precisemos.
Declaración
Inicialización
Cualquier valor que se le asigne a una cadena va entre comillas dobles " ", como en el
ejemplo anterior "Hola" está entre comillas dobles.
Una cadena siempre finaliza con el carácter de fin de cadena ‘\0’, que siempre se añade al
final automáticamente, en el ejemplo anterior se añade al final de “Hola” el carácter de fin
de cadena.
0 1 2 3 4
Ejemplo 01
Ing. Carlos A. Silva Delgado
UNIVERSIDAD NACIONAL DE MOQUEGUA
Carrera Profesional de Ingeniería de Sistemas e Informática
Se desea tener un programa que sea amable con el usuario, el programa deberá conocer el
nombre del usuario y responderle con un mensaje amigable.
En el ejemplo anterior el mensaje "¿Cuál es tu nombre?" es una cadena pues está entre
comillas. También es una cadena la variable nombre que recibirá un valor desde teclado.
Longitud
Ejemplo 02:
# include <iostream.h>
void main ()
int tamaño;
cin >>nombre;
Comparación
Para saber si dos cadenas son exactamente iguales utilizamos la función strcmp.
Ejemplo 03
# include <iostream.h>
# include <string.h>
void main ()
int resultado;
cin>>contraseña;
cin >>recontraseña;
if (resultado ==0)
Copia
Podemos reflejar todo el contenido de una cadena a otra, en otras palabras la copiamos tal
cual, para esto utilizamos la función strcpy.
Ejemplo 04
Concatenación
Sintaxis
Ejemplo 05
Escriba una función que permita conocer la longitud de una cadena. La función
deberá llamarse longitud.
Ejemplo 05
IV. PROCEDIMIENTOS
Crear una carpeta en mis documentos o en el escritorio donde guardara los programas
realizados en el laboratorio.
Esta tarea deberá ser entregada al docente la próxima semana, de manera digital e
impreso.
1. Esta tarea deberá ser entregada al docente la próxima semana, de manera digital e
impreso.
Hacer un programa que lee líneas del teclado hasta que se introduce control más Z.
En cada línea debe haber dos números reales. El programa presenta por cada línea
leída otra línea con la suma de los dos números.
2. Escribir un programa que encuentre dos cadenas introducidas por teclado que sean
anagramas. Se considera que dos cadenas son anagramas si contienen exactamente
los mismos caracteres en el mismo o en diferente orden. Hay que ignorar los blancos
y considerar que las mayúsculas y las minúsculas son iguales.
3. Escribir un programa para las líneas de un texto sabiendo que el máximo de
caracteres por línea es 80 caracteres. Contar el número de palabras que tiene cada
línea, así como el número total de palabras leídas.
4. Escribir una función que reciba como parámetro una cadena de caracteres y la
invierta, sin usar la función strrev.
5. Escribir un programa que lea líneas de texto obtenga las palabras de cada línea y las
escriba en pantalla en orden alfabético. Se puede considerar que el máximo número
de palabras por línea es 28.
6. Escribir un programa que lea una línea de texto y escriba en pantalla las palabras de
que consta la línea sin utilizar las funciones de string.h y particularmente sin usar
strtok().
7. Un sistema de encriptación simple consiste en sustituir cada carácter de un mensaje
por el carácter que está situado a tres posiciones alfabéticas por adelante suyo.
Escribir una función que tome como parámetro una cadena y devuelva otra cifrada
como se ha explicado.
8. Escribir un programa que lea un texto, y dos palabras claves, clave1 y clave2. El
programa debe sustituir todas las apariciones de clave1 por clave2, mostrar el nuevo
texto, e indicar el número de intercambios realizados.
9. Otro sistema de encriptación consiste en sustituir cada carácter del alfabeto por otro
decidido de antemano, pero siempre el mismo. Utilizar este método en una función
que tome como parámetros el mensaje a cifrar y una cadena con las
correspondencias ordenadas de los caracteres alfabéticos. La función devolverá un
puntero a la cadena cifrada del mensaje.
10. Escribir una función que genere un código alfanumérico diferente cada vez que sea
llamada devolviéndolo en forma de cadena. El argumento de dicha función es el
número de caracteres que va a tener el código generado.
11. Escribir una función que reciba una palabra y genere todas las palabras que se
pueden construir con sus letras.
12. Modificar la función anterior para que sólo genere las palabras que comiencen por
una constante.
6 TOTAL 100 %
Observaciones
Conclusiones
__________________________________________________________________________
Entre 0 y 90 grados I
Usando esta información, escriba un programa en C++ que acepte el ángulo de la línea
como una entrada del usuario y determine y despliegue el cuadrante apropiado a los
datos introducidos. (Nota: Si el ángulo tiene exactamente 0, 90, 180 o 270 grados, la
línea correspondiente no reside en ningún cuadrante sino que se encuentra en un eje).
4. Modifique el programa anterior de modo que se despliegue un mensaje que identifique
un ángulo de cero grados como el eje x positivo, un ángulo de 90 grados con el eje y
positivo, un ángulo de 180 grados como el eje x negativo y un ángulo de 270 grados
como el eje y negativo.
5. Todos los años que se dividen exactamente entre 400 o que son divisibles exactamente
entre cuatro y no son divisibles exactamente entre 100 son años bisiestos. Por ejemplo,
en vista que 1600 es divisible exactamente entre 400, el año 1600 fue un año bisiesto.
Del mismo modo, en vista que 1988 es divisible exactamente entre cuatro pero no
entre 100, el año 1988 también fue un año bisiesto. Usando esta información, escriba
un programa en C++ que acepte el año como una entrada del usuario, determine si el
año es un año bisiesto y despliegue un mensaje apropiado que le indique al usuario si
el año introducido es un año bisiesto o no.
6. Con base en el año del modelo y el peso de un automóvil la Provincia de Andahuaylas
determina la clase del vehículo y la tarifa de registro que le corresponde usando la
siguiente tabla:
Año del modelo Peso Clase de Tarifa de
peso registro
Usando esta información, escriba un programa en C++ que acepte el año y el peso de
un automóvil y determine y despliegue la clase y la tarifa de registro para el automóvil.
If anidadas
7. Un ángulo es considerado agudo si es menor que 90 grados, obtuso si es mayor que 90
grados y ángulo recto si es igual a 90 grados. Usando esta información, escriba un
programa en C++ que acepte un ángulo, en grados, y despliegue el tipo de ángulo
correspondiente a los grados introducidos.
8. El nivel de grado de los estudiantes universitarios se determina de manera típica de
acuerdo con la siguiente tabla:
Número de créditos Grado
completados
Primer año
Menor que 2
Segundo año
32 a 63
Tercer año
64 a 95
Cuarto año
96 a más
Menor que 60 F
12. Usando esta información, escriba un programa en C++ que acepte la lectura de
tolerancia de un componente y determine la especificación que debería asignarse al
componente.
13. Escriba un programa en C++ que acepte un número seguido por un espacio y luego en
letra. Si la letra que sigue al número es f, el programa tratara al número introducido
como una temperatura en grados Fahrenheit, convertirá el número a los Grados Celsius
equivalente y desplegara un mensaje adecuado. Si la letra que sigue al número es c, el
programa tratará al número introducido como una temperatura en Celsius, convertirá
el número a los grados Fahrenheit equivalentes y desplegará un mensaje adecuado. Si
la letra no es f ni c, el programa imprimirá el mensaje que los datos introducidos, son
Ing. Carlos A. Silva Delgado
UNIVERSIDAD NACIONAL DE MOQUEGUA
Carrera Profesional de Ingeniería de Sistemas e Informática
incorrectos y terminara. Usé una cadena if-else en su programa y use las fórmulas de
conversión.
a. Celsius=(5.0/9.0)*(Fahrenheit-32.0)
b. Fahrenheit=(9.0/5.0)*Celsius+32.0