programacion estructurada
TRANSCRIPT
1
PROGRAMACIÓN
ESTRUCTURADA
EN LENGUAJE C++
AUTOR: JOHANA VARGAS
FECHA: 21/10/2013
PERIODO: SEP 2013-FEB 2014
2
INDICE
Contenido
INTRODUCCIÓN A LA PROGRAMACIÓN ...................................................................4
LENGUAJE DE PROGRAMACIÓN C++ .........................................................................5
CARACTERÍSTICAS .........................................................................................................8
...................................................................................................................... 10 VENTAJAS
............................................................................................................... 10 DESVENTAJAS
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
3
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
4
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 el
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.
5
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.
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.
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.
6
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.
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.
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
7
8
CARACTERÍSTICAS
Las principales características del Lenguaje C son:
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.
Tiene un conjunto completo de
instrucciones de control.
Permite la agrupación de instrucciones
Incluye el concepto de puntero (variable que contiene la dirección
de otra variable).
Los argumentos de las funciones se
transfieren por su valor.
E/S no forma parte del lenguaje, sino que se proporciona a través de una biblioteca de
funciones
9
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:
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
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
Programación de
bajo nivel (nivel bit)
10
VARIABLES
VENTAJAS
Muy veloz y potente, lo
que permite un
software efectivo
Permite general
programas de fácil
modificación
Posibilita una programación
estructurada o modular
El código fuente se escribe
mayoritariamente en
minúscula
Es un lenguaje
compilado
Produce programas de
código compacto y
eficiente
Es un lenguaje muy
flexible
Muy apropiado para
controlar rutinas hechas
en ensamblador
DESVENTAJAS
Poco legible y
eminentemente críptico
No es recomendable para
desarrollo de páginas Web.
No dispone de editor propio
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.
11
Nombres de las variables
A las variables no se les puede dar cualquier nombre, deben seguir estas reglas:
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
Nombres de las
variables
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.
No se pueden poner signos
de admiración, ni de
interrogación...
El nombre de una variable puede
contener números, pero su
primer carácter no puede serlo.
12
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
Ejemplos:
Char una letra;
Int x;
Float numero_pi;
Inicialización de variables
Para guardar un dato dentro de una variable hay que usar el símbolo =.
Ejemplos:
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
Se pueden crear todas las variables que se quiera
pero todas deben tener nombres distintos.
13
Una letra = 'p';
x = 34;
numero_pi = 3.1415;
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.
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.
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, ...;( )
OJO: Las variables de tipo CHAR sólo pueden almacenar una
letra y debe estar entre comillas simples ' '.
14
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.
15
%s Para variables del tipo char
%d Para variables del tipo int
%f Para variables del tipo float
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:
La función printf tiene la siguiente forma general:
Printf (<cadena de control>, lista de argumentos)
16
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:
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);
La función gotoxy
17
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.
18
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.
19
REPETITIVAS:
FOR
CONDICIONANTES:
WHILE
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.
(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.
20
DO WHILE
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
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.
21
Sentencias de salto
RETURN
BREAK
EXIT
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.
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.
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.
22
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
23
\n Salto de línea
\r Retorno de carro
\t Tabulación horizontal
\v Tabulación vertical
\\ Barra invertida
\' Comilla simple
\" Comillas dobles
FUNCIONES
FUNCIONES CON VOID COMO ARGUMENTO.
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
24
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
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
ESTRUCTURA:
25
Bibliografía:
http://www.gratiszona.com/apuntes/lenguaje-c/09-
funciones.htm
http://cbasesdedatos.blogspot.com/
http://blog.utp.edu.co/jnsanchez/files/2011/03/Palabras-
reservadas-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