Documente Academic
Documente Profesional
Documente Cultură
EXTENSION-BARINAS.
Profesor: Alumno:
Ing. de Sistemas
Materia:
Programación I
Índice:
Pág:
1.-Introduccion………………………………………………………………..3
4.- Datos……………………………………………………………………….9
5.- Instrucciones……………………………………………………………..13
8.-Desventajas………………………………………………………….……34
10.-Características………………………………………………..…………35
11.-Operadores aritméticos………………………………………………..36
12.-Operadores de asignación…………………………………………....37
13.-Operadores lógicos……………………………………………………40
14.-Librerias…………………………………………………………………..43
15.-Conclusión………………………………………………………………48
16.-Bibliografia…………………………………………………………….....49
17.-Anexos……………………………………………………………………50
1.-Introducción:
Aquí tenemos los menús con los típicos comandos de Windows (abrir,
guardar, copiar y pegar…)También tenemos una serie de iconos en las
barras de herramientas que no son más que una parte de las opciones que
tenemos en los menús, se puede dejar el ratón encima de un icono durante
unos segundos y aparecerá una ayuda emergente. Explicativa de lo que se
ejecuta cuando se hace clic sobre la figura. En el numeral 4 se hará una
pequeña descripción de cada una de las
opciones del menú.
a) Explorador de proyectos, que muestra los archivos por los que está
formado el proyecto -y por
tanto su aplicación- bien sean de código, de encabezados, o de recursos.
a) Menú File:
Nuevo proyecto
Nueva plantilla
Abrir proyecto existente o Archivo
Abrir archivos recientes
Fichero nuevo
Nuevo recurso
Guardar
Guardar con otro nombre
Guardar todos los Archivos abiertos
Cerrar proyecto
Cerrar ventana actual
Exportar a HTML o RTF (Word)
Imprimir
Setup impresora
Salir del Programa
b) Menú Edit:
Deshacer
Rehacer
Cortar
Copiar
Pegar
Insertar
Insertar una marca
Ir a una marca
Seleccionar todo el contenido de la ventana
c) Menú Search:
d) Menú Project:
Nuevo proyecto
Nuevo elemento al proyecto (adicionar archivo)
Eliminar archivo del proyecto
Abrir un archivo para editar
Generar un archivo ―make‖
Opciones del proyecto.
e) Menú Execute:
g) Menú Tools:
h) Menú Windows:
5.-Datos:
Si tenemos varios datos que son del mismo tipo, se pueden definir todas en
la misma línea de código escribiendo un único int, separando el nombre de
las variables por ―,‖. Una vez que se haya acabado de definir variables, se
cierra la línea de código con ―;‖,
Por ejemplo: int edad = 24;
int edad;
int edad, num, contador;
char letra=‘a‘;
Funcion printf()
La función printf() sirve para escribir datos en la pantalla con un formato
determinado.
El prototipo de esta función es la siguiente:
- texto: que será mostrado por pantalla tal cual este escrito
- Secuencias de escape: secuencias reservadas propias del lenguaje.
Van precedidas por '\' y las más importantes son '\n' que introduce un salto
de línea, y '\t' que introduce un tabulador.
- Especificadores de formato: son ciertos caracteres precedidos del
carácter tanto por ciento '%'.
A continuación se muestra una tabla con estos especificadores de formato
dependiendo del tipo de dato a los que representan:
Tipo de dato Especificadores deComentario
formato
Int %d Entero con signo
Char %c carácter
Ejemplos:
Cremallera 1234
12.345
Función scanf()
La función scanf() se pude considerar de alguna manera como la inversa de
la función printf(), pues sirve para introducir datos desde el teclado con un
formato determinado.
El prototipo de esta función es el siguiente:
Char %c carácter
Ejemplos:
scanf(―%d‖, numero);
scanf(―%d %s %f‖, numero, &cadena, &real);
5.-Instrucciones:
Instrucciones declarativas :
Sirven para declarar librerias, variables, constantes, arreglos , punteros,
estructuras…
Por ejemplo:
las variables las declaramos con el fin de tener un espacio para almacenar
algun dato que va a cambiar con el tiempo. [ más detalles ]
char nombre; ——> Declarando variable tipo caracter
int a,b,c; ——> Declarando variable tipo entero
double sueldo ——> Declarando variable tipo decimal
short contador ——> Declarando variable tipo entero-corto
Sugerencia: leer cuanto espacio ocupa usar cada tipo de variable [ Aqui ]
Consejo: A las unicas variables que se deben dar valores iniciales son a:
– los contadores
– los acumuladores
Pero, ¿ Cuál es la diferencia entre ambos ?
Acumuladores: se incrementa o decrementa en un valor variable.
Ejemplo: sacar el promedio de un alumno, se suman las notas ( que varían )
y se divide para el numero de notas.
Contadores: se incrementa o decrementa en una forma constante.
Ejemplo: va contando de “1 en 1” ó de “-3 en -3” , etc…
3.) Para constantes:
las constantes las declaramos con el fin de tener un espacio para
almacenar algún dato que no va a cambiar. [ más detalles ]
Se las puede declarar de dos formas:
Tomemos como ejemplo la formula para hallar el área de un triangulo:
los arreglos son un conjunto de variables del mismo tipo y nombre, pero
indexadas por una posición diferente.
float vector [12]; ——> Declarando un arreglo tipo flotante ( decimal )
ése ―vector‖ que se ha declarado arriba, al ser un arreglo quiere decir que
hay 12 variables con el mismo nombre
y son del mismo tipo, pero diferenciadas únicamente en su posición, así:
vector[0],vector[1],vector[2],vector[3],vector[4],vector[5],vector[6], …………..
,vector[10],vector[11].
Nota: los arreglos siempre comienzan en la posición cero ( 0 ) por eso llegan
hasta una unidad menos, en éste caso como declaramos
un arreglo de 12 , su tope será de 11; puesto a que desde cero ( 0 ) hasta
once ( 11 ) hay doce ( 12 ) variables
Instrucciones de bifurcación:
6.-Funciones en Dev-C++:
void
ingresar();main(){cout<<
―
\n Ingrese los datos: \
n‖
;ingresar();cout<<
―
\n Los datos se ingresaron correctamente! \
n‖
;getch();} //se define la función
―ingresar‖
void
ingresar(){
char
nombre[10];
int
numero;cout<<
―
\n Ingrese su nombre: \
n‖
;cin>>nombre;cout<<
―
\n Ingrese su numero de la suerte: \
n‖
;cin>>numero;}La declaración de una función debe estar siempre antes de la
definición, por eso es recomendable que se la coloque al inicio del programa
debajo de las librerías.Ya que se creó una función
llamada ―
ingresar
‖
para pedir los datos por medio de ella y no pormedio del cuerpo principal
main(), se debe
llamar o invocar
para que ejecute lo que tiene programado en su interior ya que por sí sola
(sin ser llamada), el programa terminaría y ella no realizaría alguna acción.
Para llamar o invocar una función lo único que se debe hacer es escribirla tal
cual fue declarada sin alteraciones ya que las funciones sonkey sensitive, es
decir que no es lomismo :void HOLA();quevoid HoLa(); Pues aunque son la
misma palabra pero escrita diferente, para el compilador son dos funciones
diferentes.
Para llamar a la función se coloca tal como fue declarada seguida del punto y
coma (no se le pone el
prototipo
), solo el nombre y los posibles parámetros que lleve.
FUNCIONES EN DEV-C++ (PASO POR VALOR)
Las funciones no solamente son llamadas para que realicen cierta
necesidad, sino que en algunas ocasiones para que la función desarrolle
dicha necesidad
Necesita que se le envíen parámetros.
Los parámetros que se le enviarán a la función para que ella pueda cumplir
su papel correctamente, pueden ser enviados de dos maneras:
1) Pasar los parámetros por valor (paso por valor)
Ejemplo:
void
suma (
int
,
int
)
;
Se declara una función
―suma‖ que va a recibir dos
Parámetros que serán enteros porque el tipo de dato lo denota así. Aquellos
parámetros son por valor, lo denotamos por el hecho que únicamente va el
tipo de dato
en los paréntesis. El prototipo de la función
―suma‖ es
void
, es decir que no va a retornar valores, será un procedimiento. Si retornara
un entero sería
int
el prototipo, un número con decimales sería
float
el prototipo, entre otros.¿Cómo se define una función que recibe parámetros
por valor?La definición de la función
―suma‖:
Ejemplo:
void
suma(
int
n1,
int
n2)
{
….
}Donde n1 y n2 son variables formales.
………….
…….
….
……
}
void
suma (
int
n1,
int
n2) {
….
}
Se observa que en el cuerpo principal (main), se hace un llamado a una
función
―suma‖ que
recibe como parámetros dos números enteros. En éste caso será el sueldo y
la comisión de un empleado. La función
―suma‖ los recib
e y con esos valores hará un proceso interno. Pero, al momento de llamar a
la función
―suma‖
se envía:
* sueldo ( variable entera )
comision = 20
NO
se alteran las variables originales en los pasos por valor como se había
indicado anteriormente, pero si pasan su contenido exacto a las variables
formales de la función destinada que recibe parámetros. Se crea una
―
copia
‖
y esas copias pueden ser alteradas pero no se alterarán las originales.
Ejemplo
:Hacer un programa que haga las veces de calculadora entre dos números,
es decir que el usuario ingresará dos números y luego el programa por medio
de funciones recibirá los números y mostrará su resultado en: suma, resta,
multiplicación y división. Luego también mostrará cuáles fueron los números
ingresados.
Solución:
Se va a crear una función para cada caso: suma, resta, multiplicación y
división.De esta manera se entenderá mejor cómo va el paso por valor en
funciones.#include <iostream.h> #include <conio.h>
void
suma(float,float);
void
resta(float,float);
void
multiplicacion(float,float);
void
division(float,float);main(){
float
n1,n2;cout<<
―
\n -Operaciones aritméticas básicas- \
n‖
<<
―
\
n Ingrese cantidad 1:‖
;cin>>n1;cout<<
―
\
n Ingrese cantidad 2:‖
;cin>>n2;suma(n1,n2);resta(n1,n2);multiplicacion(n1,n2);division(n1,n2);cout<
<
―
\n\
n Los numeros ingresados fueron: ―
<<n1<<
‖y―
<<n2;getch();}
void
suma(float x,float y){cout<<
―
\
n La suma = ―
<<(x+y);}
void
resta(float x,float y){cout<<
―
\
n La resta = ―
<<(x-y);}
void
multiplicacion(float x,float y){cout<<
―
\
n La multiplicacion = ―
<<(x*y);}
void
division(float x,float y){cout<<
―
\
n La division = ―
<<(x/y);}Lo que se hace es llamar a cada función: suma, resta, multiplicación,
división. Como la función necesita de los números ingresados anteriormente
(n1 y n2) para calcular su respectiva suma ó resta ó multiplicación ó división,
entonces debemos enviarle como parámetros aquellos datos. Pero se debe
tener en cuenta lo siguiente:
}
Eso conlleva a errores de compilación
, porque el lenguaje es ―key sensitive‖;
es decir, que noes lo mismo suma que: Suma ó suMA ó summa, entre
otros.También con los parámetros, pues si se declara como
void
queno recibe parámetros; NO se debe después definirla como
void
que si reciba parámetros, por más que este bien escrito el nombre y el
prototipo, no coincide a la hora de ser llamada la función por el simple hecho
deque no es lo mismo:
void
resta (); -> declaracion
void
resta ( n1,n2 ) -> definicion
}
El programa muestra los números que fueron ingresados, con el fin de
reconocer que en el paso por valor
NO
se alteran las variables originales, ya que se visualizarán n1 y n2 con los
valores originales a pesar de que hubo acciones aritméticas en su contenido
(sumas,restas,..) pero esos cambios
NO
afectaron a las variables originales sino a las formales;pues esa es una de
las características de pasar por valor los datos, se pasan copias.
Dev-C++, Funciones (paso por referencia)
Las funciones por lo general reciben parámetros, éstos hasta el momento
fueron pasados ala función mediante el "paso por valor" que consiste en
hacer una copia del argumento, paraque la función trabaje con la copia y no
con el argumento original.Esto significa que si la función modificara el valor,
el original no se alteraría ya que se estámanejando una copia.Pero surgen
dos problemas:
cin>>A;cout<<
‖
\
n Ingrese un valor para B: ―;
cin>>B;
cout<<‖
\n
————————————
―;cout<<‖
\
n valor inicial de A: ―<<A;cout<<‖
\n dirección
inicial de A: ―<<&A;cout<<‖
\
n valor inicial de B: ―<<B;cout<<‖
\n dirección
inicial de B: ―<<&B;cout<<‖
\n
————————————
\n\n\n
‖;
referencia(A,B);getch();}void referencia ( int &vieneA, int vieneB ){
cout<<‖
[ PRUEBA 1 ] \
n‖;cout<<‖
\n\
n valor de *vieneA* = ―<<vieneA<<‖
\
n‖<<‖ direccion de *vieneA* = ―<<&vieneA<<‖
\
n‖<<‖ valor de *A* = ―<<A<<‖
\
n‖<<‖ direccion de *A* = ―<<&A<<‖
\n\
n‖
<<‖
\n\
n valor de *vieneB* = ―<<vieneB<<‖
\
n‖<<‖ direccion de *vieneB* = ―<<&vieneB<<‖
\
n‖<<‖ valor de *B* = ―<<B<<‖
\
n‖<<‖ direccion de *B* = ―<<&B<<‖
\
n‖<<‖ ______________________________________
\
n‖;
getch();
cout<<‖
[ PRUEBA 2 ] \
n‖;
vieneA = 10;
cout<<‖
\n\
n valor de *vieneA* = ―<<vieneA<<‖
\
n‖<<‖ direccion de *vieneA* = ―<<&vieneA<<‖
\
n‖<<‖ valor de *A* = ―<<A<<‖
\
n‖<<‖ direccion de *A* = ―<<&A<<‖
\n\
n‖<<‖
\n\
n valor de *vieneB* = ―<<vieneB<<‖
\n
‖<<‖ direccion de *vieneB* = ―<<&vieneB<<‖
\
n‖<<‖ valor de *B* = ―<<B<<‖
\
n‖<<‖ direccion de *B* = ―<<&B<<‖
\
n‖<<‖ ______________________________________
\
n‖;
getch();
cout<<‖
[ PRUEBA 3 ] \
n‖;
vieneB = 1200;
cout<<‖
\n\n valor de *
vieneA* = ―<<vieneA<<‖
\
n‖<<‖ direccion de *vieneA* = ―<<&vieneA<<‖
\
n‖<<‖ valor de *A* = ―<<A<<‖
\
n‖<<‖ direccion de *A* = ―<<&A<<‖
\n\
n‖<<‖
\n\
n valor de *vieneB* = ―<<vieneB<<‖
\
n‖<<‖ direccion de *vieneB* = ―<<&vieneB<<‖
\
n‖<<‖ valor de *B* = ―<<B<<‖
\
n‖<<‖ direccion de *B* = ―<<&B<<‖
\
n‖<<‖ ______________________________________
\
n‖;
getch();
cout<<‖
[ PRUEBA 4 ] \
n‖;
A = 44;
cout<<‖
\n\
n valor de *vieneA* = ―<<vieneA<<‖
\
n‖<<‖ direccion de *vieneA* = ―<<&vieneA<<‖
\
n‖<<‖ valor de *A* = ―<<A<<‖
\
n‖<<‖ direccion de *A* = ―<<&A<<‖
\n\
n‖<<‖
\n\
n valor de *vieneB* = ―<<vieneB<<‖
\
n‖<<‖ direccion de *vieneB* = ―<<&vieneB<<‖
\
n‖<<‖ valor de *B* = ―<<B<<‖
\
n‖<<‖ direccion de *B* = ―<<&B<<‖
\
n‖;
getch();}
8.-Desventajas.
10.-Características:
11.-Operadores aritméticos:
son aquellos que nos van a servir para hacer las operaciones con
números, variables, etc.
12.-Operadores de asignación :
Suma:
A = 5 + 30
Podemos ver que tenemos en éste caso dos números enteros usando un
operador aritmético ( el más ) y un operador de asignación para que la
suma se le asigne a la variable A.
M = 80.10 + 0.70
Z=X+Y
Resta:
M = 800 – 400
Lo que vemos en la expresión de arriba es una resta de números enteros
que se le asigna a una variable M
M = 40.55 – 20.10
C=A–B
Del mismo modo que expliqué en la suma, aquí estamos restando dos
variables que pueden ser datos ingresados por el usuario y esa resta se
le asignará a C.
Multiplicación:
AA = 4 * 5
BB = 12.8 * 6
R=U*D
División:
J=5/2
Y por lo tanto vemos que al dividir 5 para 2, nos queda un valor decimal.
Pero cuando usamos la división de enteros nos da como resultado solo la
parte entera. Es decir que si tenemos esto:
5/2
5.0 / 2Ahi nos dará como respuesta el valor 2.5 completo, pues se da
cuenta que estas haciendo una división de decimales.
A = 10 % 3 —> ¡ correcto !
Así como les decía, éste símbolo ‖ % ‖ sirve para hallar el residuo de una
división de enteros, en el caso de A que es 10 % 3 , pues el resultado
será 1. Porque 1 es el residuo ó lo que sobra en la división.
13.-Operadores logicos :
OR ————- > ||
if ( 14 > 10 || 14 > 11 )
{
........
........
}
Con respecto a NOT [ ! ], significa ‖ no / diferente que ―. Podemos decir
en lenguaje humano, que funciona de la siguiente manera:
if ( 14 != 10 )
........
14.-Librerias:
o fstream:
o iosfwd:
o iostream:
Parte del a STL que contiene los algoritmos estándar, es quizá la más
enlazadas
o math:
o memory:
o Biblioteca new:
o numeric:
o ostream:
o queue:
o Librería stdio:
Contiene los prototipos de las funciones, macros, y tipos para
manipular
o Librería stdlib:
de uso general.
o string:
o typeinfo:
o vector:
o forward_list
simples.
o list
Permite implementar listas doblemente enlzadas (listas enlazadas
dobles) facilmente.
o iterator
o regex
comparación de patrones.
o thread
nuestra aplicación.
String
de memoria.
1.- https://www.ecured.cu/Dev-C%2B%2B
2.http://www.tel.uva.es/personales/josdie/fprog/Sesiones/manualDevCpp/opci
ones_del_proyecto.html
3.- https://www.academia.edu/21168602/TUTORIAL_Dev_C_
4.- https://www.abrirllave.com/c/guia-de-uso-de-dev-c-plus-plus.phP
5.- http://www.omijal.org/pagina_c/Tutorial_DevC.pdf
6.- https://es.scribd.com/doc/41942968/Manual-Dev-C
7.- http://www.esi2.us.es/~mlm/FIQ_P/Prac_FIQ_01.pdf
8.-https://es.slideshare.net/mariconachacha/manual-del-dev-
c?from_action=sabe
17.-Anexos: