martes, 17 de julio de 2012

Sintaxis Del Lenguaje C++


C++ es considerado un C más grande y potente. La sintaxis de C++ es una extensión de C, al que se han añadido
numerosas propiedades, fundamentalmente orientada a objetos. ANSI C ya adoptó numerosas características de C++, por lo que la
migración de C a C++ no suele ser difícil.
En este apéndice se muestran las reglas de sintaxis del estándar clásico de C++ recogidas en al Annotated Manual (ARM) de
Stroustrup y Ellis, así como las últimas propuestas incorporadas al nuevo borrador de C++ ANSI, que se incluyen en las versiones 3
(actual) y 4 (futura de AT&T C++).
B.1. ELEMENTOS DEL LENGUAJE
Un programa en C++ es una secuencia de caracteres que se agrupan en componentes léxicos (tokens) que comprenden el vocabulario
básico del lenguaje. Estos componentes de léxico son: palabras reservadas, identificadores, constantes, constantes de cadena,
operadores y signos de puntuación.
B.1.1. Caracteres
Los caracteres que se pueden utilizar para construir elementos del lenguaje (componentes léxicos o tokens) son:
abcdefghi jklmnopqrstuvwxyz
ABCDEFCHIJKLMNOPQRSTUVWXYZ
0123456789
caracteres espacio (blancos y tabulaciones)
B.1.2. Comentarios
C++ soporta dos tipos de comentarios. Las líneas de comentarios al estilo C y C ANSI, tal como:
/* Comentario estilo C */
/* Comentario mas extenso, pero también es estilo C y ANSI C */
El otro tipo de comentarios se pueden utilizar por los programadores de C++: La versión /*...* / se utiliza para comentarios que
excedan una línea de longitud y la versión //...se utiliza, sólo, para comentarios de una línea. Los comentarios no se anidan.
B.1.3. Identificadores
Los identificadores (nombres de variables, constantes,...) deben comenzar con una letra del alfabeto (mayúscula o minúscula) o con
un carácter subrayado, y pueden tener uno o más caracteres. Los caracteres segundo y posteriores pueden ser: letras, dígitos o un
subrayado, no permitiéndose caracteres no alfanuméricos ni espacios.
tescprueba // legal
Xl23 // legal
multi_palabra // legal
var25 // legal
l5var // no legal
C++ es sensible a las mayúsculas.
Paga_mes es un identificador distinto a paga_mes
Una buena práctica de programación aconseja utilizar identificadores significativos que ayudan a documentar un programa.
nombre apellidos salario precio_netoPágina 4 de 28
B.1.4.Palabras reservadas
Las palabras reservadas o claves no se deben utilizar como identificadores, debido a su significado estricto en C++; tampoco se
deben redefinir. La Tabla B. 1 enumera las palabras reservadas de C++ según el ARM(Siglas del libro de BJARNE

COMO SE CODIFICAN LAS PRIMITIVAS, REPETITIVAS EN C++?



2.4.        PARA

·         Ciclo controlado por contador:
For (valor inicial; condición; incremento)
Acción;


2.5.        MIENTRAS QUE

·         Ciclo de entrada asegurada:
While (condición)
Acción;


2.6.        HAGA HASTA

·         Ciclo Do… while
Do {
Sentencia;
.
.
} while (<expl>);













Ejemploos :) PD: No Los `Pidio "Lose" Pero Los Subiii xD


Inicio
Sum=0
Leer Nom
Hacer para c = 1 a 7
Leer calif
Sum = sum + calif
Fin-para
prom = sum /7
Imprimir prom
Fin. 

Variables Contadoras :)


1.1.        VARIABLES CONTADORAS

Como su nombre lo indica estas variables se usan fundamentalmente para contar, por lo tanto deben ser de tipo entero. Un ejemplo de este tipo de variables es la variable de control en un ciclo para. Una variable contadora se incrementa (o decrementa) en un valor constante en cada iteración del ciclo. Es así como en los algoritmos presentados anteriormente para resolver el styleproblema de calcular la suma de los números naturales desde 1 hasta,  la variable i es una variable contadora.
Ejemplo. Desarrollar un algoritmo que imprima los números impares en orden descendente que hay entre 1 y 100.
i: entero
i := 99
mientras (i >=1) hacer
escribir( i)
escribir( ‘,’ )
i := i – 2
fin_mientras


Variables Sumadoras


        VARIABLES SUMADORAS:

Son variables cuyo valor se incrementa o decremento en una cantidad variable. Necesitan operaciones de:
·         Inicialización: <nombre_acumulador> ← <valor_de_inicializacion>
·         Acumulación: <nombre_acumulador> ← <nombre_acumulador> + <nombre_variable>
Hay que tener en cuenta que la siguiente también sería una variable de acumulación: <nombre_acumulador> ← <nombre_acumulador> *<valor>

Ciclo Haga. Repita Hasta


1.1.        HAGA HASTA
Esta es una estructura similar en algunas características, a la anterior. Repite un proceso una cantidad de veces, pero a diferencia del Hacer-Mientras, el Repetir-Hasta lo hace hasta que la condición se cumple y no mientras, como en el Hacer-Mientras. Por otra parte, esta estructura permite realizar el proceso cuando menos una vez, ya que la condición se evalúa al final del proceso, mientras que en el Hacer-Mientras puede ser que nunca llegue a entrar si la condición no se cumple desde un principio.
EJEMPLO 1: Algoritmo que calcule la suma de los 50 primeros números enteros.
Inicio
Suma ← 0
Conta ← 0
Repetir
Conta ← conta + 1
Suma ←suma + conta
Hasta que conta= 50
Escribir ¨suma¨
Fin

EJEMPLO 2:
Se desea obtener los cuadrados de todos los números leídos desde un archivo hasta que se encuentre el número 0.
Inicio
Repetir
Leer ¨archivo, num¨
Si num<> 0 entonces
Escribir ¨num ^ 2¨
Fin si
Hasta que num= 0
Fin

Ciclo Mientras Que :)


1.1.        MIENTRAS QUE

Esta es una estructura que repetirá un proceso durante “N” veces, donde “N” puede ser fijo o variable. Para esto, la instrucción se vale de una condición que es la que debe cumplirse para que se siga ejecutando. Cuando la condición ya no se cumple, entonces ya no se ejecuta el proceso
EJEMPLO 1: Calcular y escribir los cuadrados de una serie de números distintos de 0 leídos desde el teclado.
Inicio
Leer num
Mientras num <> 0 hacer
cuadrado← num*num
Escribir ¨cuadrado¨
Leer num
fin_mientras
Fin

EJEMPLO 2:
Algoritmo que lee un número y calcule si es par o impar.
Inicio
Escriba ¨Digite un número¨
Lea num
I←1
Mientras (I ≤ 50)
Si (num mod/2) entonces
Escriba ¨El numero es par¨
Si no
Escriba ¨El numero es impar¨
Fin si
Lea num
I = I + 1
Fin mientras que
Fin




Ciclo Para! :)


1.    ESCRIBIR EL CONCEPTO, ESTRUCTURA Y DOS EJEMPLOS DE:
1.1.        PARA

Esta estructura ejecuta las acciones del cuerpo del bucle un número especificado de veces, y de modo automático controla el número de iteraciones o pasos.

Pseudocódigo
Sintaxis en C++
Programa en C++

Inicio
Desde i=0 hasta100
Escribir i
Fin_ desde
Fin











for (exp_inic; exp_prueba; exp_inc)
instrucción;
for (exp_inic; exp_prueba; exp_inc)
{
Instrucción_a;
Instrucción_b;
Instrucción_n;
}





#include <iostream.h>
#include <stdlib.h>
int main() {
intinumtab;
cout << "\n Numero de la Tabla de Multiplicar:
"<<endl;
cin >> inumtab;
for(int i=1; i<=10; i++)
cout<< inumtab <<"*"<<i<<"="<< inumtab*i<<
endl;
system("PAUSE");
return 0; }

EJEMPLO 1: Leer 10 números y obtener su cubo y su cuarta.
Inicio
Hacer para n = 1 a 10
Leer núm.
cubo = num * num * num
cuarta = cubo * num
Imprimir cubo, cuarta
Fin-para
Fin.

EJEMPLO 2:
Leer 10 números e imprimir solamente los números positivos
Inicio
Hacer para n = 1 a 10
Leer num
Si num > 0 entonces
Imprimir num
fin-si
Fin-para
Fin.

Ciclo Haga, Hasta, Repita Hasta


Sintaxis

La sintaxis en pseudocódigo es la siguiente:

   { \color{Sepia}      \mathit{ repetir }}

   { \color{BlueViolet} \mathit{ instrucciones }}

   { \color{Sepia}      \mathit{ hasta \; que }} \;
   { \color{OliveGreen} \mathit{ condici \acute{o} n }}
El cuerpo del bucle es el fragmento de programa que será repetido en cada iteración.
La condición es una variable o una función reducible a valor booleano.

[editar]En lenguajes de programación

En la mayoría de los lenguajes de programación seria:
REPEAT
   …
   …

UNTIL (condición)
Esta estructura de control siempre permite la ejecución del cuerpo del bucle cuando menos una vez, y lo finaliza cuando la condición es cierta.

[editar]Ejemplos

Una situación típica en la que resulta cómoda el empleo de esta sentencia es la que se produce cuando al finalizar cada iteración se pregunta al operador si desea continuar con otra nueva. En estos casos, el programa siempre realiza la primera iteración y según la condición de salida la repite. Otro caso también típico son los filtros de entrada de datos, donde se comprueba si el valor de la entrada esta en un rango de valores.
Admite un número del 3 al 7, si no pregunta de nuevo
 REPEAT
   WriteString(“Escribe el numero”)
   ReadInt(numero)
 UNTIL (numero >= 3) AND (numero <= 7)

[editar]Reemplazable en casi todos los casos

Dentro de la programación estructurada, el bucle repetir puede ser sustituido por un bucle mientras, del siguiente modo:
 Repetir
    (Cuerpo del bucle)
 Hasta que (condición)
Puede escribirse
 (Cuerpo del bucle)
 Mientras NO(condición)
    (Cuerpo del bucle)
 fmientras
Estos dos fragmentos de código son equivalentes, porque ambos presentan el mismo resultado en la mayoría de los casos. De todos modos, el bucle repetir es útil cuando se desean realizar las acciones que están dentro al menos en una ocasión

Ciclo Mientras Que... Con El Lenguaje C++ :) Taree Punto 2


En este ciclo el cuerpo de instrucciones se ejecuta mientras una condición permanezca como verdadera en el momento en que la condición se convierte en falsa elciclo termina.
Su formato general es :
cargar o inicializar variable de condición;
while(condición)
{
grupo cierto de instrucciones;
instrucción(es) para salir del ciclo;
};
Un error muy comun con el while, es poner un punto y coma(;) despues de la (condición) ejemplo while(condicion); ←-esto es y causa un error.
Prog7.cpp
#include <stdio.h>

#include <conio.h>

#include <string.h>

void main()

{

clrscr();

// declaracion variables

int x=1;

// instruccion while

while(x<=10)

{ gotoxy(10, x+3); printf("%d PATO",x); x++; };

getchar();

}

Corrida:
image198.jpg
While puede llevar dos condiciones en este caso inicializar 2 variables de condición y cuidar que existan 2 de rompimiento o terminación de ciclo.
El grupo cierto de instrucciones puede ser una sola instrucción o todo un grupo de instrucciones.
La condición puede ser simple o compuesta.
Los casos generales de for tambien se aplican a while.
A este ciclo también se le conoce también como ciclo de condición de entrada o prueba por arriba porque este ciclo evalúa primero la condición y posteriormente ejecuta las instrucciones.
TAREAS PROGRAMAS EN C++
1.- DESPLEGAR ENTEROS ENTRE 50 Y 80
2.- DESPLEGAR MULTIPLOS DE 4 ENTRE 60 Y 20 ACOMPAÑADOS DE SU LOGARITMOS DE BASE 10 Y BASE e RESPECTIVOS.
3.- CONSTRUIR LA TABLA DE DIVIDIR QUE EL USUARIO INDIQUE.
4.- Evaluar una funcion cualesquiera para el rango de valores de x de -3 a +5

CICLO DESDE- O PARA! TAREEAA!! :)



Instrucciones para ciclos resuelven el problema de repetir todo el programa o cierta parte del programa mas de una vez.
Este ciclo es uno de los mas usadopara repetir una secuencia de instrucciones, sobre todo cuando se conoce la cantidad exacta de veces que se quiere que se ejecute una instrucción simple o compuesta.
Su formato general es:
for (inicialización; condición; incremento)
{ instrucción(es); };
ejemplo:

for(x=1;x⇐10;x=x+1)
{ puts(” MAMA ”); };

En su forma simple la inicialización es una instrucción de asignación que carga la variable de control de ciclo con un valor inicial.
La condición es una expresión relacional que evalúa la variable de control de ciclo contra un valor final o de parada que determina cuando debe acabar el ciclo.
El incremento define la manera en que la variable de control de ciclo debe cambiar cada vez que el computador repite un ciclo.
Se deben separar esos 3 argumentos con punto y coma (;)
EJEMPLO
Codigo prog6.cpp
#include <stdio.h>

#include <conio.h>

#include <string.h>

void main()

{

clrscr();

// declaracion variables

int x;

// instruccion for

for(x=1;x<=10;x=x+1)

{ gotoxy(10, x+4); printf(&quot;%d MAMA&quot;,x); };

getchar();

}

corrida:
image197.jpg
Casos Particulares del ciclo for;
1.- El ciclo comienza en uno y se incrementa de uno en uno este es el caso mas general.
2.- Pero el valor inicial puede se diferente de uno, ejemplo;
for(x=5;x⇐15;x=x+1){ etc.};
3.- Incluso el valor inicial puede ser negativo, ejemplo;
for (x = -3 ;x⇐ 8; x=x+1) { etc.};
4.- Los incrementos también pueden ser diferentes al de uno en uno, ej.;
for (x=1; x⇐ 20; x=x+3){ etc. };
5.- Incluso pueden ser decrementos, solo que en este caso, recordar;
5.1.-el valor inicial de la variable debe ser mayor que el valor final.
5.2.-cambiar el sentido de la condición.
ejemplo;

for (x= 50 ; x >= 10; x= x-4 ) { etcétera };

6.- Solo para los casos de incrementos y decrementos de una en una
UNIDAD substituir en el for:
el x = x + 1 por x++
el x = x - 1 por x–
TAREAS PROGRAMAS EN C++
1.- CONSTRUIR UN PROGRAMA QUE DESPLIEGUE LOS NÚMEROS DEL 20 AL 30.
2.- DESPLEGAR LOS ENTEROS ENTRE 50 Y 30 ACOMPAÑADOS DE SU POTENCIA CUADRADA Y RAÍZ CUBICA RESPECTIVA (revisar el tema de operadores aritmeticos).
3.- DESPLEGAR LOS MÚLTIPLOS DE 5, ENTRE 10 Y 50, ACOMPAÑADOS DE SU FACTORIAL Y LOGARITMO RESPECTIVO (revisar el tema de operadores aritmeticos tambien).
4.- DESPLEGAR LA TABLA DE MULTIPLICAR QUE EL USUARIO INDIQUE.
5.- EVALUAR LA FUNCION Y=5X^2 + 3X + 8 CUANDO X–> -3…10 (RANGO DE -3 HASTA 10)