Download - Resumen Básico Programación c++
-
8/16/2019 Resumen Básico Programación c++
1/10
Ejercitario de C++Propiedad exclusiva de Team Compu
Bueno, básicamente hice esto porque ya queda poco tiempo para el parcial de
computación y quiero que se vayan en el mejor estado posible. Al comienzo hay
un poco de teoría y ejemplos para entender cómo funciona cada cosa y al fondo
hay ejercicios que encontré y otros que escribí.
Hecho por Juan José Cabrera Ugarte
-
8/16/2019 Resumen Básico Programación c++
2/10
Team Compu - C++
En la portada ya había dicho que tenemos poco tiempo, y capaz a muchos no les guste
esta parte, pero para poder entender como programar tenemos que conocer lo básico (y
perdónenme si desde donde empiezo ya es MUY básico).
Formato general del programa:
Para explicar las partes de un programa recurriremos al clásico primer programa en C++ “Hola
Mundo!”:
1
2
3
4
5
6
7
8
// mi primer programa en C++
#include
using namespace std;
int main()
{
cout
-
8/16/2019 Resumen Básico Programación c++
3/10
-
8/16/2019 Resumen Básico Programación c++
4/10
1
2
3
4
5
6
78
9
10
11
12
13
14
// ejemplo del if
#include
using namespace std;
int main()
{
int x = 2;if (x > 0)
cout
-
8/16/2019 Resumen Básico Programación c++
5/10
También existen la sentencia switch(que es recomendable cuando existen muchas
posibilidades) y los comandos break(sirve para terminar un bucle), goto(sirve para ir a una
parte específica del programa, ignorando bucles y cualquier otro ciclo activo) y continue(sirve
para saltear un índice en el bucle).
Admito que no están bien explicados y serían más fáciles de entender con ejemplos, pero
prefiero explicarles cuando vengan a mi casa como funcionan.
Funciones:
Hasta ahora fue un repaso de lo que siempre vimos, pero acá es donde la cosa se pone
interesante.
1
2
3
4
56
7
8
9
10
11
12
13
14
15
16
17
// funcion de ejemplo
#include
using namespace std;
int suma (int a, int b){
int r;
r=a+b;
return r;
}
int main ()
{
int z;
z = suma (5,3);
cout
-
8/16/2019 Resumen Básico Programación c++
6/10
-
8/16/2019 Resumen Básico Programación c++
7/10
Antes dijimos que int main() era la función principal, y como dice int al comienzo retorna un
valor entero al finalizarse (por eso si se intenta compilar un programa mientras otro está
abierto sale el error “ID status 1”, ya que al terminar de ejecutarse el main normalmente
devuelve un 0).
Vectores y matrices:Pongo los dos en la misma categoría porque son, en esencia, lo mismo. Una vector es una serie
de elementos del mismo tipo colocado en ubicaciones de memoria contiguas que pueden ser
referenciados individualmente a través de un índice. Las matrices son, básicamente, “varios
vectores fila uno encima del otro” o “vectores hechos por vectores”.
Los vectores y las matrices tienen los mismos tipos que cualquier variable, pero para
declararse son diferentes a las variables comunes:
Vector Matriz
Conociendo lacantidad de
componentes
int v[a]; int m[a][b];
Conociendo las
componentesint v[]={1,2,3}; Int m[][2]={1,2,3,4};
Si se desea crear una matriz dados los componentes la primera casilla (de las filas) puede
dejarse vacía, no obstante, la de las columnas debe escribirse sin excepción, ya que utilizará
este valor para calcular la cantidad de filas.
Existen algunos comandos interesantes que se pueden utilizar para operar con vectores y
matrices, por ejemplo usando sizeof() podemos calcular la cantidad de componentes.
1
2
3
4
5
6
7
8
9
10
// calcular cantidad de componentes
#include
using namespace std;
int main ()
{
int v[] = {1, 2, 3, 4};
int n = sizeof(v) / sizeof(int);
cout
-
8/16/2019 Resumen Básico Programación c++
8/10
Algunas cosas importantes que se deben tener en cuenta al trabajar con vectores y matrices:
No empiezan en la posición 1 sino que en la 0.
Para referirse a una componente en específico se escribe v[i] o m[i][j] siendo i/j la
posición de la componente.
No se pueden imprimir directamente con un cout , se debe recorrer con bucles for e
imprimir cada componente individualmente (acá sí se puede usar cout ). Tratar de
imprimir directamente el vector producirá la impresión de las direcciones de la
memoria que este ocupan.
-
8/16/2019 Resumen Básico Programación c++
9/10
Ejercicios
1. Escribir un programa que lea dos números enteros no negativos (m y n) y calcule la
función de Ackermann “A(m,n)”, definida por:
= 0 n+1
≠ 0 = 0 A(m-1, 1)
≠ 0 ≠ 0 A(m-1 , A(m, n-1) )
2.
Escribir una función para ayudar a un cajero. Deberá recibir el monto a pagar y lo que
pagó el cliente y luego imprimir el vuelto y la cantidad de billetes así como los billetes
que deberá entregar (siendo dicha cantidad la menor posible).
3.
Escribir un programa que lea N números y luego funciones para:
Imprima el promedio de los números.
Imprima el mayor y menor de los números.
Imprime todos los impares ingresados.
4.
Escribir una función que reciba como parámetro una oración y la devuelva invertida.5. Escribir un programa que lea una palabra y luego una letra, a continuación imprime la
palabra sin dicha letra.
6.
Escribir una función que realice la suma de dos matrices.
7.
Escribir un programa que lea una letra y diga su posición en el abecedario.
8. Escribir un programa que calcule la transpuesta de una matriz de mxn cargada por el
usuario.
9.
Escribir una función que tome un vector y luego devuelva otro sin elementos
repetidos.
10.
Escribir un programa que muestre aleatoriamente y sin repetir los elementos de:
Un vector de 20 componentes
Una matriz de 4 filas y columnas
11.
Escribir un programa que calcule el coseno del ángulo entre 2 vectores de R3.
12.
Escribir un programa que permita cargar las notas de n alumnos en compu, lineal y
cálculo, a continuación se debe calcular el promedio así como la cantidad de aplazados
en cada materia.
13.
Escribir un programa que lea un número entero y positivo n, genere al azar un vector
de n componentes. Luego ordene, en secuencia ascendente, dichas componentes
utilizando el método de:
Selección.
Burbuja.
Inserción.
14.
Escribir una función que dado un elemento “e” de un vector y un número “p”, retorne
el elemento que se encuentra a “p” posiciones del elemento “e”.
Por ejemplo, dado el vector vec= [a,b,c,d,e,f,g,h]
buscarElemento(vec, “b”, 3) = e
buscarElemento(vec, “a”, 5) = f
buscarElemento(vec, “e”, 6) = c
Note que en el último ejemplo, si las posiciones se terminan, empieza de 0.
Considerar también el caso en que “p” sea negativo, por ejemplo buscarElemento(vec, “e”, -3) = b
-
8/16/2019 Resumen Básico Programación c++
10/10
buscarElemento(vec, “b”, -5) = e
15.
Escribir un programa que tome una matriz A cuadrada y luego la represente como la
suma de una matriz simétrica y una anti simétrica.
16. Considere una encriptación de mensajes muy antigua inventada por Julio Cesar, la cual
se basa en que a cada letra de un mensaje se le asocia un número (el orden en el
abecedario), luego se suma al número de cada letra otro número (la clave) y el
resultado es una nueva letra.
Por ejemplo, el mensaje “vienen los romanos” con clave 2, se transformaría en
“xkgogoUnquUtqñcoqu”, ya que la primera letra del mensaje cifrado, la “ x”, es
la que va 2 lugares después de la “v”, etc.).
Nota, después de la ‘z’ va la ‘a’. Además los espacios en blanco se convierten
en letras U .
Hacer las funciones para encriptar y desencriptar un texto.
encriptar(“vienen los romanos”, 2) = “xkgogoUnquUtqñcoqu”
desencriptar(“xkgogoUnquUtqñcoqu”,2) = “vienen los romanos” 17. Escribir un programa que lea un número entero, positivo y múltiplo de 3, a
continuación genere un vector en código binario de n componentes y luego, cada 3
componentes agregue una casilla donde cargará la suma de las 3 componentes
anteriores.