Sena Vectores En C++

  • May 2020
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Sena Vectores En C++ as PDF for free.

More details

  • Words: 2,303
  • Pages: 18
SERVICIO NACIONAL DE APRENDIZAJE, SENA PROGRAMA DE FORMACIÓN: TEC. EN PROGRAMACIÓN DE SOFTWARE

GUIA DE APRENDIZAJE MODULO DE FORMACIÓN: PROGRAMACION DE SOFTWARE UNIDAD DE APRENDIZAJE No. 1: TIPOS DE DATOS ESTRUCTURADOS: ARREGLOS ACTIVIDAD DE ENSEÑANZA – APRENDIZAJE CONDICIONES GENERALES Y FLUJO DE CONTROL



EVALUACIÓN

2

ELABORAR

TIEMPO DE LA ACTIVIDAD DE E-A-E: 8 HORAS TIEMPO DE LA GUIA DE APRENDIZAJE: 5 HORAS ORIENTACIONES GENERALES: El propósito de la presente guía es introducir al aprendiz en el aprendizaje y uso de los tipos de datos estructurados como son arreglos (vectores y matrices) para plantear la solución de problemas que requieran de esta estructura. EVIDENCIAS DE APRENDIZAJE: DE CONOCIMIENTO

PRODUCTO PARA EL PORTAFOLIO

Saber que es, como se caracteriza, que Problemas que se proponen para ser tipos de arreglos existen y como se solucionados mediante este tipo de dato representan gráficamente. estructurado. Ya sea vector o matriz.

SERVICIO NACIONAL DE APRENDIZAJE, SENA PROGRAMA DE FORMACIÓN: TEC. EN PROGRAMACIÓN DE SOFTWARE

Hasta el momento solo hemos visto tipos de datos simples como lo muestra la siguiente grafica:

Simples Tipos de Datos

Numéricos

Lógicos Alfanuméricos (string)

Arreglos (Vectores, Matrices) Estructurados Registros (Def. Por el Archivos Usuario) Apuntadores

Con sus respectivas estructuras algorítmicas:

Secuenciales

- Asignación - Entrada - Salida - Simples

Estructuras Condicionales Algorítmicas

Cíclicas

- Múltiples - Hacer para - Hacer mientras - Repetir hasta

Empezaremos con la segunda parte de tipos de datos Estructurados Estáticos: ♦ Los tipos de datos simples o primitivos no están compuestos de otras estructuras de datos.

♦ Las estructuras de datos estáticas son aquellas en las que el tamaño ocupado en memoria se define antes de que el programa se ejecute y no puede modificarse dicho tamaño durante la ejecución del programa. ♦ Los tipos de datos simples tienen como característica común que cada variable representa un elemento.

SERVICIO NACIONAL DE APRENDIZAJE, SENA PROGRAMA DE FORMACIÓN: TEC. EN PROGRAMACIÓN DE SOFTWARE

♦ Los tipos de datos estructurados tienen como característica común que un identificador (nombre) puede representar múltiples datos individuales, pudiendo cada uno de estos ser referenciado independientemente. ARREGLOS (Matriz o Vector) Un Arregloes una secuencia de posiciones de memoria a las que se puede acceder directamente que almacenan valores del mismo tipo, los cuales se identifican por su posición, que en pseudocódigo comienza en 1. Una definición más natural seria: variable que es capaz de almacenar varios datos a la vez. Un arreglo (matriz o vector) es un conjunto finito y ordenado de elementos homogéneos. La propiedad “ordenado” significa que el elemento primero, segundo, tercero,..., enésimo de un arreglo puede ser identificado. Los elementos de un arreglo son homogéneos, es decir, del mismo tipo de dato. Cada componente de un arreglo se denota, explícitamente, y es accedida, directamente, mencionando el nombre del arreglo seguido de una expresión encerrada entre paréntesis, a la que llamamos índice del arreglo. La cantidad de componentes del arreglo se india explícitamente cuando se declara el mismo, y queda desde entonces INVARIABLE. A ese número lo llamamos dimensión del arreglo.

Al tratar el tema de arreglos es necesario conocer el término de dimensión. Dimensión 0 1 2 3

Descripción Un solo punto. (vector o lista) Una recta. Contiene largo. (matriz o tabla) Contiene largo y ancho. (cubo) Tiene largo, ancho y fondo.

SERVICIO NACIONAL DE APRENDIZAJE, SENA PROGRAMA DE FORMACIÓN: TEC. EN PROGRAMACIÓN DE SOFTWARE

El índice del arreglo toma valores entre uno y la dimensión del mismo. Si se direcciona una posición que no se encuentra entre dichos límites, se producirá un error de ejecución, pues se estará intentando acceder a una zona de memoria indefinida (pues el vector está definido entre las posiciones 1 y dimensión). A un arreglo lineal se lo denomina unidimensional, y se utiliza un solo índice para denotar sus elementos. A un arreglo tipo matricial se lo denomina arreglo bidimensional o de dos dimensiones, y usa dos índices para determinar sus elementos. Operaciones sobre arreglos Las operaciones que se pueden realizar con arreglos durante el proceso de resolución de un problema son: ♦ Asignación; ♦ Lectura / Escritura; ♦ Recorrido (acceso secuencial); ♦ Actualización (añadir, borrar, insertar); ♦ Ordenamiento; ♦ Búsqueda. En general, las operaciones con arreglos implican el tratamiento o procesamiento de los elementos individuales del arreglo. ARREGLOS UNIDIMENSIONALES: VECTORES Los elementos de un arreglo lineal se almacenan en posiciones sucesivas de memoria, es decir, un elemento al lado del otro. Si cada elemento de un arreglo de dimensión k, ocupa x posiciones, entonces el arreglo ocupa en total x * k posiciones. El almacenamiento es igual al de las variables, con la particularidad que ahora el conjunto de variables ocupa posiciones sucesivas o contiguas de la memoria.

Siendo una variable: Declaración de vectores

SERVICIO NACIONAL DE APRENDIZAJE, SENA PROGRAMA DE FORMACIÓN: TEC. EN PROGRAMACIÓN DE SOFTWARE

Los vectores se definen en la zona de declaración del programa. Dicha definición se encabeza con la palabra reservada “Tipos estructurados”. Para declararlos se explicita el nombre del mismo, acompañado de su dimensión, y a continuación se especifica el tipo de sus elementos. Todos los elementos de un vector serán del mismo tipo. En pseudocódigo: Programa..... Tipos estructurados <nom_vector>= Arreglo [Dimensión] : //declaro un vector...// Variables <nom_variable>: <nom_vector> //y luego una variable de tipo// //vector, donde alojarlo// Hacer ... Fin Hacer Fin Programa..... En conclusión: Los arreglos se caracterizan por: • • • • •

Almacenan los elementos en posiciones contiguas de memoria Tienen un mismo nombre de variable que representa a todos los elementos. Debe tener un mismo tipo de datos (Enteros, dobles, cadenas, etc) Para hacer referencia a esos elementos es necesario utilizar un índice que especifica el lugar que ocupa cada elemento dentro del archivo. Existen dos tipos de arreglos: Unidimensionales (Vectores) Tipo de Arreglos Bidimensionales (Matrices)

El vector:

SERVICIO NACIONAL DE APRENDIZAJE, SENA PROGRAMA DE FORMACIÓN: TEC. EN PROGRAMACIÓN DE SOFTWARE

Es un arreglo de “N” elementos organizados en una dimensión donde “N” recibe el nombre de longitud o tamaño del vector. Para hacer referencia a un elemento del vector se usa el nombre del mismo, seguido del índice (entre corchetes), el cual indica una posición en particular del vector. Por ejemplo:

Vec[x] Donde: Vec………… Nombre del arreglo x…………… Numero de datos que constituyen el arreglo

Ejemplo de una declaración y Representación gráfica de un vector: x : arreglo [1..4] de Enteros. x[2] 5

5 1

2

3

4

Se puede acceder a los elementos de un vector para introducir datos (escribir) en el o bien para visualizar su contenido (leer). Estas operaciones se realizan utilizando estructuras repetitivas, cuyas variables de control (por ejemplo I) se utilizan como subíndices del vector (por ejemplo, X(I). Llenado de un Vector Hacer para I = 1 a 10 Leer vec[I] Fin-para Hacer mientras I <= 10 Leer vec[I] Fin-mientras Inicio Hacer para l =0 a 3 Num=x+1 Vec[x] = num Fin para

I=1 Repetir Leer vec[I] I=I+1 Hasta-que I>10

SERVICIO NACIONAL DE APRENDIZAJE, SENA PROGRAMA DE FORMACIÓN: TEC. EN PROGRAMACIÓN DE SOFTWARE

Hacer para l =0 a 3 Imprimir vec(0), vec(1), vec(2), vec(3) Imprimir x Imprimir vector(x) Fin-para Fin Producto por un escalar Algoritmo producto por escalar Constante n= ... Variable real x entera i vectores reales a(1..n),b(1..n) Leer a Leer x Para i de 1 a n hacer b(i) x*a(i) Fin para Escribir b Final

Producto escalar de dos vectores Algoritmo producto escalar constante n= ... variable entera i real c vectores reales a(1..n), b(1..n) Leer a,b c ⇐ 0.0 Para i de 1 a n hacer c ⇐ c+a(i)*b(i) Fin para Escribir c Final

Ordenación por selección Supongamos un vector, donde parte de sus elementos están ordenados y otros no. Los pasos a seguir para realizar la ordenación son los siguientes:

SERVICIO NACIONAL DE APRENDIZAJE, SENA PROGRAMA DE FORMACIÓN: TEC. EN PROGRAMACIÓN DE SOFTWARE

r a1

n a2

t ...

d ak-1

a ak

h ...

m ...

z ...

o ai

k ...

s ...

c an

Elementos desordenados

a) Para realizar la ordenación por selección se hacen varios barridos del vector.

Primeramente cogemos el

primer

elemento

del vector

y

lo

comparamos con todos los elementos restantes buscando aquel elemento que posea el valor más pequeño. r a1

n a2

t ...

d ak-1

a ak

b) Una vez encontrado el

h ...

elemento

m ...

menor,

z ...

o ai

k ...

s ...

c an

se coloca en la posición

correspondiente, realizando un intercambio de posiciones entre el elemento que hemos comparado y el que hemos encontrado. a a1

n a2

t ...

d ak-1

r ak

h ...

m ...

z ...

o ai

k ...

s ...

c an

c) Una vez ordenado el primer elemento, realizamos la misma operación con los restantes. Finalmente el vector quedará ordenado. A a1

c a2

d ...

h ak-1

k ak

m ...

n ...

El algoritmo de ordenación por selección es el siguiente.

o ...

r ai

s ...

t ...

z an

SERVICIO NACIONAL DE APRENDIZAJE, SENA PROGRAMA DE FORMACIÓN: TEC. EN PROGRAMACIÓN DE SOFTWARE

Algoritmo Selección constante n=... variable entera i,j,k realx variable de apoyo vector de reales a(1..n) Leer a ⇐ el ultimo 'n' ya estará ordenado. ⇐ “k” es el índice del elemento menor a

Para i de 1 a n-1 hacer k ⇐ i permutar

con a[i], inicialmente lo ponemos igual que i Para j de i+1 a n hacer sia(j) < a(k) entones k ⇐j

Si aparece un elemento de menor valor,

fijamos Finsi

“k” a su índice

Fin para x ⇐ a(i) a(i) ⇐ a(k) a(k) ⇐ x Fin para

⇐ Permutamos a[i] con a[k]

Escribir a Final

Vectores en C++ La sintaxis para declarar un vector de 5 posiciones, llenarlo e imprimir el valor del vector y la posicion donde esta es el siguiente: int main() { int valor; int vec[5]; for (int i=1;i<=5;i++) { cin>>valor; vec[i]=valor; } for (int i=1;i<=5;i++) { cout<<"el valor en"<<<" es "<
SERVICIO NACIONAL DE APRENDIZAJE, SENA PROGRAMA DE FORMACIÓN: TEC. EN PROGRAMACIÓN DE SOFTWARE

SERVICIO NACIONAL DE APRENDIZAJE, SENA PROGRAMA DE FORMACIÓN: TEC. EN PROGRAMACIÓN DE SOFTWARE

Ejercicios EJERCICIOS PARA ENTREGRAR HOY EN CLASE SE DEBEN REALIZAR EN C++ Y SUBIRLOS AL BLOG.

1.

Leer 5 números y crear un vector con ellos. Luego imprimir la posición y el valor.

#include using namespace std; int main() { int val,vec[5]; cout<<"ingrese los valores del vector"<<endl; cout<<endl; for (int i=1;i<=5;i++) { cin>>val; vec[i]=val; cout<<endl; } for (int i=1;i<=5;i++) { cout<<"el valor en el vector "<<"["<<<"]"<<" es "<
SERVICIO NACIONAL DE APRENDIZAJE, SENA PROGRAMA DE FORMACIÓN: TEC. EN PROGRAMACIÓN DE SOFTWARE

2.

Realizar un programa que genere los números pares de 2 a 200 y llenar un vector con ellos Luego imprimir el vector.

#include using namespace std; int main() { int cont,num,vec[100]; num=2; cont=2; for (int i=1;i<=100;i++) { { vec[i]=cont; } num=num+2; cont=cont+2; } for (int a=1;a<=100;a++) { cout<<"el valor en el vector "<<"["<
3.

Crear dos vectores uno llamado nombre y el segundo apellido cada vector será de 5 posiciones que almacenaran dichos datos

SERVICIO NACIONAL DE APRENDIZAJE, SENA PROGRAMA DE FORMACIÓN: TEC. EN PROGRAMACIÓN DE SOFTWARE

pedidos al usuario, al final debe imprimir el nombre completo de cada posición. #include using namespace std; int main() { char nombre[5],apellido[5]; cout<<"introduzca el nombre"<<endl; for (int i=1;i<=5;i++) { cin>>nombre[i]; cout<<endl; } cout<<"introduzca el apellido"<<endl; for (int i=1;i<=5;i++) { cin>>apellido[i]; cout<<endl; } cout<<"el nombre es:"<<" "<<nombre[1]<<nombre[2]<<nombre[3]<<nombre[4]<<nombre[5]<<" "<
4. Escribir un programa que lea una línea te texto, la almacene en un vector y la imprima al revés.

SERVICIO NACIONAL DE APRENDIZAJE, SENA PROGRAMA DE FORMACIÓN: TEC. EN PROGRAMACIÓN DE SOFTWARE

#include using namespace std; int main() { int cant; char linea[10]; cant=10; cout<<"introduzca el texto"<<endl; for (int i=1;i<=10;i++) { cin>>linea[i]; cout<<endl; } cout<<"la frase al revez es: "<<endl, cout<<endl; while (cant>0) { cout<
}

5.

system ("pause"); return 0;

Realizar un programa para ordenar por selección el siguiente vector a={52,63,7,15,26,68,12,2}.

#include

SERVICIO NACIONAL DE APRENDIZAJE, SENA PROGRAMA DE FORMACIÓN: TEC. EN PROGRAMACIÓN DE SOFTWARE

using namespace std; int main () { int i,j,k,n; int x; int vec[8]; cout<<"ingrese el nume de vetores "<<endl; n=8; for(int i=1;i<=n;i++) { cin>>vec[i]; } for(int i=1;i<=n-1;i++) { k=i; for(int j=1;j<=n;j++) { if (vec[j]
6. Genere y llene dos vectores A y B de tamaño M; luego genere un tercer vector C con la unión de la primera mitad del vector A y la segunda mitad del vector B. (Asuma que M es par). Ejemplo gráfico:

#include using namespace std;

SERVICIO NACIONAL DE APRENDIZAJE, SENA PROGRAMA DE FORMACIÓN: TEC. EN PROGRAMACIÓN DE SOFTWARE

int main() { int j; int a[80],b[80],c[80]; cout<<"ingrese el tamaño de los vectores"<<endl; cout<<"maximo 80"<<endl; cout<<endl; cin>>j; cout<<endl; cout<<"ingrese los valores del vector a: "<<endl; cout<<endl; for (int i=1;i<=j;i++) { cin>>a[i]; } cout<<endl; cout<<"ingrese los valores del vector b: "<<endl; cout<<endl; for(int e=1;e<=j;e++) { cin>>b[e]; } for(int o=1;o<=t/2;o++) { c[o]=a[o]; } for(int a=t/2+1;a<=j;a++)

SERVICIO NACIONAL DE APRENDIZAJE, SENA PROGRAMA DE FORMACIÓN: TEC. EN PROGRAMACIÓN DE SOFTWARE

{ c[a]=b[a]; } cout<<endl; cout<<"el vector c es: "<<endl; cout<<endl; for(int u=1;u<=j;u++) { cout<
7.

Diseñe un algoritmo que almacene en un vector llamado FIB[100] los 100 primeros números de la serie Fibonacci (0,1,1,2,3,5,8,13,21,34,55,….).

#include using namespace std; int main() { int fib[1000],cont,cont1,j,sec; cont=1; cont1=2; fib[1]=0; fib[2]=1; fib[3]=1;

SERVICIO NACIONAL DE APRENDIZAJE, SENA PROGRAMA DE FORMACIÓN: TEC. EN PROGRAMACIÓN DE SOFTWARE

fib[4]=2; cout<<"cuantos numeros de la secuencia fibonacci quiere calcular?"<<endl; cout<<"maximo 1000"<<endl; cout<<endl; cin>>j; cout<<endl; for (int i=5;i<=j;i++) { sec=cont+cont1; cont=cont1; cont1=sec; fib[i]=sec; } cout<<"la secuencia fibonacci de "<<j<<" "<<"numeros es: "<<endl; cout<<endl; for(int e=1;e<=j;e++) { cout<

Related Documents

Sena Vectores En C++
May 2020 10
Vectores En C
April 2020 11
Vectores En R2
June 2020 4
Vectores En 3d
April 2020 10
Vectores En R3
November 2019 27
Vectores En Rn
July 2020 18