PROGRAMACIÓN ESTRUCTURADA EN LENGUAJE C++
AUTOR: JOHANA VARGAS FECHA: 21/10/2013 PERIODO: SEP 2013-FEB 2014
1
INDICE
Contenido
INTRODUCCIÓN A LA PROGRAMACIÓN ...................................................................4 LENGUAJE DE PROGRAMACIÓN C++ .........................................................................5 CARACTERÍSTICAS .........................................................................................................8 VENTAJAS ...................................................................................................................... 10
DESVENTAJAS ............................................................................................................... 10 VARIABLES..................................................................................................................... 10 Nombres de las variables ................................................................................................ 11 Declaración de variables .................................................................................................. 12 Inicialización de variables................................................................................................ 12 Tipos de Datos................................................................................................................ 13 Operadores aritméticos ................................................................................................... 14 Operadores lógicos.......................................................................................................... 14 LIBRERÍAS....................................................................................................................... 14 La función printf y las variables ........................................................................................... 15 La función gotoxy ............................................................................................................... 16 SENTENCIAS....................................................................................................................... 16 TIPOS:................................................................................................................................ 16 Sentencias de selección ...................................................................................................... 16 IF: .................................................................................................................................. 16 SWITCH.......................................................................................................................... 18 REPETITIVAS:...................................................................................................................... 19 FOR................................................................................................................................ 19 CONDICIONANTES: ............................................................................................................. 19
2
WHILE ............................................................................................................................ 19 DO WHILE ...................................................................................................................... 20 RETURN ......................................................................................................................... 21 BREAK............................................................................................................................ 21 EXIT ............................................................................................................................... 21 CADENAS DE FORMATO...................................................................................................... 22 SECUENCIA DE ESCAPE ....................................................................................................... 22 FUNCIONES ................................................................................................................... 23 FUNCIONES CON VOID COMO ARGUMENTO. .................................................... 23 Bibliografía:........................................................................................................................ 25
3
INTRODUCCIÓN A LA PROGRAMACIÓN Sobre los últimos 50 años, los idiomas que programan han evolucionado del código binario de máquina a herramientas poderosas que crean las abstracciones complejas. Es importante entender por qué los idiomas han evolucionado, y qué capacidades que los idiomas más nuevos nos dan. Un lenguaje de programación es una técnica estándar de comunicación que permite expresar las instrucciones que han de ser ejecutadas en una computadora Estas instrucciones permiten la construcción de programas con los cuales podemos realizar operación de entrada y salida, almacenamiento, cálculos y lógica de comparación. Un lenguaje de programación permite a un programador especificar de manera precisa: sobre qué datos una computadora debe operar, cómo deben ser estos almacenados y transmitidos y qué acciones debe tomar bajo una variada gama de circunstancias. Todo esto, a través de un lenguaje que intenta estar relativamente próximo al lenguaje humano o natural, tal como sucede con e l lenguaje Léxico En sus inicios, la programación de computadoras se basó exclusivamente en el modelo imperativo (también denominado procedimental), que semeja más la forma en que la máquina maneja las instrucciones u órdenes. Conforme la programación de computadoras fue utilizándose para resolver nuevos tipos de problemas, se requirió la creación de nuevos modelos o paradigmas para el desarrollo de las aplicaciones. La programación orientada a objetos es una forma de concebir un programa de computadora. Se puede pensar en un programa como una lista de instrucciones que le indica a la computadora qué hacer, o un paquete de pequeños programas que responden a eventos específicos indicados por la entrada del usuario. La programación orientada a objetos ve a un programa como un conjunto de objetos que cooperan entre sí para resolver un problema.
4
LENGUAJE DE PROGRAMACIÓN C++
C++ es un lenguaje de programación orientado a objetos. Se suele decir que es un lenguaje híbrido, ya que permite la programación estructurada.
Es un lenguaje de nivel intermedio, pudiéndose utilizar tanto para escribir software de bajo nivel, como drivers y componentes de sistemas operativos, como para el desarrollo rápido de aplicaciones, según el marco de trabajo con el que se disponga, como VCL de Borland C++ Builder.
Los compiladores de C++ generan código nativo con un alto grado de optimización en memoria y velocidad, lo que lo convierte en uno de los lenguajes más eficientes.
5
Una de las características más interesantes del lenguaje es la sobrecarga de operadores. Es decir que a los operadores intrínsecos del lenguaje se les puede redefinir la semántica: se pueden escribir funciones que en vez de tener un nombre, se asocian a un operador, que debe tener por lo menos un parámetro de tipo clase.
La libre utilización de punteros por parte de los programadores, aporta eficiencia, pero es una fuente de errores de lógica. Por este motivo, lenguajes derivados de C++, como C# y Java, quitaron este recurso y solo permiten referencias a objetos
Un programa C puede estar formado por diferentes módulos o fuentes. Es conveniente mantener las fuentes de un tamaño no muy grande, para que la compilación sea rápida.
6
7
CARACTERÍSTICAS Las principales características del Lenguaje C son:
Tiene un conjunto completo de instrucciones de control.
Permite la agrupación de instrucciones
Los argumentos de las funciones se transfieren por su valor.
Incluye el concepto de puntero (variable que contiene la dirección de otra variable).
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.
8
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:
Uso extensivo de llamadas a funciones.
Tamaño pequeño.
Comandos breves (poco tecleo).
Lenguaje estructur ado.
Implementación de apuntadores uso extensivo de apuntadores para la memoria, arreglos, estructuras y funciones
Programa ción de bajo nivel (nivel bit)
Las diversas razones por la cual se ha convertido en un lenguaje de uso profesional son:
El uso de constructores de alto nivel.
El poder manejar actividades de bajo-nivel. El generar programas eficientes.
La posibilidad de poder ser compilado en una variedad de computadoras, con pocos cambios (portabilidad).
Un punto en contra es que tiene una detección pobre de errores, lo cual en ocasiones es problemático para los principiantes
9
VENTAJAS
Es un lenguaje muy flexible
Muy apropiado para controlar rutinas hechas en ensamblador
Muy veloz y potente, lo que permite un software efectivo
Produce programas de código compacto y eficiente
Permite general programas de fácil modificación
Posibilita una programación estructurada o modular Es un lenguaje compilado
El código fuente se escribe mayoritariamente en minúscula
DESVENTAJAS
Elaborar un sistema en C++ es como construir un rascacielos: tiene buen soporte y es robusto, pero si existen errores en los pisos inferiores toda la parte superior se viene abajo terriblemente.
Poco legible y eminentemente críptico
No es recomendable para desarrollo de páginas Web.
No dispone de editor propio
VARIABLES
10
Nombres de las variables
En C, al igual que en otros lenguajes de programación, es importante poder manejar datos. Los datos se almacenan en variables .
Una variable es un identificador o nombre dado por el usuario que contiene un valor numérico, de tipo texto, etc.
El contenido de las variables se puede cambiar en cualquier momento a lo largo de la ejecución del programa
A las variables no se les puede dar cualquier nombre, deben seguir estas reglas:
No se puede poner más que letras de la 'a' a la 'z' (la ñ no vale), números y el símbolo '_'. Los acentos no valen.
El nombre de una variable puede contener números, pero su primer carácter no puede serlo.
Nombres de las variables No se pueden poner signos de admiración, ni de interrogación...
11
Ejemplos de nombres de variables válidos:
Camiones, x, numero, x2, valor_residual
Ejemplos de nombres de variables no válidos:
1abc, ?valor, número
Declaración de variables
Las variables que se declaran dentro de una función se les llaman variables locales, y sólo pueden ser usadas dentro de esa función.
Las variables se suelen declarar al principio de la función. Para poder usar una variable tiene que haber sido declarada previamente.
Para declarar una variable hay que poner el tipo de datos seguido del nombre que queramos
Ejemplos:
Char una letra;
Int x; Float numero_pi;
Se pueden crear todas las variables que se quiera pero todas deben tener nombres distintos.
Inicialización de variables Para guardar un dato dentro de una variable hay que usar el símbolo =. Ejemplos:
12
Una letra = 'p'; x = 34; numero_pi = 3.1415;
OJO: Las variables de tipo CHAR sólo pueden almacenar una letra y debe estar entre comillas simples ' '. Tipos de Datos Para declara una variable es necesario indicar qué tipo de dato va a contener. Los tipos de datos que permite el lenguaje C son, entre otros.
Tipos datos: char, int, float, long, long long, short, double, void.
FLOAT : Almacena un
valor numérico real, con decimales. Rango [3.4e-38 , 3.4e38]
INT : Almacena un valor numérico entero (integer). Rango [-32768, 32768]
CHAR : Almacena un carácter ASCII como A, B, C, ... a, b, c, ... 1, 2, ...;( )
PALABRAS RESERVADAS EN LENGUAJE C++ Tienen un significado especial para el compilador y representan una instrucción propia de su lenguaje, no se pueden utilizar para identificar variables y se escriben siempre en minúsculas.
13
Operadores aritméticos Los operadores que se pueden utilizar con variables int y float son:
+ * / % ++ --
Suma Resta Multiplicación División Módulo (Resto de la división) Incrementa en 1 Decremento en 1
Operadores lógicos Se pueden hacer comparaciones utilizando los siguientes operadores:
> Mayor que >= Mayor o igual que < Menor que <= Menor o igual que == Igual que != No igual que && Función lógica Y || Función lógica O ! Función lógica NO
LIBRERÍAS La cadena de control tiene los caracteres que se deben mostrar en la pantalla y los caracteres de formato que indican cómo mostrar la lista de argumentos.
Assert.h Contiene una macro para el diagnóstico dentro de los programas. Ctype.h Contiene varias funciones para comprobación de tipos y transformación de caracteres. Errno.h Contiene varias macros usadas para informar de errores. Limits.h Contienen varias macros que definen constantes para el tamaño de tipo enteros.
14
Float.h Contienen varias macros que definen constantes para el tamaño de tipo flotante.
Locale.h Contienen varias macros, funciones y tipos para unidades locales, como unidad monetaria, tiempo, dígitos, etc. Math.h Contiene una macro y varias funciones matemáticas. Setjmp.h Contienen declaraciones que proporcionan una forma de evitar la secuencia normal de llamada y regreso de funciones. Signal.h Contiene un tipo, dos funciones y varias macros para manejar condiciones excepcionales que aparecen durante la ejecución, tal como una señal de interrupción de una fuente externa o un error en la ejecución. Stdarg.h Contiene un tipo y tres macros que proporcionan recursos para recorrer una lista de argumentos de función de tamaño y tipo desconocido. Stddef.h Contiene varios tipos y macros que también están definidas en otras librerías, como size_t. Stdio.h Contiene tipos, macros y funciones para la realización de tareas de E/S. Stdlib.h Contiene tipos, macros y funciones para la conversión numérica, generación de números aleatorios, búsquedas y ordenación, gestión de memoria y tareas similares. String.h Contiene tipos, macros y funciones para la manipulación de cadenas de caracteres.
Time.h Contiene tipos, macros y funciones para la manipulación de información sobre fechas y horas.
La función printf y las variables
Si queremos mostrar por pantalla el valor de una variable utilizando printf debemos de utilizar unos caracteres especiales según el tipo de dato que queramos mostrar: %s %d %f
Para variables del tipo char Para variables del tipo int Para variables del tipo float
La función printf tiene la siguiente forma general: Printf (, lista de argumentos)
15
La función gotoxy
Significa GO TO (x, y), es decir ir a (x, y), donde (x, y) es una coordenada de nuestra pantalla. Se suele usar antes de un printf, para poner el texto en una cierta parte de la pantalla.
Su sintaxis es la siguiente: Gotoxy (columna, renglón);
SENTENCIAS Sirven para etiquetar una sentencia de forma que el control del programa pueda ser transferido a ella. Se separan de la sentencia por dos puntos ":". TIPOS: Sentencias de selección
IF:
16
La sentencia if (SI,en español) es una sentencia muy usada en los lenguajes de programación. Su funcionamiento es simple. Se evalúa una condición, si es verdadera se ejecuta un proceso y si es falsa se ejecuta otro.
Estructura: if(condición) { // proceso 1 } else { // proceso 2 }
El proceso 1 es el que se realiza en caso de que la condición sea verdadera. El proceso 2 no es obligatorio, es decir, puede o no estar, y se ejecuta si la condición es falsa.
17
SWITCH
Es una instrucción de decisión múltiple, donde el compilador prueba o busca el valor contenido en una variable contra una lista de constantes ints o chars.
cuando el computador encuentra el valor de igualdad entre variable y constante, entonces ejecuta el grupo de instrucciones asociados a dicha constante switch(var int o char) { case const1: instrucción(es); break;
case const2: instrucción(es); break; case const3: instrucción(es); break; ……………… default: instrucción(es); };
si no encuentra el valor de igualdad entre variable y constante, entonces ejecuta un grupo de instrucciones asociados a un default, aunque este ultimo es opcional.
18
REPETITIVAS:
FOR
Es una sentencia usada en los lenguajes de programación para repeticiones. Con esta sentencia se define una variable numérica y se repite un determinado proceso la cantidad de veces que se le indica en la declaración de la sentencia. for(definición de la variable;numero de veces que se repetirá el proceso;suma numérica del contador) { // proceso que se repite } En la definición de variable se coloca la variable que utilizaremos para la repetición. El el numero de veces que se repetirá el proceso se coloca la condición mediante la cual se repetirá el proceso.
CONDICIONANTES:
WHILE
(MIENTRAS, en español) es una sentencia usada en los lenguajes de programación para repeticiones. Con esta sentencia se evalúa una condición y se repite un determinado proceso hasta que la condición deje de ser verdadera.
19
Estructura: while(condición) { // proceso }
En la condición colocaremos la variable afectada por la condición. El proceso de realizar mientras que la condición sea verdadera.
(HACER MIENTRAS, en español) funciona igual que el While con la diferencia de que radica en que el While común, el proceso, a menos que se cumpla la condición puede nunca ejecutarse
DO WHILE
Estructura: do { // Proceso } while(condición);
El proceso se realizara al menos una vez y luego se comprobara si la condición es verdadera, de serlo se repetirá el proceso, de lo contrario seguirá la ejecución del programa.
20
Sentencias de salto
RETURN
Se usa para volver de una función. Se trata de una sentencia de salto porque hace que la ejecución vuelva al punto en que se hizo la llamada a la función. Si hay algún valor asociado con return, se trata del valor de vuelta de la función. Si no se especifica un valor de vuelta, se asume que devuelve un valor sin sentido.
Donde expresión es opcional. Se pueden usar tantas sentencias return como se quiera en una función. Sin embargo, la función termina al encontrar el primero, expresión es opcional. Se pueden usar tantas sentencias return como se quiera en una función. Sin embargo, la función termina al encontrar el primero.
BREAK
EXIT
Tiene dos usos: para finalizar un case en una sentencia switch y para forzar la terminación inmediata de un bucle, saltando la evaluación condicional normal del ciclo. Cuando se encuentra la sentencia break dentro de un bucle, el bucle finaliza inmediatamente y el control sigue en la sentencia posterior al bucle.
Igual que se puede interrumpir un bucle, se puede salir anticipadamente de un programa usando la función exit () de la biblioteca estándar. Esta función da lugar a la terminación inmediata del programa, forzando la vuelta al sistema operativo.
21
Función exit () es:
Void exit (int código_de_vuelta);
CADENAS DE FORMATO d, i
entero decimal con signo
o
entero octal sin signo
u
entero decimal sin signo
x
entero hexadecimal sin signo (en minúsculas)
X
entero hexadecimal sin signo (en mayúsculas)
f
Coma flotante en la forma [-]dddd.dddd
e
Coma flotante en la forma [-]d.dddd e[+/-]ddd
g
Coma flotante según el valor
E
Como e pero en mayúsculas
G
Como g pero en mayúsculas
c
un carácter
s
cadena de caracteres terminada en '\0'
%
imprime el carácter %
p
puntero
SECUENCIA DE ESCAPE \a
Alerta
\b
Espacio atrás
\f
Salto de página
22
\n
Salto de línea
\r
Retorno de carro
\t
Tabulación horizontal
\v
Tabulación vertical
\\
Barra invertida
\'
Comilla simple
\"
Comillas dobles
FUNCIONES
Una función es un conjunto de líneas de código que realizan una tarea específica y puede retornar un valor. Las funciones pueden tomar parámetros que modifiquen su funcionamiento.
Cuando una función es invocada se le pasa el control a la misma, una vez que esta finalizó con su tarea el control es devuelto al punto desde el cual la función fue llamada
FUNCIONES CON VOID COMO ARGUMENTO.
23
Cuando se llama a una función, todos los parámetros con los que la llamamos son copiados y pasados a la función (paso por valor). Esto significa que si la función cambia el valor de los parámetros, solo lo hace dentro del ámbito de la función.
La función main pasa la dirección de a y b, por lo que a la función change_values se le pasa una copia de las direcciones
La llamada a la función no ha cambiado el valor de las variables que se le han pasado
La función cambia las copias de lo que se le ha pasado. Si queremos pasar parámetros por referencia hay que pasar punteros a los datos
ESTRUCTURA:
24
Utilizando las direcciones de a y b, la función puede acceder a los datos directamente.
Para hacer esto, utilizamos el operador &, que da la dirección de una variable
Bibliografía:
http://www.gratiszona.com/apuntes/lenguaje-c/09funciones.htm http://cbasesdedatos.blogspot.com/ http://blog.utp.edu.co/jnsanchez/files/2011/03/Palabrasreservadas-librerias-datos-etc.pdf http://www.unav.es/adi/UserFiles/File/80971550/2.Sent
encias.pdf http://www.fismat.umich.mx/mn1/manual/node7.html
25