You are on page 1of 21

Tema 1

INTRODUCCIN A LA
PROGRAMACIN
1.1. Programacin.- Es la ciencia y arte de disear programas.
Ciencia porque:
a) Est relacionada con otras ciencias
b) Tiene su propio objeto de estudio y
c) Tiene su propio mtodo de estudio
Arte porque:
- Todo programa debe ser estticamente presentable al usuario. Muchas
veces un programa puede ser eficaz en sus resultados, pero debido a su mala
presentacin, el usuario tiende a dejar de usarlo.
- Aunque no sea notorio al principio, el uso de ciertas combinaciones de
colores puede provocar malestares fsicos en el usuario, lo que tambin lo
inducen a no usar dicho programa. Por ejemplo, no es lo mismo usar los
siguientes colores:
NO ADECUADO

SI ADECUADO

NOTA: Procure usar colores contrastantes, oscuros con claros.


1.2. Programa.- Es 1) un conjunto de instrucciones (sentencias, comandos,
rdenes), 2) ordenadas lgicamente 3) con el propsito u objetivo de resolver un
problema 4) con la ayuda de un computador.
1.3. Lenguaje de Programacin.- Es el medio de comunicacin entre el usuario
y el computador compuesto de palabras, smbolos y signos. (Ver
tambin Lenguajes de Programacin)

1.4. Lgica de un programa.- Todo programa se puede entender como una


secuencia de procesos los cuales se denotan como:
ENTRADA --->>

PROCESO

--->> SALIDA

Dato

Frmula

Informacin

Conjuncin de
Hecho real que no
Valores que
operaciones que
tiene significado
permiten TOMAR
generan un nuevo
por s solo
DECISIONES
valor

NOTA: Si su programa no produce informacin que ayude a tomar


decisiones, entonces no tiene mucho valor
1.5. Etapas de la Programacin.- Para disear un programa de manera correcta
se deben seguir un conjunto de pasos metdicos, sitemticos, ordenados, estos
son:
1) Anlisis del problema
2) Diagrama de Flujo o Codificacin
3) Codificacin
4) Ejecucin Pruebas y Depuracin
NOTA: Si desea ser un buen programador, debe cumplir estas etapas en
el orden indicado. Saltar algunas etapas, mostrarn que usted es una persona
apresurada, como quien corre por la calle con toda su ropa entre sus manos,
siempre dejar caer en el camino alguna prenda, la cual le puede servir ms
adelante. Haga caso pues...

Tema 2
ELEMENTOS DE LA PROGRAMACIN
2.1 Expresin algebrica.- Es una expresin matemtica en la que participan
variables (independientes y dependientes) y cuyo clculo se lleva a cabo asignano
un valor numrico a cada variable independiente::
z = 5y + (a+b)x - 8
dependiente (z)

variables independientes (a,b,y,x) variable

NOTA: Cuando a la izquierda del signo igual existe una sola variable
(variable dependiente), la expresin recibe el nombre de funcin y suel escribirse
en forma general z=f(x,y)
2.2. Variable.- En programacin, es un espacio reservado de la memoria donde
se puede almacenar un valor llamado DATO que puede ser de cualquier tipo y al
que se puede acceder a travs de la direccin de memoria asignada o nombre de
la variable, que es su equivalente.

Variable
-->

<--- Nombre de la
variable

38

<--- Contenido
(Dato)

REGLAS para nombrar variables:


1) Debe empezar con una letra (mayscula o minscula)
area , edad
2) Puede estar seguida de letras y o nmeros
edad3

suma , veloci ,

suma1 , veloc3 , area45 ,

3) El nico smbolo que puede contener es el subrayado


edad_actual , x_1

suma_total ,

4) No puede ser una palabra reservada

program , var , byte , begin

2.3. Operadores.- Existen tres tipos de operadores:


Aritmticos
+ suma
- resta
* multiplicacin
/ divisin real
div divisin entera
mod resduo de la divisin
entera

De relacin
= igual
> mayor que
< menor que
<>, >< diferente a
>=, => mayor o igual que
<=, =< menor o igual que
in incluido en

Lgicos
not

(no) negacin

and (y) conjuncin "y"


lgica
or (o) inclusin
inclusiva

"o"

xor () exclusin "o"


exlusiva

Ejemplos:
Operadores aritmticos: Se usan de forma natural y comn
10 + 4 = 14
10 - 4 = 6
4 - 10 = -6
10 * 4 = 40
10 / 4 = 2.5
4 / 10 = 0.4
15 div 6 = 2 (NUNCA con decimales. 15 entre 6 es 2 y sobra 3. el cociente es
el "div" )
4 div 10 = 0 (4 no se puede dividir entre 10. Por tanto el cociente es 0 y
resduo es 4. el cociente es el "div")
15 mod 6 = 3 (Es lo que sobra, el resduo, al dividir 15 entre 6. El resduo es
el "mod")
6 mod 15 = 6 (6 entre 15 no se puede dividir, el cociente es 0 y el resduo es 6.
El resduo es el "mod")
Operadores de relacin.- Los operadores de relacin renen a dos espresiones
con operadores aritmticos, y forman una PROPOSICIN, cuyo resultado puede
ser Verdadero o Falso. No devuelve un valor numrico, como los operadores
artimticos.

15+3 > 8-3 ... Verdadero (Porque 15+3=18 y 8-3=5, luego 18 SI ES mayor
que cinco)
13 div 5 < 6 mod 5 ... Falso (Porque 13 div 5 = 2 y 6 mod 5 = 1, por tanto 2
NO ES menor que 1)
Operadores Lgicos.- Los operadores lgicos renen dos expresiones de
relacin (Proposiciones) y su valor tambin es lgico, es decir, slo pueden ser
Verdadero o Falso.
Cmo se usan:
not: Invierte el
valor de la
proposicin

and: Es verdadero
SOLO si ambas
proposiciones son
verdaderas, caso
contrario es Falsa

or: Es verdadero si
una o ambas
proposiciones son
verdaderas, caso
contrario es Falsa.

xor: Es verdadera
si ambas
expresiones son
opuestas, caso
contrario es Falsa

notV=F

VandV=V

VorV=V

VxorV=F

notF=V

VandF=F

VorF=V

VxorF=V

FandV=F

ForV=V

FxorV=V

FandF=F

ForF=F

FxorF=F

2.4. Funciones Matemticas estndar.- En programacin, una funcin es un


subprograma que recibe en un argumento parmetros, y DEVUELVE un solo
valor. Para poder calcular el valor o el resultado de la funcin se deben conocer
los valores de los parmetros respectivos.
Variable que recibe el valor -->

z = f ( x, y) <---- Parmetros

Algunas de las funciones estndar en Pascal son:

Sus equivalentes en
Pascal son:
y := 3 * x - 8
y := 5 + Sqr(x)
y:= 5 + x * x
y := Sqrt(x-7)
y := Exp(x)
y := Ln(x/2)
y := Abs(x+8)
y := 3*x*x*x*x x*x*x + 5*x -6
y := 2
* Cos(x)
Sin(x) en el
caso de seno

NOTA: Todas las funciones encierran entre parntesis a su argumento (valores o


expresin a la que afecta la funcin). En el caso de la multiplicacin se debe
mostar con un asterisco (*), la mquina no supone como nostros lo hacemos. La
expresin 2ab debe escribirse necesariamente como 2*a*b, 2(a+b) debe
escribirse como 2*(a+b)
2.5. Notacin computacional.- Cuando se utiliza un lenguaje de programacin,
las expresiones matemticas (frmulas) se deben escribir en formato lineal (en
una sola lnea). Esto obliga al uso frecuente de parntesis que indica el orden de
evaluacin o clculo correcto.
Para ello vamos a aplicar dos sencillas reglas a las expresiones para convertirlas
en formato lineal:
1) Si la expresin NO tiene DIVISIN, y slo se encuentran sumas, restas,
multiplicaciones, funciones y en algunos casos parntesis, la expresin se escribe
TAL COMO EST, especificando el operador de la multiplicacin (*) porque en
algunos casos las frmulas en los libros no lo muestran.

2) Si la expresin ES UNA DIVISIN, se deben encerrar entre parntesis tanto


el Numerador, como el Denominador en los siguientes casos:
N(+-)

Se usan parntesis cuando SOLO existen sumas o

restas
D ( + - * / div mod ) Se usan parntesis cuando existen sumas, restas,
multiplicaciones y divisiones
Ejemplos:

2.6. Jerarqua de operadores.- Es el orden en el que deben calcularse las


expresiones. La computadora realiza en forma iterativa el clculo, operador por
operador de acuerdo a la siguiente jerarqua:
Primero busca y calcula
( ) parntesis y funciones, si existen varios
parntesis de adentro hacia afuera
Segundo busca y calcula
not
Tercero busca y calcula
* / div mod and
Cuarto busca y calcula
+ - or xor

Quinto busca y calcula

= > < <> >= <= in

NOTA: Cuando en una expresin existe ms de un operador de la MISMA


JERARQUA (por ejemplo una divisn y una multiplicacin) la computadora
calcula de IZQUIERDA a DERECHA.
Ejemplo:
x = 14 div 5 * ( 4 - 6 / 3) + sqr(16-7)
divisn antes que la resta
x = 14 div 5 * ( 4 - 2 ) + sqr(16-7)
desaparece el parntesis
x = 14 div 5 *
2
+ sqr(16-7)
x = 14 div 5 *
2
+ sqr( 9 )
operaciones, se calcula la funcin
x = 14 div 5 *
2
+
81
primero la div
x=
2
*
2
+
81
Multiplicacin
x=
4
+
81
x=
85

Aplicaciones:

Parntesis de I-D, dentro, primero la


Parntesis de I-D, dentro, la resta y
Parntesis en funcin, dentro la resta
Parntesis en funcin, ya no hay
Misma jerarqua ( div y *). De I-D,
Diferente jerarqua. primero la
Solo queda la suma

Tema 3
DISEO DE UN PROGRAMA
3.1. Estructura de un programa Pascal.- La estructura bsica (No completa) de
un programa Pascal est conformada por tres secciones:
Cabecera
programnombre_programa;
usesunidad;
Seccindevariables
varvariable1:tipo1;
variable2:tipo2;
variable3:tipo3;
....
Seccindeinstrucciones(cuerpodelprograma)
begin
instruccin1;
instruccin2;
instruccin3;
......
end.
NOTA: El nombre de un programa cumple con las mismas reglas del nombre
de una variable (Tema 2)
3.2. Tipos de datos.- Existen cinco tipos bsicos de datos:
Integer
Char
Boolean
Real
String

Son nmeros enteros que no contienes decimales.


Solo puede almacenar caracteres del cdigo ASCII
Solo puede almacenar valores de falso o verdadero
Son nmeros que pueden incluir una parte decimal
Es un tipo de dato que puede almacenar varios caracteres

Los cuales se pueden especificar de la siguiente manera:


TIPOS
DE

ENTEROS
(Discretos)
(Recuento)

Sin signo

byte 0..255 Unsigned 8-bit


word 0..65535 Unsigned 16-bit

Con signo shortint -128..127 Signed 8-bit


integer -32768..32767 Signed 16-bit
longint -2147483648..2147483647 Signed

32-bit

REALES
(Contpinuos)
DATOS
(Medicin)

real 2.9e-39..1.7e38 11-12 6


single 1.5e-45..3.4e38 7-8 4
Con signo double 5.0e-324..1.7e308 15-16 8
extended 3.4e-4932..1.1e4932 19-20 10
comp -9.2e18..9.2e18 19-20 8

3.3. Anlisis del problema.- Una de las primeras etapas de la programacin es el


Anlisis del problema. Analizar significa descomponer un todo en sus partes.
Implica que para resolver un problema se debe seguir un proceso formado por un
conjunto de pasos sistematizados y ordenados. Se debe leer bien el enunciado de
un problema, reconocer los elementos que contiene, los datos con los que se
cuenta y el objetivo pricipal del problema, la solucin que se est buscando. Para
ello, podemos recurrir a responder a tres preguntas bsicas que estn relacionadas
con la lgica de un programa y su resolucin:
1) Qu entradas se tienen? Las entradas son los datos que nos proporciona el
problema
2) Cules son los procesos? Los procesos son las frmulas necesarias para
obtener los resultados
3) Qu salidas se desean producir? Las salidas son los resultados que se
desean obtener
Ejercicios:
1) Calcular la suma de dos nmeros enteros "a" y "b". Visualizar el
resultado
Fundamento terico

Anlisis E/P/S
E) a , b

s=a+b

P) s = a + b
S) s

Fundamento Terico: Est formado por todo los elementos tericos, grficos,
definiciones, deducciones de frmulas, o generalizaciones, que nos ayudan a
entender y resolver el problema.
Anlisis del problema: Se responde a las tres preguntas, Las entradas son las
variables independientes en las frmulas a las cuales se deben dar valores para
calcular los resultados (Se escriben separados por comas). Los procesos son las
frmulas que involucran a la solucin buscada (si son dos o ms frmulas se
separan con comas). Las salidas son las variables que reciben los resultados
buscados (separados por comas)
2) Calcular el rea de un tringulo de base "b" y altura "h"
3) Calcular el rea de un crculo de radio "r"
4) Visualizar el permetro de un rectngulo de base "b" y atura "a"
5) Calcular el volumen de un cilindro de radio mayor "r" y altura "h"
6) Calcular el rea de la corona circular de radio mayor "r1" y radio menor
"r2"
7) Calcular la hipotenusa "c" de un tringulo rectngulo, conociendo sus
catetos "a" y "b"
8) Conocidas tus notas trimestrales (t1,t2,t3) y el examen final (ef). Calcular
y visualizar tu nota final (nf)
9) Calcular las dos races de una ecuacin de primer grado "x1" y "x2",
conocidos sus coeficientes "a", "b" y "c"
10) Calcular las soluciones "x" y "y" de un sistema de dos ecuaciones
lienales con dos incgnitas.
3.4. Diagrama de Flujo.- Es la representacin grfica de los pasos de un proceso
o algoritmo, til para determinar cmo funciona, cmo se lleva a cabo dicho
proceso y producir un resultado necesario para resolver un problema.

EJERCICIO: Dibujar el Diagrama de Flujo para cada uno de los Ejercicios


antes propuestos, por ejemplo para el Ejercicio 1, suma de dos nmeros enteros,
tenemos:

3.5. Codificacin.- Es la escritura en un lenguaje de programacin a partir del


diagrama de flujo o algoritmo. Para ello se deben sustituir los bloques del
diagrama de flujo o el pseudocgico del algoritmo, por instrucciones
correspondientes al lenguaje de programacin.

Ejemplo: Cdigo para el problema de la suma de dos enteros mostrada en la


figura anterior.
NOTA: Las instrucciones en Pascal, equivalentes a cada bloque de diagrama de
flujo se encuentran junto a la simbologa bsica mostrada anteriormente.
3.6. Ejecucin.- Es el procesos de ejecucin una por una, de cada una de las
instrucciones que forman parte del programa codificado.Para ello, se utilizan
datos de entrada llamados datos de prueba para determinar si el programa tiene o
no errores.
Cuando se ejecuta un programa se puede producir tres tipos de errores:
a) Errores de compilacin: Se producen por el uso incorrecto de las reglas del
lenguaje de programacin.
Unknown Identifier (Identificador
desconocido)

* Escribir mal una instruccin


* Usar una variable que no est definida en
la seccin var

Type mismatch (Tipo incompatible)

* Cuando la variable de salida (izquierda de


la frmula), es de un tipo que no puede
almacenar el resultado

":=" expected (Se esperaba ":=")

* No se coloc correctamente el ":="

b) Errores de ejecucin: Se producen por instrucciones que la computadora


puede comprender pero no ejecutar.
* No puede calcular las races cuadradas de valores negativos
* No puede realizar divisiones entre cero
* Se asignan valores mayores a los que pueden soportar sus variables
c) Errores lgicos: La fuente de error est en el algoritmo, estos errores son ms
difciles de detectar, ya que el programa puede funcionar y no producir errores de
compilacin y de ejecucin.
* Cambiar algunos signos en las frmulas (+ por -, + por *, Sqrt() por Sqr(), etc.)
NOTA: La lista de
encuentras aqu.

Mensajes y Codigos de Error los

3.7. Depuracin de un programa.- Es el proceso de eliminar errores de un


programa para hacerlo ejecutable. Para ello, se debe entender el error, su causa, y
luego corregirlo para que al presentarse nuevamente, no sea ya problema.

Tema 4
PROCEDIMIENTOS DE CONTROL DE
ENTRADA Y SALIDA
4.1. Procedimientos de control de Entrada.- Los datos se pueden almacenar en
memoria bsicamente de tres maneras diferentes:
Como una constante
Consta=3
Var....

Por asignacin directa


Vara:byte;
......
......
a:=3;
.......

Por teclado
Vara:byte;
.......
.......
Readln(a);
........
........

.......

Sentencias Readln() y Read().- Permiten ingresar datos a una variable a travs


de un perifrico (teclado). Los datos que se pueden leer son: enteros, reales,
caracteres o cadenas; NO se pueden leer tipos enumerados, estructurados o
arreglos, registros, ni de conjunto.

Readln(variable1,
variable2, variable3, ....)
Sus formatos son:

Read(variable1, variable2,
variable3, ....)
Readln y Read esperan hasta que se pulsa la tecla ENTER, antes de asignar una
valor a una variable. Si se ingresan valores para dos o ms variables, stas se

deben escribir en conjunto separados por espacios en blanco antes de pulsar


ENTER.
En Read, despus de pulsar la tecla INTRO, el cursor permanece
inmediatamente despus del ltimo carcter introducido. En Readln, el cursor se
enva al principio de la siguiente lnea, tras pulsar la tecla ENTER.
NOTA: No es aconsejable utilizar ms de un dato por cada instruccin. En vez de
escribir Readln(a,b), procure siempre escribir por separado una instruccin para
cada variable Readln(a); Readln(b) porque el usuario desconoce la forma de
ingresar datos y puede cometer fcilemnte errores.
4.2. Procedimientos de control de Salida.- Los programas para ser tiles deben
proporcionar informacin de salida (resultados), la cual se puede presentar en
pantalla o ser almacenada en un dispositivo.
Sentencias Writeln() y Write().- Permiten visualizar informacin en la pantalla.
Sus formatos son:

Writeln(item1, item2,

item3, ....)
Write(item1, item2,
item3, ....)
Al ejecutarse Writeln el cursor salta a la siguiente lnea. Si se desea dejar el
cursor despus del ltimo elemento en la misma lnea, se debe utilizar el
procedimiento Write.

items

Los
que pueden
visualizar Writeln y Write son: Variables (a,b,x, ..) , Constantes (2, -34,
7.2,...), Caracteres ('a', 'c', '*',...) , Cadenas ('Hola', 'Mara', 'Ingrese valor',...)
y Valores lgicos (True, False).
NOTA: Para que el usuario entienda el valor que debe ingresar, se utilizan
cadenas para visualizar mensajes indicativos tales como 'Ingrese el radio:', '
Escriba una nota->', 'Su edad es:', etc.)
4.3.Formato de salida.- Permite visualizar los resultados de una manera
adecuada y entendible. Normalmente los resultados se visualizan sin alineacin,

si tienen decimales, en notacin cientfica. Cuando se desean visualizar un


conjunto de datos en columnas, no se podr lograr, si no se usa un formato de
salida.
Para nmeros enteros, caracteres y cadenas:

Writeln(valor:ancho);

Para nmeros reales


Writeln(valor:ancho:decimales)

EJEMPLOS:
CmovisualizarlosNmeros
enteros?
Varx:byte;
x:=23
Writeln(x)23Alineadoalaizquierda
(pordefecto)
Writeln(x:5);23Ocupa5posiciones
alineadoaladerecha
Writeln(x:8);23Ocupa8posiciones
alineadoaladerecha

CmovisualizarlosNmeros
reales?
Varx:real;
x:=3.746;
Writeln(x);3.7460000000E+00Notacincientfica
(pordefecto)
Writeln(x:9:4);3.74609posiciones,4son
paradecimales
Writeln(x:7:2);3.757posiciones,2
decimales(alin.derecha,redondeado)

Writeln(x:5:1);3.75posiciones,1
decimal(alin.derecha,redondeado)
Writeln(x:4:0);44posiciones,3.764
seredondeaaentero

Cmoingresardatoscon
mensajes?
Write('Ingresatuedad:');Readln(edad);
Write('Tucdigo:');Readln(cod);
Write('Fechadenacimiento>');Readln(fnac);
Write('Nombre=>');Readln(nom);

Cmovisualizardatoscon
mensajes?
Writeln('Tuedades:',edad);
Writeln('Lasumaes=',s);
Writeln('Elreadeltringuloes>',a_tri:6:1);
Writeln('x1=',x1:7:2);

Tema 5
ESTRUCTURAS DE CONTROL
SELECTIVAS
5.1. Estructura de control.- Es un procedimiento que permite desviar el flujo de
un programa (normalmente secuencial o lineal), en funcin del valor que pueda
tomar una expresin lgica o "condicin"; en algunos casos dependiendo del
valor que pueda tomar una variable de decisin llamada "selector".
Turbo Pascal nos ofrece dos estructuras de control selectivas: if y case.

5.2. Sentencia if/then/else.- Ejecuta un bloque-de-instrucciones-1 si una


condicin se cumple, caso contrario, puede (porque no es obligatorio hacerlo)
realizar otro bloque-de-instrucciones-2.
Su representacin grfica y formato(sintaxis) son:
ifCondicinthenInstruccin1
elseInstruccin2;
ifCondicinthenBegin
Instruccin;
...
Instruccin;
End
[elseBegin
Instruccin;
...
Instruccin;
End;]

NOTAS: Se considera bloque de instrucciones a dos o ms instrucciones, por lo


que se obliga, en estos casos, a usar begin y end para indicar al computador,
cuales instrucciones son parte del bloque de instrucciones a ejecutar. Si la
instruccin a ejecutar por then o else, o ambos es una sola, no es necesario el uso
de Begin y end.
REGLA: Antes de un else, nunca debe haber punto y coma.
5.3. Sentencia Case/of.- Ejecuta un bloque de instrucciones en particular, de
entre varias alternativas, dependiendo del valor que pueda tomar una variable
llamada "selector".
Su representacin grfica y formato(sintaxis) son:

Casesof
valor1:Bloquede
instrucciones1;
valor2:Bloquede
instrucciones2;
valor3:Bloquede
instrucciones3;
valor4:Bloquede
instrucciones4;
.....
valorn:Bloquede
instruccionesn;
[elseBloquede
instruccionesx;]
end;{Findelcase}
....

NOTAS: La variable s debe ser de tipo entero. No puede estar nunca despus
del case una expresin lgica, ni condicin, SOLO UNA VARIABLE. La
clusula else se usa en caso de que la variable stome un valor que no est
comprendido en la lista de valores, en instrucciones-x puede desplegar mensajes,
o ejecutar operaciones especficas.

You might also like