Sei sulla pagina 1di 62

Oblitas Jiménez Bryan

Gonzales Sobrino Yamile

Toro Collantes Clever

Chaname Piscoya Vanessa

Fernandez Manrrique Klauss

“4” “B”
Este trabajo en primer lugar se lo quiero dedicar a Dios, que durante
todo este tiempo me estuvo acompañando, iluminando y guiándome
para llegar a mi meta.
A mis padres que con su amor incondicional me apoyaron en todo
momento, en mis momentos de fortaleza y de debilidad, siempre
estuvieron para incentivarme a seguir adelante.

A mi profesora que con


su dedicación,
paciencia, esmero y
profesionalismo me
dirigió durante todo este
trayecto, con el objetivo
de enseñarme e
instruirme para mi
futuro.

Muchísimas Gracias a
todos por acompañarme
en este camino.
1. Dedicatoria
2. Índice
3. Algoritmos
4. Variables, constantes, tipos de datos,
expresiones, operadores
5. Diagrama de flujo de datos
6. Integrando aprendizaje 1
7. Pseudocódigo
8. Estructuras condicionales
9. Integrando aprendizaje 2
Concepto

Algoritmo: es un método para resolver un


problema mediante una serie de pasos definidos,
precisos y finitos.
Preciso: implica el orden de realización de cada
uno de los pasos
Definido: si se sigue dos veces, se obtiene el
mismo resultado.
Finito: Tiene un número determinado de pasos,
implica que tiene un fin,
Método Descripción Ejemplos
Algorítmico Utiliza un algoritmo y  Instrucciones para
puede ser manejar un
implementado en una vehículo
computadora  Instrucciones para
secar grano a
granel
 Instrucciones para
resolver ecuación
de segundo grado

Heurística: Se apoya en el
resultado obtenido en
un análisis de
alternativas de
experiencias anteriores
similares. De las
mismas, a se deducen
una serie de reglas
empíricas o heurísticas
que de ser seguidas,
conducen a
la selección de la mejor
alternativa en todas o la
mayoría de las veces.
Pasos Etapa Descripción

1 Análisis del Conducen al diseño detallado


problema por medio un código escrito en
forma de un algoritmo
2 Diseño de
algoritmo
3 Codificación Se implementa el algoritmo en
un código escrito en
un lenguaje de programación.
Refleja las ideas desarrolladas
en las etapas de análisis y
diseño

4 Compilación y Traduce el programa fuente a


ejecución programa en código de
maquina y lo ejecuta.

5 Verificación Busca errores en las etapas


anteriores y los elimina.
Como medida de la eficiencia de un algoritmo, se
suelen estudiar los recursos (memoria y tiempo)
que consume el algoritmo. El análisis de
algoritmos se ha desarrollado para obtener
valores que de alguna forma indiquen (o
especifiquen) la evolución del gasto de tiempo y
memoria en función del tamaño de los valores de
entrada.
El análisis y estudio de los algoritmos es una
disciplina de las ciencias de la computación y, en
la mayoría de los casos, su estudio es
completamente abstracto sin usar ningún tipo
de lenguaje de programación ni cualquier otra
implementación; por eso, en ese sentido,
comparte las características de las disciplinas
matemáticas. Así, el análisis de los algoritmos se
centra en los principios básicos del algoritmo, no
en los de la implementación particular. Una forma
de plasmar (o algunas veces "codificar") un
algoritmo es escribirlo en pseudocódigo o utilizar
un lenguaje muy simple tal como Lexico, cuyos
códigos pueden estar en el idioma del
programador.
Algunos escritores restringen la definición de
algoritmo a procedimientos que deben acabar en
algún momento, mientras que otros consideran
procedimientos que podrían ejecutarse
eternamente sin pararse, suponiendo el caso en
el que existiera algún dispositivo físico que fuera
capaz de funcionar eternamente. En este último
caso, la finalización con éxito del algoritmo no se
podría definir como la terminación de este con
una salida satisfactoria, sino que el éxito estaría
definido en función de las secuencias de salidas
dadas durante un periodo de vida de la ejecución
del algoritmo. Por ejemplo, un algoritmo que
verifica que hay más ceros que unos en una
secuencia binaria infinita debe ejecutarse
siempre para que pueda devolver un valor útil. Si
se implementa correctamente, el valor devuelto
por el algoritmo será válido, hasta que evalúe el
siguiente dígito binario. De esta forma, mientras
evalúa la siguiente secuencia podrán leerse dos
tipos de señales: una señal positiva (en el caso
de que el número de ceros sea mayor que el de
unos) y una negativa en caso contrario.
Finalmente, la salida de este algoritmo se define
como la devolución de valores exclusivamente
positivos si hay más ceros que unos en la
secuencia y, en cualquier otro caso, devolverá
una mezcla de señales positivas y negativas.
Los algoritmos pueden ser expresados de muchas
maneras, incluyendo al lenguaje
natural, pseudocódigo, diagramas de flujo y lenguajes
de programación entre otros. Las descripciones en
lenguaje natural tienden a ser ambiguas y extensas. El
usar pseudocódigo y diagramas de flujo evita muchas
ambigüedades del lenguaje natural. Dichas
expresiones son formas más estructuradas para
representar algoritmos; no obstante, se mantienen
independientes de un lenguaje de programación
específico.
La descripción de un algoritmo usualmente se hace en
tres niveles:
1. Descripción de alto nivel. Se establece el
problema, se selecciona un modelo matemático y
se explica el algoritmo de manera verbal,
posiblemente con ilustraciones y omitiendo
detalles.
2. Descripción formal. Se usa pseudocódigo para
describir la secuencia de pasos que encuentran la
solución.
3. Implementación. Se muestra el algoritmo
expresado en un lenguaje de programación
específico o algún objeto capaz de llevar a cabo
instrucciones.
QUE ES UNA CONSTANTE?
 Una constante es un dato cuyo valor no puede
cambiar durante la ejecución del programa. Recibe un
valor en el momento de la compilación y este permanece
inalterado durante todo el programa.

 Una constante es un dato numérico o alfanumérico


que no cambia durante la ejecución del programa

Ejemplo:
Pi = 3.1416

COMO SE DECLARA UNA CONSTANTE?

 Las constantes se declaran en una sección que comienza


con la palabra reservada const.

 Después de declarar una constante ya puedes usarla en el


cuerpo principal del programa.

 Ser miembro en una expresión.


TIENEN  ser miembro en una
VARIOS comparación.
 asignar su valor a una variable.
USOS  etc.
EN EL SIGUIENTE EJEMPLO SE CONTEMPLAN
VARIOS CASOS:

const

Min = 0;

Max = 100;

Sep = 10;

var

i : integer;

begin

i := Min;

while i < Max do begin

writeln(i);

i := i + Sep

end

en

En este ejemplo se declaran tres constantes (Min, Max y Sep).


En la primera línea del cuerpo del programa se asigna una
constante a una variable. En la siguiente, se usa una constante
en una comparación. Y en la cuarta, la constante Sep interviene
en una expresión que se asigna a una variable. El resultado de
ejecutar este programa sería una impresión en pantalla de los
números: 0, 10, 20, 30, 40, 50, 60, 70, 80 y 90.
CLASES DE CONSTANTES

Constantes literales
Son valores de cualquier tipo que se utilizan directamente, no se declaran
ya que no tienen nombre. En el siguiente ejemplo tienes un par de
constantes literales (el 3, el 4, y el 3.1416):

Volumen Esfera := 4/3 * 3.1416 * Radio * Radio


* Radio;

Constantes declaradas
También llamadas constantes con nombre, son las que se declaran en
la sección const asignándoles un valor directamente. Por ejemplo:

const

Pi = 3.141592; (* valor real *)


Min = 0; (* entero *)
Max = 99; (* entero *)
Saludo = 'Hola'; (* cadena caract. *)

Constantes expresión
También se declaran en la sección const, pero a estas no se les asigna un
valor directamente, sino que se les asigna una expresión. Esta expresión
se evalúa en tiempo de compilación y el resultado se le asigna a la
constante. Ejemplo:

const

Min = 0;
Max = 100;
Intervalo = 10;
N = (Max - Min) div Intervalo;
Centro = (Max - Min) div 2;
 Una variable es un nombre asociado a un elemento de
datos que está situado en posiciones contiguas de la
memoria principal, y su valor puede cambiar durante
la ejecución de un programa.

 Es un espacio en la memoria de la computadora que


permite almacenar temporalmente un dato durante
la ejecución de un proceso, su contenido puede
cambiar durante la ejecución del programa.

 Para poder reconocer una variable en la memoria de


la computadora, es necesario darle un nombre con el
cual podamos identificarla dentro de un algoritmo.

Ejemplo:
Área = pi * radio
Las variables son: el radio y el área
Toda variable pertenece a un tipo de dato concreto. En la declaración de
una variable se debe indicar el tipo al que pertenece. Así tendremos
variables enteras, reales, booleanas, etc. Por otro lado, distinguimos tres
partes fundamentales en la vida de una variable:

TIPOS DE VARIABLES
Declaración de variables
Esta es la primera fase en la vida de cualquier variable. La declaración se
realiza en la sección que comienza con la palabra var. Si quieres más
información, puedes ir al apartado que trata sobre la declaración de
variablesen el tema Estructura de un programa.

Nota: Toda variable que vaya a ser utilizada en Pascal tiene que ser
previamente declarada.

Iniciación de variables
Esto no es más que darle un valor inicial a una variable. Así como lo
primero que se hace con una variable es declararla, lo siguiente tiene que
ser iniciarla. Esto se hace para evitar posibles errores en tiempo de
ejecución, pues una variable tiene un valor indeterminado después de
declararla.
Principalmente
, existen dos
Mediante una maneras de
sentencia  Mediant
de asignación
otorgar e uno de
los
Mediante una
valores procedi
sentencia iniciales a mientos
de
de asignación
entrada
de datos
(read o
readln)
Utilización de variables
Una vez declarada e iniciada una variable, es el momento de utilizarla. Esta
es la parte que presenta un mayor abanico de posibilidades.

A continuación tienes unas cuantas:

 Incrementar su valor:

i := i + 1

 Controlar un bucle:

for i:=1 to 10 do ...

 Chequear una condición:

if i<10 then ...

 Participar en una expresión:

n := (Max - Min) div i

 Y otras que ya irás descubriendo

CLASIFICACION

 Por su contenido

 NUMERICAS: Almacenan números (enteros, naturales,


racionales, irracionales, decimales, etc.)

 LOGICAS: Valores lógicos (F O V)


 ALFANUMERICOS: Cadenas de texto
 Por su uso

 DE TRABAJO: Donde se guarda resultado final e un proceso

 CONTADORES: Sufren un incremento constante dentro del


proceso

 ACUMULADORES: Acumula resultados

Diferencias entre ambas

Después de haber visto cada una por separado, pasemos a explicar


las diferencias que existen entre constantes y variables. A primera
vista pudieran parecer conceptos similares, pero realmente son cosas
muy distintas. Y esta distinción viene dada por la posibilidad que
tienen las variables para cambiar de valor.

Principales diferencias:

 Las constantes ya reciben un valor inicial en su declaración.


 Las variables primero se declaran, luego se inician, y luego se
usan.
 Las constantes, una vez declaradas mantienen su valor durante
toda la ejecución del programa.
 En cambio, las variables pueden cambiar su valor tantas veces
como deseen.
 Además de cambiar su valor, las variables también pueden
cambiar de tamaño en tiempo de ejecución (punteros).
 Son combinaciones de constantes, variables, símbolos de
operaciones, paréntesis y nombres de funciones especiales. Las
mismas ideas son utilizadas en notación matemática tradicional

Por ejemplo:

a - (b + 3) /c

 Una expresión consta de operadores y operando.

Según sea el tipo de objetos que manipulan, se clasifican las


expresiones en:
- Aritméticas.
- Relaciónales.
- Lógicas.
-Carácter.

 Operadores Aritméticos

Los operadores aritméticos permiten la realización de


operaciones matemáticas con los valores (variables y
constantes).

Los operadores aritméticos pueden ser utilizados con tipos de


datos enteros o reales. Si ambos son enteros, el resultado es
entero; si alguno de ellos es real, el resultado es real.
Operadores Aritméticos
+ Suma
- Resta
* Multiplicación
/ División
mod Modulo (residuo de la división entera)

Ejemplos:

Expresión Resultado
7/2 3.5
12 mod 7 5
4+2*5 14

Prioridad de los Operadores Aritméticos

Todas las expresiones entre paréntesis se evalúan primero. Las


expresiones con paréntesis anidados se evalúan de dentro a fuera, el
paréntesis más interno se evalúa primero.
Dentro de una misma expresión los operadores se evalúan en el
siguiente orden:

^ Exponenciación

*, /, mod Multiplicación, división, modulo.

+, - Suma y resta.
Los operadores en una misma expresión con igual nivel de prioridad
se evalúan de izquierda a derecha.

Ejemplos:

4 + 2 * 5 = 14 23 * 2 / 5 = 9.2
3 + 5 * (10 - (2 + 4)) = 23 2.1 * (1.5 + 12.3) = 2.1 * 13.8 = 28.98

 Operadores Relacionales

Se utilizan para establecer una relación entre dos valores. Luego


compara estos valores entre si y esta comparación produce un
resultado de certeza o falsedad (verdadero o falso).
Los operadores relacionales comparan valores del mismo tipo
(numéricos o cadenas). Estos tienen el mismo nivel de prioridad
en su evaluación.
Los operadores relaciónales tiene menor prioridad que los
aritméticos.

Tipos de operadores Relacionales

> Mayor que

< Menor que

> = Mayor o igual que

< = Menor o igual que

< > Diferente

= Igual

Ejemplos:
Si a = 10, b = 20, c = 30
a+b>c Falso
a-b<c Verdadero
a-b=c Falso
a*b<>c Verdadero

Ejemplos no lógicos:
a < b < c
10 < 20 < 30
T > 5 < 30
(no es lógico porque tiene diferentes operandos)

Operadores Lógicos

Estos operadores se utilizan para establecer relaciones entre


valores lógicos. Estos valores pueden ser resultado de una
expresión relacional.

Tipos de operadores Lógicos


And Y
Or O
Not Negación

Ejemplo:
Para los siguientes ejemplos T significa verdadero y F falso.

Operador Not Operador Not


Operando Resultado
T F
F T

Operador And Operador And

Operando1 Operador Operando2 Resultado


T AND T T
T F F
F T F
F F F

Operador Or Operador Or

Operando1 Operador Operando2 Resultado


T Or T T
T F T
F T T
F F F

Prioridad de los Operadores Lógicos

Not

And

Or
Prioridad de los Operadores en General

()

*, /, Mod, Not

+, -, And

>, <, > =, < =, < >, =, Or

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

http://logica-de-algoritmos.blogspot.com/2009/08/variables-caracteristicas-y.html

http://www.slideshare.net/BorisSalleg/algoritmo-variables-constantes-tipos-de-datos-y-
asignacion
Diagrama de Contexto: Nivel 0: En el diagrama de contexto se
caracterizan todas las interacciones que realiza un sistema con su
entorno (entidades externas), estas pueden ser otros sistemas,
sectores internos a la organización, o factores externos a la misma. Se
dibuja un sólo proceso que representa al sistema en cuestión y se
escribe su nombre en dicha burbuja como un sustantivo común más
adjetivos. De él solamente parten los flujos de datos que denotan las
interrelaciones entre el sistema y sus agentes externos, no
admitiéndose otros procesos ni almacenamientos en el dibujo.

Resulta de gran utilidad para los niveles posteriores de análisis como


herramienta de balanceo. Y es conocido como el Diagrama de Flujo de
Datos DFD de Nivel "0"
Diagrama de Nivel Superior: Nivel 1
En el diagrama de nivel superior se plasman todos los procesos que
describen al proceso principal. En este nivel los procesos no suelen
interrelacionarse directamente, sino que entre ellos debe existir algún
almacenamiento o entidad externa que los una. Esta regla de
construcción sirve como ayuda al analista para contemplar que en un
nivel tan elevado de abstracción (DFD Nivel 1) es altamente probable
que la información que se maneja requiera ser almacenada en el
sistema aunque no esté especificado por un Requisito funcional,
siendo en realidad un requisito no-funcional.
Diagrama de Detalle o Expansión: Nivel 2
En un diagrama de nivel 2 o mayor, comienzan a explotarse las
excepciones a los caminos principales de la información dado que
aumenta progresivamente el nivel de detalle. De aquí en adelante se
permiten los flujos entre procesos.
El DFD (Diagrama De Flujo De Datos) nivel 2 puede considerarse el
máximo para ser validado en forma conjunta con el usuario dado que
en los niveles posteriores el alto grado de complejidad del diagrama
puede resultar de muy difícil lectura para personas ajenas al equipo de
sistemas. También se recomienda el diagrama de nivel superior.
Calcular e imprimir el área de un triangulo cuya base
y altura se ingresara por teclado

Análisis Base

Altura

Área

a= área  R

b = base R

h = altura R

Inicio
Declaración de variables  b, a, h es real
Ingreso de datos  Ingresar “la base es”, b
Ingresar “la altura es “, h
Calculo  a = (b*h)/2
Resultado  Mostrar “el área del triangulo es”; a
Fin
Calcular e imprimir la edad actual de una persona

Análisis Año actual

Año de nacimiento

Edad

Edad = año actual –año de


nacimiento

a = año actual  R

n = año de nacimiento R

e = edadR

Inicio
Declaración de variables  a, n, e es real
Ingreso de datos  Ingresar “el año actual es”, a
Ingresar “el año de nacimiento “, h
Calculo  e = a-n
Resultado  Mostrar “la edad”; e
Fin
Calcular e imprimir la cantidad que le queda de
sueldo a una persona si le descuentas de su sueldo.

Análisis
Análisis Año actual
Sueldo de una persona
Año de nacimiento
Descuento
Edad
Cantidad restante
Edad = año actual –año de
Cantidad = sueldo - descuento
nacimiento

s = sueldo de actual
a = año  R R
una persona

d = descuento
n = año R R
de nacimiento

c e= =cantidadR
edadR

Inicio
Declaración de variables  s, d, c es real
Ingreso de datos  Ingresar “el sueldo”, s
Ingresar “el descuento“, d
Calculo  c = s-d
Resultado  Mostrar “cantidad”; c
Fin
Diseñar un DFD que te permita saber la estatura y
el peso de una persona y el cálculo del índice de
masa corporal. La información que necesitas
investigar es cual es la forma para calcular el índice
de masa

INICIO

p, e

mc p/ (e*e)

mc

FIN
María deposita sus ahorros en el Banco de Crédito,
le pagaran un interés de 7% mensual ¿Cuánto
dinero tendrá a los 8 meses sino retiró nada? El
interés siempre se aplica sobre el depósito inicial

INICIO

m 8
i 7

t  8*7/100*d
dh  t+d

dh

FIN
Calcular cuánto dinero ahorrara Marina en una
alcancía, durante un año, si cada semana ahorra n
soles

INICIO

a  365
s7
h  a/s*n

FIN
Calcular cuánto va a pagar un estudiante por sus
útiles escolares, si necesita 6 cuadernos cuyo
precio es el mismo para todos, 2 libros del mismo
valor y un millar de hojas

INICIO

pc, pl, pm

p 6*pc+2*pl+1*pm

FIN
Características y partes
En ciencias de la computación, y análisis
numérico el pseudocódigo (o falso lenguaje) es una
descripción informal1 de alto nivel de
un algoritmo informático de programación, compacto e
informal, que utiliza las convenciones estructurales de
un lenguaje de programación verdadero2 , pero que
está diseñado para la lectura humana en lugar de la
lectura mediante máquina, y con independencia de
cualquier otro lenguaje de programación.
Normalmente, el pseudocódigo omite detalles que no
son esenciales para la comprensión humana del
algoritmo, tales como declaraciones de variables,
código específico del sistema y algunas subrutinas. El
lenguaje de programación se complementa, donde sea
conveniente, con descripciones detalladas en lenguaje
natural, o con notación matemática compacta. Se
utiliza pseudocódigo pues este es más fácil de
entender para las personas que el código de lenguaje
de programación convencional, ya que es una
descripción eficiente y con un entorno independiente
de los principios fundamentales de un algoritmo. Se
utiliza comúnmente en los libros de texto y
publicaciones científicas que se documentan varios
algoritmos, y también en la planificación del desarrollo
de programas informáticos, para esbozar la estructura
del programa antes de realizar la efectiva codificación.
No existe una sintaxis estándar para el pseudocódigo,
aunque los ocho IDE's que manejan pseudocódigo
tengan su sintaxis propia. Aunque sea parecido, el
pseudocódigo no debe confundirse con los programas
esqueleto que incluyen código ficticio, que pueden
ser compilados sin errores. Losdiagramas de
flujo y UML pueden ser considerados como una
alternativa gráfica al pseudocódigo, aunque sean más
amplios en papel.
Aplicación
Muchas veces, en los libros de texto y publicaciones
científicas relacionadas con la informática y la
computación numérica, se utilizan pseudocódigo en la
descripción de algoritmos, de manera que todos los
programadores puedan entenderlo, aunque no todos
conozcan el mismo lenguaje de programación.
Geneneralmente, en los libros de texto, hay una
explicación que acompaña la introducción que explica
las convenciones particulares en uso. El nivel de
detalle del pseudocódigo puede, en algunos casos,
acercarse a la de formalizar los idiomas de propósito
general.
Un programador que tiene que aplicar un algoritmo
específico, sobre todo uno desfamiliarizado,
generalmente comienza con una descripción en
pseudocódigo, y luego "traduce" esa descripción en el
lenguaje de programación meta y lo modifica para que
interactúe correctamente con el resto del programa.
Los programadores también pueden iniciar un proyecto
describiendo la forma del código en pseudocódigo en
el papel antes de escribirlo en su lenguaje de
programación, como ocurre en la estructuración de un
enfoque de Top-down y Bottom-up arriba hacia abajo.
Las principales características de este lenguaje son:
1. Se puede ejecutar en un ordenador (con
un IDE como por ejemplo SLE, LPP, PilatoX,
Maruga Script, Seudocódigo o PSeInt. Otros Ides
de consideración son Inter-P y Algor)
2. Es una forma de representación sencilla de utilizar
y de manipular.
3. Facilita el paso del programa al lenguaje de
programación.
4. Es independiente del lenguaje de programación
que se vaya a utilizar.
5. Es un método que facilita la programación y
solución al algoritmo del programa.
Todo documento en pseudocódigo debe permitir la
descripción de:
1. Instrucciones primitivas.
2. Instrucciones de proceso....
3. Instrucciones de control.
4. Instrucciones compuestas.
5. Instrucciones de descripción.
Estructura a seguir en su realización:
1. Cabecera.
1. Programa.
2. Módulo.
3. Tipos de datos.
4. Constantes.
5. Variables.
2. Cuerpo.
1. Inicio.
2. Instrucciones.
3. Fin.
Sintaxis

En la actualidad y por lo general, el pseudocódigo,


como su nombre lo indica, no obedece a las reglas de
sintaxis de ningún idioma en particular ni es de forma
estándar sistemática, a pesar de que cualquier escritor
en particular vaya a pedir prestado las estructuras de
control general, la sintaxis y el estilo, por ejemplo, de
algún lenguaje de programación convencional. Pero en
caso de que se quiera ejecutar, se debe llevar a forma
tipo, para que no genere mensajes de error. Las
fuentes populares incluyen la sintaxis
de Pascal, BASIC, C, C++, Java, Lisp, y ALGOL. Por
lo general, se omiten las declaraciones de variables. A
veces, las llamadas a funciones, los bloques de código
y el código contenido dentro de un loop se remplazan
por una sentencia de una línea en lenguaje natural.
Dependiendo del escritor, el pseudocódigo puede
variar mucho en su estilo, yendo desde en un extremo,
una imitación casi exacta de un lenguaje de
programación real, hasta al acercarse a una
descripción en prosa de formato de pseudocódigo en
el otro extremo.

Funciones y operaciones

Cada autor usa su propio pseudocódigo con sus


respectivas convenciones. Por ejemplo, la instrucción
"reemplace el valor de la variable por el valor de la
variable " puede ser representado como:
 asigne a el valor de

Las operaciones aritméticas se representan de la


forma usual en matemáticas.
Estructuras de control

En la redacción del pseudocódigo se utiliza tres tipos


de estructuras de control: las secuenciales, las
selectivas y las iterativas.
Estructuras secuenciales
Las instrucciones se siguen en una secuencia fija que
normalmente viene dada por el número de renglón. Es
decir que las instrucciones se ejecutan de arriba hacia
abajo. Las instrucciones se ejecutan dependiendo de
la condición dada dentro del algoritmo.

Estructuras selectivas
Las instrucciones selectivas representan instrucciones
que pueden o no ejecutarse, según el cumplimiento de
una condición.
Diagrama de flujo que muestra el funcionamiento
de la instrucción condicional.

La condición es una expresión


booleana. Instrucciones es ejecutada sólo si la
condición es verdadera.
Selectiva doble (alternativa)
La instrucción alternativa realiza una instrucción de
dos posibles, según el cumplimiento de una condición.
Diagrama de flujo que muestra el funcionamiento
de la instrucción condicional.

La condición es una variable booleana o una función


reducible a booleana (lógica, Verdadero/Falso). Si esta
condición es cierta se ejecuta Instrucciones1, si no es
así, entonces se ejecuta Instrucciones2.
Selectiva múltiple
También es común el uso de una selección múltiple
que equivaldría a anidar varias funciones de selección.
En este caso hay una serie de condiciones que tienen
que ser mutuamente excluyentes, si una de ellas se
cumple las demás tienen que ser falsas
necesariamente, hay un caso si no que será cierto
cuando las demás condiciones sean falsas.
En esta estructura si Condición1 es cierta, entonces se
ejecuta sólo Instrucciones1. En general,
si Condición es verdadera, entonces sólo se
ejecuta Instrucciones
Selectiva múltiple-Casos
Una construcción similar a la anterior (equivalente en
algunos casos) es la que se muestra a continuación.
En este caso hay un Indicador es una variable o una
función cuyo valor es comparado en cada caso con los
valores "Valor", si en algún caso coinciden ambos
valores, entonces se ejecutarán las
Instrucciones correspondientes. La sección en otro
caso es análoga a la sección si no del ejemplo
anterior.

Estructuras Aliterativas
Las instrucciones iterativas representan la ejecución
de instrucciones en más de una vez.
Bucle mientras
El bucle se repite mientras la condición sea cierta, si al
llegar por primera vez al bucle mientras la condición es
falsa, el cuerpo del bucle no se ejecuta ninguna vez.
Diagrama de flujo que muestra el funcionamiento
de la instrucción mientras
Existen otras variantes que
se derivan a partir de la
anterior. La estructura de
control repetir se utiliza
cuando es necesario que el
cuerpo del bucle se
ejecuten al menos una vez
y hasta que se cumpla la condición:

La estructura anterior equivaldría a escribir:

Bucle hacer
El Bucle hacer se utiliza para repetir un bloque de
código mientras se cumpla cierta condición.
Bucle para
Una estructura de control muy común es el ciclo para,
la cual se usa cuando se desea iterar un número
conocido de veces, empleando como índice una
variable que se incrementa (o decrementa)
la cual se define como:

Bucle para cada


Por último, también es común usar la estructura de
control para cada. Esta sentencia se usa cuando se
tiene una lista o un conjunto y se quiere iterar por
cada uno de sus elementos:

Si asumimos que los elementos de son ,


entonces esta sentencia equivaldría a:
No todos los problemas pueden resolverse empleando estructuras
secuenciales. Cuando hay que tomar una decisión aparecen las
estructuras condicionales.
En nuestra vida diaria se nos presentan situaciones donde debemos
decidir.

¿Elijo la carrera A o la carrera B?

Para ir al trabajo, ¿elijo el camino A o el camino B?


Al cursar una carrera, ¿elijo el turno mañana, tarde o noche?

Por supuesto que en un problema se combinan estructuras


secuenciales y condicionales.

¿Me pongo este pantalón?

Para ir al trabajo, ¿elijo el camino A o el camino B?


Al cursar una carrera, ¿elijo el turno mañana, tarde o noche?
Por supuesto que en un problema se combinan estructuras
secuenciales y condicionales.
Cuando se presenta la elección tenemos la opción de realizar una
actividad o no realizar ninguna.
Representación gráfica:

Podemos observar: El rombo representa la condición. Hay dos


opciones que se pueden tomar. Si la condición da verdadera se sigue
el camino del verdadero, o sea el de la derecha, si la condición da
falsa se sigue el camino de la izquierda.
Se trata de una estructura CONDICIONAL SIMPLE porque por el
camino del verdadero hay actividades y por el camino del falso no hay
actividades.

Por el camino del verdadero pueden existir varias operaciones,


entradas y salidas, inclusive ya veremos que puede haber otras
estructuras condicionales.
Problema:
Ingresar el sueldo de una persona, si supera los 3000 pesos mostrar
un mensaje en pantalla indicando que debe abonar impuestos.

Diagrama de flujo:

Podemos observar lo siguiente: Siempre se hace la carga del sueldo,


pero si el sueldo que ingresamos supera 3000 pesos se mostrará por
pantalla el mensaje "Esta persona debe abonar impuestos", en caso
que la persona cobre 3000 o menos no aparece nada por pantalla.
Cuando se presenta la elección tenemos la opción de realizar una
actividad u otra. Es decir tenemos actividades por el verdadero y por el
falso de la condición. Lo más importante que hay que tener en cuenta
que se realizan las actividades de la rama del verdadero o las del
falso, NUNCA se realizan las actividades de las dos ramas.

Representación gráfica:

En una estructura condicional compuesta tenemos entradas, salidas,


operaciones, tanto por la rama del verdadero como por la rama del
falso.
Problema:

Realizar un programa que solicite ingresar dos números distintos y


muestre por pantalla el mayor de ellos.

Diagrama de flujo:

Se hace la entrada de num1 y num2 por teclado. Para saber cual


variable tiene un valor mayor preguntamos si el contenido de num1 es
mayor (>) que el contenido de num2, si la respuesta es verdadera
vamos por la rama de la derecha e imprimimos num1, en caso que la
condición sea falsa vamos por la rama de la izquierda (Falsa) e
imprimimos num2.
Como podemos observar nunca se imprimen num1 y num2
simultáneamente.
Hay que tener en cuenta que al disponer una condición
debemos seleccionar que operador relacional se adapta
a la pregunta.

Ejemplos:

Se ingresa un número multiplicarlo por 10 si es distinto a


0. (!=)

Se ingresan dos números mostrar una advertencia si son


iguales. (==)

Los problemas que se pueden presentar son infinitos y la


correcta elección del operador sólo se alcanza con la
práctica intensiva en la resolución de problemas.
Las estructuras dobles al igual que las sencillas permiten hacer una
evaluación de la cual tenemos dos posibles resultados; verdadero y
falso, si o no; pero a cada una le da un camino diferente. Esta
estructura puede ejemplificarse en el siguiente diagrama de flujo:

Siguiendo con el ejemplo se puede plantear el siguiente algoritmo:

1. Tomar un zapato
1. ¿El zapato es derecho?
1. Si: Colocar el zapato en el pie derecho
2. No: Colocar el zapato en pie izquierdo

Como se menciono el algoritmo puede cumplir una y solo una de las


dos opciones y de acuerdo a cual tome se plantea una solución
diferente.
1.) Hacer un algoritmo que calcule el área de un circulo,
pidiendo al usuario los datos que son necesarios para
calcularlo.

2.) Hacer un algoritmo que calcule el área de un triángulo,


pidiendo al usuario los datos que son necesarios para
calcularlo.

3.) Hacer un algoritmo que permita determinar si un numero


ingresado es positivo o negativo

4.) Hacer un algoritmo que nos verifique si el numero


ingresado es divisible para 5

5.) Hacer un algoritmo que convierta un valor ingresado en


pies a: yardas – metros – pulgadas – centímetros

6.) Hacer un algoritmo que permita calcular el perímetro de


una estructura y mostrarla en decímetros, para ello vamos a
pedir tres datos en diferentes escalas, uno en hectómetros,
otro en decámetros y uno en metros. El algoritmo deberá
hallar a cuanto equivale el valor ingresado en hectómetros a
decímetros, de decámetros a decímetros y de metros a
decímetros, y sumar cada uno de los equivalentes porque el
algoritmo pide mostrar el resultado en decímetros.

7.) Hacer un algoritmo que analice si en dos números


ingresados: cual es mayor, cual es menor, o si son iguales.

8.) Hacer un algoritmo que calcule si dos números son


divisibles, para ello se pide un primer número y un segundo
número, hallar si el segundo número es divisible al primero.

Potrebbero piacerti anche