introduccion a los entornos integrados de …+_ii_2016.pdf · c++ con netbeans ide . msc. ... -...

16
Msc. Nelson O. Cáceres M. |Lic. en Matemáticas y Física Ingeniero de Sistemas |®2016 www.nelsoncaceres.com LÓGICA DE PROGRAMACION INTRODUCCION A LOS ENTORNOS INTEGRADOS DE DESARROLLO Un entorno de desarrollo de software es una combinación de herramientas que automatiza o soporta al menos una gran parte de las tareas (o fases) del desarrollo: análisis de requisitos, diseño de arquitectura, diseño detallado, codificación, pruebas de unidades, pruebas de integración y validación, gestión de configuración, mantenimiento, etc. Las herramientas deben estar bien integradas, pudendo interoperar unas con otras. Están formados por el conjunto de instrumentos ( hardware, software, procedimientos, ...) que facilitan o automatizan las actividades de desarrollo. En el contexto de esta asignatura se consideran básicamente los instrumentos software. Las actividades mejor soportadas por herramientas de desarrollo son normalmente las centrales: codificación y pruebas de unidades. El conjunto de herramientas que soportan estas actividades constituyen lo que se llama un entorno de programación. A veces se utilizan las siglas IDE (Integrated Development Environment) para designar estos entornos, aunque no son un entorno de desarrollo completo, sino sólo una parte de él. Un entorno de programación puede estar concebido y organizado de maneras muy diferentes. A continuación se mencionan algunas de ellas. En las primeras etapas de la informática la preparación de programas se realizaba mediante una cadena de operaciones tales como la que se muestra en la figura para un lenguaje procesado mediante compilador. Cada una de las herramientas debía invocarse manualmente por separado. En estas condiciones no puede hablarse propiamente de un entorno de programación

Upload: nguyenhuong

Post on 06-Feb-2018

224 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: INTRODUCCION A LOS ENTORNOS INTEGRADOS DE …+_II_2016.pdf · C++ CON NETBEANS IDE . Msc. ... - Palabras reservadas Algunas palabras tienen un significado especial en el lenguaje

Msc. Nelson O. Cáceres M. |Lic. en Matemáticas y Física – Ingeniero de Sistemas |®2016 www.nelsoncaceres.com

LÓGICA DE PROGRAMACION

INTRODUCCION A LOS ENTORNOS INTEGRADOS DE DESARROLLO

Un entorno de desarrollo de software es una combinación de herramientas que automatiza o

soporta al menos una gran parte de las tareas (o fases) del desarrollo: análisis de requisitos, diseño de

arquitectura, diseño detallado, codificación, pruebas de unidades, pruebas de integración y

validación, gestión de configuración, mantenimiento, etc. Las herramientas deben estar bien

integradas, pudendo interoperar unas con otras.

Están formados por el conjunto de instrumentos (hardware, software, procedimientos, ...) que

facilitan o automatizan las actividades de desarrollo. En el contexto de esta asignatura se consideran

básicamente los instrumentos software.

Las actividades mejor soportadas por herramientas de desarrollo son normalmente las centrales:

codificación y pruebas de unidades. El conjunto de herramientas que soportan estas actividades

constituyen lo que se llama un entorno de programación. A veces se utilizan las siglas IDE (Integrated

Development Environment) para designar estos entornos, aunque no son un entorno de desarrollo

completo, sino sólo una parte de él.

Un entorno de programación puede estar concebido y organizado de maneras muy diferentes. A

continuación se mencionan algunas de ellas.

En las primeras etapas de la informática la preparación de programas se realizaba mediante

una cadena de operaciones tales como la que se muestra en la figura para un lenguaje

procesado mediante compilador. Cada una de las herramientas debía invocarse manualmente

por separado. En estas condiciones no puede hablarse propiamente de un entorno de

programación

Page 2: INTRODUCCION A LOS ENTORNOS INTEGRADOS DE …+_II_2016.pdf · C++ CON NETBEANS IDE . Msc. ... - Palabras reservadas Algunas palabras tienen un significado especial en el lenguaje

Msc. Nelson O. Cáceres M. |Lic. en Matemáticas y Física – Ingeniero de Sistemas |®2016 www.nelsoncaceres.com

o El editor es un editor de texto simple o El compilador traduce cada fichero de código fuente a código objeto o El montador (linker / builder / loader) combina varios ficheros objeto para generar un

fichero ejecutable o El depurador maneja información en términos de lenguaje de máquina.

Un entorno de programación propiamente dicho combina herramientas como éstas, mejoradas y mejor integradas. A veces se nombra con las siglas IDE (Integrated Development Environment).

C++ CON NETBEANS IDE

Page 3: INTRODUCCION A LOS ENTORNOS INTEGRADOS DE …+_II_2016.pdf · C++ CON NETBEANS IDE . Msc. ... - Palabras reservadas Algunas palabras tienen un significado especial en el lenguaje

Msc. Nelson O. Cáceres M. |Lic. en Matemáticas y Física – Ingeniero de Sistemas |®2016 www.nelsoncaceres.com

1. File

2. Nuevo Proyecto (New project)

3. C/C++ Application

4. Nombrar la aplicación y revisar directorios de trabajo

Page 4: INTRODUCCION A LOS ENTORNOS INTEGRADOS DE …+_II_2016.pdf · C++ CON NETBEANS IDE . Msc. ... - Palabras reservadas Algunas palabras tienen un significado especial en el lenguaje

Msc. Nelson O. Cáceres M. |Lic. en Matemáticas y Física – Ingeniero de Sistemas |®2016 www.nelsoncaceres.com

5. Listos para programar

5.1 Ir a Archivos de Código (Source Files)

5.2 Dar doble clic en main.cpp

/*

* File: main.cpp

* Author: USER

* Created on 14 de agosto de 2016, 08:12 PM

*/

#include <cstdlib>

using namespace std;

/*

*/

int main(int argc, char** argv) {

return 0;

}

Page 5: INTRODUCCION A LOS ENTORNOS INTEGRADOS DE …+_II_2016.pdf · C++ CON NETBEANS IDE . Msc. ... - Palabras reservadas Algunas palabras tienen un significado especial en el lenguaje

Msc. Nelson O. Cáceres M. |Lic. en Matemáticas y Física – Ingeniero de Sistemas |®2016 www.nelsoncaceres.com

INTRODUCCION A C++

“C++ es algo así como la evolución del lenguaje C. La intención de su creación fue el extender al

exitoso lenguaje de programación C con mecanismos que permitan la manipulación de objetos. En ese

sentido, desde el punto de vista de los lenguajes orientados a objetos, el C++ es un lenguaje híbrido.

La historia de C (predecesor de C++) parte de un lenguaje anterior, el lenguaje B, escrito por Ken

Thompson en 1970 con el objetivo de recodificar el sistema operativo UNIX, que hasta el momento se

había programado en ensamblador. Lo malo del lenguaje ensamblador era que lo ligaba a una serie de

máquinas concretas, por lo que conseguir un lenguaje abstraído de cada máquina conseguiría una

portabilidad del sistema muchísimo mayor. A su vez B fue inspirado en el BCPL de Martin Richards,

diseñado tres años antes.

En 1972 es Dennis Ritchie (de los Laboratorios Bell de AT&T) quien diseña finalmente C a partir del B

de Thompson, aportando un diseño de tipos y estructuras de datos que consiguen una claridad y

eficacia en el lenguaje muy superior. Es un lenguaje que permite realizar una programación

estructurada economizando las expresiones, con abundancia de operadores y tipos de datos (aunque

los básicos sean pocos), codificando en alto y bajo nivel simultáneamente, reemplazando

ventajosamente la programación en ensamblador y permitiendo una utilización natural de las

funciones primitivas del sistema.

Durante muchos años no existieron reglas estándar para el lenguaje, pero en 1983 se decide formar

un comité con el objetivo de crear el estándar ANSI. El proceso dura seis años y a principios de los 90

el estándar es reconocido por la ISO (Organización Internacional de Estándares) y comienza a

comercializarse con el nombre ANSI C.

Paralelamente, en 1980 surge C++ de la mano de Bjarne Stroustrup (también de Laboratorios Bell de

AT&T). Diseña este lenguaje con el objetivo de añadir a C nuevas características: clases y funciones

virtuales (de SIMULA 67), tipos genéricos y expresiones (de ADA), la posibilidad de declarar variables

en cualquier punto del programa (de ALGOL 68), y sobre todo, un auténtico motor de objetos con

herencia múltiple que permite combinar la programación imperativa de C con la programación

orientada a objetos. Estas nuevas características mantienen siempre la esencia del lenguaje C:

otorgan el control absoluto de la aplicación al programador, consiguiendo una velocidad muy superior

Page 6: INTRODUCCION A LOS ENTORNOS INTEGRADOS DE …+_II_2016.pdf · C++ CON NETBEANS IDE . Msc. ... - Palabras reservadas Algunas palabras tienen un significado especial en el lenguaje

Msc. Nelson O. Cáceres M. |Lic. en Matemáticas y Física – Ingeniero de Sistemas |®2016 www.nelsoncaceres.com

a la ofrecida por otros lenguajes. El nombre C++ fue propuesto por Rick Mascitti en el año 1983,

cuando el lenguaje fue utilizado por primera vez fuera de un laboratorio científico. Antes se había

usado el nombre "C con clases". En C++, la expresión "C++" significa "incremento de C" y se refiere a

que C++ es una extensión de C. El siguiente hecho fundamental en la evolución de C++ es sin duda la

incorporación de la librería STL años más tarde, obra de Alexander Stepanov y Andrew Koening. Esta

librería de clases con contenedores y algoritmos genéricos proporciona a C++ una potencia única

entre los lenguajes de alto nivel.

Debido al éxito del lenguaje, en 1990 se reúnen las organizaciones ANSI e ISO para definir un estándar

que formalice el lenguaje. El proceso culmina en 1998 con la aprobación del ANSI C++”.

Tomado de: https://www.programarya.com/Cursos/C++

Nuestros primeros programas en C++

#include <cstdlib>

#include <iostream>

using namespace std;

int main(int argc, char** argv) {

char nombre[50];

cout<<"Hola" <<endl <<" ¿Cuál es tu nombre? :";

cin.getline(nombre,40);

cout<<nombre <<" , Bienvenido a Lógica de Programación";

return 0;

}

Otra Forma

#include <cstdlib>

#include <iostream>

using namespace std;

int main()

Page 7: INTRODUCCION A LOS ENTORNOS INTEGRADOS DE …+_II_2016.pdf · C++ CON NETBEANS IDE . Msc. ... - Palabras reservadas Algunas palabras tienen un significado especial en el lenguaje

Msc. Nelson O. Cáceres M. |Lic. en Matemáticas y Física – Ingeniero de Sistemas |®2016 www.nelsoncaceres.com

{

char nombre[50];

cout<<"Hola" <<endl <<" ¿Cuál es tu nombre? :";

cin.getline(nombre,40);

cout<<nombre <<" Bienvenido a Lógica de Programación";

return 0;

}

A continuación, utilizaremos nuestro programa saludo.cpp para introducir los elementos básicos de

un programa. Posteriormente, todos estos elementos serán tratados con mayor amplitud.

- Bibliotecas

El lenguaje C++ consta de un reducido número de instrucciones, pero ofrece un amplio repertorio de

bibliotecas con herramientas que pueden ser importadas por los programas cuando son necesarias.

Por este motivo, un programa suele comenzar por tantas líneas #include como bibliotecas se

necesiten. Como se puede observar, en nuestro ejemplo se incluye la biblioteca iostream, necesaria

cuando se van a efectuar operaciones de entrada (lectura de datos) o salida (escritura de datos). Para

utilizar la biblioteca iostream es necesario utilizar el espacio de nombres std, éste es un concepto

avanzado que, por ahora, está fuera de nuestro ámbito de estudio. Por ahora nos basta con recordar

que nuestros programas deben contener la siguiente directiva:

using namespace std;

- Constantes simbólicas y constantes literales

Antes de utilizar una constante simbólica es necesario informar al compilador, indicando de qué tipo

es, su nombre (su identificador) y el valor que tiene asociado. Si no lo hiciéramos, el compilador no

sería capaz de reconocer qué es y que guarda y nos mostraría un mensaje de error.

- Identificadores

Para cada elemento que introduzcamos en nuestro programa debemos definir un nombre

(identificador) con el que hacer referencia al mismo y disponer de algún mecanismo para informar al

compilador de dicho nombre y de sus características. Hemos visto cómo hacerlo para constantes

simbólicas, pero de igual forma habrá que proceder con otro tipo de elementos, como variables,

tipos, subprogramas, etc., que iremos tratando en posteriores capítulos.

Page 8: INTRODUCCION A LOS ENTORNOS INTEGRADOS DE …+_II_2016.pdf · C++ CON NETBEANS IDE . Msc. ... - Palabras reservadas Algunas palabras tienen un significado especial en el lenguaje

Msc. Nelson O. Cáceres M. |Lic. en Matemáticas y Física – Ingeniero de Sistemas |®2016 www.nelsoncaceres.com

En C++ se considera que las letras minúsculas son caracteres diferentes de las letras mayúsculas.

Un identificador debe estar formado por una secuencia de letras y dígitos en la que el primer carácter

debe ser una letra. El carácter ’_’ se considera como una letra, sin embargo, los nombres que

comienzan con dicho carácter se reservan para situaciones especiales, por lo que no deberían

utilizarse en programas. Aunque el lenguaje no impone ninguna restricción adicional, en este manual

seguiremos unos criterios de estilo a la hora decidir qué identificador utilizamos para cada elemento.

Ello contribuye a mejorar la legibilidad del programa. Por ejemplo, los identificadores utilizados como

nombres de constantes simbólicas estarán formados por letras mayúsculas y, en caso de querer que

tengan más de una palabra, usaremos ’_’ como carácter de separación (IVA_VEN). En posteriores

capítulos iremos proporcionando otros criterios de estilo para ayudar a construir identificadores para

variables, tipos, funciones, etc.

- Palabras reservadas

Algunas palabras tienen un significado especial en el lenguaje y no pueden ser utilizadas con otro

sentido. Por este motivo no pueden ser utilizados para designar elementos definidos por el

programador. Son palabras reservadas, como por ejemplo: using, namespace, const, double, int,

char, bool, void, for, while, do, if, switch, case, default, return, typedef, enum, struct, etc.

- Delimitadores

Son símbolos que indican comienzo o fin de una entidad ( ( ) { } ; , < >). Por ejemplo, en nuestro

programa saludo.cpp usamos { y } para delimitar el comienzo y el final de la función main, y el

símbolo ; para delimitar el final de una sentencia.

- Operadores

Son símbolos con significado propio según el contexto en el que se utilicen. Ejemplo: = << >> * / % + -

< > <= = == != ++ -- . , etc.

- Comentarios y formato del programa

El compilador necesita reconocer los diferentes elementos que forman el programa. Para ello, utiliza

delimitadores y caracteres que permiten separar unos elementos con otros. Además, el programador

puede añadir caracteres como espacios en blanco, líneas en blanco o tabuladores para mejorar la

legibilidad del programa. El compilador los ignora, salvo que les sirva como separadores de unos

elementos y otros. Además, el programador puede estar interesado en mejorar la legibilidad del

Page 9: INTRODUCCION A LOS ENTORNOS INTEGRADOS DE …+_II_2016.pdf · C++ CON NETBEANS IDE . Msc. ... - Palabras reservadas Algunas palabras tienen un significado especial en el lenguaje

Msc. Nelson O. Cáceres M. |Lic. en Matemáticas y Física – Ingeniero de Sistemas |®2016 www.nelsoncaceres.com

programa incluyendo comentarios dirigidos a otros programadores, no al compilador. Para ello, debe

marcar dicho texto de alguna forma que permita ser identificado por el compilador. En C++ esto se

puede hacer de dos formas diferentes

Comentarios hasta fin de línea: los símbolos // marcan el comienzo del comentario, que se

extiende hasta el final de la línea.

//- archivo: saludo.cpp ------------------------------------------------------------------------------

Comentarios enmarcados: los símbolos /* marcan el comienzo del comentario, que se

extiende hasta los símbolos del fin del comentario */. Por ejemplo, podríamos haber incluido

al principio del fichero euros.cpp algunas líneas de comentario informando de su autor y fecha

de elaboración.

/* Autor: Nelson O. Cáceres

* Fecha: 12/08/2016

*/

- Variables

Los datos se almacenan en memoria en variables de un cierto tipo. El programador debe decidir qué

variables va a utilizar, pensar en un identificador para referirse a ellas y comunicarlo al compilador. En

nuestro programa usamos una variable llamada nombre para almacenar el nombre de la persona que

está al otro lado del pc. Usamos la siguiente definición para informar al compilador que nombre es

una variable que contiene una cadena de 50 caracteres máximo de longitud.

char nombre[50];

- Entrada/Salida de datos

En general, un programa necesitará tomar datos de entrada y mostrar resultados en algún dispositivo

de salida. En C++ disponemos de flujos de entrada (cin) y de salida (cout), que nos permiten efectuar

entrada y salida de datos, respectivamente. El operador >> se usa para tomar un valor de la entrada y

el operador << se usa para sacar un valor por la salida. En nuestro ejemplo, la siguiente sentencia

muestra por pantalla un mensaje en el que se solicita que el usuario introduzca el nombre de la

persona que está al frente, y a la cual se desea saludar:

Page 10: INTRODUCCION A LOS ENTORNOS INTEGRADOS DE …+_II_2016.pdf · C++ CON NETBEANS IDE . Msc. ... - Palabras reservadas Algunas palabras tienen un significado especial en el lenguaje

Msc. Nelson O. Cáceres M. |Lic. en Matemáticas y Física – Ingeniero de Sistemas |®2016 www.nelsoncaceres.com

cout<<"Hola" <<endl <<" ¿Cuál es tu nombre? :";

El texto entre comillas es una constante literal, que aparecerá tal y como está escrito en el dispositivo

de salida. Si en lugar de una constante literal hubiéramos usado un identificador con el nombre de

una constante o de una variable, entonces el valor resultante en la salida sería aquél asociado a dicho

identificador. En la siguiente línea tomamos de la consola (entrada por el teclado) el nombre digitado

y utilizamos una variación de la entrada estándar cin: cin.getline(variable, longitud) para indicar que

tome literalmente todo lo escrito en la pantalla, puesto que cin>> leería solo hasta encontrar un

espacio en blanco:

cin.getline(nombre,40);

La siguiente línea, muestra el contenido de la variable en la que se guardó el nombre y un saludo o

constante literal que esta entre “ ”:

cout<<nombre <<" , Bienvenido a Lógica de Programación";

- Asignación

En nuestro ejemplo no hay asignación interna, pero esto no suele ser muy común. La asignación es la

operación en la cual se asigna el resultado de alguna operación, generalmente matemática a una

variable.

Ejemplos de código fuente en C++ con las diferentes sentencias de control.

Los siguientes ejemplos se realizaron con NetBeans 8.1

---Secuencial - lineal

//Cambia dólares a pesos colombianos

#include <cstdlib>

#include <iostream>

using namespace std;

int main() {

double Can_Dol, Val_Dol, Can_Pes;

cout<<"Cambio de divisas"<<endl;

Page 11: INTRODUCCION A LOS ENTORNOS INTEGRADOS DE …+_II_2016.pdf · C++ CON NETBEANS IDE . Msc. ... - Palabras reservadas Algunas palabras tienen un significado especial en el lenguaje

Msc. Nelson O. Cáceres M. |Lic. en Matemáticas y Física – Ingeniero de Sistemas |®2016 www.nelsoncaceres.com

cout<<"Cantidad de dólares a cambiar :";

cin>>Can_Dol;

cout<<"Valor del dólar hoy :";

cin>>Val_Dol;

Can_Pes = Can_Dol*Val_Dol;

cout<<"Usted recibe "<<Can_Pes<< " pesos "<<" por "<<Can_Dol<<" dólares"<<endl;

cout<<"Presiones una tecla para finalizar"<<endl;

cin.get();

return 0;

}

--- Selección simple

Page 12: INTRODUCCION A LOS ENTORNOS INTEGRADOS DE …+_II_2016.pdf · C++ CON NETBEANS IDE . Msc. ... - Palabras reservadas Algunas palabras tienen un significado especial en el lenguaje

Msc. Nelson O. Cáceres M. |Lic. en Matemáticas y Física – Ingeniero de Sistemas |®2016 www.nelsoncaceres.com

Funciones

Ejemplos de funciones

//Cálculo de una potencia, recibe dos datos reales como entrada: base y exponente

float potencia(float, float); float potencia(float b, float e) { float pot; pot = b; for(int i = 2; i <= e; i++) pot = pot*b; return pot; } //Cálculo del factorial de un número float factorial(float); float factorial(float n) { float fact = 1; for(int i = 2; i <= n; i++) fact = fact*i; return fact; } // Cálculo de exp(x) float euler(float); float euler(float num) { float eul=1 + num; const int nter = 40; if( num == 0) { eul = 1; } for(int i = 2;i <= nter; i++ ) { eul = eul + (potencia(num,i)/factorial(i)); } return eul; } // Validacion de un ángulo: halla el ángulo de referencia float valida_ang(float); float valida_ang(float ag) { float agr; if((ag>=360) || (ag<=-360)) { agr = fmod(ag,360); }

Page 13: INTRODUCCION A LOS ENTORNOS INTEGRADOS DE …+_II_2016.pdf · C++ CON NETBEANS IDE . Msc. ... - Palabras reservadas Algunas palabras tienen un significado especial en el lenguaje

Msc. Nelson O. Cáceres M. |Lic. en Matemáticas y Física – Ingeniero de Sistemas |®2016 www.nelsoncaceres.com

else { agr = ag; } return agr; } //Cálculo de sen(x)

float seno(float angulo); float seno(float a){ float const PI = 3.14159265; float sn, ar; int sig1 = -1, nt = 40; a = valida_ang(a); ar = a*PI/180; sn = ar; for(int i = 2; i<= nt; i++) { if(i%2 != 0) { sn = sn + sig1*(pow(ar,i)/factorial(i)); sig1 = sig1*(-1); } } return sn; }

//Cálculo de cos(x) float coseno(float angulo); float coseno(float a){ float const PI = 3.14159265; float cn, ar; int sig1 = -1, nt = 40; a = valida_ang(a); ar = a*PI/180; cn = 1; for(int i = 2; i<= nt; i++) { if(i%2 == 0) { cn = cn + sig1*(pow(ar,i)/factorial(i)); sig1 = sig1*(-1); } } return cn; }

Page 14: INTRODUCCION A LOS ENTORNOS INTEGRADOS DE …+_II_2016.pdf · C++ CON NETBEANS IDE . Msc. ... - Palabras reservadas Algunas palabras tienen un significado especial en el lenguaje

Msc. Nelson O. Cáceres M. |Lic. en Matemáticas y Física – Ingeniero de Sistemas |®2016 www.nelsoncaceres.com

Ejercicios con vectores

/* * File: main.cpp * Author: Nelson O. Cáceres M. * ®2016 www.nelsoncaceres.com * Created on 30 de octubre de 2016, 16:23 */ #include <cstdlib> #include <iostream> #define TAM 100 using namespace std; void leervect(int, float[]); void escribirvect(int, float[]); int main(int argc, char** argv) { char op, resp; float n[TAM], elem, aux; int c, pos; do{ system("cmd c /cls"); cout<<"\tO P E R A C I O N E S B A S I C A S C O N V E C T O R E S "<<endl<<endl; cout<<"\t\t1. Leer"<<endl<<endl; cout<<"\t\t2. Escribir"<<endl<<endl; cout<<"\t\t3. Agregar elemento al final"<<endl<<endl; cout<<"\t\t4. Insertar elemento"<<endl<<endl; cout<<"\t\t5. Eliminar elemento"<<endl<<endl; cout<<"\t\t6. Buscar elemento"<<endl<<endl; cout<<"\t\t7. Ordenar vector"<<endl<<endl; cout<<"\t\tOpcion...[1 - 7] :"; cin>>op; cout<<endl<<endl; switch(op) { case '1' : cout<<"\t\tCantidad de elementos del vector ";cin>>c; leervect(c, n); break; case '2' : cout<<"\t\tElementos del Vector "<<endl<<endl; escribirvect(c, n); break; case '3' : cout<<"\t\tInsertar elemento al final del vector "<<endl<<endl; do { cout<<"\t\tElemento a insertar :"; cin>>elem; n[c]=elem; c++; escribirvect(c,n); cout<<"\t\tDesea insertar otro elemento en el vector [s/n] "; cin>>resp; resp = toupper(resp); }while(resp == 'S'); break;

Page 15: INTRODUCCION A LOS ENTORNOS INTEGRADOS DE …+_II_2016.pdf · C++ CON NETBEANS IDE . Msc. ... - Palabras reservadas Algunas palabras tienen un significado especial en el lenguaje

Msc. Nelson O. Cáceres M. |Lic. en Matemáticas y Física – Ingeniero de Sistemas |®2016 www.nelsoncaceres.com

case '4' :cout<<"\t\tInsertar elemento en la posicion dada"<<endl<<endl; cout<<"\t\tElemento a insertar :"; cin>>elem; escribirvect(c,n); do { cout<<"\t\tPosicion en la que desea insertar el elemento [0 - "<<c-1<<"] "; cin>>pos; if(pos>c-1 || pos<0) cout<<"\t\tPosicion no valida "<<endl; }while(pos>c-1 || pos<0); c++; for(int i=c-1;i>=pos;i--) { n[i+1]=n[i]; if(pos==i) n[pos]=elem; } escribirvect(c,n); break; case '5' :cout<<"\t\tEliminar elemento "<<endl<<endl; do{ cout<<"\t\tPosicion que desea eliminar...de [0 hasta "<<c-1<<"]: ";cin>>pos; if(pos>(c-1)||pos<0) cout<<"\t\tPosicion no valida"<<endl; }while(pos>(c-1)||pos<0); for(int i=pos;i<c;i++) { n[i]=n[i+1]; } c--; escribirvect(c,n); break; case '6' : cout<<"\t\tElemento a buscar: ";cin>>elem; for(int i=0;i<c;i++) { if(n[i]==elem) { cout<<"\t\tEl elemento buscado se encuentra en: A["<<i<<"]"<<endl; break; } else { if(i==c-1) cout<<"\t\tNo se encuetra el elemento que busca"<<endl; } } escribirvect(c, n); break;

Page 16: INTRODUCCION A LOS ENTORNOS INTEGRADOS DE …+_II_2016.pdf · C++ CON NETBEANS IDE . Msc. ... - Palabras reservadas Algunas palabras tienen un significado especial en el lenguaje

Msc. Nelson O. Cáceres M. |Lic. en Matemáticas y Física – Ingeniero de Sistemas |®2016 www.nelsoncaceres.com

case '7' : cout<<"\t\tOrdenar Vector"<<endl<<endl; cout<<"\t\t1. Ascendentemente "<<endl<<endl; cout<<"\t\t2. Descendentemente "<<endl<<endl; cout<<"\t\tOpcion [1 - 2] :"; cin>>op; switch(op) { case '1' :cout<<"\t\tOrdenado Ascendentemente "<<endl<<endl; for(int i=0; i<c-1; i++){ for(int j=0; j<c-i; j++){ if(n[j] > n[j+1]){ aux=n[j]; n[j]=n[j+1]; n[j+1]=aux; } } } escribirvect(c, n); break; case '2' :cout<<"\t\tOrdenado Descendentemente "<<endl<<endl; break; default : cout<<"\t\tOpcion no valida "<<endl<<endl; } break; default : cout<<"Opcion no valida"<<endl<<endl; } cout<<"\t\tContinuar...[s/n] :"; cin>>resp; resp = toupper(resp); }while(resp == 'S'); return 0; } void leervect(int cant, float n[]) { int i; for(i=0;i<cant;i++) { cout<<"\t\tV["<<i<<"] : "; cin>>n[i]; } } void escribirvect(int cant,float n[]) { int i; for(i=0;i<cant;i++) { cout<<"\t\tV["<<i<<"] : "<<n[i]<<endl; } }