Está en la página 1de 12

INSTITUTO TECNOLÓGICO SUPERIOR

DE PÁNUCO
INGENIERÍA INDUSTRIAL

MATERIA:
ALGORITMOS Y LENGUAGE DE PROGRAMACIÓN

CLAVE:
INC-1005

GRUPO:
I404

TRABAJO DE INVESTIGACIÓN
UNIDAD 2

TEMA:
DESARROLLO DE LA LOGICA ALGORITMICA

ALUMNO:
Oswaldo García Hernández

FECHA DE ENTREGA: 02/05/2019


TIPOS DE DATOS
Hay dos clases de tipos de datos: tipos fundamentales y tipos derivados.

Únicamente vamos a ver los tipos de datos fundamentales.

Tipo entero: representa números enteros con o sin signo, que estarán compuestos
por los dígitos del 0 al 9, pudiendo ser precedidos por los signos + o -.
Algunos ejemplo de datos enteros son: 0, 23, -176, -1, etc.

Para definir variables en C se antepone la palabra reservada del tipo al identificador


de la variable. El tipo de datos entero se define en el lenguaje de programación C
por la palabra reservada int.
Para definir un tipo de dato en C se escribe lo siguiente:

int nombre_variable = valor;


No es necesario que la variable tenga un valor predeterminado. Se puede definir sin
asignarle ningún valor.

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;

String: Una de las características recientes que se ha añadido al estándar de C++


es la existencia de "strings"• (cadenas de texto) como parte del lenguaje, con un
manejo tan sencillo como lo es en otros lenguajes como Pascal o Basic.

En general, los compiladores del año 2000 o posteriores deberían permitir el manejo
de cadenas, y la mayoría de los anteriores no lo harán. Eso sí, es posible que algún
otro incluya alguna clase "string"• no totalmente estándar, como las "AnsiString"•
de Borland C++ Builder.

Veamos su manejo primero con un ejemplo sencillo que nos introduzca los
conceptos básicos:

1: //
2: // string1.cpp
3: //
4: // Introducción a C++
5: // Cadenas en el nuevo estandar de C++
6: // Probado con:
7: // Borland C++ 5.5 FCLT
8: //
9: // Curso de C
10: // Jose Ignacio Cabanes
11: //
12: /////////////////////////////////////////////
13:
14: #include <string>
15: #include <iostream>
16: using namespace std;
17:
18: main()
19: {
20: string mensaje;
21: mensaje = "Hola";
22: cout << mensaje;
23: }

a primera diferencia es la existencia de "named spaces"• (espacios con nombre)


dentro del nuevo estándar de C++. Se trata de una nueva forma de organizar los
fichero de cabecera (ficheros ".h"•), con la intención de que no sea un auténtico
caos cuando tenemos muchos. Así, los ficheros de cabecera estándar están en el
espacio llamado "std"•.

Se sigue pudiendo utilizar los fichero de cabecera de la forma clásica: podríamos


escribir

#include <iostream.h>

aunque la forma recomendada (y que quiere decir lo mismo) es

#include <iostream>
using namespace std;

Float:
Sintaxis:

1 float <nombre de la variable>;

Las variables de este tipo almacenan números en formato de coma flotante, mantisa
y exponente, para entendernos, son números con decimales. Son aptos para
variables de tipo real, como por ejemplo el cambio entre euros y pesetas. O para
números muy grandes, como la producción mundial de trigo, contada en granos. El
fuerte de estos números no es la precisión, sino el orden de magnitud, es decir lo
grande o pequeño que es el número que contiene. Por ejemplo, la siguiente cadena
de operaciones no dará el resultado correcto:
1 float a = 12335545621232154;
2
3 a = a + 1;
4
5 a = a – 12335545621232154;

Finalmente, “a” valdrá 0 y no 1, como sería de esperar. Los formatos en coma


flotante sacrifican precisión en favor de tamaño. Si embargo el ejemplo si
funcionaría con números más pequeños.
IDENTIFICADORES

Si se parte del hecho de que programar es solucionar problemas a través de


variables, entonces un programa tiene algunas variables, pero también existen
constantes. Estos dos elementos utilizados en el álgebra, son fáciles de
comprender: una variable, es la que cambia su valor (varía); y, una constante, es
la que no cambia su valor.

En programación debe aclararse que estos conceptos se deben considerar durante


el tiempo de ejecución, es decir cuando el programa está funcionando y no cuando
se están escribiendo las instrucciones.

Cada variable, constante e incluso algún proceso requieren un nombre que le


identifica, y de ahí proviene la palabra "identificadores", por lo que puede decirse
que un identificador es el nombre de cualquier variable, constante, procedimiento o
programa.

La escritura de un identificador tiene reglas, las cuales deben aplicarse siempre en


el momento de crear alguno de los elementos descritos.

"Un identificador debe iniciar con una letra, puede estar seguido de letras y/o
números, no debe tener espacios en blanco, ni caracteres especiales,
excepto el guión bajo (_)"

Actualmente se recomienda utilizar el convenio Camelize, según el cual cuando un


identificador esté formado por dos o más palabras en lugar de utilizar el guión bajo
(_), se debe iniciar cada palabra con letra mayúscula.

También es muy recomendable que los identificadores sean claros y correspondan


a la información que tendrán asignada; así, si se requiere una variable para el precio
de un producto, el identificador podría ser:

Correcto Incorrecto

precio p

precioProducto x
vp
valor
dato
valorProducto
Aunque los identificadores de la derecha, no generan error, no se comprende con
claridad que información van a contener. En la siguiente tabla se señalan algunos
identificadores incorrectos que sí generan error.

Correcto Incorrecto Razón

PI π π Es un caracter especial
area área á es un caracter especial
valorProducto valor Producto El espacio no es admitido

subtotal1 1subtotal El primer caracter debe ser una letra


OPERADORES

Un operador es un elemento de programa que se aplica a uno o


varios operandos en una expresión o instrucción.

La función de cada operador depende del tipo que se esté utilizando, veámos cada
uno de ellos.

Tipos de operadores:

Operadores de asignación.

Como su nombre lo dice su función es asignar un valor especifico a una variable


mediante una asignación simple (=) o por dos operadores, llamados operadores
compuestos.

Todos son binarios.

Es recomendable no dejar espacios entre los operadores.

Operador Acción

= Asignación Básica

*= Asigna Producto

/= Asigna División

+= Asigna Suma

-= Asigna Resta

%= Asigna Modulo
<<= Asigna Desplazamiento Izquierda

>>= Asigna Desplazamiento Derecha

&= Asigna AND entre Bits

^= Asigna XOR entre Bits

|= Asigna OR entre Bits

Operadores Aritméticos.

Son aquello símbolos que nos permiten hacer operaciones o cálculos simples. Los
operadores de decremento e incremento, suman o restan por defecto un 1 al valor
de la variable. Suelen ser usados como mayor frecuencia en ciclos repetitivos.

Según la posición de estos operadores puede cambiar el valor:

Si el operador esta ante de la variable se conoce como prefijo, por ende, se realiza
primero el incremento o decremento y después el utilizar el valor de la variable.

Si esta después se conoce como posfijo, primero se usa el valor de la variable y


luego se incrementa o decremento.

Operador Acción Ejemplo

– Resta x = 5 – 3; // x vale 2

+ Suma x = 2 3; // x vale 5

* Multiplicación x = 2 3; // x vale 6
/ División x = 6 2; // x vale 3

% Módulo x = 5 % 2; // x vale 1

— Decremento x = 1; x – – // x vale 0

++ Incremento x = 1; x++ // x vale 2

Operadores Relacionales o de comparación.

Permiten evaluar una la igualdad y la magnitud, es decir si dos variables


son iguales, diferentes o menores, a su vez permite comprobar o bien
probar la veracidad de una condición, propuesta o pregunta, la
respuesta es de valor booleano (verdadero que es igual 1 por defecto, y
falso que le corresponde el 0).

Operador Acción Ejemplo

< Menor x = 5 y=3; (y < x)

> Mayor x =7 y=9; (y> x)

<= Menor o igual x = 5 y= 3; (y <= x)

>= Mayor o igual x =7 y=5; (x >= y)

== Igual x = 5 y =5; (x == y)

¡= Diferente X=9 y=5; (x ¡= y


Operadores Lógicos

Producen un resultado booleano, les corresponden lógicos los cuales están


relacionados con cierto o falso, podría decirse que ayudan a “unir”
propiedades. Función de la siguiente manera.

Se tienen dos variables cualesquiera:

 Si dos ambas son verdaderas se obtiene un resultado verdadero.


 Si alguna es verdadera, es verdadero.

Operador Acción

&& Conjunción (Y) and

|| Disyunción (O) or

! Negación

Es la negación de una variable, falso. Recordemos que falso


equivale a 0.
PRIORIDAD DE LOS OPERADORES
Cuando se realizan expresiones, en cualquier lenguaje, incluyendo
pseudocódigo, es habitual mezclar en ellas diferentes operadores, incluso
de distintos tipos (aritméticos, relacionales, lógicos o de cadena).
Ya viste que en el caso de los numéricos las operaciones entre paréntesis
tienen prioridad. Además, ya sabes que se pueden anidar distintas
secuencias de paréntesis como has apreciado en ejemplos anteriores. En
esos casos se prioriza el más interno al más externo y después de
izquierda a derecha. Por tanto en ((3*5)+20)*4 lo primero es multiplicar
3 por 5, despues al resultado que es 15 sumar 20, y este resultado que
es 35 multiplicarlo por 4. Además el orden de operación alterado por el
uso de paréntesis altera lógicamente el resultado final (lo vemos a
continuación con un ejemplo).
Cuando se utilizan operadores mezclados, la prioridad es la siguiente:

1. Paréntesis (si hay varias parejas de paréntesis, de los más internos a


los más externos).
2. Aritméticos (en el mismo orden que en matemáticas): ^, *, /, +, -
3. Concatenación.
4. Relacionales.
5. Lógicos.

Veamos algunos ejemplos:


Expresión Resultado

3*5<8 O 4+6>7 El resultado de esta expresión es verdadero, porque si primero ejecutamos los
operadores aritméticos, la expresión quedaría como 15<8 o 10>7. Ya que para el
operador lógico O si cualquiera de las comparaciones es verdadero el resultado
es verdadero se cumple pues 15 no es menor que 8 pero 10 si es mayor que 7.
Primero han intervenido los aritméticos, después los relacionales y por último el
lógico.
(2*12>9+8) Y 20<18 El resultado será falso, pues sólo se cumple que 24 es mayor que 17 pero no
que 20 sea menor que 18. Para el operador lógico Y, sólo se obtiene resultado
verdadero si todas las condiciones se cumplen.

(50 MOD 4)*3 El resultado es 6, pues el dividendo es 50, el divisor 4, el cociente 12 y el


resto 2. Al multiplicar 2 por 3 nos da 6.

50 MOD (4*3) El resultado es 2, pues el dividendo es 50, el divisor 12, el cociente 4 y el


resto 2.
Se puede corroborar que la alteración del orden de ejecución impuesto
por los paréntesis, colocados en distinto lugar, da resultados diferentes
como habíamos indicado anteriormente.