TEORIAFP1AS - Doc 1648584522297
TEORIAFP1AS - Doc 1648584522297
TEORIAFP1AS - Doc 1648584522297
Etapas
A partir del estudio del problema se deberá identificar y conocer las partes principales
del mismo y de esa manera determinar los siguientes conjuntos:
c. Programación
Esta etapa consiste en obtener el programa que es solución del problema dado. Se
divide en dos subetapas, siendo la primera la más dificil y de mayor creatividad:
c.2. Codificación
Pág. Nro. 1
Apuntes: Facultad de Ciencia y Tecnología - Fundamentos de Programación –
(Creados por: FCYT – Equipo docente: Sede Oro Verde – Paraná)
Analista de Sistemas
programación, 1er año
que pueda SubSede Chajarí
se interpretado Prof. Teoría:
por la computadora. An. Ma.será
Esta subetapa Carolina
objeto
de estudio
Omar en años superiores.
Práctica: An: Matilde Dalzotto
d. Prueba
Resolución de problemas
por computador
Elección y Codificació
creación del n
método
Elección y
aplicación del
método
Diseño de la Definición
estrategia del algoritmo
ESTRATEGIA
Pág. Nro. 2
Apuntes: Facultad de Ciencia y Tecnología - Fundamentos de Programación –
(Creados por: FCYT – Equipo docente: Sede Oro Verde – Paraná)
Analista
partes quedeloSistemas
componen.1er año SubSede Chajarí Prof. Teoría: An. Ma. Carolina
OmarLa siguiente etapa consiste en encontrar un método que nos permita llegar a resolver
el problema planteado. Como primer paso de esta etapa, debemos preparar un plan o
Práctica: An: Matilde Dalzotto
esquema general de las tareas que deben realizarse para llegar a la solución. Este
esquema se denomina estrategia y debe ser una lista de QUE hacer.
Por lo dicho diseñar una estrategia consiste en dividir o descomponer el problema
original en una sucesión de problemas más simples, de tamaño suficientemente pequeño
como para que cada uno de ellos pueda ser comprendido en su totalidad. Esto, permitirá
atacar la solución de cada problema simple por separado e independientemente de los
demás, volviendo a aplicar este enfoque a cada uno de los subproblemas hasta llegar a
subproblemas de solución simple. Una vez que todos ellos han sido resueltos, se puede
decir que el problema original ha sido resuelto.
Este proceso de descomposición de un problema partiendo de la formulación
completa del problema hasta llegar a problemas elementales de simple solución, se llama
diseño descendente , también conocido como top - down , método de refinamiento
sucesivos o diseño compuesto.
nivel 0 P
nivel 1 P1 P2 P3 P4
P3 P3 P3
nivel 2
ALGORITMO
Pág. Nro. 3
Apuntes: Facultad de Ciencia y Tecnología - Fundamentos de Programación –
(Creados por: FCYT – Equipo docente: Sede Oro Verde – Paraná)
Analista de Sistemas
Planteada 1er añoindicando
una estrategia SubSede Chajarí
QUE Prof.
tareas hacer, Teoría:especificar
debemos An. Ma. Carolina
una lista
detallada
Omar de COMO hacerlas, llegando así a definir una solución paso a paso del
problema llamada algoritmo. La descripción de la solución detallado por medio de un
Práctica: An: Matilde Dalzotto
algoritmo constituye el segundo paso en la etapa de elección del método.
La palabra algoritmo se utiliza, en general, como sinónimo de procedimiento, método
o técnica. Pero en el área de computación tiene un significado más específico.
Un algoritmo es un conjunto finito de operaciones (instrucciones - pasos) que
seguidos en un determinado orden permiten resolver un problema dado.
Las características principales de un algoritmo son :
* Finito : permite arribar a la solución de un problema después de la ejecución
de un número finito de pasos.
* Definido : cada paso debe ser enunciado en forma clara y precisa, y no debe
dar lugar a ambigüedades
* General : debe ser la solución aplicable a un tipo de problemas y no un
problema particular.
Obsérvese que los pasos han sido lo suficientemente simples para un principiante en
el arte de preparar café.
Otro aspecto que es importante considerar es los elementos con que contamos para
poder preparar el café, como por ejemplo : recipiente para calentar el agua, azúcar, café,
cucharita, taza, soda. Supongamos que no se tiene la certeza de que en el momento de
Pág. Nro. 4
Apuntes: Facultad de Ciencia y Tecnología - Fundamentos de Programación –
(Creados por: FCYT – Equipo docente: Sede Oro Verde – Paraná)
Analista
hacer el de Sistemas
café se tenga1er soda,
año SubSede
se podráChajarí Prof.agua,
reemplazar con Teoría:
el An. Ma. Carolina
algoritmo, deberá
contemplar
Omar esta situación, por lo tanto será:
* Calentar una taza de agua sin llegar al punto del hervor
Práctica: An: Matilde Dalzotto
* Poner en un taza tres cucharaditas de azúcar , dos de café instantáneo
* Si se tiene soda
agregar en la taza media cucharadita de soda
sino agregar en la taza media cucharadita de agua fría
* Batir hasta que la mezcla se torne marrón claro
* Llenar con el agua caliente la taza
* Revolver para disolver la mezcla en el agua
Ejemplo 1 : Llamar al 113 una sola vez desde un teléfono familiar que funciona para
averiguar la hora.
Datos : teléfono familiar funcionando. El número telefónico conocido
Algoritmo :
Observaciones :
* para indicar el inicio y el fin del algoritmo se han utilizado las palabras
PROCESO Y FINPROCESO respectivamente.
* las tres primeras acciones : Levantar, Escuchar, Marcar, se ejecutan una a
continuación de otra .
* Luego se presentan dos alternativas :
a) que se comunique, en cuyo caso escucha la hora y cuelga
Pág. Nro. 5
Apuntes: Facultad de Ciencia y Tecnología - Fundamentos de Programación –
(Creados por: FCYT – Equipo docente: Sede Oro Verde – Paraná)
Analista de Sistemas 1er
b) que el año SubSede
teléfono Chajarí
esté ocupado y cuelgue.Prof. Teoría: An. Ma. Carolina
Omar Para describirlas se ha usado las palabras SI ENTONCES SINO
FINSI que se estudiarán en detalle más adelante.
Práctica: An: Matilde Dalzotto
Ejemplo 2 : Preparar un licuado de frutas
Datos : Licuadora. Fruta con cáscara. Taza con leche. Taza con azúcar. Cuchillo. Plato.
Todos los elementos están sobre la mesada. Se cuenta con las medidas necesarias de
todos los ingredientes.
Algoritmo :
En este caso ciertas acciones como la de Tomar la fruta, pelarla, cortarla, colocar.....
se repiten mientras se tiene fruta para hacerlo. Aparecen aquí las palabras REPETIR y
HASTA QUE, que estudiaremos más adelante en detalle.
FORMALIZACIÓN
Pág. Nro. 6
Apuntes: Facultad de Ciencia y Tecnología - Fundamentos de Programación –
(Creados por: FCYT – Equipo docente: Sede Oro Verde – Paraná)
Analista
El de Sistemas
ambiente 1er año dado,
para un ejecutante SubSede Chajarí
es propio Prof. aTeoría:
del problema resolverAn. Ma.él,
y de Carolina
o sea de
los
Omarelementos con que se cuenta, depende el método que se elija para proponer la
solución del mismo como ya se ha visto anteriormente.
Práctica: An: Matilde Dalzotto
PROGRAMACIÓN MODULAR
Pág. Nro. 7
Apuntes: Facultad de Ciencia y Tecnología - Fundamentos de Programación –
(Creados por: FCYT – Equipo docente: Sede Oro Verde – Paraná)
Analista
ALGORITMOSde Sistemas 1er año SubSede Chajarí
COMPUTACIONALES Prof. Teoría: An. Ma. Carolina
Omar
Los problemas desarrollados hasta el momento, se resolvieron empleando
Práctica: An: coloquiales
instrucciones Matilde Dalzotto
y se basaban en situaciones de la vida diaria. Los algoritmos
así desarrollados son fáciles de entender para cualquier persona, definida como su
ejecutante.
Pero nuestro objetivo en la materia es llegar a desarrollar algoritmos que puedan ser
interpretados por una computadora. Para ello, es necesario una descripción clara y
carente de ambigüedades de cada una de las acciones que llevan a la solución del
problema por medio de órdenes comprensibles para la computadora .
En esta unidad, justamente, nos ocuparemos de describir la formalización necesaria
para el desarrollo de Algoritmos Computacionales.
De aquí en más cuando mencionemos al ejecutante de un algoritmo, nos estaremos
refiriendo concretamente a una computadora.
En el ejemplo que planteamos a continuación se desarrolla un algoritmo completo de acuerdo a la
formalización que propondremos.
Ejemplo: Plantear un algoritmo computacional que calcule la hipotenusa de un triángulo
rectángulo. Se conoce como información de entrada las longitudes de los catetos.
Análisis del problema:
* Datos: Longitudes de los catetos.
* Condiciones: Hipotenusa mediante Teorema de Pitágoras
* Resultado a informar: Longitud de la hipotenusa
Algoritmo:
PROCESO: HIPOTENUSA
Leer A,B;
H:=RC(A ( 2 + B ( 2);
Escribir 'Hipotenusa =';
Escribir H
FINPROCESO
En este ejemplo A, B y H constituyen variables; 2 e 'Hipotenusa' son constantes; Leer,
Escribir y := son las acciones primitivas de lectura, escritura y asignación
respectivamente; RC(A ( 2 + B ( 2) es una expresión numérica y RC( ) es la función raíz
cuadrada. El signo ; (punto y coma) es el separador de acciones.
En esta unidad iremos desarrollando todos estos elementos, que conforman un lenguaje algorítmico
que llamaremos PSEUDOCODIGO.
La forma general de un algoritmo escrito en pseudocódigo es la siguiente:
PROCESO <nombre del proceso>
acción 1;
acción 2; acción 3;
.
.
acción n
FINPROCESO
donde las acciones van separadas por el signo punto y coma (;), excepto la última - antes
Pág. Nro. 8
Apuntes: Facultad de Ciencia y Tecnología - Fundamentos de Programación –
(Creados por: FCYT – Equipo docente: Sede Oro Verde – Paraná)
Analista
de de Sistemas
FINPROCESO - ; y 1er año pueden
además, SubSede Chajarí variasProf.
escribirse Teoría:
en una mismaAn. Ma. Carolina
línea.
Omar
Práctica: An: Matilde Dalzotto
CONSTANTES, VARIABLES Y EXPRESIONES
El diseñador del algoritmo tiene total libertad para proponer nombres a sus variables,
aunque como consejo, es conveniente proponer identificadores que tengan alguna
relación con el dato que representan. En nuestro ejemplo inicial, podríamos haber
empleado CATETO1, CATETO2, HIPOT, en lugar de A, B, H.
Por último, definimos expresión a un conjunto de operandos ligados por operadores, que
describe una operación o cálculo arrojando un único resultado. En nuestro primer
ejemplo RC(A 2 + B 2) es una expresión que permite obtener el valor de la hipotenusa.
Algunos ejemplos de expresiones:
2+a-x*5 A<B TRUNC( R ) + 1
TIPOS DE DATOS
Un algoritmo computacional puede emplear los siguientes tipos de datos:
* Numérico
* Caracter
* Lógico
Pág. Nro. 9
Apuntes: Facultad de Ciencia y Tecnología - Fundamentos de Programación –
(Creados por: FCYT – Equipo docente: Sede Oro Verde – Paraná)
Analista de Sistemas
Esta clasificación nos 1er añolosSubSede
define Chajaríde datos.
tipos primitivos Prof. Teoría: An. a
Estudiaremos Ma. Carolina
cada uno de
Omar
ellos y su modo de empleo.
Práctica: An: Matilde Dalzotto
a) Tipo numérico
Es el conjunto formado por los valores numéricos que pueden incluir un punto decimal y
pueden estar precedidos por los signos '+' o '-'.La ausencia de signo implica un valor
positivo.
Se clasifican a su vez en tipo entero o tipo real, pero no haremos distinciones en su
empleo.
Los datos de tipo numérico pueden representarse como constantes, variables y/o
expresiones .
Una constante numérica es un valor formado por una combinación de elementos del
conjunto numérico.
Veamos algunos ejemplos de constantes numéricas que puedan emplearse en un
algoritmo computacional:
En el último ejemplo se indica una constante numérica con notación científica, donde
E+02 indica la potencia de base diez, es decir:
0.45E+02 = 0.45 * 10 ( 2 = 45
Operador Función
Pág. Nro. 10
Apuntes: Facultad de Ciencia y Tecnología - Fundamentos de Programación –
(Creados por: FCYT – Equipo docente: Sede Oro Verde – Paraná)
Analista de Sistemas 1er año SubSede Chajarí Prof. Teoría: An. Ma. Carolina
+ Suma
Omar
- Matilde
Práctica: An: Resta
Dalzotto
* Producto
/ Cociente
( Potencia
Ejemplos: 2 + a * 10 ( 2 - 800 / C
1 - (2 * TOT - 30) ( P)
4 * (VENTA / 5 ( 2 - 25)
donde a, C, TOT, P, VENTA son todas variables numéricas. En cada caso, al evaluar la
expresión se obtiene un único resultado.
El operador de radicación no existe, ya que esta operación puede plantearse a través de
la potenciación de exponente fraccionario. De todas maneras utilizaremos una función
para el cálculo de la raiz cuadrada, como se indica en el ejemplo inicial.
Función Significado
RC( ) Raíz cuadrada
ABS( ) Valor absoluto
EXP( ) Exponenciación
SEN( ) Seno
COS( ) Coseno
TAN( ) Tangente
ATAN( ) Arco tangente
TRUNC( ) Parte entera
LN( ) Logaritmo natural
REDON( ) Redondeo
Pág. Nro. 11
Apuntes: Facultad de Ciencia y Tecnología - Fundamentos de Programación –
(Creados por: FCYT – Equipo docente: Sede Oro Verde – Paraná)
Analista de Sistemas
Estas funciones 1er año
permiten SubSede
ampliar el usoChajarí Prof.numéricas
de expresiones Teoría: An. Ma. lo
y por Carolina
tanto la
Omar
capacidad de cálculo.
Práctica: An: Matilde Dalzotto
b) Tipo Caracter
El tipo caracter incluye a un conjunto formado por todos los caracteres o símbolos que
pueden encontrarse en el teclado de una computadora, es decir, las letras de nuestro
alfabeto en mayúscula, en minúscula, los dígitos, los operadores relacionales: '<', '>', '=',
el espacio en blanco ' ',los operadores aritméticos: '+', '-', '*', '/', los caracteres de
puntuación y otros especiales : '!', '@', '%', '(', etc.
Una aclaración importante sobre este tipo de datos, es que el conjunto de caracteres
incluído aquí, es un conjunto ordenado, y por lo tanto, existe una relación de precedencia
u orden entre sus elementos (de menor a mayor). Por convención utitlizaremos la
siguiente relación de precedencia:
* El espacio en blanco
* Los dígitos '0', '1', '2',.........'9'.
* Las letras mayúsculas 'A', 'B',......'Z'.
* Las letras minúsculas 'a', 'b',......'z'.
⦁ Operadores aritméticos y relacionales '+', '-', '*', '<', '=', '>'.
* Signos especiales y de puntuación.
Los datos de tipo caracter pueden representarse como constantes y/o variables.
Una constante tipo caracter es una constante cuyo valor pertenece al conjunto
mencionado anteriormente delimitada por apóstrofes. (‘ ‘).
De acuerdo a la relación de orden establecida, podemos afirmar que son verdaderas las
siguientes proposiciones:
La letra 'a' es mayor que la letra 'B'.
El caracter '5' es menor que la letra 'A'.
Pág. Nro. 12
Apuntes: Facultad de Ciencia y Tecnología - Fundamentos de Programación –
(Creados por: FCYT – Equipo docente: Sede Oro Verde – Paraná)
Analista deencerrados
caracteres Sistemas 1er añoapóstrofes
entre SubSede y Chajarí Prof.una
por lo tanto tienen Teoría: An. Ma.
longitud que Carolina
está dada
por
Omarla cantidad de caracteres que la forman.
Práctica:
Por An: los
ejemplo, Matilde Dalzotto
nombres, apellidos y direcciones, constituyen información formada con
sucesiones o cadenas finitas de los caracteres mencionados anteriormente.
Ejemplos:
Aquí también es válido establecer una relación de orden basada en la precedencia entre
caracteres ya señalada. Para establecer dicho orden entre dos cadenas, se compara
caracter por caracter hasta encontrar una desigualdad.
Entonces son válidas las proposiciones:
'Mario' es mayor que 'Mariana'
'043-553456' es menor que 'TE:043-553456'
'mesa' es menor que 'mesas'
Observemos que en nuestra formalización algorítmica, los datos de tipo caracter o las
cadenas de caracteres se indican siempre entre apóstrofos. Esto es para evitar
confusiones con otros elementos algorítmicos que desarrollaremos más adelante.
c) Tipo Lógico
c.1.Constantes Lógicas
Representaremos a las constantes lógicas con los símbolos V (verdadero) y F (falso). El
subrayado es para evitar ambigüedades con las variables V y F.
Pág. Nro. 13
Apuntes: Facultad de Ciencia y Tecnología - Fundamentos de Programación –
(Creados por: FCYT – Equipo docente: Sede Oro Verde – Paraná)
Analistalógicas:
valores de Sistemas
V o F. 1er año SubSede Chajarí Prof. Teoría: An. Ma. Carolina
Omar
Práctica: An: Matilde
c.3. Expresiones Dalzotto
lógicas
Operador Significado
< Menor que
> Mayor que
= Igual que
>= Mayor o igual que
<= Menor o igual que
<> Distinto
Ejemplos:
45 > 12 V
56 <= 30 F
´Andrea' > 'Mariana' F
'Andrea' > 'Ana' V
60 < '23' expresión no válida
Las expresiones lógicas simples mostradas en el ejemplo, también son conocidas como
expresiones relacionales, pues permiten comparar a dos operandos del mismo tipo.
Justamente, la última expresión del ejemplo anterior no es válida pues compara a una
constante numérica con una constante de tipo caracter.
La algorítmica computacional, permite también formar expresiones lógicas más
complejas, a través de operandos lógicos y de los operadores que emplea la lógica
proposicional:
Conector Lógico Significado
( Conjunción
V Disyunción
~ Negación
Pág. Nro. 14
Apuntes: Facultad de Ciencia y Tecnología - Fundamentos de Programación –
(Creados por: FCYT – Equipo docente: Sede Oro Verde – Paraná)
Analista de Sistemas
Observemos entonces 1er año deSubSede
el valor Chajarí
verdad de Prof.
las siguientes Teoría: An.
expresiones Ma. Carolina
lógicas:
Omar
Práctica: An: Matilde Dalzotto
Pág. Nro. 15
Apuntes: Facultad de Ciencia y Tecnología - Fundamentos de Programación –
(Creados por: FCYT – Equipo docente: Sede Oro Verde – Paraná)
Analista de Sistemas
Expresión Lógica 1er año SubSede Chajarí Prof. Teoría: An. Ma. Carolina
Resultado
Omar
Práctica: An: Matilde Dalzotto
(7 < 10) ('a' < 'c') V
PRIMITIVAS
* Secuenciales
* Condicionales
* Repetitivas
ASIGNACIÓN
V:=E
Pág. Nro. 16
Apuntes: Facultad de Ciencia y Tecnología - Fundamentos de Programación –
(Creados por: FCYT – Equipo docente: Sede Oro Verde – Paraná)
Analista de Sistemas
Según sean 1er
los tipos de V año SubSede
y E una Chajarí
asignación puede ser:Prof. Teoría: An. Ma. Carolina
Omar
* aritmética
Práctica: An: Matilde Dalzotto
* caracter
* lógica
a. Asignación aritmética
Ejemplos:
A:=43; (A toma el valor 43)
Notemos que para poder realizar una asignación aritmética debemos evaluar la
expresión de la derecha y luego ese resultado se almacena en la variable que figura a
la izquierda. Por lo tanto es perfectamente válida la acción:
N:= N+1;
Pág. Nro. 17
Apuntes: Facultad de Ciencia y Tecnología - Fundamentos de Programación –
(Creados por: FCYT – Equipo docente: Sede Oro Verde – Paraná)
Analista
c. de Sistemas
Asignación lógica 1er año SubSede Chajarí Prof. Teoría: An. Ma. Carolina
Omar
Práctica: An: Matilde Dalzotto
La asignación V:= E es una asignación lógica si V es una variable de tipo lógico y E es
una constante lógica (V o F), una variable lógica o una expresión lógica.
Ejemplos:
ENTRADA Y SALIDA
Todo algoritmo tiene por objetivo principal producir resultados, pudiendo o no incorporar
información del medio externo (datos), al ambiente o sistema que observa.
Esta incorporación de valores desde el exterior al ambiente del algoritmo, nos lleva a
definir una acción primitiva de lectura o entrada. Usaremos para ello la palabra clave
LEER que permitirá al ejecutante identificar a esta acción.
El formato de la acción de lectura es:
De esta manera, la acción LEER nos permite ingresar, desde el medio externo, uno o
más valores los cuales son asignados a la variable V, en el primer caso, o a las
variables que figuran a continuación de LEER, en el segundo.
Ejemplos:
LEER DAT;
LEER NOMBRE, APELLIDO, DNI;
Esta acción tiene el mismo efecto que una asignación, sólo que ésta utiliza valores del
ambiente del algoritmo; en cambio la lectura asigna valores desde el medio exterior.
Esta acción contribuye a hacer a los algoritmos de uso general, pues permite incorporar
datos nuevos para producir nuevos resultados. Sin esta acción, la ejecución de un
algoritmo producirá siempre la misma respuesta.
La acción primitiva que permite a un algoritmo comunicar resultados o salida de
Pág. Nro. 18
Apuntes: Facultad de Ciencia y Tecnología - Fundamentos de Programación –
(Creados por: FCYT – Equipo docente: Sede Oro Verde – Paraná)
Analista de Sistemas
información al medio 1er año la
exterior, SubSede Chajarí con la Prof.
describiremos Teoría:
palabra claveAn. Ma. Carolina
ESCRIBIR y a
continuación
Omar una variable, una constante, o una lista de variables y/o constantes.
Práctica:
Su formatoAn: Matilde
general es:Dalzotto
DIAGRAMAS DE FLUJO
Pág. Nro. 19
Apuntes: Facultad de Ciencia y Tecnología - Fundamentos de Programación –
(Creados por: FCYT – Equipo docente: Sede Oro Verde – Paraná)
Analista de Sistemas
Veamos ahora 1erdeaño
algunas las SubSede Chajarí
formas geométricas queProf. Teoría:como
usaremos An. Ma. Carolina
bloques que
Omar
identifican acciones en un diagrama de flujo:
Práctica: An: Matilde Dalzotto
Bloque Significado o Uso
Inicio o fin de proceso
Asignación
Escritura o salida
Subalgoritmo
Conectores
Pág. Nro. 20
Apuntes: Facultad de Ciencia y Tecnología - Fundamentos de Programación –
(Creados por: FCYT – Equipo docente: Sede Oro Verde – Paraná)
Analistayde
definen Sistemas
describen las1er año SubSede
variables Chajarí indicando
que se emplearán, Prof. Teoría: An.
por cada Ma.
una suCarolina
nombre,
su tipo,
Omar su clase (por el momento solamente Simples) y su significado. Y por último, se
define el algoritmo escrito en un lenguaje algorítmico. En el curso emplearemos como
Práctica: An: Matilde Dalzotto
lenguajes algorítmicos el PSEUDOCODIGO y los DIAGRAMAS DE FLUJO.
En estas primeras unidades, en la resolución de problemas no incluiremos al estrategia
y su posterior refinamiento.
Veamos en un ejemplo como aplicamos nuestro modelo de resolución de problemas.
Problema: intercambiar los valores de dos variables numéricas que se leen como datos.
Ambiente:
Intercambio
(Inicio)
A, B (Leer A y B)
AUX := A
(Asignar el valor de A a AUX)
A := B
(Asignar el valor de B a A)
Pág. Nro. 21
Apuntes: Facultad de Ciencia y Tecnología - Fundamentos de Programación –
(Creados por: FCYT – Equipo docente: Sede Oro Verde – Paraná)
Analista de Sistemas 1er año SubSede Chajarí Prof. Teoría: An. Ma. Carolina
Omar B := AUX
(Asignar el valor de AUX a B )
Práctica: An: Matilde Dalzotto
CONCLUSION
Los conceptos tratados hasta aquí, contribuyen a formalizar la metodología de la
definición de algoritmos. Quien los diseñe dispone ahora de reglas claras y formales,
eliminando acciones ambiguas o carentes de precisión.
Esto no quiere decir que, planteado un problema, el algoritmo que describe la solución
del mismo sea único. Al contrario, el diseño de los algoritmos requiere una gran dosis
de creatividad y, es común, hallar varios caminos para la obtención de un resultado.
Sólo se trata de establecer pautas claras y precisas para que distintos ejecutantes que
interpreten dichas pautas, puedan realizar la secuencia de acciones que conforman el
algoritmo.
Pág. Nro. 22
Apuntes: Facultad de Ciencia y Tecnología - Fundamentos de Programación –
(Creados por: FCYT – Equipo docente: Sede Oro Verde – Paraná)
Analista
UNIDAD de 3:
Sistemas 1er año SubSede
ESTRUCTURAS Chajarí DE Prof.
BÁSICAS Teoría: An. Ma. Carolina
DIAGRAMACIÓN
Omar
ESTRUCTURADA
Práctica: An: Matilde Dalzotto
INTRODUCCIÓN
establece que todo algoritmo puede elaborarse mediante el uso de sólo tres estructuras lógicas de
control:
⦁ secuencia
⦁ selección
⦁ iteración
que, combinadas describen la solución de un problema planteado.
Estas estructuras presentan la características de tener un único punto de entrada y
un único punto de salida.
Un algoritmo definido en base a esta metodología, es mas fácil de entender, y
permite, por lo tanto, detectar los errores de lógica rápidamente.
SECUENCIA
Es un conjunto de acciones que se ejecutan en el mismo orden en que aparecen en
el algoritmo, una a continuación de la otra.
La representación gráfica en un diagrama de flujo es:
Los bloques A, B, C representan una acción elemental o un módulo; cada uno de ellos,
con un único punto de entrada y un único punto de salida.
En pseudocódigo la secuencia se especifica indicando las acciones en el orden en que
deben ser ejecutadas, separadas entre sí por el signo de puntuación ";", (escritas en el
mismo renglón o en diferente):
A; B;
Pág. Nro. 23
Apuntes: Facultad de Ciencia y Tecnología - Fundamentos de Programación –
(Creados por: FCYT – Equipo docente: Sede Oro Verde – Paraná)
Analista de Sistemas 1er
C; año SubSede Chajarí Prof. Teoría: An. Ma. Carolina
Omar
Ambas representaciones indican la ejecución primero del bloque A, luego del B, y
Práctica: An: Matilde Dalzotto
finalmente del C.
SELECCIÓN
Si el teléfono comunica
Entonces escuchar la hora
colgar el auricular
Sino colgar el auricular
Esta estructura permite elegir el camino a seguir según el valor de verdad de una
condición.
Pág. Nro. 24
Apuntes: Facultad de Ciencia y Tecnología - Fundamentos de Programación –
(Creados por: FCYT – Equipo docente: Sede Oro Verde – Paraná)
Analista
La de Sistemas
estructura 1er año
condicional SubSede
permite Chajarí
al ejecutante Prof. elegir
o procesador Teoría:lasAn. Ma. Carolina
acciones a seguir
entre
Omar 2 alternativas específicas, de acuerdo al valor de una condición en el momento
de ejecución del algoritmo.
Práctica: An: Matilde Dalzotto
La representación de esta estructura en un diagrama es:
V F
condición
A B
donde condición es cualquier elemento del ambiente del algoritmo que arroje un
resultado lógico V o F, es decir que el elemento condición puede ser una variable o
expresión lógica. Tanto A como B representan una acción primitiva o un conjunto de
acciones.
SI condición
ENTONCES A
SINO B
FINSI
donde las palabras claves SI y FINSI indican, respectivamente, el comienzo y fin de la
estructura de selección.
De acuerdo al valor de la condición, el procesador ejecuta A (alternativa verdadera) o B
(alternativa falsa) y luego continúa con la acción que sigue al FINSI .
Esta estructura se la considera como una unidad, con un único punto de entrada y un
único punto de salida. Su punto de entrada es la evaluación de la condición y su punto de
salida, luego de haberse ejecutado el camino correspondiente, es la acción que sigue al
punto (en el diagrama) o al finsi (en pseudocódigo).
Ejemplo 1: Una compañía de turismo ha definido una política de promoción de sus
empresa para lo cual ha fijado descuentos para sus clientes en función de los viajes
anteriores realizados. El valor del descuento es del 20% para aquellos clientes que,
considerando los viajes realizados en el último año y el que desean realizar, han
recorrido más de 3000 Kms. y del 5% para aquellos que no han alcanzado dicha cifra.
Se desea realizar un algoritmo que calcule el importe a pagar por un cliente, si se
ingresa su nombre y apellido, el total de Kms. recorridos hasta el momento, y los datos
Pág. Nro. 25
Apuntes: Facultad de Ciencia y Tecnología - Fundamentos de Programación –
(Creados por: FCYT – Equipo docente: Sede Oro Verde – Paraná)
Analista
del viaje de Sistemasprecio,
a contratar: 1er añodestino,
SubSede
Kms.Chajarí Prof. Teoría:
a recorrer. Informar An.ingresados,
los datos Ma. Carolinael
monto
Omar del descuento y el monto a pagar por el cliente.
Ambiente:
Práctica: An: Matilde Dalzotto
Variable Num Carac. Lóg Clase Significado
NYA X Simple Nombre y Apellido del Cliente
TACUM X Simple Kms. acumulados hasta la fecha
PRECIO X Simple Precio del viaje
KMS X Simple Kms. a recorrer
DEST X Simple Destino del Viaje
TOTAL X Simple Kms.Tot. incluídos los del viaje actual
DESC X Simple Descuento a realizar
IMP X Simple Importe Total
Turismo
FINPROCESO
Pseudocódigo
PROCESO: TURISMO
Pág. Nro. 26
Apuntes: Facultad de Ciencia y Tecnología - Fundamentos de Programación –
(Creados por: FCYT – Equipo docente: Sede Oro Verde – Paraná)
AnalistaLEER
de Sistemas 1er año
NYA, TACUM, SubSede
PRECIO, Chajarí
DEST, KMS; Prof. Teoría: An. Ma. Carolina
Omar
TOTAL := TACUM + KMS
Práctica: An: Matilde Dalzotto
SI TOTAL > 3000
ENTONCES DESC := PRECIO * 0.20
SINO DESC := PRECIO * 0.05
FINSI
IMP := PRECIO - DESC;
ESCRIBIR ‘ Cliente: ‘, NYA, ‘ Acumulados: ‘, TACUM;
ESCRIBIR ‘ Datos del viaje: $’ , PRECIO, KMS, ‘Kms.’, DEST;
ESCRIBIR ‘Descuento: $‘, DESC, ‘Importe: $‘, IMP
FINPROCESO
Seguimiento
NYA TACUM PRECIO KMS DEST TOTAL DESC IMP Acciones de Escritura
‘Juan 3100 350 800 ‘Misiones’ 3900 70 280 Cliente: Juan Pérez Acumulados: 3100
Pérez’ Datos del Viaje: $350 800 Kms. Misiones
Descuento: $70 Importe: $280
V condición F
Pág. Nro. 27
Apuntes: Facultad de Ciencia y Tecnología - Fundamentos de Programación –
(Creados por: FCYT – Equipo docente: Sede Oro Verde – Paraná)
Analista de Sistemas 1er año SubSede Chajarí Prof. Teoría: An. Ma. Carolina
Ejemplo
Omar 2: Realizar un algoritmo que ingrese como datos, el precio unitario y la cantidad
de unidades vendidas de un artículo e informe el monto neto de venta, sabiendo que para
Práctica: An: Matilde Dalzotto
cantidades superiores a 500, se efectúa un descuento del 20 %.
Ambiente:
Precio, Cant
V F
Cuestion
FinProceso
Pseudocódigo:
PROCESO: VENTA
LEER PRECIO, CANT;
Pág. Nro. 28
Apuntes: Facultad de Ciencia y Tecnología - Fundamentos de Programación –
(Creados por: FCYT – Equipo docente: Sede Oro Verde – Paraná)
Analista
MONTO de:=Sistemas
PRECIO1er año SubSede Chajarí
* CANT; Prof. Teoría: An. Ma. Carolina
Omar
CUESTION := CANT > 500
Práctica: An: Matilde Dalzotto
SI CUESTION
ENTONCES MONTO := MONTO - 0.20 * MONTO
FINSI
ESCRIBIR 'Monto neto venta:', MONTO
FINPROCESO
En una estructura condicional, tanto la alternativa verdadera como la falsa pueden presentar a su
vez, otras estructuras condicionales, dando lugar a esquemas como el siguiente:
En Pseudocódigo:
SI condición1
ENTONCES A
SINO SI condición2
ENTONCES B
SINO C
FINSI
FINSI
En diagrama de flujo:
Pág. Nro. 29
Apuntes: Facultad de Ciencia y Tecnología - Fundamentos de Programación –
(Creados por: FCYT – Equipo docente: Sede Oro Verde – Paraná)
Analista de Sistemas 1er año SubSede Chajarí Prof. Teoría: An. Ma. Carolina
Omar V F
Condición 1
Práctica: An: Matilde Dalzotto
V F
A
Condición 2
B C
Pág. Nro. 30
Apuntes: Facultad de Ciencia y Tecnología - Fundamentos de Programación –
(Creados por: FCYT – Equipo docente: Sede Oro Verde – Paraná)
Analista de
Algoritmo Sistemas
- En 1er año SubSede Chajarí
Diagrama Prof. Teoría: An. Ma. Carolina
Omar
TURISMO
Práctica: An: Matilde Dalzotto
V F
TOTAL > 3500
‘Descuento:’, DESC,
‘Importe:’, IMP
FinProceso
Pág. Nro. 31
Apuntes: Facultad de Ciencia y Tecnología - Fundamentos de Programación –
(Creados por: FCYT – Equipo docente: Sede Oro Verde – Paraná)
Analista de Sistemas 1er año SubSede Chajarí
Pseudocódigo Prof. Teoría: An. Ma. Carolina
Omar
Práctica: An:TURISMO
PROCESO: Matilde Dalzotto
LEER NYA, TOTACUM, PRECIO, DEST, KMS;
TOTAL := TOTACUM + KMS
SI TOTAL > 3500
ENTONCES DESC := PRECIO * 0.30
SINO SI TOTAL > 2000
ENTONCES DESC := PRECIO * 0.15
SINO SI TOTAL > 500
ENTONCES DESC : = PRECIO 0.05
SINO DESC : = 0
FINSI
FINSI
FINSI
IMP := PRECIO - DESC;
ESCRIBIR ‘ Cliente: ‘, NYA, ‘ Kms. acumulados: ‘, TOTACUM;
ESCRIBIR ‘ Datos del viaje:’ , PRECIO, KMS, DEST;
ESCRIBIR ‘Descuento: ‘, DESC, ‘Importe: ‘, IMP
FINPROCESO
E
1 2 .......... N Otros
A R
B U
donde E es la variable de control, numérica, que toma todos los valores enteros positivos,
acotados dentro de un rango preestablecido, de 1 a N.
Pág. Nro. 32
Apuntes: Facultad de Ciencia y Tecnología - Fundamentos de Programación –
(Creados por: FCYT – Equipo docente: Sede Oro Verde – Paraná)
Analista de Sistemas 1er año SubSede Chajarí Prof. Teoría: An. Ma. Carolina
Omar
En presencia de esta estructura el procesador deberá:
Práctica: An: Matilde Dalzotto
SEGUN E HACER
1: A
2: B
. .
. .
n: R
DEOTROMODO: U
FINSEGUN
El comienzo y el fin de la estructura están identificados por las palabras claves SEGÚN y
FINSEGÚN, respectivamente. Ejecutada la acción asociada al valor de la variable E, el
ejecutante finaliza la estructura y continúa con la acción siguiente a la palabra clave
FinSegún.
Puede suceder que para alguno de los caminos indicados se deba ejecutar más de una
acción.
E
1 2 .......... N Otros
Pág. Nro. 33
Apuntes: Facultad de Ciencia y Tecnología - Fundamentos de Programación –
(Creados por: FCYT – Equipo docente: Sede Oro Verde – Paraná)
Analista de Sistemas 1er año SubSede Chajarí Prof. Teoría: An. Ma. Carolina
Omar
Práctica: An: Matilde
A Dalzotto R
B U
C D
SEGUN E HACER
1: COMENZAR
A;
C
FINCOM
2: B
. .
. .
n: COMENZAR
R;
D
FINCOM
DEOTROMODO: U
FINSEGUN
E
1 2 .......... N
A R
Pág. Nro. 34
Apuntes: Facultad de Ciencia y Tecnología - Fundamentos de Programación –
(Creados por: FCYT – Equipo docente: Sede Oro Verde – Paraná)
Analista de Sistemas 1er año SubSede Chajarí Prof. Teoría: An. Ma. Carolina
Omar
Práctica: An: Matilde Dalzotto
En pseudocódigo:
SEGUN E HACER
1: A
2: B
. .
. .
n: R
FINSEGUN
b) Cuando para distintos valores de la variable de control se deban ejecutar la/s misma/s
acción/es, la estructura permite agrupar dichos valores indicando el camino de acciones a
realizar, por única vez.
SEGUN E HACER
1, 2, 3: A
E 4: B
. .
1,2 ,3 4 ......... N Otro . .
n: R
DEOTROMODO: T
A R FINSEGUN
B T
En este caso se consideró que para los valores de E igual a 1, 2 o 3 se debe ejecutar la
acción A.
Ejemplo 4:
Ambiente:
Pág. Nro. 35
Apuntes: Facultad de Ciencia y Tecnología - Fundamentos de Programación –
(Creados por: FCYT – Equipo docente: Sede Oro Verde – Paraná)
Analista de
LEG X Sistemas 1er año SubSede
Simple Chajarí Prof. Teoría: An. Ma. Carolina
Legajo del empleado
Omar
NYA X Simple Nombre y apellido del empleado
CAT
Práctica: An: Matilde Dalzotto Simple Categoría del empleado
X
SB X Simple Sueldo básico del empleado
BON X Simple Bonificación que cobra
TOT X Simple Sueldo neto a cobrar
Algoritmo- En Pseudocódigo
PROCESO: SUELDO
LEER LEG, NYA, CAT, SB
SEGUN CAT HACER
1, 3: BON := 0.30 * SB
2: BON := 0.20 * SB
4: BON := 0.15 * SB
FINSEGUN
TOT := SB + BON;
ESCRIBIR LEG, SB, BON;
ESCRIBIR 'Sueldo a cobrar:', TOT
FINPROCESO
En diagrama
Sueldo
CAT
1,3 2 4
Pág. Nro. 36
Apuntes: Facultad de Ciencia y Tecnología - Fundamentos de Programación –
(Creados por: FCYT – Equipo docente: Sede Oro Verde – Paraná)
Analista de Sistemas 1er año SubSede Chajarí Prof. Teoría: An. Ma. Carolina
Omar BON : = 0.3 * SB BON : = 0.15 * SB
Práctica: An: Matilde Dalzotto
BON : = 0.2 * SB
TOT : = SB + BON
FINPROCESO
NOTA:
En el ejemplo las acciones a realizar para 2 valores de la variable CAT, son las mismas.
En estos casos, es posible agrupar dichos valores e indicar una única vez las acciones a
realizar.
UNIDAD 3 ESTRUCTURAS BÁSICAS DE DIAGRAMACIÓN ESTRUCTURADA. (2ª
Parte)
ITERACION
* Mientras-FinMientras
* Repetir-HastaQue
ESTRUCTURA MIENTRAS-FINMIENTRAS
Pág. Nro. 37
Apuntes: Facultad de Ciencia y Tecnología - Fundamentos de Programación –
(Creados por: FCYT – Equipo docente: Sede Oro Verde – Paraná)
Analista de Sistemas 1er año SubSede Chajarí Prof. Teoría: An. Ma. Carolina
Omar
En una diagrama , esta estructura se representa como:
Práctica: An: Matilde Dalzotto
F
Condición
donde condición puede ser una variable o expresión lógica y A representa cualquier
acción primitiva o conjunto de estructuras, llamado rango del ciclo.
Como en las estructuras vistas anteriormente - secuencia y de selección - la iteración se
considera una unidad, con un sólo punto de entrada y un sólo punto de salida.
Cuando el procesador encuentra esta estructura deberá:
* Observar la condición
* Si la condición es V ( ejecutar A
⦁ Observar nuevamente la condición
* Si es V , ejecutar A y volver a evaluar la condición y así sucesivamente
hasta que de la observación de la condición se obtenga un valor falso
* Si es F, finaliza la ejecución
* Si la condición es F ( salir de la estructura
Pág. Nro. 38
Apuntes: Facultad de Ciencia y Tecnología - Fundamentos de Programación –
(Creados por: FCYT – Equipo docente: Sede Oro Verde – Paraná)
Analista de Sistemas
Las palabras claves 1er año SubSede
MIENTRAS Chajarí
y FINMIENTRAS Prof. Teoría:respectivamente,
identifican, An. Ma. Carolina el
Omar
principio y fin de la estructura.
Práctica: An: Matilde Dalzotto
Ambiente:
Pseudocódigo
PROCESO: TURISMO
TOTDES : = 0; TOTIMP := 0;
LEER NYA
MIENTRAS NYA ( ( ‘ZZZ ’ HACER
LEER TACUM, PRECIO, DEST, KMS;
Pág. Nro. 39
Apuntes: Facultad de Ciencia y Tecnología - Fundamentos de Programación –
(Creados por: FCYT – Equipo docente: Sede Oro Verde – Paraná)
Analista de Sistemas
TOTAL 1er año SubSede
:= TACUM + KMS Chajarí Prof. Teoría: An. Ma. Carolina
Omar
SI TOTAL > 3000
Práctica: An: Matilde Dalzotto
ENTONCES DESC := PRECIO * 0.20
SINO DESC := PRECIO * 0.05
FINSI
IMP := PRECIO - DESC;
ESCRIBIR ‘ Cliente: ‘, NYA, ‘ Acumulados: ‘, TACUM;
ESCRIBIR ‘ Datos del viaje: $’ , PRECIO, KMS, ‘Kms.’, DEST;
ESCRIBIR ‘Descuento: $‘, DESC, ‘Importe: $‘, IMP;
TOTDES : = TOTDES + DESC;
TOTIMP : = TOTIMP + IMP;
LEER NYA
FIMIENTRAS
ESCRIBIR ‘Recaudación de la Cia: $ ‘, TOTIMP;
ESCRIBIR ‘Total de Descuentos: $ ‘, TOTDES
FINPROCESO
Algoritmo- En Diagrama
Turismo
TOTDES: = 0
TOTIMP: = 0
NYA
Pág. Nro. 40
Apuntes: Facultad de Ciencia y Tecnología - Fundamentos de Programación –
(Creados por: FCYT – Equipo docente: Sede Oro Verde – Paraná)
Analista de Sistemas 1er año SubSede Chajarí Prof. Teoría: An. Ma. Carolina
Omar F
Práctica: An: Matilde Dalzotto NYA <>
V F
TOTAL > 300
3 1 2
NYA
Pág. Nro. 41
Apuntes: Facultad de Ciencia y Tecnología - Fundamentos de Programación –
(Creados por: FCYT – Equipo docente: Sede Oro Verde – Paraná)
Analista de Sistemas 1er año SubSede Chajarí Prof. Teoría: An. Ma. Carolina
Omar
Práctica: An: Matilde Dalzotto
‘Recaudación de la Cia: $’,
TOTIMP
FIN
Seguimiento -
NYA TACUM PRECIO KMS DEST TOTAL DESC IMP TOTDES TOTIMP
‘Juan 3100 350 800 ‘Misiones 3900 70 280 0 0
Perez’
70 280
‘ZZZ’
Acciones de escritura
Cliente: Juan Perez Acumulados: 3100
Datos del viaje: $350 800 Kms. Misiones
Descuento: $70 Importe: $280
Cliente: José Diaz Acumulados: 3000
Datos del viaje: $500 956 Kms. Mendoza
Descuento: $25 Importe: $475
Recaudación de la Cia: $ 755
Total de Descuentos: $ 95
b) Datos: ‘ZZZ’
NYA TACUM PRECIO KMS DEST TOTAL DESC IMP TOTDES TOTIMP
0 0
‘ZZZ’
Acciones de escritura
Recaudación de la Cia: $ 0
Total de Descuentos: $ 0
Pág. Nro. 42
Apuntes: Facultad de Ciencia y Tecnología - Fundamentos de Programación –
(Creados por: FCYT – Equipo docente: Sede Oro Verde – Paraná)
Analista de Sistemas 1er año SubSede Chajarí Prof. Teoría: An. Ma. Carolina
Omar
Observación: Debemos notar que en este ejemplo se desconoce a priori la cantidad de
Práctica:
veces queAn: Matilde
se repite DalzottoSin embargo, el mismo algoritmo puede utilizarse para el
el proceso.
caso de `ningún’ cliente ( ejemplo b) , para un sólo cliente, para 2 (ejemplo a) o para
más.
ESTRATEGIAS
Ejemplo 2: Una compañía paga a cada uno de sus vendedores una bonificación anual
basada en el sueldo del vendedor y en su total de ventas durante el año. El valor de la
bonificación es del 3 % del total de las ventas si las ventas son inferiores a 4 veces el
sueldo del vendedor, o del 5 % si son mayores o iguales a ese monto.
Realizar un algoritmo que ingrese por cada vendedor el nombre y apellido, el sueldo y el
total de ventas. El fin de datos se produce al ingresar como nombre y apellido 'ZZZZ'.
Para cada empleado informar el nombre y apellido y la bonificación correspondiente, y
además informar el total que debe pagar la compañía en concepto de bonificaciones, con
leyenda indicativa.
Para resolver este problema, luego de realizar el análisis del mismo, debemos plantear
la estrategia, definiendo las etapas que deben seguirse para arribar a la solución del
problema, indicando QUÉ debe hacerse y no el CÓMO.
Compañía
Pág. Nro. 43
Apuntes: Facultad de Ciencia y Tecnología - Fundamentos de Programación –
(Creados por: FCYT – Equipo docente: Sede Oro Verde – Paraná)
Analista de Sistemas 1er año SubSede Chajarí Prof. Teoría: An. Ma. Carolina
Omar
Práctica:Calcular Bonif.Dalzotto
An: Matilde 5% ( Calcular Bonif. 3% º
Notación:
ESTRUCTURA REPETIR-HASTAQUE
F Condici
donde condición puede ser una variable o expresión lógica y A representa cualquier
acción primitiva o conjunto de estructuras, de la misma manera que en el esquema
anterior.
Esta estructura plantea la ejecución del bloque A, reiteradamente, hasta que se cumpla la
condición.
En presencia de este esquema, el procesador deberá:
* ejecutar el bloque A
* Observar la condición
* Si la condición es F (ejecutar A
⦁ Observar nuevamente la condición
* Si es F , ejecutar A y vuelve a evaluar la condición y así
sucesivamente hasta que de la observación de la condición se obtenga
un valor verdadero
* Si es V, sale de la estructura
* Si la condición es V ( finaliza la ejecución de la estructura
Pág. Nro. 44
Apuntes: Facultad de Ciencia y Tecnología - Fundamentos de Programación –
(Creados por: FCYT – Equipo docente: Sede Oro Verde – Paraná)
Analista
Observamosde Sistemas 1er año esSubSede
que la condición evaluadaChajarí Prof. ejecución
después de cada Teoría: An.
delMa. Carolina
bloque A, por
Omar
lo tanto éste será ejecutado al menos una vez.
Práctica: An: Matilde Dalzotto
La diferencia entre la estructura básica y ésta, reside en el punto de evaluación de la
condición. Esto hace que en la estructura básica el bloque A pueda ser ejecutado desde
0 a n veces, mientras que en la adicional desde 1 a n veces.
En pseudocódigo, la sintaxis es:
REPETIR
A
HASTAQUE condición
donde el principio y el fin de la estructura están dados por las palabra claves REPETIR y
HASTAQUE.
Tal como en el caso anterior, esta estructura es considerada como una unidad, con un
único punto de entrada y un único punto de salida.
Pág. Nro. 45
Apuntes: Facultad de Ciencia y Tecnología - Fundamentos de Programación –
(Creados por: FCYT – Equipo docente: Sede Oro Verde – Paraná)
Analista de
DESC X Sistemas 1er año SubSede
Simple Chajarí
Descuento aProf. Teoría: An. Ma. Carolina
realizar
Omar
IMP X Simple Importe a Pagar
TOTDES
Práctica: An: Matilde Dalzotto Simple Total de Decuentos
X
TOTIMP X Simple Total recaudado por la Compañía
CONT X Simple Contador de Clientes
Algoritmo - En Diagrama
Turismo2
TOTDES: = 0
TOTIMP: = 0
CONT : = 0
Pág. Nro. 46
Apuntes: Facultad de Ciencia y Tecnología - Fundamentos de Programación –
(Creados por: FCYT – Equipo docente: Sede Oro Verde – Paraná)
Analista de Sistemas 1er año SubSede Chajarí Prof. Teoría: An. Ma. Carolina
‘Datos del viaje:$’, PRECIO, KMS,
Omar
‘Kms.’, DEST
Práctica: An: Matilde Dalzotto
‘Descuento: $’, DESC, ‘Importe: $’,
IMP
F CONT =
N
V
‘Recaudación de la Cia: $’,
TOTIMP
FIN
Algoritmo - Pseudocódigo
PROCESO: TURISMO2
TOTDES : = 0; TOTIMP := 0; CONT : = 0; LEER N
REPETIR
LEER NYA, TACUM, PRECIO, DEST, KMS;
TOTAL := TACUM + KMS
SI TOTAL > 3000
ENTONCES DESC := PRECIO * 0.20
SINO DESC := PRECIO * 0.05
FINSI
IMP := PRECIO - DESC;
ESCRIBIR ‘ Cliente: ‘, NYA, ‘ Acumulados: ‘, TACUM;
Pág. Nro. 47
Apuntes: Facultad de Ciencia y Tecnología - Fundamentos de Programación –
(Creados por: FCYT – Equipo docente: Sede Oro Verde – Paraná)
Analista de Sistemas 1er ‘año
ESCRIBIR SubSede
Datos del viaje:Chajarí
$’ , PRECIO,Prof.
KMS,Teoría: An. Ma. Carolina
‘Kms.’, DESTINO;
Omar
ESCRIBIR ‘Descuento: $‘, DESC, ‘Importe: $‘, IMP;
Práctica: An: Matilde Dalzotto
TOTDES : = TOTDES + DESC;
TOTIMP : = TOTIMP + IMP;
CONT : = CONT + 1
HASTAQUE CONT = N
ESCRIBIR ‘Recaudación de la Cia: $ ‘, TOTIMP;
ESCRIBIR ‘Total de Descuentos: $ ‘, TOTDESC
FINPROCESO
* Seguimiento -
NYA TACUM PRECIO KMS DEST TOTAL DES IMP TOTDES TOTIMP N CONT
C
‘Juan 3100 350 800 ‘Misiones’ 3900 70 280 0 0 2 0
Perez
’
70 280 1
Vemos en este ejemplo , que conocemos de antemano la cantidad de clientes a procesar a través de la
variable N.
ESTRUCTURAS ANIDADAS
Pág. Nro. 48
Apuntes: Facultad de Ciencia y Tecnología - Fundamentos de Programación –
(Creados por: FCYT – Equipo docente: Sede Oro Verde – Paraná)
Analista de Sistemas 1er año SubSede Chajarí Prof. Teoría: An. Ma. Carolina
a)
Omar
V F
Práctica: An: Matilde
Y Dalzotto
A C
Pág. Nro. 49
Apuntes: Facultad de Ciencia y Tecnología - Fundamentos de Programación –
(Creados por: FCYT – Equipo docente: Sede Oro Verde – Paraná)
Analista de Sistemas 1er año SubSede Chajarí
b) Prof. Teoría: An. Ma. Carolina
Omar
V F
Práctica: An: Matilde
Y Dalzotto
A V F
Q
M
B R
d)
V P F
R F
Q
S V
Z
T
Pág. Nro. 50
Apuntes: Facultad de Ciencia y Tecnología - Fundamentos de Programación –
(Creados por: FCYT – Equipo docente: Sede Oro Verde – Paraná)
Analista de Sistemas 1er año SubSede Chajarí Prof. Teoría: An. Ma. Carolina
e)
Omar
Práctica: An: Matilde Dalzotto
F
Z
Y A
El diagrama plantea una iteración que depende de la condición logica Z. Las acciónes
que se deben ejecutar para Z verdadera , plantean una selección que depende de X, a su
vez si esta es verdadera, plantea una selección regida por Y. Si X es falsa se ejecuta una
acción A.
INDENTACIÓN:
Pág. Nro. 51
Apuntes: Facultad de Ciencia y Tecnología - Fundamentos de Programación –
(Creados por: FCYT – Equipo docente: Sede Oro Verde – Paraná)
Analista
Ej. de Sistemas
pseudocódigo 1er año SubSede Chajarí
indentado Prof.sin
Teoría: An. Ma. Carolina
indentar
Omar
Práctica: An: Matilde Dalzotto
acción A; Acción A;
acción B Acción B
Si P Si P
entonces entonces
acción C acción C
Repetir Repetir
acción D; acción D;
acción E acción E
Hastaque Q Hastaque Q
sino sino
acción F acción F
finsi finsi
acción G acción G
Pág. Nro. 52