términos algoritmo diseñar algoritmo implementar algoritmo sintaxis (palabras reservadas)...

50
Términos algoritmo diseñar algoritmo implementar algoritmo sintaxis (palabras reservadas ) instrucciones

Upload: monica-vazquez-murillo

Post on 24-Jan-2016

283 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Términos algoritmo diseñar algoritmo implementar algoritmo sintaxis (palabras reservadas) instrucciones

Términos

• algoritmo

• diseñar algoritmo

• implementar algoritmo

• sintaxis (palabras reservadas)

• instrucciones

Page 2: Términos algoritmo diseñar algoritmo implementar algoritmo sintaxis (palabras reservadas) instrucciones

Modelo de programación del ordenador

Una abstracción o simplificación posible del ordenador consiste en considerarlo como un conjunto de elementos o dispositivos formado por un procesador, una memoria (memoria central) y un subsistema de Entrada/Salida principalmente.

Procesador Memoria SubsistemaEntrada/Salida

Page 3: Términos algoritmo diseñar algoritmo implementar algoritmo sintaxis (palabras reservadas) instrucciones

Procesador

• el procesador comienza a ejecutar cada una de las instrucciones que componen el programa, es decir, las lee y realiza las operaciones especificadas en ellas. El orden de ejecución de instrucciones, cuando se utilizan este tipo de lenguajes de programación llamados imperativos como el C, es siempre el mismo, comienza por la primera y va ejecutándolas una a una consecutivamente según el orden en que aparecen hasta la última.

Page 4: Términos algoritmo diseñar algoritmo implementar algoritmo sintaxis (palabras reservadas) instrucciones

Instrucciones...

En una instrucción se especifican dos cosas principalmente:– la operación u operaciones que se van a realizar

y– los datos sobre los cuales se van a llevar a cabo

dichas operaciones.

Page 5: Términos algoritmo diseñar algoritmo implementar algoritmo sintaxis (palabras reservadas) instrucciones

Procesador

Cuando el procesador lee una instrucción a ejecutar, “toma nota” de la operación que tiene que llevar a cabo y de los datos que ha de utilizar. Seguidamente, lee de la memoria los datos y realiza las operaciones especificadas sobre ellos. Por último, vuelca en la memoria (escribe) el resultado de la operación

Page 6: Términos algoritmo diseñar algoritmo implementar algoritmo sintaxis (palabras reservadas) instrucciones

Memoria• conjunto ordenado de “casillas” susceptibles

de contener datos

vacío

vacío

vacío

vacío

vacío

vacío

Celdillas dememoria

Nombres de lasceldillas

Direcciones de lasceldillas

#35

#36

#37

#34

#33

#38

Cada una de estas casillas está identificada de dos maneras distintas: mediante un nombre y mediante una dirección

Page 7: Términos algoritmo diseñar algoritmo implementar algoritmo sintaxis (palabras reservadas) instrucciones

• La dirección de una “casilla” o celda de memoria es una identificación predeterminada por el hardware del ordenador y no se puede modificar.

• Por el contrario, el nombre de una celda de memoria lo define el programador cuando escribe el programa y servirá para referirse de manera única a dicha celda.

• Una celda puede tener en principio cualquier tamaño, dependiendo del tipo de dato para el que se va a utilizar la misma. Pero todas las celdas tienen el mismo funcionamiento, actúan como “contenedores de datos”

Page 8: Términos algoritmo diseñar algoritmo implementar algoritmo sintaxis (palabras reservadas) instrucciones

• El programador, durante la escritura de un progra-ma, reserva celdas de memoria para utilizarlas dentro del programa, a esto se le conoce con el nombre de declaración de variables.

• La variable es lo mismo que la celda de memoria • La declaración de variables supone dos acciones:

– dar un nombre a la variable para su utilización en el programa y

– asignarle un tipo de dato

• Mediante el tipo de dato asignado a la variable se está definiendo la longitud que tendrá la celda que se utilizará para la variable y se están establecien-do implícitamente el tipo de operaciones que se pueden hacer con la variable

Page 9: Términos algoritmo diseñar algoritmo implementar algoritmo sintaxis (palabras reservadas) instrucciones

Esquema de memoria después de haber definido tres variables

vacío

vacío

vacío

vacío

vacío

vacío

variable1

variable2

variable3

Contenido delas variables

Nombres de lasvariables

Direcciones de lasvariables

#35

#36

#37

#34

#33

#38

Page 10: Términos algoritmo diseñar algoritmo implementar algoritmo sintaxis (palabras reservadas) instrucciones

Subsistema de Entrada/Salida

• Va a ser posible que se introduzcan datos en celdas de memoria mediante el teclado o se consulte el valor de celdas de memoria y aparezcan en la pantalla.

• Se puede mostrar el dato contenido en una variable en la pantalla y se puede cambiar el valor de una variable introduciendo un valor mediante el teclado

Page 11: Términos algoritmo diseñar algoritmo implementar algoritmo sintaxis (palabras reservadas) instrucciones

ENTRADASubsistema deEntrada/Salida SALIDA

MEMORIA

Lectura deteclado

Escritura enpantalla

Escritura enmemoria

Lectura dememoria

VariablesNombresDirecc.

Subsistema deEntrada/Salida

Entrada de datos

Salida de datos

#35

#36

#34

#33

Page 12: Términos algoritmo diseñar algoritmo implementar algoritmo sintaxis (palabras reservadas) instrucciones

Estructura de un programa en C

main()

{

}

Page 13: Términos algoritmo diseñar algoritmo implementar algoritmo sintaxis (palabras reservadas) instrucciones

main()

{

instruccion 1;

instruccion 2;

instruccion n;

}

Page 14: Términos algoritmo diseñar algoritmo implementar algoritmo sintaxis (palabras reservadas) instrucciones

Declaración de Variables

Durante el programa, se hará referencia al dato de una variable mediante el nombre que se le ha asignado a la variable, y mediante el tipo de dato asignado a la variable se establecerá:

 la longitud que tendrá dicha variable y  las operaciones que se pueden realizar con el dato que

contiene.

• La sintaxis de la declaración de variables es la siguiente:tipo_de_dato nombre_de_variable;

• La declaración de una variable ha de tener siempre la forma anterior, terminando con el símbolo ;.

Page 15: Términos algoritmo diseñar algoritmo implementar algoritmo sintaxis (palabras reservadas) instrucciones

Variables Globales y Locales

Variables GlobalesVariables Locales

main(){

instruccion 1;instruccion n;

}

....

....

Page 16: Términos algoritmo diseñar algoritmo implementar algoritmo sintaxis (palabras reservadas) instrucciones

/* Estructura de un Programa en lenguaje C */main(){ /* Declaracion de variables */

tipo1 variable1;tipo2 variable2, variable3;

  /* Instrucciones del programa */

instruccion 1;instruccion 2;instruccion n;

}

Comentarios:son textos que el programador escribe para su propia información

Page 17: Términos algoritmo diseñar algoritmo implementar algoritmo sintaxis (palabras reservadas) instrucciones

vacío

vacío

vacío

vacío

vacío

vacío

variable1

variable2

variable3

DireccionesNombres

de variableContenido de las

variables

#35

#36

#37

#34

#33

#38

Page 18: Términos algoritmo diseñar algoritmo implementar algoritmo sintaxis (palabras reservadas) instrucciones

Tipos de Datos

Mediante la asignación de un tipo de dato a la variable cuando se declara se van a realizar dos cosas muy importantes:– Establecer la longitud de la celda de

memoria destinada a almacenar el dato y,– Establecer el conjunto de operaciones que

se pueden realizar sobre dicho dato.

Page 19: Términos algoritmo diseñar algoritmo implementar algoritmo sintaxis (palabras reservadas) instrucciones

Tipos de datos

• Numéricos– Enteros: Valores numéricos enteros.– Reales: Subconjunto del conjunto matemático

de los números reales (parte entera y parte real)

• Lógicos– Sólo pueden tomar los valores cierto y falso.

• Carácter– Valores alfanuméricos del código ASCII

Page 20: Términos algoritmo diseñar algoritmo implementar algoritmo sintaxis (palabras reservadas) instrucciones

Operadores y expresiones• Operador: Símbolo que se asocia a una

determinada operación básica que se realiza con los datos en algún punto del programa.– Binarios u Unarios (uno o dos operandos)

• Expresión: Combinación de variables, constantes, operadores, paréntesis y nombres de función escritas en un determinado orden que tiene la propiedad de ser evaluada y obtener un valor

Page 21: Términos algoritmo diseñar algoritmo implementar algoritmo sintaxis (palabras reservadas) instrucciones

Operadores en C• Operadores aritméticos: realizan operaciones

aritméticas, por lo que utilizan valores numéricos o variables numéricas.

Binarios: +, -, *, /, % Unarios: -,++, -- Ejem: a+b, -c

• Operadores relacionales o de comparación: Sirven para realizar comparaciones sencillas entre valores, el resultado será un valor lógico.

Binarios: >, >=, <, <=, == y != Ejem: a>b, a!=b

• Operadores lógicos: permiten realizar expresiones relacionales o lógicas más complejas.

Binarios: &&, || Unarios: ! Ejem: a && b

Page 22: Términos algoritmo diseñar algoritmo implementar algoritmo sintaxis (palabras reservadas) instrucciones

EnterosLas operaciones sobre enteros son:• a)   Aritméticas: +, -, *, / y %.• b)   De comparación: >, >=, <, <=, == y !=.

Tipo procesador de 16 bits procesador de 32 bits

int 16 bits 32 bits

short int 16 bits 16 bits

long int 32 bits 32 bits

unsigned int 16 bits 32 bits

Page 23: Términos algoritmo diseñar algoritmo implementar algoritmo sintaxis (palabras reservadas) instrucciones

Reales

Las operaciones sobre reales son:• a)   Aritméticas: +, -, *, /.• b)   De comparación: >, >=, <, <=, == y !=.

Tipo procesador de 16 bits procesador de 32 bits

float 32 bits 32 bits

double 64 bits 64 bits

Page 24: Términos algoritmo diseñar algoritmo implementar algoritmo sintaxis (palabras reservadas) instrucciones

Expresiones aritméticas Resultado

6/8 0

3.2/0.4 8.0

-11%3 3.84

(3+2)*(1+1) 10

(i*3)+(i*2) 10

Expresiones relacionales Resultado

(i<2) FALSO

(i<=2) VERDADERO

(i*3)>=(1+2)*i VERDADERO

(2+i)!=(1+i) FALSO

Expresiones lógicas Resultado

(i<2) or (i<10) VERDADERO

(7>=6) and (3= =3) VERDADERO

Not (i<1) FALSO

((i<1) or (i*2>1)) and (i>1) VERDADERO

Page 25: Términos algoritmo diseñar algoritmo implementar algoritmo sintaxis (palabras reservadas) instrucciones

Expresiones aritméticas Resultado

6/8 0

3.2/0.4 8.0

-11%3 3.84

(3+2)*(1+1) 10

(i*3)+(i*2) 10

Expresiones relacionales Resultado

(i<2) FALSO

(i<=2) VERDADERO

(i*3)>=(1+2)*i VERDADERO

(2+i)!=(1+i) FALSO

Expresiones lógicas Resultado

(i<2) or (i<10) VERDADERO

(7>=6) and (3= =3) VERDADERO

Not (i<1) FALSO

((i<1) or (i*2>1)) and (i>1) VERDADERO

Page 26: Términos algoritmo diseñar algoritmo implementar algoritmo sintaxis (palabras reservadas) instrucciones

CaracteresDefinición: El tipo de dato carácter es el conjunto finito

y ordenado de caracteres que el ordenador reconoce. Un dato de tipo carácter contiene un sólo carácter. Los caracteres que reconocen los diferentes ordenadores no son estándar; sin embargo, la mayoría reconoce los caracteres alfabéticos y numéricos siguientes:– caracteres alfabéticos: (a,b,…,z,A,B,C, …,Z),– caracteres numéricos: (1,2,…,9), y– caracteres especiales (+,-,*,/,.,<, …), entre los cuales se

encuentran los caracteres llamados no imprimibles como el retorno de carro, el final de cadena, etc

Page 27: Términos algoritmo diseñar algoritmo implementar algoritmo sintaxis (palabras reservadas) instrucciones

Declaración de variables de tipo carácter en C

La declaración variables de tipo carácter en C se expresa mediante la palabra reservada char:

char variable1, variable2, ...;

El número de bits de este tipo de dato es de 8 y no tiene modificadores tales como los utilizados en las variables numéricas.

Operadores: Aritméticos y de Comparación.Ejem: ‘A’ + 1 daría ‘B’ ‘A’ > ‘B’ daría ....

Page 28: Términos algoritmo diseñar algoritmo implementar algoritmo sintaxis (palabras reservadas) instrucciones

La instrucción de asignación

Sintaxis:

nombre_variable = expresion;

main() {

int A;A = 25;A = 134;A = 5;

}

vacío

vacío

vacío

A

Nombresde variable.

Contenido de lasvariables

Page 29: Términos algoritmo diseñar algoritmo implementar algoritmo sintaxis (palabras reservadas) instrucciones

La instrucción de asignación

Sintaxis:

nombre_variable = expresion;

main() {

int A;A = 25;A = 134;A = 5;

}

vacío

25

vacío

A

Nombresde variable.

Contenido de lasvariables

Page 30: Términos algoritmo diseñar algoritmo implementar algoritmo sintaxis (palabras reservadas) instrucciones

La instrucción de asignación

Sintáxis:

nombre_variable = expresion;

main() {

int A;A = 25;A = 134;A = 5;

}

vacío

134

vacío

A

Nombresde variable.

Contenido de lasvariables

Page 31: Términos algoritmo diseñar algoritmo implementar algoritmo sintaxis (palabras reservadas) instrucciones

La instrucción de asignación

Sintáxis:

nombre_variable = expresion;

main() {

int A;A = 25;A = 134;A = 5;

}

vacío

5

vacío

A

Nombresde variable.

Contenido de lasvariables

Page 32: Términos algoritmo diseñar algoritmo implementar algoritmo sintaxis (palabras reservadas) instrucciones

Constantes• Los programas de ordenador contienen ciertos valores

que no deben cambiar durante la ejecución del programa. Tales valores se llaman constantes.

• Constantes Numéricas (0..9) y Simbólicas.• La sintaxis de la definición de constantes simbólicas es

la siguiente:#define IDENTIFICADOR VALOR

Ejem: #define PI 3.1415927...int a,r;r=5;a=2*PI*5;

Page 33: Términos algoritmo diseñar algoritmo implementar algoritmo sintaxis (palabras reservadas) instrucciones

Constantes

• El lugar donde se coloca la definición de las constantes es al principio del programa fuera de la función main.

#define VERDADERO 1#define FALSO 0main() {

int TEST = VERDADERO;...

}

Page 34: Términos algoritmo diseñar algoritmo implementar algoritmo sintaxis (palabras reservadas) instrucciones

Expresiones Tema 4Las expresiones son combinaciones de constantes,

variables, símbolos de operación, paréntesis y nombres de funciones especiales. Las mismas ideas son utilizadas en notación matemática tradicional; por ejemplo:

es una expresión matemática que relaciona las variables

matemáticas a, b, c y la constante 3 mediante los operadores *, + y - empleando paréntesis donde corresponde hacerlo para asegurar que el orden de las operaciones es el correcto.

a b c 3

Page 35: Términos algoritmo diseñar algoritmo implementar algoritmo sintaxis (palabras reservadas) instrucciones

Tipos

• aritméticas: tanto el resultado como las variables de una expresión aritmética es de tipo numérico (int o float y sus derivados).

• relacionales: el resultado de una expresión relacional es de tipo int, pudiendo ser sus variables operandos de varios tipos.

• lógicas: el resultado de una expresión lógica es de tipo int.

Page 36: Términos algoritmo diseñar algoritmo implementar algoritmo sintaxis (palabras reservadas) instrucciones

Expresión Resultado Expresión Resultado

4 / 8 0 7 + 2.3 9.3

3.2 / 0.4 8.0 7 % 2 1

4.0 / 8.0 0.5 6.0 / 2.0 3.0

30 / 30 1 11 / -3 -3

-11 / 3 -3 11 % -3 2

-11 % 3 -2 4.5 - 0.66 3.84

Aritméticas

Page 37: Términos algoritmo diseñar algoritmo implementar algoritmo sintaxis (palabras reservadas) instrucciones

Expresión Resultado Expresión Resultado

4 / 8 0 7 + 2.3 9.3

3.2 / 0.4 8.0 7 % 2 1

4.0 / 8.0 0.5 6.0 / 2.0 3.0

30 / 30 1 11 / -3 -3

-11 / 3 -3 11 % -3 2

-11 % 3 -2 4.5 - 0.66 3.84

Page 38: Términos algoritmo diseñar algoritmo implementar algoritmo sintaxis (palabras reservadas) instrucciones

Reglas de prioridad o precedencia

• Las operaciones que están encerradas entre paréntesis se evalúan primero. Si existen diferentes paréntesis anidados (interiores unos a otros), las expresiones más internas se evalúan primero.

• Los operadores aritméticos dentro de una expresión en C cumplen el siguiente orden de precedencia.

1º   /, *, %.

2º   + , -.

• Dentro del mismo orden de precedencia se sigue la asociatividad de izquierda a derecha.

Page 39: Términos algoritmo diseñar algoritmo implementar algoritmo sintaxis (palabras reservadas) instrucciones

Operadores reducidos

La instruccióna = a + 2;

a += 2;La instrucción

a = a * b;a *= b;

La instrucción:a = a + 1; a += 1;a++;

“Este último operador reducido sólo puede utilizarse con variables de tipo entero”

Page 40: Términos algoritmo diseñar algoritmo implementar algoritmo sintaxis (palabras reservadas) instrucciones

Relacionales

Operador relacional

Significado

< menor que

<= menor o igual que

> mayor que

>= mayor o igual que

== igual que

!= distinto de

Page 41: Términos algoritmo diseñar algoritmo implementar algoritmo sintaxis (palabras reservadas) instrucciones

Ejemplos

Expresión Resultado Expresión Resultado

1 < 2 1 12.5 < 10 0

(1 + 2) >= 3 1 2 == 2 1

(2+3) > (1+5) 0 6.3 < 3 0

‘A’ < ‘B’ 1 ‘c’ != ‘C’ 1

3 != 3 0 5.5 > 5 1

Page 42: Términos algoritmo diseñar algoritmo implementar algoritmo sintaxis (palabras reservadas) instrucciones

Ejemplos

Expresión Resultado Expresión Resultado

1 < 2 1 12.5 < 10 0

(1 + 2) >= 3 1 2 == 2 1

(2+3) > (1+5) 0 6.3 < 3 0

‘A’ < ‘B’ 1 ‘c’ != ‘C’ 1

3 != 3 0 5.5 > 5 1

Page 43: Términos algoritmo diseñar algoritmo implementar algoritmo sintaxis (palabras reservadas) instrucciones

Lógicos

Operador Significado Operador en C

AND Y &&

OR O ||

NOT NO !

Page 44: Términos algoritmo diseñar algoritmo implementar algoritmo sintaxis (palabras reservadas) instrucciones

Tabla de Verdad

dato1 dato2 ! dato1 dato1 && dato2 dato1 || dato2

0 0 1 0 0

0 1 1 0 1

1 0 0 0 1

1 1 0 1 1

Page 45: Términos algoritmo diseñar algoritmo implementar algoritmo sintaxis (palabras reservadas) instrucciones

Tabla de Verdad

dato1 dato2 ! dato1 dato1 && dato2 dato1 || dato2

0 0 1 0 0

0 1 1 0 1

1 0 0 0 1

1 1 0 1 1

Page 46: Términos algoritmo diseñar algoritmo implementar algoritmo sintaxis (palabras reservadas) instrucciones

Tabla de Verdad

dato1 dato2 ! dato1 dato1 && dato2 dato1 || dato2

0 0 1 0 0

0 1 1 0 1

1 0 0 0 1

1 1 0 1 1

Page 47: Términos algoritmo diseñar algoritmo implementar algoritmo sintaxis (palabras reservadas) instrucciones

Tabla de Verdad

dato1 dato2 ! dato1 dato1 && dato2 dato1 || dato2

0 0 1 0 0

0 1 1 0 1

1 0 0 0 1

1 1 0 1 1

Page 48: Términos algoritmo diseñar algoritmo implementar algoritmo sintaxis (palabras reservadas) instrucciones

Ejemplos

Expresión Resultado Expresión Resultado

(7 >= 6) && (3 == 3) 1 (3 > 5) || (7<=10) 1

(6 >= 7) && (3 == 3) 0 (5 + 8) <= 10 0

(5.5 < 11) && (1 > 100) 0 !(7 > 5) 0

7 > 5 1 (!( 3 > 2)) || (5 > 8) 0

Page 49: Términos algoritmo diseñar algoritmo implementar algoritmo sintaxis (palabras reservadas) instrucciones

Ejemplos

Expresión Resultado Expresión Resultado

(7 >= 6) && (3 == 3) 1 (3 > 5) || (7<=10) 1

(6 >= 7) && (3 == 3) 0 (5 + 8) <= 10 0

(5.5 < 11) && (1 > 100) 0 !(7 > 5) 0

7 > 5 1 (!( 3 > 2)) || (5 > 8) 0

Page 50: Términos algoritmo diseñar algoritmo implementar algoritmo sintaxis (palabras reservadas) instrucciones

Ejemplos

Expresión Resultado Expresión Resultado

(7 >= 6) && (3 == 3) 1 (3 > 5) || (7<=10) 1

(6 >= 7) && (3 == 3) 0 (5 + 8) <= 10 0

(5.5 < 11) && (1 > 100) 0 !(7 > 5) 0

7 > 5 1 (!( 3 > 2)) || (5 > 8) 0