Documentos de Académico
Documentos de Profesional
Documentos de Cultura
INDICE
GENERALIDADES
T1: HERRAMIENTAS DE PROGRAMACION
T2: ESTRUCTURAS BASICAS DE PROGRAMACION
T3: ESTRUCTURA DE DATOS
GENERALIDADES
Introducción.
El presente módulo tiene como finalidad que usted pueda desarrollar la lógica
de programación, a través del estudio de diferentes herramientas que le
servirán para plantear la solución de problemas por medio de representación
gráfica y pseudo codificada; a partir del análisis de un problema en particular,
lo que propiciará que usted pueda iniciarse en el campo de la programación.
El módulo está compuesto por una unidad que proporcionará paso a paso, las
bases que usted necesita para adquirir los conocimientos e ir desarrollando la
lógica de programación, y así plantear soluciones a problemas en el área de la
informática.
Objetivo general.
Al finalizar este módulo, usted habrá adquirido las competencias para aplicar
las técnicas básicas que le permitan realizar el análisis de un problema,
representado por medio de diagramas de flujo o pseudocódigo.
Competencias.
Lógica de Programación
INDICE
GENERALIDADES
T1: HERRAMIENTAS DE PROGRAMACIÓN
o 1.1 Herramientas de Programación
o 1.2 Tablas de verdad
o 1.3 Tipos de datos y jerarquía de operadores
o 1.4 Algoritmos y Diagramas de Flujo
T2: ESTRUCTURAS BÁSICAS DE PROGRAMACIÓN
T3: ESTRUCTURAS DE DATOS
LENGUAJES COMPILADOS
Pascal
Cobol
Fortran
Ada
Modula 2
C , C++
Fases de compilación:
Una librería es la colección de varias teclas y sus funciones, las cuales son
creadas por programadores expertos y almacenadas en lugares especiales para
que se puedan utilizar por otros programadores. También pueden ser algunas
funciones estándar como raíz cuadrada, logaritmo, random y otras.
Para poder utilizar estas funciones predefinidas que están guardadas en las
librerías, el programador tiene que hacer referencia a dicha librería, que es un
archivo que se llama en la cabecera del programa.
Lógica de Programación
INDICE
GENERALIDADES
T1: HERRAMIENTAS DE PROGRAMACIÓN
o 1.1 Herramientas de Programación
o 1.2 Tablas de verdad
o 1.3 Tipos de datos y jerarquía de operadores
o 1.4 Algoritmos y Diagramas de Flujo
T2: ESTRUCTURAS BÁSICAS DE PROGRAMACIÓN
DESARROLLO DE SOFTWARE NELLY
DESARROLLO DE SOFTWARE
INSTITUTO NACIONAL DE USULUTÁN
T3: ESTRUCTURAS DE DATOS
LÓGICA.
ARGUMENTOS.
Simples o átomos
Compuestas
Enunciado Simple:
Enunciado compuesto:
Las conectivas lógicas también se llaman a veces operadores, y son de dos tipos:
Operadores unarios:
NEGACION: Not, ¬
Operadores binarios:
CONJUNCION: AND, &, y , ^
DISYUNCION: OR , V
CONDICIONAL: ==> implica
BICONDICIONAL: <==> sí y sólo sí
Ejemplo:
Conjunción (AND, , &) : Es una conectiva que puede definirse como verdadera
sólo cuando ambas variables proposicionales sean verdaderas. En cualquier
otro caso es falsa.
Los ( ) tienen la mayor prioridad pues pueden cambiar el valor de verdad a una
expresión.
()
NOT
AND
OR
1. ¬ (A or B) ^ (P ^ ¬Q)
Solución:
Lógica de Programación
INDICE
GENERALIDADES
T1: HERRAMIENTAS DE PROGRAMACIÓN
o 1.1 Herramientas de Programación
o 1.2 Tablas de verdad
o 1.3 Tipos de datos y jerarquía de operadores
o 1.4 Algoritmos y Diagramas de Flujo
T2: ESTRUCTURAS BÁSICAS DE PROGRAMACIÓN
T3: ESTRUCTURAS DE DATOS
Todos los datos tienen un tipo asociado con ellos que nos servirá para poder
conocer con qué información trabajaremos. Por ejemplo, cuando ingresamos
el sueldo de un trabajador necesitamos que este contenga decimales, o al
solicitar la edad de una persona ésta tiene que estar con números enteros, etc.
Además hay operaciones que no tienen sentido como la suma entre caracteres.
a) Simples
b) Estructurados
Los tipos de datos simples son los que ocupan sólo una casilla de memoria, por
lo tanto una variable simple hace referencia a un único valor a la vez. Los datos
simples pueden dividirse en:
1. Numéricos
2. Tipos de Datos Alfanuméricos
3. Tipos de datos Lógicos o booleanos
Ejemplo:
Aß5
A ß 123
Aß6
Cuando éstas se ejecutan, el último valor que toma A es 6 por lo tanto los otros
dos han desaparecido.
Reglas de asignación.
Ejemplos:
Una expresión representa una unidad de datos simple, tal como un número o
un carácter. También puede consistir en alguna combinación de entidades
interconectadas por uno o más operadores. Las expresiones también pueden
representar condiciones lógicas que son verdaderas o falsas.
Cada expresión tiene un valor, que se determina tomando los valores de las
variables y constantes implicadas ejecutando las operaciones indicadas.
Ejemplos:
X = 9 * 15 + 6
2.5 + 13 = 15.5
A+B = C+D
OPERANDOS
OPERADORES
Ejemplos:
OPERADORES
Aritméticos
Relacionales
Lógicos
Alfanuméricos
Asociativos
EJEMPLOS:
Para resolver una expresión aritmética se deben seguir las siguientes reglas:
OPERADORES RELACIONALES
EJEMPLO
Operador
Descripción Ejemplo
Lógico
Veamos:
1) 3 + 7 = 10
2) 7 * 4 = 28
Sabemos que la matemática es exacta, entonces ¿Si hay una única respuesta,
cómo la obtenemos?
Sea la expresión: X2 + 1 / 2
Observe que esta expresión es totalmente diferente a esta otra (X2+1)/2, por lo
que es importante codificar las expresiones aritméticas correctamente. Los
paréntesis nos indican un orden para realizar las operaciones. Pero no siempre
nos darán los paréntesis, por lo se creó la jerarquía de operadores.
REGLAS DE PRIORIDAD
EJEMPLO 1
X=3+4*6/3*2–6*8/3*4+5*3/2*2
X = 3 + 24 / 3 * 2 – 6 * 8 / 3 * 4 + 5 * 3 / 2 * 2
X=3+8*2–6*8/3*4+5*3/2*2
X = 3 + 16 – 6 * 8 / 3 * 4 + 5 * 3 / 2 * 2
X = 3 + 16 – 48 / 3 * 4 + 5 * 3 / 2 * 2
X = 3 + 16 – 16 * 4 + 5 * 3 / 2 * 2
X = 3 + 16 – 64 + 15 / 2 * 2
X = 3 + 16 - 64 + 7.5 * 2
X = 3 + 16 – 64 + 15
X = 19 – 64 + 15
X = -45 + 15
X = -30 Respuesta.
Con lo cual hayamos que, luego de resuelta la expresión,
el valor que quedará almacenado en la variable X será el
valor –30. Es muy importante que cuando tenga que
resolver una expresión de estas, lo haga paso a paso, sin
apresuramientos y verá como obtiene, sin mayores
tropiezos, el mismo resultado que le daría al computador.
EJEMPLO 2
A=5*2/2*2+6*4/2*2–4*6*2/2*3/2
SOLUCIÓN
A=5*2+6*4/2*2–4*6*2/2*3/2
A = 10 + 6 * 4 / 2 * 2 – 4 * 6 * 2 / 2 * 3 / 2
A = 10 + 24 / 2 * 2 – 4 * 6 * 2 / 2 * 3 / 2
A = 10 + 12 * 2 – 4 * 6 * 2 / 2 * 3 / 2
A = 10 + 24 – 4 * 6 * 2 / 2 * 3 / 2
A = 10 + 24 – 24 * 2 / 2 * 3 / 2
A = 10 + 24 – 48 / 2 * 3 / 2
A = 10 + 24 – 24 * 3 / 2
A = 10 + 24 – 72 / 2
A = 10 + 24 – 36
A = 10 + 24 – 36
A = 34 – 36
A = -2 Respuesta.
EJEMPLO 3
(A ^ 2) > (B * 2)
SOLUCIÓN
EJEMPLO 4
(X ^ 3 \ B) <= (X * 5 + B ^ 3 / 4)
SOLUCIÓN
(X ^ 3 \ B) <= (X * 5 + B ^Sustituir los valores de X y B
3 / 4)
(6 ^ 3 \ 7) <= (6 * 5 + 7 ^Evaluando potencia en paréntesis
3 / 4) de más a la izquierda
(216 \ 7) <= (6 * 5 + 7 ^Resolviendo paréntesis de más a
3 / 4) la izquierda, hacemos división
entera
30 <= (6 * 5 + 7 ^ 3 / 4) Procediendo con el paréntesis de
la derecha, potencia tiene mayor
prioridad
30 <= (6 * 5 +343 / 4) Producto y división real tienen
misma prioridad, pero producto
está más a la izquierda
30 <= (30 +343 / 4) Luego sigue la división real
30 <= (30 +85.75) Efectuamos la suma
EJEMPLO 3
Las fórmulas matemáticas se deben escribir en formato lineal. Esto obliga al uso
frecuente de paréntesis que indiquen el orden de evaluación correcto de las
operaciones. Linealizar una expresión significa, convertir una expresión
algebraica en expresión aritmética o algorítmica.
EJEMPLOS 1:
Respuesta:
X= (a+b/c)/(a/b+c)
EJEMPLOS 1:
Respuesta:
X = ( a / (a + b)) / (a / (a - b))
CONCEPTO DE ALGORITMO:
METODOLOGÍA A SEGUIR:
Establecer el problema.
Analizar el problema. Para ello nos hacemos las siguientes preguntas:
o ¿Qué información tenemos?
o ¿Qué necesitamos conocer?
o ¿Qué queremos obtener?
Diseñar el algoritmo para su solución.
Codificar.
♦ Los algoritmos deben de ser precisos. Los resultados de los cálculos deben de
ser exactos, de manera rigurosa. No es válido un algoritmo que sólo aproxime
la solución. Debe constar de pasos claros, precisos y no ambiguos.
ENTRADAS
Los símbolos utilizados en flujogramas para representar las entradas son los
siguientes: En un pseudocódigo, la instrucción se da a través de teclado.
SALIDAS:
//Este es un comentario.
/* Este
es un
comentario
en varias
Líneas */
Los algoritmos pueden ser representados en diferentes formas, entre las cuales
tenemos:
Representación en pseudocódigo
Usted puede detectar errores cuando escribe pseudocódigo porque cada paso
del pseudocódigo puede ser revisado durante la creación.
Begin …. End/ Start…. Stop. Estas instrucciones son usadas para iniciar y
finalizar.
Accept, read, input: Estas instrucciones son usadas para obtener una
entrada de un usuario.
Display, write, print: Estas son usadas para presentar un resultado o una
salida.
If… else: Son usadas para hacer decisiones.
EJEMPLO
FLUJOGRAMAS
Para comprender mejor los diagramas de flujo, se tiene que respetar las reglas
de construcción. Al realizar una prueba manual, se debe tomar un conjunto de
datos significativos de entrada y comenzar a recorrer el Flujograma de arriba
hacia abajo y de izquierda a derecha; según sea la forma representada, para ver
cómo se comporta el Flujograma y si los resultados obtenidos son correctos y
coherentes.
EJEMPLO 1.
Lógica de Programación
INDICE
GENERALIDADES
T1: HERRAMIENTAS DE PROGRAMACIÓN
Lógica de Programación
INDICE
GENERALIDADES
T1: HERRAMIENTAS DE PROGRAMACIÓN
T2: ESTRUCTURAS BÁSICAS DE PROGRAMACIÓN
o 2.1 Metodología para la solución de problemas
o 2.2 Tipos de estructuras básicas.
o 2.3 Estructuras secuenciales
o 2.4 Estructuras de selección
o 2.5 Estructuras cíclicas
T3: ESTRUCTURAS DE DATOS
Lógica de Programación
INDICE
GENERALIDADES
T1: HERRAMIENTAS DE PROGRAMACIÓN
T2: ESTRUCTURAS BÁSICAS DE PROGRAMACIÓN
o 2.1 Metodología para la solución de problemas
o 2.2 Tipos de estructuras básicas.
o 2.3 Estructuras secuenciales
o 2.4 Estructuras de selección
Son problemas en los que, para su solución se emplea una serie de acciones
ejecutadas invariablemente en un orden secuencial.
Las tareas suceden de tal modo que la salida de una es la entrada de la siguiente
y así sucesivamente hasta el fin del proceso.
Este tipo de estructura se basa en las 5 fases de que consta todo algoritmo o
programa:
REPRESENTACIÓN GRÁFICA.
Sección de Declaraciones:
Var
D será el descuento
DISEÑO DEL ALGORITMO:
EJEMPLOS:
Sección de Declaraciones:
Var
C será la comisión
Lógica de Programación
INDICE
GENERALIDADES
T1: HERRAMIENTAS DE PROGRAMACIÓN
T2: ESTRUCTURAS BÁSICAS DE PROGRAMACIÓN
o 2.1 Metodología para la solución de problemas
o 2.2 Tipos de estructuras básicas.
o 2.3 Estructuras secuenciales
o 2.4 Estructuras de selección
2.4.1 Estructuras selectivas simples
2.4.2 Estructuras selectivas dobles
2.4.3 Estructuras selectivas compuestas
2.4.4 Estructuras selectivas múltiples
2.4.5 Expresiones lógicas
o 2.5 Estructuras cíclicas
T3: ESTRUCTURAS DE DATOS
Una decisión es la estructura según la cual se puede escoger uno de entre dos
caminos lógicos dependiendo de una condición que al ser evaluada nos brinda
la oportunidad de saber cuál de los dos caminos escoger. La evaluación de dicha
condición siempre va a originar una respuesta VERDADERA (cuando la
condición se cumple) o FALSA (cuando dicha condición no se cumple) y con ello
a) Simples
DESARROLLO DE SOFTWARE NELLY
DESARROLLO DE SOFTWARE
INSTITUTO NACIONAL DE USULUTÁN
b) Dobles
c) Compuestas
d) Múltiples
Lógica de programación
INDICE
GENERALIDADES
T1: HERRAMIENTAS DE PROGRAMACIÓN
T2: ESTRUCTURAS BÁSICAS DE PROGRAMACIÓN
o 2.1 Metodología para la solución de problemas
o 2.2 Tipos de estructuras básicas.
o 2.3 Estructuras secuenciales
o 2.4 Estructuras de selección
2.4.1 Estructuras selectivas simples
2.4.2 Estructuras selectivas dobles
2.4.3 Estructuras selectivas compuestas
2.4.4 Estructuras selectivas múltiples
2.4.5 Expresiones lógicas
o 2.5 Estructuras cíclicas
T3: ESTRUCTURAS DE DATOS
Representación gráfica:
DONDE:
EJEMPLOS
Construir un algoritmo tal, que dado como dato la calificación de
un alumno en un examen, escriba
El mismo enunciado.
Entradas: calificación
Sección de declaraciones:
Lógica de Programacion
INDICE
GENERALIDADES
T1: HERRAMIENTAS DE PROGRAMACIÓN
T2: ESTRUCTURAS BÁSICAS DE PROGRAMACIÓN
o 2.1 Metodología para la solución de problemas
o 2.2 Tipos de estructuras básicas.
o 2.3 Estructuras secuenciales
o 2.4 Estructuras de selección
2.4.1 Estructuras selectivas simples
2.4.2 Estructuras selectivas dobles
2.4.3 Estructuras selectivas compuestas
2.4.4 Estructuras selectivas múltiples
2.4.5 Expresiones lógicas
o 2.5 Estructuras cíclicas
T3: ESTRUCTURAS DE DATOS
REPRESENTACIÓN GRÁFICA:
DONDE:
REPRESENTACIÓN PSEUDOCODIFICADA.
Español Inglés
sino else
Fin_Si End_if
EJEMPLOS
EJEMPLOS
El mismo enunciado.
Lógica de programación
INDICE
GENERALIDADES
T1: HERRAMIENTAS DE PROGRAMACIÓN
T2: ESTRUCTURAS BÁSICAS DE PROGRAMACIÓN
o 2.1 Metodología para la solución de problemas
o 2.2 Tipos de estructuras básicas.
o 2.3 Estructuras secuenciales
o 2.4 Estructuras de selección
2.4.1 Estructuras selectivas simples
2.4.2 Estructuras selectivas dobles
El mismo enunciado.
Datos Adicionales:
Definición de variables:
DECLARACIÓN DE VARIABLES:
PSEUDOCÓDIGO:
Begin
If ht >40 then
he ß ht – 40
If he > 8 then
het ß he – 8
phe ß ph * 2 * 8 + ph * 3 * het
else
End_if
pt ß ph * 40 + phe
else
pt <-- ph * ht
End_if
Fin
EJEMPLO 2.
NM = 10
10
2 13 4
F and F NO
NM = 13
13
5 2 8
T and F NO
(2 > 8) NO
8
Lógica de programación
INDICE
GENERALIDADES
T1: HERRAMIENTAS DE PROGRAMACIÓN
T2: ESTRUCTURAS BÁSICAS DE PROGRAMACIÓN
o 2.1 Metodología para la solución de problemas
o 2.2 Tipos de estructuras básicas.
o 2.3 Estructuras secuenciales
o 2.4 Estructuras de selección
2.4.1 Estructuras selectivas simples
2.4.2 Estructuras selectivas dobles
2.4.3 Estructuras selectivas compuestas
2.4.4 Estructuras selectivas múltiples
2.4.5 Expresiones lógicas
o 2.5 Estructuras cíclicas
T3: ESTRUCTURAS DE DATOS
Con frecuencia es necesario que existan más de dos elecciones posibles. Este
problema se podría resolver por estructuras selectivas simples o dobles,
anidadas o en cascada, pero si el número de alternativas es grande puede
plantear serios problemas de escritura y de legibilidad.
Deberá reemplazar Selector por variables, propiedad o expresión que vaya a ser
el valor clave.
Diseñar un algoritmo tal que dados como datos dos variables de tipo
entero, obtenga el resultado de la siguiente función:
El mismo enunciado.
Salidas: Resp
Entradas: V, num
Sección de Declaraciones:
Real: resp
Resp = 400
400
5 2 Switch(5) default:
Resp = 0
Lógica de programación
INDICE
GENERALIDADES
T1: HERRAMIENTAS DE PROGRAMACIÓN
T2: ESTRUCTURAS BÁSICAS DE PROGRAMACIÓN
o 2.1 Metodología para la solución de problemas
o 2.2 Tipos de estructuras básicas.
o 2.3 Estructuras secuenciales
o 2.4 Estructuras de selección
2.4.1 Estructuras selectivas simples
2.4.2 Estructuras selectivas dobles
2.4.3 Estructuras selectivas compuestas
2.4.4 Estructuras selectivas múltiples
2.4.5 Expresiones lógicas
o 2.5 Estructuras cíclicas
T3: ESTRUCTURAS DE DATOS
Las simples son las que usan operadores relacionales y las complejas las que
usan operadores lógicos.
EJEMPLO
print (“aceptado”)
else
print (“rechazado”)
end_if
Note que también usa operadores relacionales. Por lo general cuando hay
operadores lógicos, éstos van acompañados de operadores relacionales.
Una escuela aplica dos exámenes a sus aspirantes, por lo que cada uno de ellos
obtiene dos calificaciones denotadas como C1 y C2. El aspirante que obtenga
una calificación mayor que 90 en cualquiera de los exámenes es aceptado; en
caso contrario es rechazado.
print (“aceptado”)
else
print (“rechazado”)
Fin_si
Lógica de programación
INDICE
GENERALIDADES
T1: HERRAMIENTAS DE PROGRAMACIÓN
T2: ESTRUCTURAS BÁSICAS DE PROGRAMACIÓN
o 2.1 Metodología para la solución de problemas
o 2.2 Tipos de estructuras básicas.
o 2.3 Estructuras secuenciales
o 2.4 Estructuras de selección
o 2.5 Estructuras cíclicas
2.5.1 Tipos de ciclos
2.5.2 La estructura FOR
2.5.3 La estructura WHILE
2.5.4 La estructura REPEAT
2.5.5 Conversión de estructuras
2.5.6 Bucles anidados
T3: ESTRUCTURAS DE DATOS
c. Deben estar claramente demarcados el inicio y el fin del ciclo. En los casos en
los cuales solo exista una instrucción a iterar, no serán necesarias dichas
marcas.
Decisión
Cuerpo del bucle
Salida del bucle
2.5.3 Iteración
2.5.4 Contadores
Representación:
Ejemplo: i = i + 1 (incremento)
i = i – 1 (decremento)
Además en las situaciones en que hay que obtener un total como producto de
distintas cantidades se utiliza un acumulador, debiéndose inicializar con el
valor.
Lógica de programación
INDICE
GENERALIDADES
T1: HERRAMIENTAS DE PROGRAMACIÓN
T2: ESTRUCTURAS BÁSICAS DE PROGRAMACIÓN
o 2.1 Metodología para la solución de problemas
o 2.2 Tipos de estructuras básicas.
o 2.3 Estructuras secuenciales
o 2.4 Estructuras de selección
o 2.5 Estructuras cíclicas
2.5.1 Tipos de ciclos
2.5.2 La estructura FOR
2.5.3 La estructura WHILE
Lógica de programación
INDICE
GENERALIDADES
T1: HERRAMIENTAS DE PROGRAMACIÓN
T2: ESTRUCTURAS BÁSICAS DE PROGRAMACIÓN
o 2.1 Metodología para la solución de problemas
o 2.2 Tipos de estructuras básicas.
o 2.3 Estructuras secuenciales
o 2.4 Estructuras de selección
o 2.5 Estructuras cíclicas
2.5.1 Tipos de ciclos
2.5.2 La estructura FOR
2.5.3 La estructura WHILE
2.5.4 La estructura REPEAT
2.5.5 Conversión de estructuras
2.5.6 Bucles anidados
T3: ESTRUCTURAS DE DATOS
DEFINICIÓN
El mismo enunciado.
Entradas: ninguna
Datos adicionales:
Sección de declaraciones:
la suma de cuadrados.
i=1
suma = 0 + 1 * 1 = 1
i=2
suma = 1 + 2 * 2 = 5
i=3
suma = 5 + 3 * 3 = 14
i=4
suma= 14 + 4 * 4 = 14+16=
30
Lógica de programación
INDICE
GENERALIDADES
T1: HERRAMIENTAS DE PROGRAMACIÓN
T2: ESTRUCTURAS BÁSICAS DE PROGRAMACIÓN
o 2.1 Metodología para la solución de problemas
o 2.2 Tipos de estructuras básicas.
o 2.3 Estructuras secuenciales
o 2.4 Estructuras de selección
o 2.5 Estructuras cíclicas
2.5.1 Tipos de ciclos
2.5.2 La estructura FOR
2.5.3 La estructura WHILE
2.5.4 La estructura REPEAT
2.5.5 Conversión de estructuras
2.5.6 Bucles anidados
T3: ESTRUCTURAS DE DATOS
Si la condición del bucle While se evalúa a falso cuando se ejecuta el bucle por
primera vez, el cuerpo del bucle no se ejecutará nunca. En este caso se dice que
el bucle se ha ejecutado cero veces.
La condición lógica en un bucle While, debe ser modificada por una sentencia
en el cuerpo del bucle, normalmente por un contador, en caso contrario, el
bucle es infinito.
REPRESENTACIÓN GRÁFICA:
Métodos:
Un bucle controlado por contador consta de tres partes, además del cuerpo y
de la condición de salida:
Proceso
1. End_While
Begin
Var
integer: i
i=1
While i <=100 do
print ( i )
i=i+1
End_While
End
Existen dos técnicas para realizar este bucle controlado por condición:
EJEMPLO
Begin
Var
char : resp
suma = 0
prod = 1
Read ( resp )
Read (num)
suma = suma +
num
read ( resp )
End_While
End
EJEMPLO
Var
suma ß 0
prod ß 1
read (num)
suma ß suma +
num
read ( num )
End_While
Fin
Una bandera o interruptor (flag) es una variable lógica que se utiliza para
conservar el estado (verdadero o falso) de una condición. El valor
del interruptor debe inicializarse antes de comenzar el bucle y debe cambiar
su estado (valor) dentro del cuerpo del bucle.
Var
boolean: primo
primo = ‘True’
divisor = 2
read (num)
if (res = 0) then
primo = ‘F’
end_if
divisor = divisor + 1
end_while
else
end_if
End
Lógica de programación
INDICE
GENERALIDADES
T1: HERRAMIENTAS DE PROGRAMACIÓN
T2: ESTRUCTURAS BÁSICAS DE PROGRAMACIÓN
o 2.1 Metodología para la solución de problemas
o 2.2 Tipos de estructuras básicas.
o 2.3 Estructuras secuenciales
o 2.4 Estructuras de selección
o 2.5 Estructuras cíclicas
2.5.1 Tipos de ciclos
2.5.2 La estructura FOR
2.5.3 La estructura WHILE
2.5.4 La estructura REPEAT
2.5.5 Conversión de estructuras
2.5.6 Bucles anidados
T3: ESTRUCTURAS DE DATOS
Las reglas para construcción de una estructura usando Repeat, nos dicen que
debemos declarar una variable contador que debe inicializarse antes del ciclo e
Igual que el bucle While, el bucle repeat puede ser controlado por contador,
por condición o por banderas.
REPRESENTACIÓN PSEUDOCODIFICADA:
Español Inglés
Repetir Repeat
Acciones Acciones
Las banderas también se pueden usar como parte de un proceso, para controlar
la secuencia de dichos procesos.
EJEMPLO
El mismo enunciado.
Cálculos:
Sección de Declaraciones:
Var
Integer: I,N
Real: serie
Char: band
PSEUDOCÓDIGO
Begin
Serie = 0
I=1
Read (N)
band = ‘T’
Repeat
band = ‘F’
band = ‘T’
end_if
I=I+1
Until (I > N)
print (serie)
End
Lógica de programación
INDICE
GENERALIDADES
T1: HERRAMIENTAS DE PROGRAMACIÓN
T2: ESTRUCTURAS BÁSICAS DE PROGRAMACIÓN
o 2.1 Metodología para la solución de problemas
o 2.2 Tipos de estructuras básicas.
o 2.3 Estructuras secuenciales
o 2.4 Estructuras de selección
o 2.5 Estructuras cíclicas
2.5.1 Tipos de ciclos
2.5.2 La estructura FOR
2.5.3 La estructura WHILE
2.5.4 La estructura REPEAT
2.5.5 Conversión de estructuras
2.5.6 Bucles anidados
T3: ESTRUCTURAS DE DATOS
Los bucles son anidados cuando están dispuestos de tal modo que unos son
interiores a otros. Las reglas para construir las estructuras anidadas establecen
que la estructura interna debe estar incluida totalmente dentro de la externa y
no debe existir solapamiento.
Las variables índices o de control de los bucles toman valores de modo tal que
por cada valor de la variable índice del ciclo externo se debe ejecutar
totalmente el bucle interno.
EJEMPLOS:
Ejemplo 1:
El pseudocódigo es el siguiente:
Begin
Read (n)
For i = 1 to n do
read (numero)
fact = 1
for j = 1 to numero do
fact = fact * j
End_for
End_for
Fin
Lógica de programación
INDICE
GENERALIDADES
T1: HERRAMIENTAS DE PROGRAMACIÓN
T2: ESTRUCTURAS BÁSICAS DE PROGRAMACIÓN
T3: ESTRUCTURAS DE DATOS
o 3.1 Estructura de datos
o 3.2 Arreglos en una dimensión
o 3.3 Arreglos en dos dimensiones
Lógica de programación
INDICE
GENERALIDADES
T1: HERRAMIENTAS DE PROGRAMACIÓN
T2: ESTRUCTURAS BÁSICAS DE PROGRAMACIÓN
T3: ESTRUCTURAS DE DATOS
o 3.1 Estructura de datos
o 3.2 Arreglos en una dimensión
o 3.3 Arreglos en dos dimensiones
CONCEPTOS
Los tipos de datos estudiados: entero, real, alfabético son considerados como
datos de tipo simple, puesto que una variable que se define con alguno de estos
tipos sólo puede almacenar un valor a la vez, es decir, existe una relación de
uno a uno entre la variable y el número de elementos (valores) que es capaz de
almacenar.
Arrays
Registros
Archivos
Son aquellas en las que el espacio ocupado en memoria puede ser modificado
en tiempo de ejecución.
ARRAYS:
Un arreglo (array) es una colección de datos del mismo tipo, que se almacenan
en posiciones consecutivas de memoria y reciben un nombre común. Para
Finita: Todo arreglo tiene un límite; es decir, debe determinarse cuál será el
número máximo de elementos que podrán formar parte del arreglo.
Homogénea: Esto significa que todos los elementos del arreglo deben ser del
mismo tipo. (Todos enteros, todos reales, todos booleanos, etc.)
Lógica de programación
INDICE
GENERALIDADES
T1: HERRAMIENTAS DE PROGRAMACIÓN
T2: ESTRUCTURAS BÁSICAS DE PROGRAMACIÓN
T3: ESTRUCTURAS DE DATOS
o 3.1 Estructura de datos
o 3.2 Arreglos en una dimensión
o 3.3 Arreglos en dos dimensiones
DEFINICION.
Donde:
Cuando declare un arreglo, debe indicar el tipo de valor que va a guardar, así
como el número de elementos que contendrá (llamados elementos del
arreglo).
Cada elemento del arreglo tiene que ser del mismo tipo, digamos int,
float o char.
Para guardar un valor dentro de un arreglo, debe indicar el número del
elemento dentro del cual quiere almacenar el valor. Por ejemplo, el
primer elemento del arreglo es el 0, el segundo, el 1 , y así sucesivamente.
Para acceder al valor guardado dentro del arreglo, los programas
especifican el nombre de éste y el número del elemento, colocándolo
dentro de corchetes, como en calificación[3].
Entonces, para declarar un arreglo tiene que indicar su tipo, un nombre único y
la cantidad de elementos que va a contener. Por ejemplo, las siguientes
instrucciones declaran tres arreglos distintos:
char nombre[30];
Float costo_partes[50];
Int edad_empleados[100];
Float precios_acciones[25];
A los arreglos en una dimensión se les llama también Vectores o Listas. Los
vectores se representan de forma lineal, indicando el valor del índice asociado
a cada componente en la parte inferior, y el nombre del arreglo en la parte
superior. Estos vectores se pueden representar, como filas o como columnas
de datos.
EJEMPLO
Para acceder a valores específicos del arreglo, use un valor de índice que apunte
al elemento deseado. Por ejemplo, para acceder al primer elemento del arreglo
calificaciones debe utilizar el valor de índice 0 ( calificaciones[0] ).
calificaciones[0];
Para inicializar todos los elementos de una vez, se colocan dentro de un bucle,
comúnmente una estructura For que va del primer elemento al último que
contiene el arreglo.
calificaciones[0] = 100;
Cuando se usan arreglos, una operación común es usar una variable índice para
acceder a los elementos de un arreglo. Suponiendo que la variable índice I
contiene el valor 3, la siguiente instrucción asigna el valor 400 a valores[3]:
valores[I] = 400;
EJEMPLO
Salidas: vectores A y B
Datos adicionales:
Sección de Declaraciones:
Var
Begin
j=1
k=1
For i=1 to 20 do
Read(Num[i])
A[j] = Num[i]
j=j+1
else
B[k] = Num[i]
k=k+1
end_if
end_for
for i=1 to j do
print(A[i])
for i=1 to k do
print(B[i])
end_for
End
Una matriz es una tabla con números distribuidos en filas y columnas de forma
que todas las filas tienen el mismo número de elementos y lo mismo para todas
las columnas.
A los elementos de una matriz se les denota por Aij siendo i el nº de fila y j el nº
de columna. Así el elemento a34 sería el elemento de la tercera fila que ocupa
la cuarta columna.
Const
M=valor1
N= valor2
Tipo
Array[1..M,1..N] de real:matriz
Var
Matriz: A
Escribir (A[i,j])
DESARROLLO DE SOFTWARE NELLY
DESARROLLO DE SOFTWARE
INSTITUTO NACIONAL DE USULUTÁN
Fin_desde
Fin_desde
Escribir (A[i,j])
Fin_desde
Fin_desde
EJEMPLO
1 £ i £ 30, 1£ j £ 6
Calcular lo siguiente:
Begin
For i=1 to 30 do
For j=1 to 6 do
End_for
End_for
For j=1 to 6 do
sum = 0
end_for
prom[j] = sum/30
End_for
For i=1 to 30 do
sum = 0
For j=1 to 6 do
End_for
End_for
Examen = 1
promayor = prom[1]
For j=2 to 6 do
promayor = prom[j]
Examen = j
End_if
End_for
End