Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Maestra: Fecha:
Nombre: Correo:
Matricula:
Objetivos
Identificar la clasificación de los tipos de operadores y su orden de prioridad
analizar y evaluar expresiones que empleen datos primitivos con variables,
constantes y operadores
aplicar en problemas donde se requiera construir expresiones que soluciones
problemas en diferentes casos
Preguntas introductorias
Introducción
La lógica computacional es la misma lógica matemática aplicada al contexto de las ciencias de la computación. Su uso es
fundamental a varios niveles: en los circuitos computacionales, en la programación lógica y en el análisis y optimización (de
recursos temporales y espaciales) de algoritmos.
Circuitos computacionales
El nivel menos abstracto dentro de una computadora está constituido por circuitos electrónicos que responden a diferentes
señales eléctricas, siguiendo los patrones de la lógica booleana; esto es, compuertas lógicas que devuelven un valor
dependiendo de las entradas que se le dan al sistema. Existen ocho compuertas lógicas básicas con las cuales se pueden
formar sistemas muy complejos: AND, OR, Inverter(NOT), Buffer, NAND, NOR, XOR y XNOR.
&& || !
Algoritmos
En matemáticas, ciencias de la computación y disciplinas relacionadas, un algoritmo (del griego y latin, dixit algorithmus y
éste a su vez del matemático persa Al Juarismi ) es un conjunto preescrito de instrucciones o reglas bien definidas,
ordenadas y finitas que permite realizar una actividad mediante pasos sucesivos que no generen dudas a quien deba realizar
dicha actividad y que solucione problemas.
Programación lógica
La programación lógica consiste en la aplicación del corpus de conocimiento sobre lógica para el diseño de lenguajes de
programación; La programación lógica es un tipo de paradigmas de programación dentro del paradigma de programación
declarativa. El resto de los subparadigmas de programación dentro de la programación declarativa son: programación
funcional, programación basada en restricciones, programas DSL (de dominio específico) e híbridos. El que estamos
estudiando es el paradigma imperativo y modular
En teoría, se dice que existen unos quinientos campos de estudio en las matemáticas distintos. Sin embargo, en una
clasificación más general se aglutinan sólo cuatro objetos de estudio, nombrados anteriormente- la cantidad, la estructura,
el espacio y el cambio- estos conciernen a las distintas ramas de las matemáticas básicas: aritmética, álgebra, geometría y
cálculo.
Aritmética Se define como "el arte de contar". La aritmética es el área de la matemáticas que estudia los números
enteros, racionales y números reales y las operaciones elementales que surgen entre ellos (la suma, la
resta, la multiplicación y la división). Se incluyen aquí las potencias, radicales y algoritmos.
Álgebra El álgebra es la rama de las matemáticas que emplea las letras para representar las operaciones
aritméticas. La aplicación de esta parte de las matemáticas se realiza mediante estructuras más
abstractas como operaciones con polinomios, ecuaciones y sistemas de ecuaciones, matrices y
determinantes. Esta área de las matemáticas incluye, además, el álgebra lineal, que estudia las
matrices, sistemas de ecuaciones de tipo lineal y vectores. Trabajar en álgebra consiste en manejar
relaciones numéricas en las que una o más cantidades son desconocidas. Estas cantidades se llaman
variables, incógnitas o indeterminadas y se representan por letras. Una expresión algebraica es una
combinación de letras y números ligadas por los signos de las operaciones: adición, sustracción,
multiplicación, división y potenciación, modulo.
Geometría Dentro de las diferentes áreas de las matemáticas la geometría es la que se ocupa de estudiar las
formas o figuras en el plano o el espacio. Incluye dentro otras áreas como la trigonometría, que se
encarga específicamente de calcular el área y espacio de los triángulos.
Cálculo El cálculo es el campo de aplicación de las matemáticas empleado para hacer estadística y
probabilidad. Consiste en realizar las operaciones para prever el resultado de una acción. Incluye
operaciones para calcular la media de un estudio, la distribución de las cosas, hacer estimaciones o
muestreos.
Para desarrollar las capacidades de modelar e interpretar fenómenos físicos, sociales y matemáticos, requerimos de
manejar un conjunto de herramientas
La escritura de un algoritmo constituye una representación escrita en lenguaje natural, y su implementación en un lenguaje
de programación constituye otro tipo de representación, más vinculada con la representación simbólica que usa la
matemática
Las ideas matemáticas pueden ser representadas en formas variadas: imágenes, materiales concretos, tablas, gráficos,
números y letras, hojas de cálculo, y muchas otras más.
Las formas en las cuales se representan las ideas matemáticas son fundamentales para determinar cómo las personas
comprenden y utilizan esas ideas
¿Cómo aplicar las matemáticas en la codificación de algoritmos por medio de un lenguaje de alto nivel?
Para poder desarrollar algunos de los aspectos de las disciplinas de las matemáticas se requiere como base conocer la
clasificación Operadores y construcción de expresiones
Un operador es el símbolo que determina el tipo de operación o relación que habrá de establecerse entre los operandos
para alcanzar un resultado.
Todos los operadores producen un valor a partir de sus operandos y las operación se efectúa sin modificar los operandos,
EXCEPTO con los operadores de asignación, incremento y decremento.
Actividad
R=a/b; R= R=a==b;0
R=a%b; R= R=!a;
#include<stdio.h>
int main()
{
int A=5,R;
R=A++;
printf("El valor de R es ojo %d\n",R);
R=++A;
printf("El valor de R es %d\n",R);
R= A--;
printf("El valor de R es %d\n",R);
R=--A;
printf("El valor de R es %d\n",R);
return 0;
}
Tipos de expresiones
#include<stdio.h>
int main()
{
int R=0,A=2,B=4;
R= ((A+B)+(++A ))>A;
3
3+4
7 +3
10 > 3
1
printf("R= %d\n",R);
return 0;
}
Es muy importante identificar el tipo de expresión y el nivel de prioridad de los operadores
En este caso la prioridad más alta es la del ++ luego la primera suma de izquierda a derecha enseguida
segunda de izquierda a derecha al final comprara este resultado con el valor de A
9>2 es verdadero = 1
#include<stdio.h>
#include<conio.h> Tener en cuenta que los operadores unitarios tienen
int main() un orden de prioridad nivel 2 que significa?
{
int A=5,R=0;
R=R+1; R=++A+ A++ -A;
R++;
printf("R=%d\n",R); Primero procesa las operaciones de segundo nivel de
R=R+A; derecha a izquierda
printf("R=%d\n",R);
Luego las operaciones del siguiente nivel en este caso los
R=A++; de suma y resta que son nivel cuatro y valida de izquierda
printf("El valor de R es ojo %d\n",R); a derecha.
R=++A;
printf("El valor de R es %d\n",R);
R= A--;
printf("El valor de R es %d\n",R);
R=--A;
printf("El valor de R es %d\n",R);
R=++A+ A++ -A;
// 5 6 6
printf("El valor de R=A+ ++A -A es %d\n",R);
getch();
return 0;
EXPRESIONES
La expresión es equivalente al resultado que proporciona al aplicar sus operadores a sus operandos.
Una expresión puede estar formada por otras expresiones más sencillas, y puede contener paréntesis de
varios niveles agrupando distintos términos. En C existen distintos tipos de expresiones.
EXPRESIONES ARITMÉTICAS
Están formadas por variables y/o constantes, y distintos operadores aritméticos e incrementales (+, -, *, /,
%, ++, --). Como se ha dicho, también se pueden emplear paréntesis de tantos niveles como se desee, y su
interpretación sigue las normas aritméticas convencionales. Por ejemplo, la solución de la ecuación de
segundo grado:
equivale a x=(-b+sqrt(b*b-(4*a*c)))/(2*a);
EXPRESIONES LÓGICAS
Los elementos con los que se forman estas expresiones son valores lógicos; verdaderos (true, o distintos de
0) y falsos corresponde a 1) (false, corresponde a 0),
los operadores lógicos ||, && y !. También se pueden emplear los operadores relacionales (<, >, <=, >=, ==,
!=) para producir estos valores lógicos a partir de valores numéricos.
a = ((b>c)&&(c>d))||((c==e)||(e==b));
EXPRESIONES GENERALES
Una de las características más importantes (y en ocasiones más difíciles de manejar) del C es su flexibilidad
para combinar expresiones y operadores de distintos tipos en una expresión que se podría llamar general,
aunque es una expresión absolutamente ordinaria de C.
El resultado de una expresión lógica es siempre un valor numérico (un 1 ó un 0); esto permite que cualquier
expresión lógica pueda aparecer como sub-expresión en una expresión aritmética. Recíprocamente,
cualquier valor numérico puede ser considerado como un valor lógico: true si es distinto de 0 y false si es
igual a 0. Esto permite introducir cualquier expresión aritmética como sub-expresión de una expresión
lógica. Por ejemplo:
(a - b*2.0) && (c != d)
OTROS OPERADORES
Además de los operadores vistos hasta ahora, el lenguaje C dispone de otros operadores. En esta sección
se describen algunos operadores unarios adicionales.
- expresión
Operador sizeof().
Este es el operador de C con el nombre más largo. Puede parecer una función, pero en realidad es un
operador. La finalidad del operador sizeof() es devolver el tamaño, en bytes, del tipo de variable
introducida entre los paréntesis. Recuérdese que este tamaño depende del compilador y del tipo de
computador que se está utilizando, por lo que es necesario disponer de este operador para producir
código portable. Por ejemplo:
!expresion
En este caso, expresion_1 se evalúa primero, y luego se evalúa expresion_2. El resultado global es el valor
de la segunda expresión, es decir de expresion_2. Este es el operador de menos precedencia de todos los
operadores de C. Como se explicará más adelante, su uso más frecuente es para introducir expresiones
múltiples en la sentencia for.
El operador dirección & devuelve la dirección de memoria de la variable que le sigue. Por ejemplo:
variable_1 = &variable_2;
Después de ejecutarse esta instrucción variable_1 contiene la dirección de memoria donde se guarda el
contenido de variable_2. Las variables que almacenan direcciones de otras variables se
denominan punteros (o apuntadores), deben ser declaradas como tales, y tienen su propia aritmética y
modo de funcionar. Se verán con detalle un poco más adelante.
No se puede modificar la dirección de una variable, por lo que no están permitidas operaciones en las que
el operador & figura a la izquierda del operador (=), al estilo de:
&variable_1 = nueva_direccion;
El operador indirección * es el operador complementario del &. Aplicado a una expresión que represente
una dirección de memoria (puntero) permite hallar el contenido o valor almacenado en esa dirección. Por
ejemplo:
variable_3 = *variable_1;
El contenido de la dirección de memoria representada por la variable de tipo puntero variable_1 se recupera
y se asigna a la variable variable_3.
Como ya se ha indicado, las variables puntero y los operadores dirección (&) e indirección (*) serán
explicados con mucho más detalle en una sección posterior.
Actividades:
R=I*J;
I++; I=I+1;
I>J;
!I;
R= (I>J)&&(I+j);
R=I+I-I++;
Operacion resultado
R= (I>J)&&(I+j);
R=I+I-I++;
#include<stdio.h>
El doble o duplo de un número: 2x
#include<conio.h>
int main()
{
getch();
return 0;
}
#include<stdio.h>
El triple de un número: 3x
#include<conio.h>
int main()
{
getch();
return 0;
}
#include<stdio.h>
El cuádruplo de un número: 4x
#include<conio.h>
int main()
{
int x=4, R=0;
R=3*x;
printf("El cuádruplo de %d es %d",x,R);
getch();
return 0;
}
Float x=4.0, R=0;
La mitad de un número: x/2
R=x/2; nota por lo menos dos de los miembros de una división
deberán ser flotantes para que no ocurra truncamiento y ojo no
se permiten las divisiones entre cero
Printf(“La division es %f”,R);
#include<stdio.h>
#include<conio.h>
int main()
{
float x=4.0, R=0;
R=x/2;
printf("la division es %f",R);
getch();
return 0;
}
#include<stdio.h>
Un tercio de un número: x/3
#include<conio.h>
int main()
{
float x=4.0, R=0;
R=x/3;
printf("la division es %f",R);
getch();
return 0;
#include<stdio.h>
Un cuarto de un número: x/4
#include<conio.h>
int main()
{
float x=4.0, R=0;
R=x/3;
printf("la division es %f",R);
getch();
return 0;
#include<stdio.h>
Un número es proporcional a 2, 3, 4...: 2x, 3x, 4x... #include<conio.h>
int main()
{
int x=4, R=0;
for(int A=1;A<=10;A++);
{
R=A*x;
printf("el numero d proporcional de %d es %d\n",x,R);
}
getch();
return 0;
}
Un número al cuadrado: x²
Un número al cubo: x³
Un número par: 2x
Un número impar: 2x + 1
3.
4. a–7 D. La diferencia del doble de un número con 8
elevada al cubo
H. El módulo de un numero
8.
9. (2y)3 – 8 I. El doble de la suma de un número más cuatro
10.
11. (2y − 8)3 K. El cubo de la suma de un número más seis
Conclusiones
Referencias
http://portalacademico.cch.unam.mx/alumno/matematicas1/unidad1/OpNumerosEnteros/priorid
adOperadoresAritmeticos
http://maxus.fis.usal.es/fichas_c.web/03xx_pags/0303.html
http://www.vadenumeros.es/tercero/ejercicios-con-parentesis.htm
http://www.aulamatematica.com/Revistas/pdf_revistas/22_7/22_7_08_Jerarquia.pdf
https://adolfredobelizario.wordpress.com/2012/06/15/tutorial-3-lenguaje-c/
http://informatica.uv.es/estguia/ATD/apuntes/laboratorio/Lenguaje-C.pdf
https://www.fing.edu.uy/~darosa/matyprogversionfinal.pdf ojo