Make your own free website on Tripod.com

Solución de Probemas con la Computadora

 

Objetivos

Constantes y Variables

Tipos de datos

Funciones

Operadores

Expresiones y Ecuaciones

Preguntas de discusión

Aplicación de conocimiento

Glosario

 

Objetivos

 

  1. Diferenciar entre los tipos de datos de variable y constantes: alfanuméricos, numéricos y lógicos
  2. Calibrar y evaluar expresiones y ecuaciones usando variables, constantes, operadores y la jerarquía de los operadores.

 

Tipos de datos

 

Para procesar la solución, la computadora necesita datos. Los datos son hechos caóticos, crudos. Llegan a la computadora por medio del input y son procesados (cocidos) por el programa. Estos datos, una vez organizados, se convierten mediante el output en información. Los tipos de datos se asignan a las variables y a las constantes.

 

Un programa computadorizado opera sobre datos (guardados internamente en la memoria, guardados externamente en un disco, o entrados desde el teclado, scanner, o sensor eléctrico) y produce un output.

 

Datos numéricos

 

Los datos numéricos constan de todo tipos de números que pueden usarse para calcular.

  1. Números íntegros, como: 856, –32
  2. Números reales, como: 534.67, 65.0, 0.567. Los números reales también pueden expresarse con notación científica: 4.2E8  que equivale a 4.2 x 108.

 

Datos alfanuméricos

 

Estos datos consisten en todo tipo de caracteres, ya sean números, letras y otros caracteres especiales escritos entre comillas. Ejemplos: "$", "%", "A", "a","3","B345", "25", "Sueños Corp", 01/22/2000 o "01/22/2000". Los datos alfanuméricos no se pueden usar para hacer cálculos, aunque consista sólo en números. Cuando se agrupan dos o más caracteres, la computadora los considera como un string—derivado de a string of characters.

 

Datos lógicos

 

Hay dos tipos de datos lógicos: TRUE y FALSE. Algunos lenguajes utilizan yes, T e Y para TRUE, y no, F y N para FALSE. Estos datos se utilizan para tomas decisiones de si-o-no. Por ejemplos, estudias, si o no.

 

Reglas para los Tipos de Datos

 

  1. Los datos que definen el valor de una variable y constante generalmente son datos numéricos, alfanuméricos y lógicos.
  2. El programador designa los tipos de datos durante el proceso de programación. Luego la computadora asocia el nombre de la variable con el tipo de dato asignado.
  3. Los tipos de datos no deben mezclarse.  Un dato alfanumérico no se debe colocar en un lugar de la memoria asignado para datos numéricos, y viceversa.
  4. Todo número que quiere usarse para calcular se le ha de asignar el tipo de dato numérico.

 

C++

En C++ cada pieza de datos  debe ser un tipo de dato específico. El tipo de dato determina cómo se representan los datos en la computadora y la forma de procesarlos

Type

Size (in bytes)

Bool

1

Char

1

Short

2

Int

4

Long

4

Float

4

Double

8

long double

8

 

 

 

 

Tipos integrales

Los tipos de datos char, short, int y long se conocen como tipos integrales porque hacen referencia a valores íntegros –números enteros sin fracción: 22  1  4512  0 548   -954   -13

No se permiten comas. Cuando se añade la palabra reservada unsigned al tipo de dato

 

unsigned int

 

el valor del dato integral sólo puede ser positivo o cero.

 

EN C+++, un valor que empiece con un cero es tomado como un número octal (base-8) en lugar de un número decimal (base-10). Si escribes

 

015

 

el compilador de C++ interpreta este dat como el número 13 decimal. Lo mejor es no empezar el entero con un 0.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Tipos char

 

El tipo char es el dato más pequeño para representar un valor integral. Un valor char ocupa menos espacio de memoria que un valor int. El uso más importante del tipo char es para describir datos que consisten en un carácter alfanumérico–una letra, un dígito, o un símbolo especial:

 

‘A’  ‘a’  ‘6’  ‘3’  ‘+’  ‘–‘  ‘$’   ‘?’   ‘*’  ‘ ‘

 

El compilador de C++ necesita los apóstrofes para diferenciar entre el carácter ‘6’ y el entero 6. El blanco, ‘ ‘ es un carácter válido. No se podrán sumar ni restar los tipos char, pero si se pueden comparar.

 

 

 

 

 

 

 

 

 

 

 

 

Tipos Floating Point

 

Los tipos flotantes (floating) se usan para representar números reales. Estos números tienen una parte entera y otra parte fraccional, con un punto decimal entre ambas:

 

18.0   345.67   0.32    8.   134987.8765   .8

 

El hecho de empezar con un 0 no le convierte en un número octal. Eso sólo aplica con valores integrales. El dato double significa doble precisión.

 

Los valores floating point pueden tener un exponente, como unna anotación científica. En lugar de escribir 3.504 x 1012 , en C++ se escribe 3.504E12. La E significa exponente de base 10.

 

1.65437E-12   8E30

 

 

 

 

 

               

 

                                                                                                                                                                                               

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               

 

 

                                                                                                                                                                                                                                                                                                                                                                                                                        

 

 


                       

 

 

 

 

 

 

 

 

                    

 

Constantes y Variables

 

La computadora utiliza constantes y variables (datos usados en el proceso de programación) para resolver problemas.

 

Una constante es un valor, alfanumérico o numérico, que nunca cambia mientras se procesan todas las instrucciones dadas para resolver un problema. Las constantes pueden ser cualquier tipo de dato: numérico, alfanumérico o un símbolo especial y puede especificarse por sus atributos, como el nombre, la localización, su valor y otros atributos como el tipo de dato y el tamaño. Una constantes es como una variable, excepto que no tiene una localización explícita, sino sólo un valor: Esto no quiere decir que la constante no es guardad en la memoria, sino que una vez su valor es computado, éste no puede cambiarse y el programa no puede hacer referencia explícita a su localización.

 

 

 

 

 

 


En algunos lenguajes de programación las constantes pueden tener un nombre, en cuyo caso se le asigna un lugar en la memoria y un nombre. Una vez se le da un valor a la constante, éste no puede cambiarse durante la ejecución del programa.

 

Una variable es un objeto que guarda un valor que puede cambiarse durante el proceso de ejecución. Una variable puede especificarse por sus atributos, como el nombre, la localización, su valor y otros atributos como el tipo de dato y el tamaño. A continuación una representación gráfica de la variable:

 

 

 

 

 

 

 

 


Las variables pueden ser cualquier tipo de dato, como las constantes. El programador le asigna un nombre a la variable como un nombre de referencia para con un valor específico de la variable. A su vez, la computadora usa el nombre como referencia para ayudar a buscar el valor en su memoria. La computadora mantiene el valor de la computadora en un lugar específico de la memoria. La localización de la memoria se llama variable y su contenido es el valor de la variable.

 

La forma como una variable cambia su valor es mediante la declaración asignada x = e, donde x es el nombre de la variable y e es una expresión. La semántica de esta declaración es que e es evaluada de acuerdo a un valor, el cual es copiado en el lugar de x.

 

Aunque una variable guarda en un lugar el valor y el lugar, es importante distinguir entre ambos. En la declaración asignada

 

x = y

la y del lado derecho del signo igual representa el valor de y (llamado r-valor o valor del lado derecho), mientras que la x del lado izquierdo representa la localización de x (llamado l-valor o valor del lado izquierdo).

 

Constantes

Variables

Reglas

No pueden cambiarse.

Ejemplos:

 

Valor       "25"

 

Valor       "SUEÑOS"

 

Valor      "– 2.5"

Reglas

Se da un nombre al lugar de almacenaje.

El valor del contenido del nombre de la variable puede cambiarse.

Se hace referencia a la variable por su nombre en las instrucciones.

Ejemplos:

 

Nombre variable: EDAD

Valor     "25"

 

Nombre variable: CASH

Valor     "25.50"

 

Nombre variable: CIUDAD

Valor      "AGUADA"

 

 

C++

Nominación de los elementos del programa: Identificadores

Los identificadores se usan en C++ para nominar cosas y localizaciones de memoria. Los identificadores constan letras (A–Z, a–z), dígitos (0–9), y el carácter subrayado (_), pero debe empezar siempre con una letra o el subrayado. Se recomienda empezar con una letra.

Los identificadores pueden usarse para nominar constantes y variables. En otras palabras, un identificador puede ser el nombre de localización de una memoria cuyo contenido no puede cambiarse o el nombre una localización de memoria cuyo contenido puede cambiarse.

En C++ se debe declarar cada identificador antes de ser usado. El identificador se asocia con un dato objeto, una función o un tipo de dato.

 

Identificadores inválidos

 

40Hours       No puede empezar con un dígito

Get                Data   No se permiten blancos

Box-13          La separación – significa restar en C++

int                 Es una palabra predefinida o reservada

 

Identificadores válidos

 

Total

EmpNum

Hours

PayRate

overtime

 

La declaración

 

int empNum;

 

indica que el identificador empNum es el nombre de una variable cuyo contenido es de tipo int.

 

Variables

 

Un programa opera a base de datos. Los datos se guardan en la memoria. Mientras se ejecuta un programa, pueden guardarse valores diferentes en la misma localización de la memoria en distinto tiempo.

El nombre simbólico asociado con una localización de memoria es el nombre de la variable o identificador variable.

Declarar una variable significa ambas cosas: especificar su nombre y su tipo de dato. Esto dice al compilador que asocie un nombre con la localización de la memoria cuyo contenido es de un tipo específico (por ejemplo, int, flota, char). La siguiente manifestación declara que sumOfScores es una variable de tipo int, y las otras dos de tipo float.

 

int sumOfScores;                 // Suma de punt.

float houres;                         // Horas trabajadas

float wages;                          // Salario devengado

 

Los comentarios (//) explican al lector lo que representa cada variable.

 

En C++ una variable puede contener sólo datos con valores del tipo especificado en la declaración.

Esta es la sintaxis de la declaración de una variable:

Text Box: TipoDato  Identificador;

 

Donde TipoDato es el nombre del tipo de dato como int, flota o char. Una declaración finaliza siempre con punto y coma.

Cuando distintas variables tienen el mismo tipo de dato, pueden declararse en declaraciones separadas o en una sola declaración:

 

Int studentCount, maxScore, sumOfScores; stNum

 

O

int studentCount;                // Cuenta del estudiante

int maxScore;                        // Puntuación mayor

int sumOfScores;                 // Suma de puntuaciones

int stNum                               // Número estudiante

Constantes

 

Una constante en C++, como en matemáticas, es un valor que nunca cambia. Todos los números–enteros y floating point–son constantes. También son constantes los caracteres de una letra, encerrados entre una comilla simple (‘) y la secuencia de caracteres o strings, encerrados entre comillas (“).

Las comillas nos permiten distinguir entre un carácter o string y un identificador. “cantidad” es una serie de caracteres, mientras que cantidad (sin comillas) es un identificador.

El nombre de la constante es el lugar de la memoria referido por un identificador, donde se guarda el valor del dato que no puede cambiarse.

 

 

 

 

 

 

 

 

Ejemplo de CONSTANTES en C++

 

12   66.7    ‘A’   “Bienvenidos a la clase”

 

Esta es la sintaxis para la declaración de una constante:

Text Box: Const TipoDato Identificador = ValorLiteral

 

Observa la palabra reservada const que empieza la declaración, y el signo (=) aparece entre el identificador y el valor literal.

Estas son declaraciones válidas de constantes:

const char  BLANK = ‘  ‘;          // Incluir un espacio

const float  PI = 3.14159;

const float MAX_HOURS = 40.0   // Máx. horas lab.

const float  INTEREST_RATE = 0.12;

const float OVERTIME = 1.5   // Pago overtime

const  int   MAX  = 20            // Máximo 20

 

Muchos programadores de C++ escriben en letras mayúsculas el identificador del nombre de una constante para distinguir el nombre de una variable del de una constante.

 

Declaraciones ejecutables: Assignment statement

 

Assignment Statement. Es una declaración que guarda el valor de una expresión dentro de una variable.

El valor de una variable se cambia mediante una declaración asignada (Assignment Statement).  Por ejemplo:

 

quizScore = 10;

 

asigna el valor de 10 a la variable quizScore (guarda el valor 10 en el lugar de la memoria llamado quizScore).

Esta es la sintaxis de una declaración asignada:

Text Box: Variable = Expresión;

 

 

El significado (semántica) del operador de la asignaci’on (=) es “guarda”; el valor de la expresión es guardado en la variable. Cualquier otro valor que esté en la variable se destruce y es reemplazado por el nuevo valor de la expresión.

Dadas las declaraciones:

 

int num;

int alpha;

float rate;

char ch;

 

podemos hacer las siguientes asignaciones:

 

Variable

Expresión

alpha =

rate =

ch =

num =

3476;

0.75;

 ‘B’;

alpha;

 

Las siguientes asignaciones no son válidas:

 

ch = “Hola”;

 

La variable char sólo puede soportar un carácter.

Las expresiones se construyen con constantes, variables y operadores. Las siguientes son expresiones válidas:

 

Alpha + 2     rate – 6.0      4 – alpha     rate     alpha *  num

 

 

 

 

Ir al Menú

Funciones

 

Las funciones son un grupo pequeño de instrucciones que ejecutan tareas específicas y devuelven valores. Generalmente se incluyen ya construidas en los lenguajes de programación y programas de aplicaciones. Las funciones se utilizan como parte de las instrucciones en la solución de un problema. Cada lenguaje o aplicación tiene un grupo de funciones. Algunos lenguajes permiten crear uno mismo las funciones.

Existen cinco clases de funciones:

 

Funciones matemáticas.

Funciones de String.

Funciones de conversión.

Funciones Estadísticas.

Funciones de utilidad.

Función

Definición

Ejemplo

Resultado

Funciones matemáticas

SQRT(N)

Devuelve la raíz cuadrada de N*

SQRT(4)

2

ABS(N)

Devuelve el valor absoluto de N

ABS(–3)

3

ROUND(N, n1)

Devuelve el valor redondeado de N al lugar n1

ROUND

(3.72592)

3.73

INTEGER(N)

Devuelve el número entero menor o igual a N

INTEGER

(6.7312)

6

RANDOM

Devuelve un número fortuito entre 0 y 1, pero no 1. Este número se genera matemáticamente.

RANDOM

0.434567

SIGN(N)

Devuelve el signo de N: 1 cuando N es positivo,

0 cuando N es cero,

 – 1 cuando N es negativo

SIGN(5.25)

1

Funciones String

MID(S, n1, n2)

Devuelve una cadena de caracteres comenzando comenzando en los caracteres n1, n2 a lo largo de S.

MID(S, 3, 2) donde

S = "THOMAS"

"OM"

LEFT(S, n)

Devuelve una cadena de caracteres a la izquierda del string S.

LEFT(S, 3) donde

S = "THOMAS"

"THO"

RIGHT(S, n)

Devuelve una cadena de caracteres a la derecha del string S.

RIGHT (S, 3) donde

S = "THOMAS"

"MAS"

LENGTH(S)

Devuelve el número de caracteres que hay en el string S.

LENGTH(S) donde

S = "THOMAS"

6

Funciones de conversión (cambia el tipo de datos)

VALUE(S)

Cambia el valor de un string en un valor numérico.

VALUE ("17.25")

+ 17.25

STRING(N)

Cambia un valor numérico en un valor de string.

STRING( + 17.25)

"17.25"

Funciones estadísticas

AVERAGE(list)

Devuelve el promedio de una lista de números.

AVERAGE (5, 3, 8, 6)

5.5

MAX(list)

Devuelve el valor máximo de una lista de números

MAX(4, 23, 12, 8)

23

MIN(list)

Devuelve el valor menor de una lista de números

MIN(4, 23, 12, 8)

4

SUM(list)

Devuelve la suma de una lista de números.

SUM (4, 23, 12, 8)

47

Funciones de utilidad

DATE

Devuelve la fecha actual del sistema. mm/dd/yy

DATE

02/25/2000

TIME

Devuelve la hora del sistema. hh:mm:ss

TIME

8:31:59

ERROR

Devuelve el control del programa cuando ocurre un error en el sistema.

 

 

*Definición de símbolos:

N es un valor numérico—una constante, una variable o una expresión.

S es un valor de string—una constante, una variable o una expresión.

N, n1, n2 es un valor entero—una constante, una variable o una expresión.

 

Cada función ejecuta alguna tarea en particular, y todas ellas cooperan colectivamente a resolver el problema completo.

 

C++

Cada programa C++ debe tener una función nominada main. La ejecución del programa siempre empieza con la función main. La función main viene siendo la función maestra del resto de las funciones. Cuando main ejecutar una función cualquiera, por ejemplo la función Square, main llama (o invoca) Square. Cuando la función Square completa la ejecución de las expresiones  o declaraciones (statements), ella retorna obedientemente el control a la maestra main, para que la función maestra pueda continuar funcionando.

A continuación un ejemplo del programa C++ con tres funciones: main, Square y Cube. Observa la estructura.

 

 

#include <iostream.h>

int Aquare( int );

int Cube(int );

 

int main()

{

                cout <<”The Saquare of 27 is “ <<Square(27) << endl;

                cout <<”and the cube of 27 is “ <<Cube(27) << endl;

                return 0;

}

int Square( int n )

{

                return n * n;

}

 

int Cube( int n )

{

                return n * n * n;

}

 

El corchete izquierdo ( { ) y el derecho ( { ) de cada función marcan el inicio y el final de la declaración a ejecutarse. Las declaraciones que se encuentran entre dichos corchetes se conocen como el cuerpo de la función.

La ejecución de un programa siempre comienza con la primera declaración de la función main. En nuestro programa es:

 

cout <<”The Square of 27 is “ <<Square(27) << endl;

 

Esta es una declaración de output que produce información para ser impresa en la pantalla del monitor de la computadora. La primera información es el mensaje:

 

The square of 27 is

 

El segundo ítem a imprimirse es el valor obtenido al llamar (invocar) la función Square, con el valor 27 como número para sacar el cuadrado. Como buena sirviente, la función Square ejecuta su tarea de sacar el cuadrado del número y enviar el resultado computadorizado (729) a su invocador, la función main. Ahora main puede continuar la ejecución de imprimir el valor 729 y proceder con el siguiente declaración.

El output completo producido por la ejecución de este programa es:

 

The square of 27 is 729

And the cube of 27 is 19683

 

La palabra int al principio de la primera línea de la función Square

 

int Square( int n )

 

establece que la función retorne un valor entero.

Ahora mira a la función main de nuevo. Observa cómo la primera línea de la función es

 

Int main()

 

La palabra int indica que main es una función de valor-retornable que debe devolver un valor entero. Luego de imprimir el cuadrado y el cubo de 27, main ejecuta la declaración

 

return 0;

 

para devolver el valor 0 a su invocador. Por convención, el retorno de un valor de 0 significa que todo está bien u OK. El retorno de un valor (típicamente 1, 2,...) significa que algo anda mal.

 

 

Operadores

 

La computadora debe tener la habilidad para saber cómo procesar datos. Esta tarea le toca a los operadores. Los operadores son datos conectores en una expresión y ecuación. Los operadores dicen a la computadora cómo procesar los datos. También informan a la computadora sobre el tipo de procesamiento (matemático, lógico u otro) que necesita ejecutar.. Los tipos de operadores (matemático, relacional y lógico) se utilizan para hacer cálculos y para resolver problemas.

El concepto de operando y el de resultado están relacionados con el operador.  Los operandos son datos que conecta y procesa el operador. El resultado es la respuesta que resulta cuando se completa la operación. Por ejemplo: la expresión 3 + 2, el + es el operador, el 3 y el 2 son los operandos, y el 12 es el resultado.

Los operandos pueden ser constantes o variables.

El tipo de dato de los operandos y el resultado dependen del operador.

 

Clases de operadores

 

  1. Operadores matemáticos. Los operadores matemáticos menos conocidos son la división integral (\), cuyo resultado es el número entero en el cociente, y la división modular, cuyo resultado es el número entero remanente. Estas dos operaciones se utilizan generalmente para buscar las horas y minutos o el número de días y semanas trabajadas.

Por ejemplo, si Paola Marie trabajó 19 días durante un mes, asumiendo que son 5 los días de trabajo semanal, ella trabajó 19/5 = 3 semanas y 19 MOD 5 = 4 días. Por consiguiente, ella trabajó 3 semanas y 4 días.

  1. Operadores relacionales. Estos operadores se utilizan para controlar las instrucciones repetitivas (iterativas) llamadas loops. Un loop es un set de instrucciones para entrar datos de un cliente, que tiene que repetirse hasta que los datos sean entrados para todos los clientes.
  2. Operadores lógicos. Los operadores lógicos se usan para conectar expresiones relacionales (expresiones de toma de decisiones) y para ejecutar operaciones de datos lógicos. La universidad puede pedir para prestar libros en reserva la tarjeta de identidad o la licencia de conducir. La expresión se escribe LICENCIA OR TARJETA. La LICENCIA y la TARJETA son los operandos. Son datos lógicos y el valor de cada uno es TRUE o FALSE. El operador es OR. El resultado es TRUE o FALSE, dependiendo del valor de los operandos. Si uno de los opreandos es cierto, entonces el resultado es TRUE. Si los dos operandos son FALSE, entonces el resultado es FALSE.

 

 

Operador

Símbolo Computadora

 

C++ *

Ejemplo

Operación

Resultado

Matemáticos

 

Suma

+

+  y ++

8+2.5

10.5

Resta

-   y --

5.5 – 2.0

2.5

Multiplicación

*

 

3.0 * 4.0

12.0

División

/

 

8.0 / 4.0

2

División integral

\ (número entero en el cociente)

 

19\5

3

División Modular

MOD (número entero remanente)

%

19 % 5

8

Potencia

^

 

3 ^ 2

9

Relacional

 

Igual a

=

==

10 =12

FALSE

Menor que

<

 

10 < 12

TRUE

Mayor que

>

 

10 > 12

FALSE

Menor que o igual a

< =

 

10 < = 12

TRUE

Mayor que o igual

> =

 

10 >= 12

FALSE

No igual a

< >

¡ =

10 < > 12

TRUE

Lógicos

 

Not

NOT

¡

NOT TRUE

FALSE

And

AND

&&

TRUE AND TRUE

TRUE

Or

OR

| |

TRUE OR FALSE

TRUE

Booleanos

 

 

 

 

True

True, T, Yes

1

 

 

False

False, F, No

0

 

 

* Las celdas de la columna C++ que están en blanco indican que el programa C++ utiliza los mismos operadores de la columna anterior.

 

Los otros operadores lógicos son AND y NOT. Para que el resultado sea TRUE cuando se usa el operador AND, ambos operandos deben ser TRUE. El operador NOT es el único operador lógico que requiere un operando sólo. El resultado del operador NOT cambia el valor de un operando de TRUE en FALSE. El programador usa el NOT para cambiar un operando en un valor opuesto. Esta operación se conoce algunas veces como revirtiendo (valor reversivo) el valor del operando.

 

NOT

Cuando A es

 

El Resultado es

NOT TRUE

ES

FALSE

NOT FALSE

ES

TRUE

 

AND

Cuando A es

 

Y B es

El Tresultado es

TRUE

AND

TRUE

TRUE

TRUE

AND

FALSE

FALSE

FALSE

AND

TRUE

FALSE

FALSE

AND

FALSE

FALSE

 

OR

Cuando A es

 

Y B es

El Tresultado es

TRUE

OR

TRUE

TRUE

TRUE

OR

FALSE

TRUE

FALSE

OR

TRUE

TRUE

FALSE

OR

FALSE

FALSE

 

Jerarquía de las operaciones

 

Los operadores matemáticos, relacionales y lógicos, tienen un orden jerárquico, o precedencia. El programador utiliza los paréntesis para reordenar la secuencia normal del proceso. El proceso de los operandos (dirigidos por los operadores) empieza siempre con los que están entre los paréntesis más interiores y procede hacia los del exterior, procesando de izquierda a derecha. La jerarquía es importante para el programador, pues el orden de las operaciones determina el resultado de la expresión. Por ejemplo. Esta sería la expresión para la paga de horas extras a 2.50 sobre la hora regular después de 40 horas a la semana.

(HORAS – 40) * SALARIO * 2.50

De acuerdo a la tabla de jerarquía, la multiplicación se procesa primero que la resta, por lo que es necesario añadir los paréntesis para forzar a la computadora a que procese la resta antes que la multiplicación.

 

Orden de los operaciones

Tipo dato operando

Tipo dato resultante

(  ) Reordena la jerarquía. Se completan todas las operaciones entre paréntesis primero.

1. Funciones

Operadores matemáticos

2. Potencial ^

Numérico

Numérico

3. \, MOD, %

Numérico

Numérico

4. *, /

Numérico

Numérico

5. +, –

Numérico

Numérico

Operadores relacionales

6. =, <, >, <=, >=, <>

Numérico o string o carácter

Lógico

Operadores lógicos

7. NOT

Lógico

Lógico

8. AND

Lógico

Lógico

9. OR

Lógico

Lógico

 

Cada tipo de operador requiere un determinado tipo de datos para los operandos y determina el tipo de dato del resultado.  Los operadores matemáticos requieren datos numéricos al igual que los operandos, y tiene un resultado numérico/ Cuando se usan operadores relacionales o lógicos en unión o no con operadores matemáticos, el resultado es un dato lógico. Los operadores lógicos requieren datos lógicos para los operandos.

Ir al Menú

 

Expresiones y Ecuaciones

 

Son pocos los problemas que la computadora puede resolver sin usar expresiones y ecuaciones. Las expresiones y las ecuaciones forman parte de las instrucciones en la solución de un problema. Una expresión procesa datos, los operandos, asi como el uso de los operadores. Por ejemplo, para buscar cuántos pies cuadrados tiene un cuarto hay que construir la siguiente expresión:

LARGO * ANCHO

 

Una ecuación guarda el resultado de una expresión en un lugar de la memoria de la computadora seguido por el signo (=).

 

AREA = LARGO * ANCHO

 

El resultado de la expresión LARGO * ANCHO se guarda en el lugar de la memoria llamado AREA. Lo que está al lado izquierdo del signo = se conoce como variable, y lo que está a su lado derecho es una expresión.

 

Expresiones

Ecuaciones

A + B

A y B son numéricos. El resultado no se guarda; el resultado es numérico

C = A + B

C, A, y B son numéricos. El resultado se guarda en C.

A < B

A y B son numéricos, carácter o string. El resultado es lógico y no se guarda.

C = A < B

A y B son numéricos, carácter o string. El resltado se guarda en C; C es lógico.

A OR B

A y B son lógicos. El resultado es lógico y no se guarda.

C = A OR B

C, A, y B son lógicos. El resultado se guarda en C.

 

Las ecuaciones también se llaman "assignment statements" dado que la variable del lado izquierdo del signo igual se le asigna el valor de la expresión del lado derecho. El signo = no significa igual, sino reemplazado por o se le asigna el valor de.

 

C++

Declaraciones ejecutables: Assignment statement

 

Assignment Statement. Es una declaración que guarda el valor de una expresión dentro de una variable.

El valor de una variable se cambia mediante una declaración asignada (Assignment Statement).  Por ejemplo:

 

quizScore = 10;

 

asigna el valor de 10 a la variable quizScore (guarda el valor 10 en el lugar de la memoria llamado quizScore).

 

Las siguientes asignaciones no son válidas:

 

ch = “Hola”;

 

La variable char sólo puede soportar un carácter.

Las expresiones se construyen con constantes, variables y operadores. Las siguientes son expresiones válidas:

 

Alpha + 2      rate – 6.0      4 – alpha      alpha *  num

 

 

Esta es la sintaxis de una declaración asignada:

Text Box: Variable = Expresión;

 

 

El significado (semántica) del operador de la asignaci’on (=) es “guarda”; el valor de la expresión es guardado en la variable. Cualquier otro valor que esté en la variable se destruce y es reemplazado por el nuevo valor de la expresión.

Dadas las declaraciones:

 

int num;

int alpha;

float rate;

char ch;

 

podemos hacer las siguientes asignaciones:

 

Variable

Expresión

alpha =

rate =

ch =

num =

3476;

0.75;

 ‘B’;

alpha;

 

 

Presentación de Expresiones y Ecuaciones (Ejemplos)

 

Dada la siguiente

El programador la modifica para la computadora en la forma de:

Expresión Numérica:

4Y

X(3Y + 4) – ——–

X + 6

 

X * (3 * Y + 4) – 4 * Y/(X + 6)

Las variables, constantes y operadores deben estar en la misma línea.

Ecuación Matemática:

Y + 3 = X(Z + 5)

Una instrucción de asignación:

Y = X * (Z + 5) – 3

Expresión Relacional:

X es menor que Y + 5

:

X < Y + 5

Expresión Lógica:

Se requiere esto o aquello.

 

A OR B

Ir al Menú

 

Evaluación de Expresiones y Ecuaciones

 

Expresión Matemática

Expresión escrita por el programador

Operación

Resultado

 

5 * (X + Y) – 4 * Y/(Z + 6)

El programador usa los siguientes valores para evaluar la expresión:

X = 2    Y = 3   Z = 6

1.   X + Y

2.   Z + 6

3.   5 * resultado de 1

4.   4 * Y

5.   Resultado de 4/resultado de 2

6.   Resultado de 3 – resultado de 5

5

12

25

12

1

24

Ilustración

 

 

 

 

 

 

 

 

 

 


Las líneas entrecortadas indican el operador.

Las líneas sólidas indican los operandos.

El número dentro del círculo indica el orden de los operadores expresado en la operación.

 

 

 

Expresión Relacional

Expresión escrita por el programador

Operación

Resultado

 

A – 2 > B

El programador usa los siguientes valores para evaluar la expresión:

 

A = 6    B = 8

1.          A – 2

2.          Resultado de 1 > B

4

FALSE

Ilustración

 

 

 

 


                                                                                          

 

 

 

 

 

Expresión Lógica

Expresión escrita por el programador

Operación

Resultado

 

A AND B OR C AND A

El programador usa los siguientes valores para evaluar la expresión:

A = TRUE    B = FALSE    C = TRUE

1.                   A AND B

2.                   C AND A

3.                   Resultado de 1 o de 2

FALSE

TRUE

TRUE

Ilustración

 

 

 

 

 

 

 

 

 

 


Evaluación de una Ecuación que usa Operadores Relacionales y Lógicos

Expresión escrita por el programador

Operación

Resultado

 

F = NOT (A < B) AND (C OR D)

El programador usa los siguientes valores para evaluar la expresión:

A = 4  B = 2  C = TRUE  D = FALSE

1.                A < B

2.                C OR D

3.                NOT el resultado de 1

4.                Resultado de 3 y de 2

5.                Guarda el resultado de 4 en un lugar de la memoria llamado F

FALSE

TRUE

TRUE

TRUE

Ilustración

 

 

 

 

 

 

 

 

 

 


Desarrollo de una Expresión Lógica a partir de un problema dado

 

El programador tiene que ajustarse a las necesidades y a la política de la compañía. Cuando va a desarrollar una programación para una empresa, primero necesita hacer una lista de los tópicos que depende de una condición; luego desarrollar la expresión lógica de esta lista.

 

Problema: Un negocio de ventas quiere establecer su propia tarjeta de crédito con las siguientes condiciones: el cliente debe tener la tarjeta validada y un balance menor de $500 o un cargo menor de $50.

 

  1. La primera etapa es hacer una lista de los tópicos en los que el cargo es dependiente, asi como los tipos de datos:
    1. La tarjeta de crédito (tipo de dato lógico)
    2. El balance (tipo de dato numérico)
    3. La cantidad de crédito (tipo de dato numérico)
  2. En la segunda etapa se escriben estos tópicos como variables con sus condiciones. Se ponen en una línea dejando algunos espacios entre los mismos para luego añadir el operador.. El resultado de este tipo de dato de cada expresión debe ser lógico. Recuerda que el operador debe parear los tipos de dato de los operandos (ver la tabla de la jerarquía de las operaciones). No escribas los operadores todavía.

 

TARJETA _CREDITO      BALANCE < 500      CANTIDAD < 50

 

  1. En la tercera etapa se colocan los operadores lógicos y los paréntesis:

 

TARJETA _CREDITO  AND  (BALANCE < 500  OR CANTIDAD < 50)

Como la condición para aceptar la tarjeta es el balance o la cantidad, se necesita el operador OR. Dado que se condicina tener la tarjeta de crédito y uno de los otros dos tópicos, el operador entre la tarjeta y los tópicos entre paréntesis debe ser AND. Aunque AND tiene precedencia sobre OR, hay que colocar entre paréntesis la operación de OR.

  1. La expresión lógica ha sido creada. La misma puede usarse de varias formas:

a.      En un "assignment statement" (variable):

 

OKCARGO = TARJETA_CREDITO AND (BALANCE < 500 OR CANTIDAD < 50)

 

b.      En una declaración decisional (se estudiará más adelante):

 

IF TARJETA_CREDITO AND (BALANCE < 500 OR CANTIDAD < 50)

THEN PRINT "OKAY, PUEDE CARGAR A LA TARJETA"

ELSE PRINT "NO SE PUEDE CARGAR"

Ir al Menú

Glosario

 

Concatenación de caracteres

Constante

Datos

Tipos de datos

Ecuación

Expresión

Función

Jerarquía

Información

Datos lógicos

Operador lógico

Operador matemático

Dato numérico

Operador

Operandos

Operador relacional

Variable

Ir al Menú

 

Preguntas de Discusión

 

  1. ¿Qué es una constante y una variable?
  2. Menciona los distintos tipos de datos.
  3. ¿En qué se diferencia un operador de un operando?
  4. ¿En qué casos se usan las variables y las constantes?
  5. ¿Qué es una función?
  6. ¿Cuál es la diferencia entre expresión y ecuación? Ir al Menú

 

Aplicación de conocimiento

 

  1. Pon un nombre a la variable y especifica el tipo de dato.

Dato

Nombre Variable

Tipo de Dato

Nombre de la compañía

 

 

Nombre del artículo

 

 

Número del inventario

 

 

Cantidad

 

 

Precio

 

 

Dirección cmpañía

 

 

Nombre del vendedor

 

 

Número del vendedor

 

 

Comisión

 

 

 

  1. Busca el resultado de las siguientes operaciones
    1. 8 + 5
    2. 20/3
    3. TRUE OR FALSE
    4. 25 MOD 3
    5. NOT TRUE
    6. FALSE AND TRUE
    7. 22 * 12
    8. 40 < = 40
    9. 40 < 60
    10. FALSE OR FALSE
    11. TRUE AND TRUE
    12. –20 < 32
    13. 60\9
    14. 15 < 15
    15. TRUE AND FALSE

 

  1. Indica el orden que deben seguir las siguientes operacioes:

a.      + , –, *

b.      /, \, =

c.      OR, *, <

d.      NOT, AND, *

e.      NOT, >, +

f.        <, AND, >, +

g.      *, ^, +

h.      NOT, +, \

i.        MOD, \, <

 

  1. Escribe el tipo de dato de los operandos y el resultado de las siguientes expresiones o ecuaciones.

 

 

Tipo de dato

 

Operandos

Resultado

A * B

 

 

D > R

 

 

NOT C

 

 

B AND F

 

 

G = B

 

 

 

  1. Escribe la siguiente ecuación para que la computadora lo entienda.

 

Z + Y

X = Y + 3Z – ——–

Z – 3

 

  1. Evalúa las siguientes ecuacones, dados los valores de A = 12, B = 3, C = 6, D = 2. Incluye la estructura del orden de procesamiento u operación, el resultado y la ilustración.

 

a.      F = A + B/C – D ^ 2

b.      F = (A +B)/C – D ^ 2

c.      F = A + B/(C – D ^ 2)

 

  1. Evalúa las siguientes expresión, dado A = FALSE, B = TRUE, C = FALSE, D = TRUE. (Incluye la estructura del orden de procesamiento, el resultado y la ilustración).

 

a.      A AND B OR C AND D

b.      (A OR B) AND (D OR C)

 

  1. Evalúa la siguiente ecuación con operadores lógicos y relacionales, usando los siguientes valores: A = 5, B = 2, C = TRUE, D = FALSE (Incluye la estructura del orden de procesamiento, el resultado y la ilustración).

 

R = A + 3 > B – 1 AND C OR D

 

  1. La compañía Besos y Abrazos da un 5% de descuento si se paga el el balance pendiente dentro de 10 días de compra. Escribe la expresión lógica para verificar si el cliente cualifica o no para este descuento. Usa los nombres de las variables:

 

FECHA_COMPRA: fecha en la que compra el cliente

FECHA_PAGO: fecha del último pago

 

  1. Presenta una expresión lógica para las siguientes condiciones. Una tienda por departamentos tiene la siguiente política para pagar con cheques:

a.      El cliente debe tener una licencia de conducir o tarjeta electoral.

b.      Cuando la compra es mayor de $50, el cliente debe tener, además, una tarjeta de crédito en récord.

Ir al Menú