Вы находитесь на странице: 1из 21

UNIVERSIDAD PRIVADA DE SAN PEDRO SULA

Contenido Terico I Parcial


Clase de Programacin Estructurada
Lic. Su-Yen Hipp
304006@usap.edu

Los programas pueden pensarse como modelos de procedimientos manuales. . ., Como todo
modelo, un programa representa una abstraccin de la realidad. La abstraccin es el proceso que
permite identificar las cualidades o propiedades importantes del fenmeno que se modela. . . y
descartar aquellas no relevantes. Lo que se considera relevante depende del propsito con el cual se
disea la abstraccin. Carlo Ghezzi y Mehdi Jazayeri Programming Language Concepts.

Computadoras y Lenguajes de Programacion


Si lo miramos desde un punto de vista simple, la funcin bsica de una computadora es la de
procesar datos y convertir dichos datos en la informacin que necesita el usuario de dicha
computadora.
Definamos entonces que son Datos: son secuencias de hechos en bruto que representan eventos
que ocurren en las organizaciones., Mientras que Informacin son datos que se han moldeado en
una forma significativa y til para los seres humanos.
MODELO FUNDAMENTAL DE DATOS

Entrada

Proceso

Salida

Los datos entran a la computadora (ENTRADA), la computadora Procesa los datos ingresados y
estos se convierten en la informacin significativa la cual es el resultado (SALIDA)

Qu es un programa?
Un PROGRAMA es una lista de instrucciones detallada que indica a la computadora lo que ha de
hacer. La computadora no pueda hacer nada sin un programa.

LOS LENGUAJES DE PROGRAMACION


Lenguaje: Es una serie de smbolos que sirven para transmitir uno o mas mensajes (ideas) entre dos
entidades diferentes. A la transmisin de mensajes se le conoce comnmente como comunicacin.
La comunicacin es un proceso complejo que requiere una serie de reglas simples, pero
indispensables para poderse llevar a cabo. Las dos principales son las siguientes:

Los mensajes deben correr en un sentido a la vez.


Debe forzosamente existir 4 elementos: Emisor, Receptor, Medio de Comunicacin y
Mensaje.

Los Lenguajes Programacin sirven para escribir programas que permitan la comunicacin
usuario/maquina.

Lenguajes de Programacin
Es un conjunto de smbolos, caracteres y reglas (programas) que le permiten a las personas
comunicarse con la computadora.
Los lenguajes de programacin tienen un conjunto de instrucciones que nos permiten realizar
operaciones de entrada/salida, calculo, manipulacin de textos, lgica/comparacin y
almacenamiento/recuperacin.
Los lenguajes de programacin se clasifican en:
Lenguaje Maquina: Son aquellos cuyas instrucciones son directamente entendibles por la
computadora y no necesitan traduccin posterior para que la CPU pueda comprender y ejecutar el
programa. Las instrucciones en lenguaje maquina se expresan en trminos de la unidad de
memoria mas pequea el bit (dgito binario 0 o 1).
Lenguaje de Bajo Nivel (Ensamblador): En este lenguaje las instrucciones se escriben en
cdigos alfabticos conocidos como mnemotcnicos para las operaciones y direcciones simblicas.
Lenguaje de Alto Nivel: Los lenguajes de programacin de alto nivel (BASIC, pascal, cobol,
fortran, etc.) son aquellos en los que las instrucciones o sentencias a la computadora son escritas
con palabras similares a los lenguajes humanos (en general en ingles), lo que facilita la escritura y
comprensin del programa.

Definicin de Algoritmo
La palabra algoritmo se deriva de la traduccin al latn de la palabra rabe Alkhowarizmi, nombre
de un matemtico y astrnomo rabe que escribi un tratado sobre manipulacin de nmeros y
ecuaciones en el siglo IX.
Un algoritmo es una serie de pasos organizados que describe el proceso que se debe seguir, para
dar solucin a un problema especfico.
Euclides, matemtico griego (s. IV aC) invent un algoritmo para encontrar Mximo Comn Divisor
entre dos nmeros

Tipos de Algoritmos
Cualitativos: Son aquellos en los que se describen los pasos utilizando palabras.
Cuantitativos: Son aquellos en los que se utilizan clculos numricos para definir los pasos del
proceso.

Lenguajes Algortmicos
Es una serie de smbolos y reglas que se utilizan para describir de manera explcita un
proceso.
Tipos de Lenguajes Algortmicos
Grficos: Es la representacin grfica de las operaciones que realiza un algoritmo
(diagrama de flujo).
No Grficos: Representa en forma descriptiva las operaciones que debe realizar un
algoritmo (pseudocdigo).

Metodologa para la solucin de problemas por medio de computadora


Definicin del Problema
Esta fase est dada por el enunciado del problema, el cual requiere una definicin clara y
precisa. Es importante que se conozca lo que se desea que realice la computadora;
mientras esto no se conozca del todo no tiene mucho caso continuar con la siguiente
etapa.

Anlisis del Problema


Una vez que se ha comprendido lo que se desea de la computadora, es necesario definir:
Los datos de entrada.
Cual es la informacin que se desea producir (salida)
Los mtodos y frmulas que se necesitan para procesar los datos.
Una recomendacin muy practica es el que nos pongamos en el lugar de la computadora y
analicemos que es lo que necesitamos que nos ordenen y en que secuencia para producir
los resultados esperados.

Diseo del Algoritmo


Las caractersticas de un buen algoritmo son:
a. Debe tener un punto particular de inicio.
b. Debe ser definido, no debe permitir dobles interpretaciones.

c. Debe ser general, es decir, soportar la mayora de las variantes que se puedan
presentar en la definicin del problema.
d. Debe ser finito en tamao y tiempo de ejecucin.

Codificacin
La codificacin es la operacin de escribir la solucin del problema (de acuerdo a la lgica
del diagrama de flujo o pseudocodigo), en una serie de instrucciones detalladas, en un
cdigo reconocible por la computadora, la serie de instrucciones detalladas se le conoce
como cdigo fuente, el cual se escribe en un lenguaje de programacin o lenguaje de alto
nivel.

Prueba y Depuracin
Los errores humanos dentro de la programacin de computadoras son muchos y aumentan
considerablemente con la complejidad del problema. El proceso de identificar y eliminar
errores, para dar paso a una solucin sin errores se le llama depuracin.
La depuracin o prueba resulta una tarea tan creativa como el mismo desarrollo de la
solucin, por ello se debe considerar con el mismo inters y entusiasmo.
Resulta conveniente observar los siguientes principios al realizar una depuracin, ya que de
este trabajo depende el xito de nuestra solucin.

Documentacin
Es la gua o comunicacin escrita es sus variadas formas, ya sea en enunciados,
procedimientos, dibujos o diagramas.
A menudo un programa escrito por una persona, es usado por otra. Por ello la
documentacin sirve para ayudar a comprender o usar un programa o para facilitar futuras
modificaciones (mantenimiento).
La documentacin se divide en tres partes:

Documentacin Interna
Documentacin Externa
Manual del Usuario

Documentacin Interna: Son los comentarios o mensaje que se aaden al cdigo


fuente para hacer mas claro el entendimiento de un proceso.
Documentacin Externa: Se define en un documento escrito los siguientes
puntos:
Descripcin del Problema
Nombre del Autor
Algoritmo (diagrama de flujo o pseudocodigo)
Diccionario de Datos
Cdigo Fuente (programa)
Manual del Usuario: Describe paso a paso la manera como funciona el
programa, con el fin de que el usuario obtenga el resultado deseado.

Mantenimiento
Se lleva acabo despus de terminado el programa, cuando se detecta que es necesario
hacer algn cambio, ajuste o complementacin al programa para que siga trabajando de
manera correcta. Para poder realizar este trabajo se requiere que el programa este
correctamente documentado.

Entidades Primitivas Para el Desarrollo


De Algoritmos
Tipos De Datos
Todos los datos tienen un tipo asociado con ellos. Un dato puede ser un simple carcter, tal
como b, un valor entero tal como 35. El tipo de dato determina la naturaleza del conjunto
de valores que puede tomar una variable.

Numricos
Simples

Lgicos
Alfanumricos (string)

Tipos de
datos

Arreglos (Vectores, Matrices)


Estructurados

Registros

(Def. por el

Archivos

usuario)

Apuntadores

Tipos de Datos Simples


Datos Numricos:

Valores numricos, o simplemente nmeros.


Pueden representarse de dos formas: enteros o reales.
Enteros: (Integer)

Tambin se denominan nmeros de punto o coma fija.


Son un subconjunto (finito) de los nmeros enteros (Z),
No tienen componentes fraccionarios ni decimales,

Pueden ser negativos o positivos.


Ejemplo: 4, 6, 12, 23, 0, -2, -35, -1200, .........
El rango de nmeros enteros que maneja una computadora de 16 bits es desde 32768 a +32767.
En general, el rango depender del lenguaje de programacin en que se codifique el
algoritmo.

Reales: (Real)

Tambin se denominan nmeros de punto o coma flotante.


Son un subconjunto de los nmeros reales (R),
Tienen un componente decimal (punto decimal),
Pueden ser negativos o positivos.
Todo nmero real consta de una parte entera y una parte decimal.
Ejemplo: 0.03, 3.0, 7.3456, -0.03, -3.0, -9.23, 1234.567.........

Datos Lgicos (bolanos):


Son aquellos que solo pueden tener dos valores (cierto o falso) ya que representan el
resultado de una comparacin entre otros datos (numricos o alfanumricos).
Datos del tipo carcter y del tipo cadena (String):

El tipo carcter es el conjunto (finito) de caracteres que reconoce y opera la


computadora,
Un dato tipo carcter consiste en un solo carcter.
Las computadoras por lo general reconocen los siguientes caracteres:

Caracteres alfabticos: (A, B, C,....., Z), (a, b, c,......, z).

Caracteres numricos: (1, 2, 3, ........., 0).

Caracteres especiales: (, ?, , !, , $, (, +, -, /, *, <,.............).


Una cadena o string de caracteres es una sucesin de caracteres delimitados por una
comilla simple, o por comillas dobles (depende del lenguaje de programacin).
La longitud del string es el nmero de caracteres entre comillas.
Ejemplo: Buenos das, Buenos das, 31 de diciembre, 20 de marzo, etc.

Expresiones
Las expresiones son combinaciones de constantes, variables, smbolos de operacin,
parntesis y nombres de funciones especiales. Por ejemplo:
a+(b + 3)/c

Cada expresin toma un valor que se determina tomando los valores de las variables y
constantes implicadas y la ejecucin de las operaciones indicadas. Una expresin consta de
operadores y operandos. Segn sea el tipo de datos que manipulan, se clasifican las
expresiones en:
- Aritmticas
- Relacinales
- Lgicas

Operadores y Operandos
Operadores: Son elementos que relacionan de forma diferente, los valores de una o
mas variables y/o constantes. Es decir, los operadores nos permiten manipular valores.
Aritmticos
Tipos de Operadores
Relacinales
Lgicos

Operadores Aritmticos: Los operadores aritmticos permiten la realizacin de


operaciones matemticas con los valores (variables y constantes).
Los operadores aritmticos pueden ser utilizados con tipos de datos enteros o reales. Si
ambos son enteros, el resultado es entero; si alguno de ellos es real, el resultado es real.
Ejemplo:

3 * a 2 * (b 5) * c
Operandos: 2, 3, 5, a, b, c

Operadores: *, +, ,
el valor de la expresin

3a 2(b 5) c

es el resultado.

Operadores aritmticos

Operador

Significado

Tipo Operando

Tipo Resultado

^, **

Exponenciacin

Entero o Real

Entero o Real

Suma

Entero o Real

Entero o Real

Resta

Entero o Real

Entero o Real

Multiplicacin

Entero o Real

Entero o Real

Divisin

Real

Real

Div

Divisin entera

Entero

Entero

Mod

Mdulo (resto)

Entero

entero

Ejemplos:

8 x 12 se representa 8 * 12
5 / 12
53 se representa
5^3

Operador /:

Divisin entera o real

El resultado de A / B, depende del tipo de los operandos: si A y B son reales, el


resultado es real; si A y B son enteros, el resultado es entero.

19 / 6 = 3; 43 / 22 = 1; 1 / 10 = 0; 19.0 / 3.0 = 6. 3; 43..0 / 22.0 = 1. 954; 1.0 /


10.0 = 0.1

Operador %:

Mdulo o resto,

A % B, se usa slo si A y B son enteros; se obtiene el resto de A / B,

19 % 3 = 1; 43 % 22 = 21; 1 % 10 = 1

Ejemplo:
21 : 5 = 4

parte entera

21 / 5 = 4

resto

21 % 5 = 1

REGLAS DE PRECEDENCIA DE OPERADORES.

Determinan el orden en que se ejecutan las operaciones:


Primero se evalan las expresiones encerradas entre parntesis. Si hay parntesis
anidados, se evalan desde dentro hacia fuera.
Las operaciones aritmticas siguen el siguiente orden de precedencia:

Operador exponencial.
Operadores *, /.
Operadores div, mod,
Operadores +, .

Si en una expresin hay varios operadores de igual nivel de precedencia, se evalan de


izquierda a derecha.

Ejemplo:
1.
2.
3.
4.
5.

8 * 2 4 * (2 ^ 3) + 5 * 4 / 2
8*24*8+5*4/2
16 32 + 20 / 2
16 32 + 10
16 + 10
6.

Ejemplos:
4 + 2 * 5 = 14
23 * 2 / 5 = 9.2

46 / 5 = 9.2

3 + 5 * (10 - (2 + 4)) = 23

3 + 5 * (10 - 6) = 3 + 5 * 4 = 3 + 20 = 23

3.5 + 5.09 - 14.0 / 40 = 5.09

3.5 + 5.09 - 3.5 = 8.59 - 3.5 = 5.09

2.1 * (1.5 + 3.0 * 4.1) = 28.98

2.1 * (1.5 + 12.3) = 2.1 * 13.8 = 28.98

Operadores Relacinales:
Se utilizan para establecer una relacin entre dos valores.
Compara estos valores entre si y esta comparacin produce un resultado de certeza o
falsedad (verdadero o falso).
Los operadores relacinales comparan valores del mismo tipo (numricos o cadenas)
Tienen el mismo nivel de prioridad en su evaluacin.
Los operadores relacinales tiene menor prioridad que los aritmticos.
Operadores Relacinales

Operador

Significado

<

Menor que

>

Mayor que

Igual que

<=

Menor o igual que

>=

Mayor o igual que

<>

Distinto de

Formato para las comparaciones:


Expresin 1 OPERADOR
Expresin 2

El resultado de la operacin ser verdadero o falso

DE

RELACIN

Ejemplos:
Si a = 10

b = 20

c = 30

a+b>c

Falso

a-b<c

Verdadero

a-b=c

Falso

a*b<>c

Verdadero

Ejemplos no lgicos:
a<b<c
10 < 20 < 30
T < 30

(no es lgico porque tiene diferentes operandos)

Operadores Lgicos:
Estos operadores se utilizan para establecer relaciones entre valores lgicos.
Estos valores pueden ser resultado de una expresin relacional.
Operadores Lgicos
And

Or

Not

Negacin

not p

p And q

p Or q

Ejemplos:

(a < b) and (b < c)


(10<20) and (20<30)
V

and

(1 < 3) and (6 < 8)


(2 > 7) or (C < D)

tiene valor de verdad verdadero


tiene valor de verdad verdadero

Prioridad de los Operadores Lgicos


Not
And
Or

Prioridad de los Operadores en General


1.- ( )
2.- ^
3.- *, /, Mod, Not
4.- +, -, And

5.- >, <, > =, < =, < >, =, Or

Ejemplos:
a = 10 b = 12 c = 13 d =10

1)

((a > b)or(a < c)) and ((a = c) or (a > = b))


F

F
F

2)

((a > = b) or (a < d)) and (( a > = d) and (c > d))


F

T
T

3)

not (a = c) and (c > b)


F

T
T

Identificadores
Los identificadores representan los datos de un programa (constantes, variables, tipos de
datos). Un identificador es una secuencia de caracteres que sirve para identificar una
posicin en la memoria de la computadora, que nos permite accesar a su contenido.

Ejemplo:

Nombre
Num_hrs
Calif2

Reglas para formar un Identificador


Debe comenzar con una letra (A a Z, maysculas o minsculas) y no deben contener
espacios en blanco.
Letras, dgitos y caracteres como la subraya ( _ ) estn permitidos despus del primer
carcter.

Buena prctica:
Utilizar nombres significativos para los identificadores
Incluir comentarios que indiquen cmo se usa la variable.

Constantes y Variables
Constante: Una constante es un dato numrico o alfanumrico que no cambia durante
la ejecucin del programa.
Ejemplo:
pi = 3.1416
Variable: Es un espacio en la memoria de la computadora que permite almacenar
temporalmente un dato durante la ejecucin de un proceso, su contenido puede
cambia durante la ejecucin del programa. Para poder reconocer una variable en la
memoria de la computadora, es necesario darle un nombre con el cual podamos
identificarla dentro de un algoritmo.
Ejemplo:
rea = pi * radio ^ 2

Las variables son : el radio, el rea y la constate es pi


OPERACION DE ASIGNACION.

Es el modo de darle (asignarle) valores a una variable.


Smbolo (operador): =
Formato general de la operacin de asignacin:

Nombre_de_variable
expresin

La asignacin se hace de derecha a izquierda.


Ejemplo: S = 23 significa que a la variable S se le asign el valor 23.
Al asignar un valor a una variable, se destruye el valor que tena antes dicha variable.

ASIGNACIN ARITMTICA

En la asignacin, las expresiones que se evalan son aritmticas.


Ejemplos:
S=5+6+2
// La expresin 5 + 6 + 2 se evala y su resultado se asigna a S (13).
A = 14.5 + 8
// Se asigna 22,5 a A
B = 0.75 * 3.4
// Se asigna 2.55 a B
TOTAL = A / B

// se asigna 22.5 / 2.55 a TOTAL.


// TOTAL = (14.5 + 8) / (0.75 * 3.4)

ASIGNACIN LGICA

En la asignacin, las expresiones que se evalan son lgicas.


Ejemplos:
X=8<5
// Valor de verdad falso
Y = X And (3 < = 7)
// Valor de verdad verdadero
Z = 15 > 9
// Valor de verdad verdadero

ASIGNACIN DE STRINGS.

En la asignacin, las expresiones que se evalan son del tipo string (cadena).
X = 12 de noviembre de 1985.
// a X se le asigna el string 12 de noviembre de 1985.

Clasificacin de las Variables

Numricas
Por su Contenido

Lgicas
Alfanumricas (String)

Variables

De Trabajo
Por su Uso

Contadores
Acumuladores

Por su Contenido
Variable Numricas: Son aquellas en las cuales se almacenan valores numricos,
positivos o negativos, es decir almacenan nmeros del 0 al 9, signos (+ y -) y el punto
decimal. Ejemplo:
iva=0.15
pi=3.1416
costo=2500
Variables Lgicas: Son aquellas que solo pueden tener dos valores (cierto o falso) estos
representan el resultado de una comparacin entre otros datos.
Variables Alfanumricas: Esta formada por caracteres alfanumricos (letras, nmeros y
caracteres especiales). Ejemplo:
letra=a apellido=lopez
direccion=Av. Libertad #190
Por su Uso
Variables de Trabajo: Variables que reciben el resultado de una operacin matemtica
completa y que se usan normalmente dentro de un programa. Ejemplo:
suma=a+b/c

Contadores: Se utilizan para llevar el control del numero de ocasiones en que se realiza
una operacin o se cumple una condicin. Con los incrementos generalmente de uno en
uno.
Acumuladores: Forma que toma una variable y que sirve para llevar la suma
acumulativa de una serie de valores que se van leyendo o calculando progresivamente.

Estructura General de un programa


Tipos de Instrucciones:

Instrucciones de Inicio/Fin (begin, end o Inicio, final)

Instrucciones de asignacin ( o = )

Instrucciones de Lectura (read o leer)

Instrucciones de Escritura (write o escribir)

Instrucciones de bifurcacin

Instrucciones de asignacin
Ejemplos: A 80 A = 80
Cual es el valor de AUX, A Y B?
-

A 10
B 20
AUX A
AB
B AUX

Al final A = 20, B = 10, AUX = 10

A tiene asignado un valor de 10


B tiene asignado un valor de 20
AUX ahora tiene el mismo valor que A o sea 10
Ahora A toma el valor de B o sea 20
Ahora B toma el valor de AUX o sea 10

Instrucciones de lectura de datos (read, leer)


Esta instruccin lee datos de un dispositivo de entrada. Cul cree usted que ser el significado de
las siguientes instrucciones?
Leer (Numero, Horas, Tasa)
Leer del terminal los valores Numero, Horas y Tasa, archivndolos en memoria; si los tres nmeros
se teclean en respuesta a la instruccin son 12325, 32, 1200, significara que se han asignado las
variables a esos valores y equivaldra a la ejecucin de las instrucciones.

Numero 12325
Horas 32
Tasa 1200

Instrucciones de escritura de datos (write, escribir)


Estas instrucciones se escriben en un dispositivo de salida.
Ejemplo:
A 100
B 200
C 300
Escribir(A,B,C)
Se visualizara en pantalla o se imprimiran los valores 100, 200, 300.

Elementos bsicos de un programa


Los elementos bsicos constitutivos de un programa o algoritmo son:

Palabras reservadas(inicio, fin, si-entonces, mientras, escribir, leer, etc)

Identificadores (nombres de variables esencialmente, procedimientos, funciones, nombre


del programa, etc)

Caracteres especiales (coma, apostrofe, comillas, etc)

Constantes

Variables

Expresiones

Instrucciones

Otros elementos importantes:

Bucles

Contadores

Acumuladores

Interruptores

Estructuras

Secuenciales

Selectivas

Repetitivas

Вам также может понравиться