Download TRABAJO DE ALGORITMO CTT JESUS MONTES

Document related concepts

Rust (lenguaje de programación) wikipedia , lookup

Haxe wikipedia , lookup

Little man computer wikipedia , lookup

Racket (lenguaje de programación) wikipedia , lookup

J (lenguaje de programación) wikipedia , lookup

Transcript
TRABAJO DE ALGORITMO
C++
ESTUDIANTE
JESUS ALBERTO MONTES SANCHEZ
LICENCIADA
SANDY ROMERO CUELLO
UNIGUAJIRA
ING. SISTEMAS DIURNO
I SEMETRES
2013
MAICAO -GUAJIRA
1. Que es un lenguaje de programación y cuál es su
objetivo:
Un lenguaje de programación es aquel elemento dentro
de la informática q nos permite crear programas
mediante un conjunto de instrucciones, operadores y
reglas de sintaxis; que pone a disposición del
programador pará que este pueda comunicarse con los
dispositivos de hardware y software existentes.
Conjuntos de elementos y símbolos q permiten ejecutar
una serie de acciones con las cuales contralamos el
computador
Objetivo:
 El lenguaje de programación tiene como objetivo el
tratamiento de la información correctamente, con lo
que se espera que un programa de el resultado
correcto y no uno erróneo. Así que cada aplicación
debe funcionar según lo esperado en términos de
programación.
 Sean de códigos claros y legibles, con lo que si un
programador inicia un programa y no lo termina,
otro programador sea capaz de entender la
codificación y poder terminarlo.
 Un código claro y legible facilita el mantenimiento
de la aplicación o sistema.
2. Como se clasifican los lenguajes de programación de
ejemplos
Se pueden clasificar atendiendo a varios criterios, los
principales son:
Según el nivel de abstracción:
Lenguajes de máquina: están escritos en códigos
(código de maquina) directamente inteligibles por la
maquina (computadora), siendo sus instrucciones cadenas
binarias (0 y 1) .Este lenguajes hace referencia al
lenguaje especifico de una computadora mientras que
código de maquina hace referencia al modo en que se
escriben los diferentes lenguajes de maquina
El lenguaje ensamblador :Es un derivado del lenguaje
maquina y está formado por abreviaturas de letras y
números llamadas mnemotécnicos, con la aparición de
este lenguaje se crearon los programas traductores para
poder pasar los programas escritos en lenguaje
ensamblador a lenguaje máquina, como ventaja con
respecto al código máquina es que los códigos fuentes
eran más cortos y los programas creados ocupaban
menos memoria, las desventajas de este lenguaje siguen
siendo prácticamente las mismas que las del lenguaje
ensamblador, añadiendo la dificultad de tener que
aprender un nuevo lenguaje difícil de probar y mantener.
Lenguaje de alto nivel: permite al programador escribir
las instrucciones de un programa utilizando palabras o
expresiones sintácticas muy similares al inglés. Por
ejemplo, en C se pueden usar palabras tales
como: case, if, for, while, etc. para construir con ellas
instrucciones como:
if( numero > 0 ) printf( "El número es positivo" )
que traducido al castellano viene a decir que: si numero es
mayor que cero, entonces, escribir por pantalla el mensaje:
"El número es positivo".
Ésta es la razón por la que a estos lenguajes se les
considera de alto nivel, porque se pueden utilizar palabras
de muy fácil comprensión para el programador. En
contraposición, los de bajo nivel son aquellos que están más
cerca del "entendimiento" de la máquina. Otros lenguajes
de alto nivel son: Ada, BASIC, COBOL, FORTRAN, Pascal,
etc.
Otra característica importante de los lenguajes de alto
nivel es que, para la mayoría de las instrucciones de estos
lenguajes, se necesitarían varias instrucciones en un
lenguaje ensamblador para indicar lo mismo. De igual forma
que, la mayoría de las instrucciones de un lenguaje
ensamblador, también agrupa a varias instrucciones de
un lenguaje de máquina.
Figura - Relación entre las instrucciones de alto nivel, ensamblador
y máquina.
Lenguaje de medio nivel.
Se trata de un término no aceptado por todos; pero a
seguramente habrás oído que estos lenguajes se
encuentran en un punto medio entre los dos anteriores,
dentro de estos lenguajes podría situarse C ya que puede
acceder a los registros del sistema, trabajar con
direcciones de memoria, todas ellas características de
lenguajes de bajo nivel y a la vez realizar operaciones de
alto nivel.
3. Haga un cuadro comparativo entre lenguaje de
programación estructurado y lenguaje de programación
orientado a objetos:
Lenguaje de programación
LEUNGUJE DE PROGRAMACION
ESTRUCTURADO
LENGUAJE DE PROGRAMACION
ORIENTEDA A OBJETOS
La programación estructurada utiliza
un número limitado de estructuras de
control que minimizan la complejidad
de los problemas y que reducen los
errores. Ésta incorpora entre otros
elementos: el diseño descendente,
recursos abstractos y estructuras
básicas.
Un lenguaje es descrito como
estructurado en bloque cuando tiene
una sintaxis para encerrar estructuras
entre palabras clave tipo corchete, o
Se le conoce como paradigma o
modelo de programación, esto
significa que no es un lenguaje
especifico o una tecnología si no una
forma de programar mediante
instrucciones.
la de llaves {...} de C++
La programación estructurada es una
forma de
escribir programación de ordenador de
forma clara, para ello utiliza
únicamente tres estructuras:
secuencial, selectiva e iterativa.
La programación orientada a objetos,
intenta simular el mundo real a través
del significado de objetos que
contiene características y funciones
Cuando programamos un objeto y
definimos sus características y
funcionalidades en realidad lo que
estamos haciendo es programar una
clase de algoritmo propio del usuario.
4. Que es el lenguaje C++ y cuáles son sus fortalezas y
características fundamentales. En la actualidad cuantas
versiones de C++:
Es un lenguaje de programación de propósito general que
ofrece economía sintáctica, control de flujo
y estructuras sencillas y un buen conjunto de operadores. No es
un lenguaje de muy alto nivel y más bien un lenguaje pequeño,
sencillo y no está especializado en ningún tipo de aplicación. Esto
lo hace un lenguaje potente, con un campo de aplicación ilimitado
y sobre todo, se aprende rápidamente. En poco tiempo, un
programador puede utilizar la totalidad del lenguaje. Fue
diseñado a mediados de los años 1980 por Bjarne Stroustrup. 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.
Fortalezas del lenguaje C++
 Lenguaje muy didáctico, gracias a este lenguaje puedes
aprender muchos otros lenguajes con gran facilidad,
como C#, Java, Visual Basic, Java script, PHP, entre
otros.
 Es muy potente en lo que se refiere a creación de
sistemas complejos, un lenguaje muy robusto.
 Permite elaborar aplicaciones sencillas como un "Hello
World!" hasta sistemas operativos y mucho más, todo
eso dependiendo del manejo del lenguaje.
 Actualmente, puede compilar y ejecutar código de C, ya
viene con librerías para realizar esta labor.
 Es un lenguaje muy empleado, existen muchos tutoriales
en línea, libros, códigos fuentes abiertos... hay material
de sobra y basta para aprender lo necesario y mucho más
con este lenguaje.
 Existen muchos algoritmos cuyo pseudocódigo se
encuentra ya desarrollado en C++, de manera que puedes
tomarlo y amoldarlo a tu solución (porque el que veas un
fragmento de código no asegura que sea correcto al
100%).
Características fundamentales
Las principales características del Lenguaje C son:
1.-Tiene un conjunto completo de instrucciones de control.
2.-Permite la agrupación de instrucciones.
3.-Incluye el concepto de puntero (variable que contiene la
dirección de otra variable).
4.-Los argumentos de las funciones se transfieren por su valor.
5.- E/S no forma parte del lenguaje, sino que se proporciona a
través de una biblioteca de funciones.
Permite la separación de un programa en módulos que admiten
compilación independiente.
Originalmente el Lenguaje C estuvo muy ligado al sistema
operativo UNIX como se había mencionado antes que, en su
mayor parte, está escrito en C. Más adelante se comenzó a
utilizar en otros sistemas operativos para programar editores,
compiladores, etc.
Aunque se le conoce como un lenguaje de programación de
sistemas, no se adapta mal al resto de aplicaciones. De hecho,
hoy en día un alto porcentaje de software para ordenadores
personales está escrito en Lenguaje C. Por ejemplo, el sistema
operativo MS-DOS.
Algunas de las características más importantes que definen el
lenguaje y que han permitido que sea tan popular, como lenguaje
de programación son:
1.-Tamaño pequeño.
2.-Uso extensivo de llamadas a funciones.
3.-Comandos breves (poco tecleo).
4.-Lenguaje estructurado.
5.-Programación de bajo nivel (nivel bit)
6.-Implementación de apuntadores - uso extensivo de
apuntadores para la memoria, arreglos, estructuras y funciones
Las diversas razones por la cual se ha convertido en un lenguaje
de uso profesional son:
1.-El uso de constructores de alto nivel.
2.-El poder manejar actividades de bajo-nivel.
3.-El generar programas eficientes.
4.-La posibilidad de poder ser compilado en una variedad de
computadoras, con pocos cambios (portabilidad).
Versiones actuales
Bajo Microsoft Windows
Microsoft Windows
 Code::blocks
 Dev-C++
 Visual c++
 Wxdev-C++´
 Zinjai
 Embarcadero codeGear Bajo
 Bajo DOS
 TURBO C remplazado por C++BUILDER
 Bajo GNU/Linux
 Code::blocks
 netBeans
 eclipse
 Geany
 Zinjai
 Kdevelop
5. Como es la estructura de un programa en C++,
identifique cada uno de sus elementos. De un
ejemplo de un programa:
#include<iostream.h>
#include<conio.h>
Llamado de las diferentes librerías
Main(){
Llamado a la función principal main,
inicio del
programa
Char nom [30]; Declaración de variables en este caso de
tipo carácter
Cout<<"Digite su nombre";
 Cuerpo del programa
Cin>>nom;
cout para escribir y cin para leer
Cout<<"Como Estas "<<nom;
Getch ();
 Funciona como un freno, espera que presione
una tecla
Return 0;  Directiva de retorno return 0
} 
Se Indica el final del programa
6. Cuáles son los tipos de datos que existen en C++:
Todos los programas gestionan algunos tipos de información que
normalmente se pueden representar utilizando uno de los ocho
(8) tipos de datos básicos de C y C++: texto o char, valores
enteros o int, valores de coma flotante o flota, valores en como
flotante de doble precisión o double (Long double),
enumerados o enum, s i n v a l o r o void, punteros y booleanos.
1. Texto (tipo de dato char) está constituido por caracteres
simples, como a, Z, ¿3 y cadenas, como “Esto es
una prueba” (normalmente, de 8 bits o un byte por carácter, con
un rango de 0 a 255).
2. Los valores enteros ( t i p o d e d a t o int) s o n a q u e l l o s
n ú m e ro s q u e s e a p r e nd i e r o n a c o n t a r ( 1 , 4 , - 2 , 1 3 5 4 ) ;
normalmente, tienen un tamaño de 16 bits, 2 bytes o una palabra,
con rango de -32768 a 32767. En Windows 98 Windows NT, los
valores enteros tienen un tamaño de 32 bits con un rango de 2147483648 a 2147483647.
3. Los valores en coma flotante (tipo de dato float) son números
que tienen una parte fraccional, como por ejemplo pi (3,14159), y
exponentes (7,563
1021). También se conocen como números reales (normalmente,
son de 32 bits, 4 bytes 2 palabras, con un rango de +/-3,4E-38 a
3,4E+38).
4. Los valores en coma flotante de doble precisión (tipo de dato
double) tienen un rango superior (normalmente de 64 bits, 8
bytes ó 4 palabras, con un rango de 1, 7E -308 a 1,
7E+308). Los valores en coma flotante
Long doublé (doble precisión largos) son incluso más precisos
(normalmente, tamaño de 80 bits ó 5 palabras, con un rango
de+/-1,18E-4932 a 1,18E-4932).
5 .los tipos de datos enumerados (tipo de dato enum) permiten al
usuario definir tipos de datos.
6. El tipo void se utiliza para especificar valores que ocupan cero
bits y no tienen valor (este tipo también se puede utilizar para la
creación de punteros genéricos.
7. El tipo de dato puntero no contiene información en el mismo
sentido que el resto de los tipos de datos; en su lugar, cada
puntero contiene la dirección de la posición de memoria que
almacena el dato actual.
8. El tipo de dato bool, al que se le puede asignar las constantes
true
(Verdadero) y false (falso)
RANGO DE LOS TIPOS DE DATOS
Tipo
Rango mínimo
Rango máximo
Char
0
255
Short
-128
127
-32768
32767
Int
Unsigned int
0
65535
Long
-2147483648
2147483637
Float
3.4*(10-38)
3.4*(1038)
Double
1.7*(10-308)
1.7*(10308)
Long double
1.7*(10-308)
1.7*(10308)
7. Que es una librería en C++, enuncie las más
importantes y diga para que sirven:
En C++, se conoce como librerías (o bibliotecas) a cierto tipo de
archivos que podemos importar o incluir en nuestro programa.
Estos archivos contienen las especificaciones de diferentes
funcionalidades ya construidas y utilizables que podremos
agregar a nuestro programa, como por ejemplo leer del teclado o
mostrar algo por pantalla entre muchas otras más.
Al poder incluir estas librerías con definiciones de diferentes
funcionalidades podremos ahorrarnos gran cantidad de cosas,
imaginemos por ejemplo que cada vez que necesitemos leer por
teclado,
Debamos entonces crear una función que lo haga (algo realmente
complejo), al poder contar con las librerías en C++, podremos
hacer uso de una gran variedad de funciones que nos facilitaran
la vida y aumentarán la modularidad de nuestros códigos.
Algunas de las librerías son:
Librería fstream:
Flujos hacia/desde ficheros. Permite la manipulación de
archivos desde el programar, tanto leer como escribir en
ellos.
Librería iosfwd:
Contiene declaraciones adelantadas de todas las plantillas
de flujos y sus typedefs estándar. Por ejemplo ostream.
Librería iostream:
Parte del a STL que contiene los algoritmos estándar, es
quizá la más usada e importante (aunque no indispensable).
Librería list:
Parte de la STL relativa a contenedores tipo list; listas
doblemente enlazadas
Librería math:
Contiene los prototipos de las funciones y otras
definiciones para el uso y manipulación de funciones
matemáticas.
Librería memory:
Utilidades relativas a la gestión de memoria, incluyendo
asignado res y punteros inteligentes (auto_ptr).
Librería new:
Manejo de memoria dinámica
Librería numeric:
Parte de la librería numérica de la STL relativa a
operaciones numéricas.
Librería ostream:
Algoritmos estándar para los flujos de salida.
Librería queue:
Parte de la STL relativa a contenedores tipo que (colas de
objetos).
Librería stdio:
Contiene los prototipos de las funciones, macros, y tipos
para manipular datos de entrada y salida.
Librería stdlib:
Contiene los prototipos de las funciones, macros, y tipos
para utilidades de uso general.
Librería string:
Parte de la STL relativa a contenedores tipo string; una
generalización de las cadenas alfanuméricas para albergar
cadenas de objetos. Muy útil para el fácil uso de las
cadenas de caracteres, pues elimina muchas de las
dificultades que generan los char
Librería typeinfo:
Mecanismo de identificación de tipos en tiempo de
ejecución
Librería vector:
Parte de la STL relativa a los contenedores tipo vector;
una generalización de las matrices unidimensionales C/C++
Las librerías no son únicamente archivos externos creados por
otros, también es posible crear nuestras propias librerías y
utilizarlas en nuestros programas. Las librerías pueden tener
varias extensiones diferentes, las más comunes son:





lib,
.bpl,
.a,
.dll,
h
8. Como se declara una librería. Como se declara una
variable, una constante:
Librería: #include<nombre de la librería y .h>
Variable: int numero; char letra; Long enterolargo; float
numeroflotante;
Las constante: solo se asignan directamente igual se
declara de la misma forma de las variables o se utilizan en
el momento necesitado cuando es un numero o elemento
fijo.
9. Como se asigna en c++
La asignación en C++ se hace con el símbolo (=)
10. como se lee y se escribe en C++ con la librería stdio.h
Lectura: scanf (“%d”,&nom);
Escritura: printf (“su nombre es: %d”, nom)
Como se lee y se escribe en C++ con la librería
iostream.h
Lectura: cin>> nom;
Escritura: cout<<”su nombre es:”<<nom;
12. Como se representan las primitivas secuenciales,
condicionales incluyendo el DD y los ciclos repetitivos,
para, mientras que y haga hasta.
Condicional si:
Los condicionales se determinan por la palabra if que significa si
y la instrucción else que significa en caso contrario, en este caso
bajo el condicional solo existe una línea, por consiguiente no se
hace necesario ni abrir ni cerrar la instrucción { }, lo que pasaría
en el caso de que hubiera, mas de una instrucción ej.:
If (a>b)
{
....
.....
...
}
Ciclo repetitivo para:
For (A=1; A<=10; A++)
Este ciclo se divide en tres partes principales
A) La variable A toma un valor inicial de arranque, aunque c++,
permite definir las variables en el mismo ciclo.
B) A<=10; condición, de parada, para este caso que llegue a 10
C) A++; incremento, decimos que queremos incrementar la
variable A en pasos de 1; se puede utilizar en sentido inverso A--,
es decir decrementos.
D) Como dentro del ciclo, no hay sino una instrucción, entonces no
se requiere apertura ni cierre de llaves.
Ciclos Mientras que (while) y ciclo haga hasta (do while)
Sentencia while: esta sentencia de ciclo o bucle es muy sencilla
pero muy potente, su estructura.
While (<condición>) <sentencia>
Puede ser también
While (condición)
{
-------}
Sentencia do while, este ciclo es muy utilizado cundo queremos
realizar filtros (permitir el ingreso de datos dentro de un rango
especificado) y cuando deseamos que se permita el ingreso al
ciclo al menos una vez.
Ejemplo:
While (nota ¡=0)
{
do
{
Cout<<"entre una nota";
Cin>>nota;
if (nota <0) || (nota >5)
{
cout<<"Error. Inténtelo nuevamente";
}
}
While (nota<0) || (nota >5);
Al finalizar el ciclo do se cierra llaves l con un while, el cual
termina con punto y coma.
13. Pase los cinco primeros algoritmos que tiene en su
libreta a C++.
1) Hacer un algoritmo que me permita leer el nombre de una
persona y saludar a esa persona por su nombre:
“Saludar por el nombre “
#include<iostream.h>
#include<conio.h>
main () {
char nom[45];
Cout<<"Digite su nombre";
Cin>>nom;
Cout<<"Como Estas "<<nom;
getch ();
Return 0;}
2) Hacer un algoritmo que lea el sexo de una persona y me
diga si es hombre o mujer:
“Programa para leer un sexo y decir si es hombre o mujer”
#include<iostream.h>
#include<conio.h>
main(){
int sexo;
cout<<"por favor digite su sexo:\n 1 Para Masculino \n 2 Para
Femenino \n ---> ";
cin>>sexo;
if(sexo==1){
cout<<"Eres un hombre";
}else
if(sexo==1){
cout<<"Eres mujer";
}else
cout<<"\nsexo no encontrado \nEsc para salir";
getch();
return 0;
}
3) Hacer un algoritmo que lea una vocal y nos diga que vocal
leyó:
“Decir una vocal “
#include<iostream.h>
#include<conio.h>
main(){
char vocal;
cout<<"Digite una vocal: ";
cin>>vocal;
cout<<"Su vocal es: "<<vocal;
getch();
return 0; }
4) Hacer un algoritmo que me permita leer dos números, los
sume y escriba el resultado:
“Leer dos números y sumarlos”
#include<iostream.h>
#include<conio.h>
main(){
int numero1, numero2, suma;
Cout<<"digite un numero: ";
Cin>>numero1;
Cout<<"\ndigite otro numero: ";
cin>>numero2;
suma=numero1+numero2;
cout<<"\nLa suma es: "<<suma;
getch();
return 0;}
5) Diseñar un algoritmo que me permita calcular el área y el
perímetro de un rectángulo:
“Área Y Perímetro de Un Rectángulo”
#include<iostream.h>
#include<conio.h>
main (){
Int base, altura, area,p;
cout<<"Por favor digite la base: ";
cin>>base;
cout<<"\nPor favor digite la altura: ";
cin>>altura;
area=base*altura;
p=2*(base*altura);
cout<<"\nEl Area del Rectangulo es: "<<area;
cout<<"\nEl Perimetro del Rectangulo es: "<<p;
getch();
return 0;
.