Você está na página 1de 12

Fundamentos de programacin

Contenido
Fundamentos de programacin
Contenido
Tipos de datos primitivos y variables
Tipos de datos primitivos
Variables
Expresiones
Expresiones aritmticas
Expresiones relacionales
Expresiones lgicas
Estructuras de control
Estructura secuencial
Estructura de control de seleccin
Estructura de control de iteracin
Diseo modular y paso de parmetros
Parmetros de entrada
Declaracin de variables y constantes
Bloque de instrucciones

Tipos de datos primitivos y variables


En el contexto de sistemas de cmputo, a la mnima unidad de almacenamiento se le conoce
como bit. Un bit puede representar uno de dos valores o estados: 0 o 1. Sin embargo, cuando
la informacin se almacena en la memoria, no se trabaja a nivel de bit, sino a nivel de byte
(ocho bits).
Por ejemplo, qu representa la secuencia de bits 1001001110001001?
Una computadora va a interpretar la secuencia de bits dependiendo del contexto. En los
programas de computadora, el contexto debe estar explcito mediante la especificacin del tipo
de datos.

Tipos de datos primitivos


Los tipos de datos primitivos son los que no se definen en trminos de otros tipos de datos.
Adems, los tipos de datos primitivos son la base para todos los dems tipos.
Cada lenguaje de programacin define un conjunto de tipos de datos primitivos, pero en
general, los ms usuales son los que se presentan en la siguiente tabla.
Tipo

Descripcin

Ejemplo

entero

Nmeros enteros

54, -127, 40762, 0

flotante

Nmeros reales

3.1416, 0.000001, -9.2

carcter

Caracteres simples

a, b, &, 8

Variables
La informacin que es utilizada (y en muchas ocasiones no utilizada) por un programa de
computadora reside en espacios especficos de memoria. A estos espacios generalmente se
les asigna un identificador o nombre. Ahora bien, si esta informacin, que puede ser un nmero
entero, un nmero real o un carcter, es propensa a cambiar durante la ejecucin de dicho
programa, se le conoce como variable . En caso contrario, es decir, si sabemos que la
informacin no cambiar, se le conoce como
constante.
Los identificadores o nombre que se asignan a dichos espacios de memoria deben ser nicos,
es decir, un identificador slo puede referir a un espacio de memoria.
Antes de utilizar estas variables y constantes, se debe hacer una declaracin de las mismas al
inicio del algoritmo y especificar el tipo de dato que se va a almacenar en dicho espacio de
memoria. Los tipos de datos que hemos visto hasta ahora son: entero,
flotante y carcter.
La declaracin de variables se debe de hacer de la siguiente forma:
tipo_de_dato nombre_de_la_variable
Por ejemplo:
entero temperatura
flotante PI
carcter letra
La asignacin de valores (el almacenamiento de informacin) a estas variables (en estos
espacios de memoria) a se consigue de la siguiente manera:
temperatura 20
pi 3.1416
letra 'a'
Este es buen momento para introducir el concepto de arreglo, que no es ms que una una serie
de espacios de memoria adyacentes, con la diferencia de que no se necesita nombrar a cada
espacio de diferente forma. Por ejemplo, en lugar de tener ocho variables enteras como

muestra la Figura 1(a) , podemos trabajar con un arreglo de ocho nmeros enteros, como se
muestra en la Figura 1(b).
Figura 1. Espacios de memoria: (a) ocho espacios de memoria independientes y (b) un arreglo de ocho posiciones.

La definicin de un arreglo debe especificar el tamao de dicho arreglo:


flotante vector[5]
carcter palabra[15]
Cuando se requiere escribir o leer informacin de dicho arreglo, se debe especificar la localidad
(ndice) a la que se desea tener acceso. Por ejemplo:
vector[0]: 1.234
vector[1]: 2.345
vector[2]: 3.456

palabra[4]: 'i'
palabra[8]: 'n'
palabra[13]: 't'

Ejercicio. Declara una variable para la siguiente informacin:

da de la semana
ms del ao
fecha de nacimiento

Expresiones
Una expresin es una combinacin de operadores y operandos que, al actuar los primeros
sobre los segundos, arroja un resultado. Los operandos pueden ser variables, constantes o,
inclusive, otras expresiones. Los operadores son smbolos que indican determinadas
operaciones sobre los operandos: aritmticas, relacionales y lgicas.
Es importante sealar que el resultado de una expresin generalmente se asigna a un
identificador, que puede ser una funcin, variable, etc. En este curso, nosotros utilizaremos el
smbolo para indicar esta asignacin.

Expresiones aritmticas
Una expresin aritmtica est compuesta por operadores aritmticos que actan sobre
operandos numricos, de la cual se obtiene un resultado numrico. Los operadores aritmticos

son: suma (+), resta (-), multiplicacin (*) y divisin (/).


Algunos ejemplos de operaciones aritmticas son las siguientes:

a (b * h) / 2
ca*x*x+b*x+K
s 3600 * h + 60 * m

La precedencia de los operadores aritmticos es de la siguiente forma:


1. ()
2. *, /
3. +, Es importante considerar que las operaciones aritmticas son asociativas por la izquierda. Esto
quiere decir que cuando en una expresin aritmtica existen operadores con la misma
precedencia, estos se evalan de izquierda a derecha. Algunos ejemplos de expresiones
aritmticas son los siguientes:
f
f
f
f
f

((3 + 2) + (1 + 8) + 4) / 6
(5 + 9 + 4) / 6
(14 + 4) / 6
18 / 6
3

f 3 * (2 + 1) + (8 + 4) / 6
f 3 * 3 + 12 / 6
f9+2
f 11

Ejercicio. Resuelve las siguientes expresiones para a 4, b 5, c 1:

fb*a-b*b/5*c
f (a * b) / 3 * 3
f (((b + c) / 2 * a + 10) * 3 * b) - 6

Expresiones relacionales
Una expresin relacional es un conjunto de operadores relacionales actuando sobre operandos
que pueden ser de diferentes tipos y que arrojan un resultado lgico, es decir, verdadero (V) o
falso (F).

Los operadores relacionales son los siguientes: igual (=), diferente (), menor que (<), menor o
igual que (), mayor que (>) y mayor o igual que (). Estos operadores comparan dos
operandos para definir el resultado.
Por ejemplo, consideremos la siguiente tabla, en donde las variables a y b toman valores de
diferentes tipos de datos (entero, real, carcter) que son comparados con los operadores

relacionales.
a

a = b

ab

a < b

ab

a > b

ab

4.4

4.4

Los operadores relacionales tambin tienen una precedencia establecida:


1. ()
2. <, , >,
3. =,
Es importante mencionar que los operadores aritmticos tienen precedencia sobre los
operadores relacionales.
Resolvamos la siguiente expresin lgica para a 6, b 1, x 3, y 2:
f
f
f
f

(a + b - 1) < (x * y)
(6 + 1 - 1) < (3 * 2)
6<6
F

Ejercicio. Resuelve las siguientes expresiones para a 4, b 2, x 1, y 3:

f (a * b) (x * y) + 2
f (y - x) - 2 (a - 2)
f (a / b + x * y) 5

Expresiones lgicas
Por otro lado, las expresiones lgicas son un conjunto de operadores lgicos actuando sobre
operandos lgicos y que tienen un resultado tambin lgico.
Los operadores lgicos son los siguientes: Y (), O () y NO (). La siguiente tabla muestra la
definicin de estas operaciones.
a

ab

ab

La precedencia de los operadores lgicos es la que se muestra a continuacin:


1.
2.
3.
4.

()

Veamos algunos ejemplos de expresiones lgicas, considerando p F, q V, s F:


f
f
f
f
f

(p q) s
(F V) F
V F
FF
F

f p (q s)
f F (V F)
f F F
fVF
fV

Ejercicio. Resuelve las siguientes expresiones para a V, b F, x V, y F:

f (a b) (x y)
fabxy
fabxy

La precedencia de todos los operadores, aritmticos, relacionales y lgicos, es de la siguiente


forma:
1.
2.
3.
4.
5.
6.
7.
8.

()

*, /
+, <, , >,
=,

Como ejemplo, resolvamos las siguientes expresiones en donde intervienen los tres tipos de
operadores, para x 3, y 6:
f
f
f
f

(x + 1 < 5) (y - 1 7)
(3 + 1 < 5) (6 - 1 7)
(4 < 5) (5 7)
V F

f
f
f
f

((y - 2 > 4) (x + 2 4))


((6 - 2 > 4) (3 + 2 4))
((4 > 4) (5 4))
(F F)

fFV
fF

f F
fV

Ejercicio. Resuelve las siguientes expresiones, que combinan los tres tipos de operadores,
para a 6, b 4, c 2:

f (a - b = c) (c 0) (b + c 3)
f (a > b + c) (a - c > 0) (b < 3 - a)
f (a > b - c) (a - c < 0) (b < 3 + a)

Estructuras de control
Cuando se define un proceso, las operaciones o actividades que forman parte de ste llevan un
flujo de ejecucin. Las estructuras de control determinan la secuencia en que estas actividades
deben llevarse a cabo. Para los fines de este curso, nos referimos especficamente a
algoritmos.
Existen tres estructuras bsicas de control: secuencial, de seleccin y de iteracin. Cualquier
algoritmo se puede definir combinando estas tres estructuras.

Estructura secuencial
Es la estructura ms simple, en donde las instrucciones que la constituyen se ejecutan una tras
otra en el orden en que estn listadas. Por ejemplo, consideremos un algoritmo con 4
instrucciones que deben ejecutarse una tras otra. Este algoritmo se muestra como un diagrama
de flujo en la Figura 2. Es decir que las instrucciones se ejecutan de acuerdo a la siguiente
lista:
1.
2.
3.
4.

Instruccin
Instruccin
Instruccin
Instruccin

1
2
3
4

Figura 2. Diagrama de flujo de la estructura de control secuencial.

Ejercicio. Dibuja el diagrama de flujo y escribe el algoritmo para:

Calcular la desviacin estndar del contenido de las variables a, b, c, d y e.


Calcular la altura de un tringulo issceles con base b y lado l.

Estructura de control de seleccin


Esta estructura permite elegir una de dos opciones, de acuerdo a la evaluacin de una
expresin lgica. La Figura 3(a) muestra, en diagrama de flujo, un algoritmo que evala una
expresin lgica. Si el resultado es verdadero (V), se ejecuta la Instruccin 1 e,
independientemente del resultado, la Instruccin 2 es ejecutada. En forma de lista, este
algoritmo se vera de la siguiente forma:
1. si la evaluacin de Expresin Lgica es verdadero entonces
2.
Instruccion 1
3. fin si
4. Instruccion 2
Figura 3. Diagrama de flujo de dos casos de la estructura de control de seleccin.

De forma similar, en el ejemplo que se muestra en la Figura 3(b), si el resultado de la expresin


lgica es verdadero (V) se ejecuta la Instruccin 1, pero si es falso (F) se ejecuta la
Instruccin 2. Finalmente, despus de cualquiera de los dos casos anteriores, la
Instruccin 3 es ejecutada. Este algoritmo se puede escribir como:
1.
2.
3.
4.
5.
6.

si la evaluacin de Expresin Lgica es verdadero entonces


Instruccion 1
si no
Instruccion 2
fin si
Instruccin 3

Por ejemplo, consideremos las dos variables x y y. Si el valor de x es menor que el de y, las
variables sern multiplicadas, en caso contrario sern sumadas. Finalmente, se restar 4 al
resultado obtenido. Este algoritmo est representado en la Figura 4 y el listado de las
instrucciones se muestra a continuacin:
1. si x < y entonces
2. z x * y

3. si no
4. z x + y
5. fin si
6. z z - 4
Figura 4. Diagrama de flujo de un ejemplo que muestra el uso de la estructura de control de seleccin.

Ejercicio. Dibuja el diagrama de flujo y escribe el algoritmo para:


saber si un nmero entero x es par o impar
identificar el da de la semana indicado por la variable de tipo entero da
indicar si el smbolo contenido en la variable de tipo carcter c es una letra
minscula, una letra mayscula, un dgito u otro tipo.

Estructura de control de iteracin


Las estructuras de iteracin permiten ejecutar cclicamente un grupo de operaciones, siempre y
cuando se satisface cierta condicin de control, la cual se representa mediante una expresin
lgica. Esta condicin contempla una variable de control que, generalmente, cambia en el
transcurso del ciclo y es mediante esta variable que se comprueba la validez de la condicin de
control.
Por ejemplo, si queremos sumar los nmeros del 1 al 5, podramos involucrar una variable i,
que inicialmente tiene un valor de 1, la cual ser la variable de control y una variable s, que
inicialmente tiene un valor de 0, la cual ir acumulando la suma de los nmeros. Dentro del
ciclo, despus de sumar el valor que contiene la variable i, sta se incremente en uno, es decir
i i + 1. La Figura 5 muestra un diagrama de flujo para realizar esta suma. El algoritmo se
escribe de la siguiente forma:
1.
2.
3.
4.
5.
6.

i1
s0
mientras i 5 hacer
ss+i
ii+1
fin mientras

Figura 5. Diagrama de flujo de un ejemplo que muestra el uso de la estructura de control de iteracin.

Ejercicio. Dibuja el diagrama de flujo y escribe el algoritmo para:


Calcular el factorial de un nmero n
Calcular el promedio y desviacin estndar de los n nmeros contenidos en el
arreglo a

Diseo modular y paso de parmetros


Los mdulos son bloques de instrucciones que llevan a cabo una tarea en especfico. Para
definir uno de estos se debe seguir el siguiente patrn:
mdulo nombre_del_mdulo (lista de parmetros)
declaracin de constantes
declaracin de variables
comienza
bloque de instrucciones
fin

Parmetros de entrada
Los parmetros de entrada se refieren a la informacin que es necesaria proveer al mdulo
para que ste pueda ejecutarse correctamente. Cabe sealar que los parmetros de entrada no
siempre son requeridos.
La lista de los parmetros de entrada debe establecer los identificadores o nombres que se
utilizaran dentro del procedimiento y que tipo de dato almacenar cada uno de ellos. Por
ejemplo, escribamos un mdulo que calcula el rea de un tringulo. la informacin que
necesitamos saber para hacer este clculo es las longitudes de la base y de la altura.

Entonces, podemos escribir este mdulo de la siguiente forma:


mdulo calcularAreaTringulo(flotante base, flotante altura)

Declaracin de variables y constantes


En esta parte se especifican las variables y constantes que se van a utilizar dentro del mdulo.
A diferencia de los parmetros de entrada y dato de salida, la informacin que se almacene en
estas variables y constantes dejar de existir una vez que
el mdulo termine de ejecutarse.
Continuando con nuestro ejemplo del clculo del rea de un tringulo, declaramos una variable
como sigue:
flotante rea

Bloque de instrucciones
En esta parte se escriben todas las instrucciones que forman el algoritmo, es decir, todas las
instrucciones que se ejecutarn cuando el mdulo sea invocado.
Para nuestro ejemplo del clculo del rea de un tringulo, podemos escribir la siguiente
secuencia de instrucciones:
1: rea base * altura / 2
2: regresar rea
Si unimos todas las secciones anteriores, nuestro mdulo que calcula el rea de un tringulo es
el siguiente:
mdulo calcularAreaTringulo(flotante base, flotante altura)
flotante rea
comienza
1:
rea base * altura / 2
2:
regresar rea
fin
Ejercicio. Escribe los mdulos correspondientes:
Escribe el algoritmo de funcionamiento de un reloj considerando el conteo de
segundos, minutos y horas
Calcular el promedio y desviacin estndar de los n nmeros flotantes
contenidos en un arreglo a
Calcular cos x mediante una serie de Taylor de orden n. La serie de Taylor
de orden n para calcular cos x est dada por:

n /2

1 k 2 k
x
k=0 ( 2 k)!

cos x=

Você também pode gostar