Professional Documents
Culture Documents
1.1 Introduccin
Los sistemas modernos de computacin consisten en una gran
conjuncin de elementos de circuitos (hardware) y de programacin
(software) que han sido diseados para proporcionar a la computacin
un ambiente productivo y hasta cierta medida agradable.
El trmino Sistema de Cmputo se utiliza para sealar lo que el
usuario emplea, en lugar del trmino Computadora. En los primeros
aos de la computacin, los usuarios del sistema deban interactuar
ms estrechamente con el hardware real que lo que es hoy necesario,
muchas funciones que deban realizar los usuarios mismos se
manejan ahora por software mediante Sistemas Operativos. El
sistema operativo crea un ambiente en el cual los usuarios pueden
preparar programas y ejecutarlos sin tener que entrar en los detalles
del hardware del sistema.
Para satisfacer el crecimiento de la demanda de medios de
computacin, es que se ha desarrollado la multiprogramacin , en la
cual varios usuarios emplean el sistema de forma simultnea, como
1.2
Definicin
de
Lenguaje
de
Programacin
Un Lenguaje de Programacin es aqul que es utilizado para
escribir programas de computadoras que puedan ser entendidos por
ellas. Estos lenguajes se clasifican en tres grandes categoras :
Lenguaje Mquina
Lenguaje de Bajo nivel (ensamblador)
Lenguaje de Alto nivel.
Proceso y Salida
Inicio
Leer el pedido
Examinar ficha del cliente
Si el cliente es solvente aceptar
pedido,
en
rechazar
caso
contrario
pedido
Fin
Comparar el primero y el
mayor.
Este
ser
el
resultado.
1.-
son
iguales,
MAYOR.
son
el
Denominar a este
iguales,
MAYOR.
nmero
MAYOR.
6.-
(salida).
7.- Fin
Lenguaje Natural.
Lenguaje de Diagrama de Flujo.
Lenguaje Natural de Programacin.
Lenguaje de Programacin de Algoritmos.
Lenguaje Natural
Es aqul que describe en espaol, para nuestro caso, los pasos a
seguir utilizando un vocabulario cotidiano. Se le conoce
como
Programacin.
Lenguaje de Programacin :
Es un conjunto de palabras, smbolos y reglas sintcticas
mediante los cuales puede indicarse a la computadora los pasos a
seguir para resolver un problema.
Los lenguajes de programacin pueden clasificarse por diversos
criterios, siendo el ms comn su nivel de semejanza con el lenguaje
natural, y su capacidad de manejo de niveles internos de la mquina.
Los principales tipos de lenguajes utilizados son tres :
Lenguaje Mquina.
Lenguaje de bajo Nivel (ensamblador).
Lenguajes de Alto Nivel.
Lenguaje Mquina
Son aqullos que estn escritos en lenguajes directamente
inteligibles por la mquina (computadora), ya que sus instrucciones
son cadenas binarias (cadenas o series de caracteres de dgitos 0 y 1)
que especifican una operacin y las posiciones (direccin) de memoria
implicadas en la operacin se denominan instrucciones de mquina o
un
memoria) sin
traduccin
supone
de
programa
la
necesidad de
posterior,
una
cargar
lo
velocidad
que
de
lenguaje
ensamblador
son
instrucciones
conocidas
como
Programa
Lenguajes
Ensambladores,
un
ejemplo
es:
TRANSCODE,
Unidad II
" METODOLOGIA PARA LA SOLUCION DE PROBLEMAS POR
MEDIO DE COMPUTADORAS "
Ejemplo 2.1
Leer el radio de un crculo y calcular e imprimir su superficie y
circunferencia.
Anlisis
Las entradas de datos en este problema se concentran en el
radio del crculo. Dado que el radio puede tomar cualquier valor dentro
del rango de los nmeros reales, el tipo de datos radio debe ser real.
2.4 Codificacin
Se refiere a la obtencin de un programa definitivo que pueda ser
comprensible para la mquina. Incluye una etapa que se reconoce
como compilacin.
Si la codificacin original se realiz en papel, previo a la
compilacin deber existir un paso conocido como transcripcin.
Programa Fuente
Esta escrito en un lenguaje de programacin. (pascal, C++,Visual
Fox, Visual Basic, etc).
Es entendible por el programador.
Programa Ejecutable
Est en lenguaje mquina.
Entendible por la mquina.
2.6 Documentacin
Debido a que el programa resultante en esta etapa se encuentra
totalmente depurado (sin errores), se procede a la utilizacin para
resolver problemas del tipo que di origen a su diseo.
En vista de que esta utilizacin no podr ser supervizada en
todas las ocasiones por el programador, debe crearse un manual o
gua de operacin que indique los pasos a seguir para utilizar el
programa.
2.7 Mantenimiento
Se refiere a las actualizaciones que deban aplicarse al programa
cuando las circunstancias as lo requieran. Este programa deber ser
Datos Numricos
Son aqullos que representan una cantidad o valor determinado.
Su representacin se lleva a cabo en los formatos ya conocidos
(enteros, punto y fracciones decimales si estas existen).
Estos pueden representarse en dos formas distintas :
Tipo Numrico Entero (integer).
Tipo Numrico Real (real).
Enteros
Es un conjunto finito de los nmeros enteros. Los enteros son
nmeros completos, no tienen componentes fraccionarios o decimales
y pueden ser negativos y positivos.
Algunos ejemplos son :
37
-10 9
15.25
50
Reales
Consiste en un subconjunto de los nmeros reales. Estos nmeros
siempre tienen un punto decimal y pueden ser positivos o negativos.
Un nmero real consiste de un nmero entero y una parte decimal.
Algunos ejemplos son :
0.52 664.32
6.579 8.0
-9.3 -47.23
Cadenas
Son los datos que representan informacin textual (palabras,
frases, smbolos, etc). No representan valor alguno para efectos
numricos. Pueden distinguirse porque son delimitados por apstrofes
o comillas.
Nota:
Los smbolos
Lgicos
Tambin se le denomina Booleano, es aqul dato que solo puede
tomar uno de dos valores : Falso y verdadero.
Se utiliza para representar las alternativas (si/no) a determinadas
condiciones. Por ejemplo, cuando se pide si un valor entero sea primo,
la respuesta ser verdadera o falsa, segn sea.
Las categoras y tipos que se mencionaron anteriormente se
conocen como Tipos Simples, puesto que no poseen una estructura
compleja.
En forma adicional, cada lenguaje puede proporcionar la
utilizacin de Tipos Compuestos, siendo estos, datos que tienen una
estructura predeterminada.
Tipos Compuestos
Entre los principales tipos compuestos se encuentran los siguientes:
a.- SUBRANGO :
'A'..'Z'
(0,25,40,52)
Constantes y variables
Una Constante es aqulla que no cambia de valor durante la
ejecucin de un programa (o comprobacin de un algoritmo en este
caso). Se representa en la forma descrita para cada categora.
Las Variables son aqullas que pueden modificar su valor durante
la ejecucin de un programa (idem).
Su representacin se da a traves de letras y smbolos
generalmente numricos a los que se les asigna un valor.
Ejemplos:
Constantes
Variables
36
Numricos
450.35
0.58
Cadena
A
Nom
'A'
Edad
'Juan'
Ciudad
'La Paz'
Estatura
Falso
Lgicos
Verdadero
Operadores
Un operador es el smbolo que determina el tipo de operacin o
relacin que habr de establecerse entre los operandos para alcanzar
un resultado.
Los operadores se clasifican en tres grupos:
Aritmticos.
Relacionales.
Lgicos.
Operacin
Suma
Resta
Multiplicacin
Divisin real
Div
Divisin entera
Mod
Residuo
Exponenciacin
Ejemplos:
7+3 = 10 10 Div 4 = 2
7-3 = 4 20 Mod 3 = 2
7*3 = 21 5 Mod 7 = 5
10/4= 2.5 4 ^ 2 = 16
Resultado
Expresin
Resultado
10.5/3.0
3.5
10 Div 3
1/4
0.25
18 Div 2
2.0/4.0
0.5
30 Div 30
30/30
1.0
10 Mod 3
6/8
0.75
10 Mod 2
Operadores Relacionales
Permiten realizar comparaciones de valores de tipo numrico o
carcter. Estos operadores sirven para expresar las condiciones en los
algoritmos. Proporcionan resultados lgicos.
Operador
Significado
<
Menor que
>
Mayor que
Igual que
<=
>=
<>
Diferente de
Es
Verdadero
Es
Falso
Operador
Prioridad
Alta
*, /, Div
+, -, Mod
Relacionales
Baja
Ejemplo:
Obtener los resultados de las expresiones:
-4 * 7 + 2 ^ 3 / 4 - 5
Solucin:
-4 *7 + 2 ^
Resulta:
-4 * 7+ 8/4 -5
-28 + 8/4 -5
-28 + 2 - 5
-26 - 5
-31
por el valor de
A.
(A*B) +3 A y B
A + (B/C) + D
Operadores Lgicos
Son aqullos que permiten la combinacin de condiciones para
formar una sola expresin lgica. Utilizan operandos lgicos y
proporcionan resultados lgicos tambin.
Operador
Relacin
not
Negacin (No)
and
Conjuncin (Y)
or
Disyuncin (O)
xor
Disyuncin
Exclusiva
(O/SOLO)
El operando es falso
AND
Ambos
operandos
verdaderos
OR
Al menos un operando es
verdadero
XOR
AND
son
NOT(X)
NOT(Y)
X OR Y
X XOR
Asignacin
La operacin de asignacin es el modo de darle valores a una
variable. La operacin de asignacin se representa por el smbolo u
operador
Nom_variable
Expresin
funcin.
Ejemplo:
A
30
189
Asignacin Aritmtica
Las expresiones en las operaciones de asignacin son aritmticas:
Suma
5+10+2
toma Suma.
Asignacin Lgica
La expresin que se evala en la operacin de asignacin es lgica.
Supngase que M, N, y P son variables de tipo lgico.
M
8<5
M o (7 <= 12)
7>6
Asignacin de caracteres
La operacimn que se evala es de tipo caracter.
x
escritura (write).
En la escritura de algoritmos las acciones de lectura y escritura
se representan por los formatos siguientes
leer ( Nom_variable )
escribir (lista de variables de salida)
Ejemplo:
Entrada
Algoritmo
Inicio
leer(B)
leer(h)
x
B*h
x/2
escribir(A)
Fin
3.3 Expresiones
suma
resta
multiplicacin
/
**, ^
div
mod
divisin
exponenciacin
divisin entera
mdulo (resto)
se representa por 4 * 6
39
se representa por 3 ^ 9
18 div 6
UNIDAD IV
"TECNICAS DE DISEO"
4.2 Botton Up
completando
suscesivamente
mdulos
de
mayor
Smbolo
Significado
(x,y)
Nota :
UNIDAD V
"TENICAS
PARA
ALGORITMOS"
LA
FORMULACION
DE
5.1 Diagramas de
Flujo
Se basan en la utilizacin de diversos smbolos para representar
operaciones especficas.
Funcin
Ejemplo:
Calcular el salario neto de un trabajador en funcin del nmero
de horas trabajadas, precio de la hora de trabajo y considerando unos
descuentos fijos al salario bruto en concepto de impuestos (20 por
100).
Ejemplo:
Realizar un diagrama de flujo que permita mostrar en pantalla un
mensaje de mayora o minora de edad segn sea el caso para un
nombre especfico.
5.2 Pseudocdigo
Secuencia
Inicio
accin1
accin2
Instituto Tecnolgico de Quertaro
:
accin n
Fin
Decisin
Simple
si condicin entonces
a
c
c
i
n
1
a
c
c
i
n
2
:
a
c
c
i
n
n
Doble
si condicin then
accin1
accin2
:
en caso contrario
accin1
acci2
Iteraccin
Fija
para
var.
inicial
hasta
hacer
a
c
c
i
n
1
a
c
c
i
n
2
:
a
c
c
i
n
n
Entera
final
Condicional al inicio
mientras
condicin
hacer
a
c
c
i
n
1
a
c
c
i
n
2
:
a
c
c
i
Condicional al final
Repetir
accin1
accin2
:
accin n
Hasta que condicin
Seleccin
casos selector de
valor1 : accin1
accin2
valor2 : accin1
accin2
valor n : accin1
accin2
Ejercicio :
Se requiere preguntar dos valores, y a continuacin ofrecer un
men con las operaciones bsicas (+, -, *, /). Despus de presentar el
resultado se ofrecer la posibilidad de una nueva operacin.
Declaracin de variables :
Real : X, Y, RESPUESTA
Entero : OPCION
Carcter : OP
Inicio
Repetir
escribir(Primer valor :
)
leer(X)
escribir(Segundo
valor : )
leer(Y)
escribir(1) Suma )
escribir(2) Resta )
escribir(3)
Multiplicacin )
escribir(4) Divisin )
escribir(Qu
operacin
deseas
realizar ? : )
leer(OPCION)
casos OPCION de
1:
RESULTA
DO
X+Y
2:
RESULTA
DO
X-
Y
3:
RESULTA
DO
X*Y
4 : si Y=0
entonces
escribir(
Error )
RESULTADO
en
caso
contrario
RESULTADO
X/Y
escribir
(Resultado :
,RESULTADO)
escribir(Deseas
otro clculo : [S/N] )
leer(OP)
Hasta que RES = N
Fin
Ejercicio :
Preguntar un nombre y repetirse en pantalla tantas veces como se
desee. (preguntar cantidad de repeticiones), indicando el nmero de
repeticin.
Declaracin de variables
Cadena : nom
entero : x, n
Inicio
escribir(Nombre : )
leer(nom)
escribir(Cuntas
veces
quieres
repetirlo ? : )
leer(n)
para x
1 hasta n hacer
escribir(x.- , nom)
Fin
ESTRUCTURA SECUENCIAL
....
Ejemplo:
Pseudocdigo
Inicio
{clculo salario neto}
leer nombre, horas, precio_hora
salario_bruto
impuestos
horas * precio
0.20 * salario_bruto
salario_neto
salario_bruto_impuestos
escribir
nombre,
salario_bruto,
salario_neto_bruto, salario_neto
Fin
Diagrama de flujo
Diagrama N-S
6.2 Condicionales
La especificacin formal de algoritmos tiene realmente utilidad
cuando el algoritmo requiere una descripcin ms complicada que una
lista sencilla de instrucciones. Este es el caso cuando existen un
nmero de posibles alternativas resultantes de la evaluacin de una
determinada condicin.
Las estructuras selectivas se utilizan para tomar decisiones
lgicas; de ah que se suelan denominar tambin estructuras de
decisin o alternativas.
En las estructuras selectivas se evala una condicin y en
funcin del resultado la misma se realiza una opcin u otra. Las
condiciones
se
especifcan
usando
expresiones
lgicas.
La
varias acciones).
Si la condicin es falsa, entonces no hacer nada.
A continuacin se muestra la grfica de la estructura condicional
simple.
Pseudocdigo en espaol
Si
<condicin
>
Entonces
<accin
S1>
Fin_si
Pseudocdigo en ingls
If
<condicin
> then
<accin
S1>
end_if
Diagrama N-S
Diagrama de Flujo
Diagrama N-S
Modelo 1
Modelo 2
Pseudocdigo
En ingls la estructura de decisin mltiple se representa
Case expresin of
[e1]: accin S1
[e2]: accin S2
:
[en]: accin Sn
else
accin Sx
end_case
Ejemplo:
Se desea disear un algoritmo que escriba los nombres de los
das de la semana en funcin del valor de una variable DIA introducida
por teclado.
Los das de la semana son 7; por consiguiente, el rango de
valores de DIA ser 1..7, y caso de que DIA tome un valor fuera de
este rango se deber producir un mensaje de error advirtiendo la
situacin anmala.
Inicio
Leer DIA
Segn_sea DIA hacer
1: escribir('Lunes')
2: escribir('Martes')
3: escribir('Mircoles')
4: escribir('Jueves')
5: escribir('Viernes')
6: escribir('Sabado')
7: escribir('Domingo')
else
escribir('Error')
fin_segn
fin
Estructuras Repetitivas
Las estructuras que repiten una secuencia de instrucciones
un nmero determinado de veces se denominan Bucles y se
Pseudocdigo en espaol
Mientras condicin hacer
Accin
Pseudocdigo en ingls
while condicin do
S1
<Acciones>
Accin S2
:
accin Sn
:
End_while
Fin_mientras
Diagrama N-S
Ejemplo:
Contar los nmeros enteros positivos introducidos por teclado. Se
consideran dos variables enteras NUMERO y CONTADOR (contar el
nmero de enteros positivos). Se supone que se leen nmeros
positivos y se detiene el bucle cuando se lee un nmero negativo o
cero.
Pseudocdigo
Inicio
contador
Leer (numero)
Mientras numero > 0 hacer
contador
Leer (numero)
Fin_Mientras
contador+1
Diagrama de Flujo
Representacin en N-S
Ver:
Repetir (repeat)
Desde (for)
UNIDAD VII
"ARREGLOS"
"ordenado" significa que el elemento primero, segundo, terceronsimo de un arreglo puede ser identificado. Los elementos de una
arreglo debern ser homogneos, es decir, del mismo tipo de datos.
Por ejemplo un arreglo puede estar compuesto de todos sus
elementos de tipo cadena, otro puede tener sus elementos de tipo
entero, etc.
dimensin.
Dimensin
0
1
2
3
Descripcin
Un solo punto.
(vector o lista) Una recta. Contiene largo.
(matriz o tabla) Contiene largo y ancho.
(cubo) Tiene largo, ancho y fondo.
Declaracin de un Arreglo
Nom_variable : Arreglo [dimensin] de Nom_tipo
0 Dimensin :
x
20
donde x, es de tipo
Entero.
1 Dimensin :
5
1
x[2]
2 Dimensiones :
1
x[2,4]
3 Dimensiones :
x[1,4,2]
x:
arreglo[1..3,
1..4,
1..2]
de
Enteros.
7.1 Vectores
Son aqullos de una sola dimensin, por lo que tambin son llamados
arreglos Unidimensionales.
Ejemplo :
Un vector de una dimensin llamado CALIF, que consta de n
elementos.
calif(1)
calif(n2)
calif(2)
calif(n1)
calif(n)
a2,,an
En
matemticas
algunos
lenguajes(BASIC)
A(1), A(2),A(n)
A[1],
A[2],A[n]
En
programacin (Pascal)
Memoria
NUMEROS(1)
Direccin x
NUMEROS(2)
Direccin x+1
NUMEROS(3)
Direccin x+2
:
:
NUMEROS(50)
Direccin x+49
75
vector NUMEROS y la
instruccin de
Declaracin
nom _arreglo = arreglo[liminf..limsup] de tipo
donde :
nom_arreglo :
liminf..limsup :
tipo :
carcter.
NOMBRES= arreglo [1..10] de carcter
Significa que NOMBRES es un arreglo (array) unidimensional de
10 elementos (1 a 10) de tipo carcter.
Asignacin
NOMBRES(8)
Ana
Lectura/Escritura de Datos
A
leer V(5)
Leer el elemento
1 hasta 15 hacer
leer TOTAL(i)
fin _desde
5 hasta 12 hacer
leer TOTAL(i)
fin_desde
1 hasta 15 hacer
escribir TOTAL(i)
fin_desde
Visualiza todo el vector completo (un elemento en cada lnea
independiente).
Actualizacin de un Vector
Puede constar de tres operaciones ms elementales :
a) Aadir elementos (aade un nuevo elemento al final del vector)
Un arreglo A se ha dimensionado a 6 elementos, pero solo se
han asignado 4 valores a los elementos A(1), A(2), A(3), A(4), se
podrn aadir dos elementos ms con una simple accin de
asignacin.
A(5)
15
A(6)
NOM(i)
{decrementar contador}
i
i-1
fin_mientras
{Insertar el elemento en la posicin P}
NOM(P)
nuevo elemento
n+1
fin
NOM(i)
desde i
NOM(i+1)
fin_desde
{actualizar contador de elementos}
{ahora tendr un elemento menos, N-1}
N
N-1
Fin
x[3]
escribir (x[2])
? 9
1
Ejercicio :
Se desea la lectura y desplegado de 5 nombres. Resuelva el
problema por cada uno de los siguientes criterios :
a)
b)
Todas
las
lecturas,
todos
los
desplegados.
a) variables :
string : nom
entero : x
Inicio
Para x
1 hasta 5
hacer
escribir(Nombre ? )
leer(nom)
escribir( La persona nmero, x, se llama : ,nom)
Fin
Nota :
almacenamiento mltiple.
b) variables :
nom : Arreglo[1..5] de string
x : Entero
Inicio
para x
1 hasta 5 hacer
escribir(Dame
el
nombre nmero,x, ?)
leer(nom[x])
para x
1 hasta 5 hacer
Ordenacin de Arreglos
Existen diversos mtodos para ordenar los elementos de un
arreglo. El ms conocido de ellos (no el mejor) es el Mtodo de la
Burbuja.
Inicio
Para x
1 hasta 5 hacer
escribir(Dame
valor,x, :)
el
leer( LISTA[x])
repetir
cambio falso
para x
1 hasta 4 hacer
LISTA[x]
LISTA[x]
LISTA[x+1]
LISTA[x+1]
cambio
aux
verdadero
fin_si_entonces
hasta cambio = falso
escribir(Lista ordenada)
para x
1 hasta 5 hacer
escribir(Elemento nmero,x,
es,LISTA[x])
Fin
7.2 Matrices
Se puede considerar como un vector de vectores. Es, por
consiguiente, un conjunto de elementos, todos del mismo tipo, en el
3 4... J
... N
B(I,J)
Inicio
para g
1 hasta 4 hacer
escribir(Grupo : ,g)
para p
1 hasta 5 hacer
1 hasta 4 hacer
escribir(Grupo ,g)
para p
1 hasta 5 hacer
escribir(persona
Tiene,edad[g,p],aos)
Fin
,p,
Ejemplo:
Se tienen 4 fbricas cada una de ellas con 6 empleados. Se
desea registrar los salarios y mostrarlos posteriormente. En forma
alternada deber leerse tambin el nombre de cada empleado.
Durante el desplegado de los gastos se indicar el nombre y salario
del empleado mejor pagado de cada fbrica as como el total de
nmina ( de cada fbrica).
variables:
Nom: arreglo[1..4,1..6] de string
salario: arreglo[1..4,1..6] de entero
fab, emp, total, cont, lug, zuc: entero
Inicio
para fab
1 hasta 4 hacer
para emp
1 hasta 6 hacer
escribir(Empleado : ,emp)
escribir(Nombre del empleado :)
leer(nom[fab,emp])
escribir(Salarios del empleado : )
leer(sal[fab,emp])
para fab
1 hasta 4 hacer
total
cont
sal[fab,1]
escribir(Fbrica, fab)
para emp
1 hasta 6 hacer
gana
,salario[fab,emp])
total
total + salario[fab,emp]
salario[fab,emp]
lug
fab
zuc
emp
finEntonces
escribir(El
mejor
pagado
es
8.1 Definicin
Una cadena (string) de caracteres es un conjunto de caracteres
(incluido el blanco), que se almacenan en un rea contigua de la
memoria. Pueden ser entradas o salidas a/desde una computadora.
Instituto Tecnolgico de Quertaro
MEXICO ES GRANDE
12 de
es una subcadena de 12 de
Octubre de 1492
como ests
como ests?
XI
es una subcadena de
MEXICO ES GRANDE
C A S A
2
E S
8 9
10
U N A
11
12 13
14
15
R U I N A /// ///
16
17
18
19
20
21
22
23
24
E S T A
20 17
C A S A
E S
Donde:
20 = Longitud mxima
17 = Longitud actual
NOMBRE
Juan Gonzlez
Entrada/Salida
La entrada/salida desde una computadora se puede realizar en
modo carcter, para ello se asignar una cadena de caracteres a una
variable tipo cadena.
var A,B,C,D: carcter
las instrucciones:
leer A,B
escribir C,D
Bsqueda de informacin
Tiene 4 caracteres
Proporciona 11.
Cadena de un blanco,
proporciona 1.
longitud(' Hola')
2.- COMPARACION
Es una operacin muy importante sobre todo en la
clasificacin de datos tipo carcter, que se utiliza con
Instituto Tecnolgico de Quertaro
verdadera
verdadera
falsa
3.- CONCATENACION
La concatenacin es la operacin de reunir varias
cadenas de caracteres en una sola, pero conservanso el
orden de los caracteres en cada una de ellas. El smbolo
que representa la concatenacin vara de unos lenguajes
a otros. Los ms utilizados son:
+
//
&
Ejemplos:
'Mayo ' + 'de 1999'
x
'Lenguaje'
'Ensamblador'
x+' '+y
= 'Mayo de 1999'
z= 'Lenguaje Ensamblador'
4.- SUBCADENAS
Esta operacin permite la extraccin de una parte
especfica de una cadena: subcadena.
Subcadena (cadena, inicio, longitud)
Cadena:
subcadena.
Inicio:
inicial
de la subcadena.
Longitud:
Es la longitud de la subcadena.
Ejemplos:
subcadena ('abcdefgh',3,6)
Equivale a
'cdef'
subcadena ('Tecnolgico',1,3)
Instituto Tecnolgico de Quertaro
Equivale a
'Tec'
subcadena ('Mxico',5,2)
Equivale a
'co'
5.- BUSQUEDA
Esta operacin localiza si una determinada cadena
forma parte de otra cadena ms grande o buscar la
posicin en que aparece un determinado carcter o
secuencia de caracteres en un texto.
El resultado de la funcin es un valor entero
Posicin (cadena, subcadena)
subcadena:
Ejemplo:
nombre
'Marielena'
Posicin (nombre,'elena')
Produce 5.
Ejemplo:
Insertar ('Tecnolgico',4,'XXX') =
'TecXXXnolgico'
'Juan de la O'
b) Borrar
Elimina una subcadena que comienza en la posicin p y
tiene una longitud l.
Borrar (t, p ,l)
t
subcadena.
p
Ejemplo:
Borrar ('Tecnolgico',4,2)
'Teclgico'
c) Conversin Cadenas/Nmeros
Existen funciones o procedimientos en los lenguajes
de programacin (val y str) que permiten convertir un
nmero en una cadena y viceversa.
En nuestros
un
nmero;
Convierte la cadena
siempre
que
la
cadena fuese de
dgitos numricos.
Cadena (valor)
Funciones internas
Convierte un valor
en
numerosas
ocasiones,
adems
de
las
de
operaciones
especiales
que
se
se
utilizan
para
determinar
las
funciones
trigonomtricas.
Funcin
Descripcin
abs(x)
Valor absoluto de
Entero o real
x
igual
argumento
arctan(x)
real
cos(x)
Coseno de x
Entero o real
real
exp(x)
Exponencial de x
Entero o real
real
ln(x)
Logaritmo de x
Entero o real
real
log10(x)
Logaritmo
decimal de x
Entero o real
real
round(x)
Redondeo de x
Real
entero
sin(x)
Seno de x
Entero o real
real
sqr(x)
Cuadrado de x
Entero o real
igual
argumento
Tipo_Argumento Resultado
que
que
sqrt(x)
Raz cuadrada de
Entero o real
x
real
trunc(x)
Truncamiento de
real
x
entero
Ejercicio 1:
Contar el nmero de letras 'i' de una frase terminada en un punto. Se
supone que las letras pueden leerse independientemente.
Algoritmo letras_i
var
N: entera
Letra: carcter
Inicio
N
repetir
leer(Letra)
si Letra = 'i' entonces
N
N+1
fin si
hasta que Letra = '.'
Ejercicio 2:
Aceptar un nombre y proporcionar la cantidad de caracteres que
contiene.
Inicio
escribir('Cul es el nombre : ')
Leer(nom)
escribir('Tu nombre tiene ', Longitud(nom),' letras')
Fin
Ejercicio 3:
Pedir una cadena que contenga una vez la letra F ('F'). Deber
informarse la posicin donde fue encontrada, el carcter previo y el
siguiente.
Inicio
escribir('Dame cadena que contenga [F] ')
leer(cad)
x
Posicin('F', cad)
Ejercicio 4:
Leer dos caracteres y deducir si estn en orden alfabtico.
variables:
CAR1, CAR2 : carcter.
Algoritmo Comparacin
Inicio
Leer CAR1, CAR2
Si CAR1 <= CAR2 entonces
escribir('Si se encuentran en orden')
sino
escribir('Desordenados')
Fin_si
Fin
Ejercicio 5:
Algoritmo
Los pasos a dar para la realizacin del algoritmo son:
Inicializar contador de letras de la nueva frase G.
Leer el primer carcter.
Repetir
Si el primer carcter no es en blanco, entonces escribir en
el lugar siguiente del arreglo F
frase dada.
Hasta que el ltimo carcter se encuentre.
Escribir la nueva frase (G), ya sin blancos.
Variables:
F : array de caracteres de la frase dada.
G : array de caracteres de la nueva frase dada.
i : Constador del array F.
j : Constador del array G.
Algoritmo Blanco
Inicio
i
leer F(i)
Repetir
Si F(i) <> ' ' entonces
j
j+1
G(j)
F(i)
Fin si
i
i+1
leer F(i)
Hasta que F(i) = '.'
{escritura de la nueva frase G}
Desde i
1 a j hacer
escribir G(i)
Fin Desde
Fin
Ejercicio 6:
Encontrar un espacio en blanco en una cadena.
variables:
x: entero
nom,a,b : cadena
Inicio
leer(nom)
x
Subcadena (nom,1,x-1)
Fin
Ejercicio 7:
Solicitar un nombre y mostrarlo con la inicial en mayscula.
variables:
nom,a,b: cadena
x,y
: carcter
: entero
Inicio
escribir('Introduce nombre : ')
leer(nom)
x
Subcadena(nom,1,1)
MAYUSCULA(x)
Longitud (nom)
Concatenacin
y+a
Nota:
minsculas a maysculas.
convertir letras
UNIDAD IX
"MANEJO DE MODULOS"
Mdulo:
Es aqul que est constituido por una o varias instrucciones
fsicamente contiguas y lgicamente encadenadas, las cuales se
pueden referenciar mediante un nombre y pueden ser llamadas desde
diferentes puntos de un programa.
Caractersticas de un Mdulo
Los mdulos deben tener la mxima cohesin y el mnimo
acoplamiento. Es decir, deben tener la mxima independencia entre
ellos.
Funciones
Las funciones son bloques de instrucciones que tienen por objeto
el alcanzar un resultado que sustituir a la funcin en el punto de
invocacin (las funciones devuelven un resultado).
Cada funcin se evoca utilizando su nombre en una expresin
con los argumentos actuales o reales encerrados entre parntesis.
Para hacer una referencia a una funcin se invoca mediante un
nombre y en caso de existir, una lista de parmetros actuales
necesarios (argumentos). Los argumentos deben coincidir en
cantidad, tipo y orden con los de la funcin que fue definida. La
funcin devuelve un valor nico.
Las funciones a que se hace referencia, se conocen como
funciones de usuario puesto que son definidas por l mismo y
permiten su uso en forma idntica a las funciones estndares. Para
coordinar e iniciar el procesamiento, se utiliza un mdulo principal que
es colocado al final del algoritmo.
Declaracin de funciones
funcin nombre_funcin (par1, par2,par3,...) : tipo_del_resultado
Inicio
accin1
accin2
:
nombre_funcin
Resultado_Obtenido
Fin
Donde:
par1,par2 ....
nombre_funcin
Ejemplo:
Obtener el sexto carcter de un nombre y si dicho carcter no
existe, se asumir un asterisco como tal.
Funcin SEXTO(n:string):carcter
Inicio
si longitud(n) >= 6 entonces
SEXTO
Subcadena(n,6,1)
en caso contrario
SEXTO
Fin
valores de funciones,
nombres de funciones o procedimientos.
Una llamada a la funcin implica los siguientes pasos:
A cada parmetro formal se le asigna el valor real de su correspondiente
parmetro actual (esta correspondencia se ver ms tarde y se denomina
llamada por valor).
Ejercicio:
Calcular la potencia de un nmero.
Desde i
y
y*x
fin Desde
si n < 0 entonces
y
1/y
Fin si
POTENCIA
Fin
PASO DE PARAMETROS
Existen diferentes mtodos para el paso de parmetros a
subprogramas, un mismo programa puede producir diferentes
resultados bajo diferentes sistemas de paso de parmetros.
1. Entradas:
dentro de un
argumentos
en el sentido tradicional.
2. Salidas:
Entradas/Salidas:
devolver resultados.
por
referencia
direccin
(parmetro
variable).
Si
el
parmetro actual
es
una
expresin,
el
Descripcin del mdulo principal: Debe ser claro y conciso, reflejando los
punto fundamentales del programa.
Bibliografa
1989
Mxico,
1990
1994
1991
1991