0% encontró este documento útil (0 votos)
27 vistas84 páginas

Definición de Algoritmo y Programación

Este documento presenta el tema de la resolución de problemas y algoritmos. Explica que un algoritmo es un conjunto ordenado de instrucciones para resolver un problema, y que un programa es la codificación de un algoritmo en un lenguaje de programación. También describe herramientas como el pseudocódigo y los diagramas de flujo que se pueden usar para representar algoritmos de manera no gráfica y gráfica respectivamente. Finalmente, introduce conceptos como la programación estructurada y las estructuras de control que son importantes para la resolución de problemas mediante algoritmos.
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
27 vistas84 páginas

Definición de Algoritmo y Programación

Este documento presenta el tema de la resolución de problemas y algoritmos. Explica que un algoritmo es un conjunto ordenado de instrucciones para resolver un problema, y que un programa es la codificación de un algoritmo en un lenguaje de programación. También describe herramientas como el pseudocódigo y los diagramas de flujo que se pueden usar para representar algoritmos de manera no gráfica y gráfica respectivamente. Finalmente, introduce conceptos como la programación estructurada y las estructuras de control que son importantes para la resolución de problemas mediante algoritmos.
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Tema 2: Resolución de

problemas y Algoritmos
Índice
1. Objetivo

2. Definiciones: Algoritmo y programa

3. Tipos de programación: Programación estructurada

4. Herramientas para la realización de un algoritmo:


4.1. Pseudocódigo
4.2. Diagrama de Flujo

5. Tabla de Objetos

6. Programación estructurada: estructuras de control

Tema 2: Resolución de problemas


y algoritmos
1. Objetivo

 El objetivo principal del tema consiste en la realización de


algoritmos mediante pseudocódigo y diagrama de flujo.

Tema 2: Resolución de problemas


y algoritmos
2. Definiciones: Algoritmo y
Programa
Fases de la programación
Fase I Fase II

Análisis: Diseño: Solución: Ejecución


Problema Algoritmo Programa Validación

Fase III

Explotación

Tema 2: Resolución de problemas


y algoritmos
2. Definiciones: Algoritmo y
Programa
 Un algoritmo es un conjunto ordenado y finito de
instrucciones que permite hallar la solución de un
problema.

 Un programa es la codificación del algoritmo en algún


lenguaje de programación o en lenguaje máquina.

Problema Algoritmo Programa

Tema 2: Resolución de problemas


y algoritmos
Ejemplo de un algoritmo
 Problema: Receta para freír un huevo frito
 Algoritmo:
1. Poner aceite en sartén
2. Colocar sartén en fuego
3. Romper el huevo haciendo caer el contenido en sartén
4. Tirar cáscaras a la basura
5. Poner sal en yema
6. Si el huevo está sólido ir a 7, si no esperar
7. Servir huevo, fregar sartén
8. Fin

Tema 2: Resolución de problemas


y algoritmos
Ejemplo de algoritmo y programa
 Problema: Hallar el valor absoluto de un número x.
 Algoritmo:
1. Si x es positivo, el resultado es, r x
2. Si no, el resultado es r –x
3. Fin
 Programa:

int valor_absoluto(int x)
{
if(x>0)
r=x;
else
r=-x;
return x;
}
Tema 2: Resolución de problemas
y algoritmos
Partes de un algoritmo
 Un algoritmo utiliza un conjunto de datos de entrada y proporciona
unos datos de salida.

 ENTRADA: Corresponde a los datos que requiere el proceso para


ofrecer los resultados esperados.

 PROCESO: Pasos necesarios para obtener la solución del


problema o la situación planteada.

 SALIDA: Datos presentados por el proceso como solución,


resultado.

Tema 2: Resolución de problemas


y algoritmos
3. Tipos de programación
 Programación imperativa o estructurada: C, PASCAL,
FORTRAN

 Programación Orientada a Objetos: Visual C++, Java

 Programación funcional: LISP

 Programación lógica: PROLOG

Tema 2: Resolución de problemas


y algoritmos
3. Programación Estructurada
 Programación estructurada:
 consiste en un conjunto de reglas para escribir programas de tal
manera que sean legibles y fáciles de modificar.

 Reglas a seguir para la programación estructurada:


a) Características de algoritmos estructurados
b) ¿Cómo construir un algoritmo estructurado?
c) Estructuras algorítmicas estructuradas

Tema 2: Resolución de problemas


y algoritmos
a) Características de un algoritmo
estructurado
 Finito: El algoritmo debe tener un número finito de pasos.

 Eficientes: Deben ocupar la mínima memoria y minimizar el tiempo de


ejecución.

 Legibles: El texto que lo describe debe ser claro, de forma que permita
entenderlo y leerlo fácilmente.

 Modificables: Estarán diseñados de modo que sus posteriores


modificaciones sean fáciles de realizar, incluso por programadores
diferentes a sus propios autores.

Tema 2: Resolución de problemas


y algoritmos
a) Características de un algoritmo
estructurado
 Modulares:
 La filosofía utilizada para su diseño debe favorecer la división del
problema en módulos pequeños.

 Único punto de entrada, único punto de salida:


 A los algoritmos y a los módulos que lo integran, se entra por un solo
punto (inicio) y se sale por un solo punto (fin)

Tema 2: Resolución de problemas


y algoritmos
b) ¿Cómo construir algoritmos
estructurados?
Definición y análisis del problema: datos de entrada y salida
(resultados)

Aplicar la técnica de: “divide y vencerás”, que consiste en


descomponer el problema en subproblemas más sencillos

Resolución de los subproblemas: realización de los


algoritmos correspondientes a los subproblemas

Depurar (prueba de validez) el algoritmo resultante

¡A PROGRAMAR SE APRENDE PROGRAMANDO!

Tema 2: Resolución de problemas


y algoritmos
c) Estructuras algorítmicas o de
control
 Secuenciales: cada acción se realiza una sola vez y en
un determinado orden

 Condicionales (selectivas): permiten seleccionar una


acción a realizar entre varias alternativas

 Iterativas (repetitivas): una determinada acción se


realiza más de una vez

Tema 2: Resolución de problemas


y algoritmos
4. Herramientas para la realización
de algoritmos
Existen diferentes métodos para representar un
algoritmo, los procedimientos más habituales
son:
Pseudocódigo (herramienta no gráfica)
Diagrama de flujo (herramienta gráfica)

Pseudocódigo Diagrama de Flujo Lenguaje de Programación


C,Java, Visual C++,…

Problema Algoritmo Programa


Tema 2: Resolución de problemas
y algoritmos
4.1. Pseudocódigo

• Un pseudocódigo es una forma de representar


un algoritmo basándose en el lenguaje natural.

Tema 2: Resolución de problemas


y algoritmos
Ejemplo de pseudocódigo
 Problema: leer dos números enteros y escribir
la suma.

 Pseudocódigo:
1. Leer primer sumando, a.
2. Leer segundo sumando, b.
3. Hallar la suma de los sumandos, r a+b.
4. Escribir r.
5. Fin

Tema 2: Resolución de problemas


y algoritmos
Elementos básicos de un algoritmo

 Datos de diferente tipo:


números reales, enteros, caracteres,…

 Las instrucciones que los procesan:


asignación, operaciones aritméticas, lógicas,…

Tema 2: Resolución de problemas


y algoritmos
Ejemplo de pseudocódigo
 Problema: leer dos números enteros y
escribir la suma. Datos de entrada
 Pseudocódigo: (números enteros)

1. Leer primer sumando, a. Asignación


2. Leer segundo sumando, b.
3. Hallar la suma de los sumandos, r a+b.
4. Escribir r. Datos de salida
Resultado
5. Fin (número entero) Suma aritmética

Tema 2: Resolución de problemas


y algoritmos
4.2. Diagramas de flujo
 Los Diagramas de Flujo son herramientas gráficas para
representar algoritmos.

 Están formados por una serie de símbolos, que tienen al


menos una flecha que viene del paso anterior y otra que
va al paso siguiente.

 Los símbolos representan distintas acciones:


 lectura/escritura, principio, fin, salto…

Tema 2: Resolución de problemas


y algoritmos
Símbolos de un diagrama de flujo
Comienzo de bloque:

Fin de bloque:

Proceso: asignaciones, operaciones

Tema 2: Resolución de problemas


y algoritmos
Símbolos de un diagrama de flujo
Bifurcación: representa una decisión.

 En su interior se almacena una condición y dependiendo del


resultado de la evaluación de la misma se sigue una dirección u
otra.

 Se utiliza en las estructuras selectiva e iterativas

SI NO

Tema 2: Resolución de problemas


y algoritmos
Símbolos de un diagrama de flujo

Entrada y salida de datos:


Se utiliza para representar la introducción de datos de
entrada (lectura) y para la impresión de un resultado
(salida)

Tema 2: Resolución de problemas


y algoritmos
Símbolos de un diagrama de flujo

Módulo:
la operación es realizada por un bloque (DF) que se
detalla en otro lugar. No afecta a la codificación.

Tema 2: Resolución de problemas


y algoritmos
Símbolos de un diagrama de flujo
Conector:
símbolo utilizado para expresar conexión de DF
A
A

Líneas de flujo o dirección:


Expresan la dirección del flujo del diagrama

Tema 2: Resolución de problemas


y algoritmos
Reglas para construcción de
diagramas de flujo
1. Todo diagrama de flujo debe tener un inicio y un fin.

2. Las líneas utilizadas para indicar la dirección de flujo del


diagrama deben ser rectas, verticales y horizontales. No
deben ser inclinadas y tampoco se deben cruzar.

3. Las líneas utilizadas para indicar la dirección de flujo del


diagrama deben estar conectadas.

Tema 2: Resolución de problemas


y algoritmos
Reglas para construcción de
diagramas de flujo
4. El diagrama de flujo debe ser construido de arriba
hacia abajo (top-down)

5. La notación utilizada en el diagrama de flujo debe ser


independiente del lenguaje de programación. La
solución presentada en el D.F. puede escribirse
posterior y fácilmente en cualquier lenguaje de
programación

6. Es conveniente cuando realizamos una tarea compleja


poner comentarios que expresen o ayuden a entender
lo que hicimos

Tema 2: Resolución de problemas


y algoritmos
Reglas para construcción de
diagramas de flujo
7. Si el DF requiere más de una hoja para su construcción,
debemos utilizar los conectores adecuados y enumerar
las páginas convenientemente.
A
A

8. No puede llegar más de una línea a un símbolo

Tema 2: Resolución de problemas


y algoritmos
Reglas para construcción de
diagramas de flujo

SI NO SI NO
¿i>10? ¿i>10?

Tema 2: Resolución de problemas


y algoritmos
Reglas para construcción de
diagramas de flujo
9. Utilizar sólo los bloques siguientes para
realizar DF.

 Estructura secuencial:
Proceso 1

Proceso 2

Tema 2: Resolución de problemas


y algoritmos
Reglas para construcción de
diagramas de flujo
Estructura selectiva

SI NO
¿Condición?

Opción 1 Opción 2

Tema 2: Resolución de problemas


y algoritmos
Reglas para construcción de
diagramas de flujo
Estructura iterativa:
salida en cola (el cuerpo del bucle se ejecuta al menos
una vez)
Proceso iterativo o bucle:
- Cuerpo del bucle: Cuerpo del bucle
Conjunto de operaciones
que se repiten
- Condición de salida o
parada
SI NO
¿Condición?

Tema 2: Resolución de problemas


y algoritmos
Reglas para construcción de
diagramas de flujo
Estructura iterativa:
salida en cabeza

NO
¿Condición?

SI

Cuerpo del bucle

Tema 2: Resolución de problemas


y algoritmos
Ejemplo 1:
algoritmo con estructura secuencial
Problema: Inicio

Leer dos números enteros y escribir la suma.


Leer a

Leer b

suma a+b

Escribir suma

Tema 2: Resolución de problemas Fin


y algoritmos
Ejemplo 2:
algoritmo con estructura selectiva
Problema: Inicio
Hallar el valor absoluto de un número x.

SI NO
¿x>=0?

r x r  x

Fin

Tema 2: Resolución de problemas


y algoritmos
Índice
1. Objetivo
2. Definiciones: Algoritmo y programa
3. Tipos de programación: Programación estructurada
4. Herramientas para la realización de un algoritmo:
4.1. Pseudocódigo
4.2. Diagrama de Flujo
5. Tabla de Objetos
6. Programación estructurada: estructuras de control
7. Traza de un programa

Tema 2: Resolución de problemas


y algoritmos
5.1. Objeto: identificador, valor y
tipo
Un objeto (dato), es información que utiliza un
algoritmo para resolver un problema.

Inicio
Ejemplo:
SI NO
¿x>=0?
x: dato de entrada. Variable.
Número entero
r: dato de salida. Variable. r x r  x
Número entero
0: constante entera
Fin
Tema 2: Resolución de problemas
y algoritmos
Conceptos fundamentales
 Los datos a procesar por una computadora, deben
almacenarse en casillas o celdas de memoria para su
posterior utilización.

 Estas casillas de memoria tienen un nombre que permite


su identificación: Identificador, nombre o etiqueta

 El valor de las celdas de memoria puede se variable o


constante

Tema 2: Resolución de problemas


y algoritmos
Constantes
 Las constantes son datos que no cambian durante la
ejecución

 Para nombrar las constantes utilizamos los identificadores

 Existen tantos tipos de constante como tipos de datos

Tema 2: Resolución de problemas


y algoritmos
Variables
 Las variables son objetos que pueden cambiar su valor
durante la ejecución

 Para nombrar las variables utilizamos los identificadores

 Existen tantos tipos de variables como tipos de datos

Los nombres, identificadores de las constantes y variables


deben ser representativos de la función que cumplen el
algoritmo. Ej: suma, contador, media

Tema 2: Resolución de problemas


y algoritmos
Tipos de datos
 Simples:
 Ocupan sólo una casilla de memoria
 Con un identificador se hace referencia a un único valor a la vez
 Una única letra, un único valor real…

 Complejos o Estructurados:
 Tiene varios componentes, cada uno de estos componentes puede
ser a su vez un dato simple.
 Con un identificador se hace referencia a un grupo de celdas de
memoria, es decir, se usa un único identificador para un conjunto de
valores
 Vectores y matrices (de enteros, reales, lógicos, caracteres)

Tema 2: Resolución de problemas


y algoritmos
Tipos de datos simples
 Enteros: se utilizan para representar números enteros, positivos o
negativos. Ej: 128, -45,…

 Reales: se utilizan para representar números reales, positivos o


negativos. Ej: 7.5, -37.675,…

 Lógicos: se utilizan para representar valores lógicos o booleanos.


Son datos que sólo pueden tomar dos valores: verdadero o falso
 VoF

 Caracteres:
 Letras del alfabeto mayúsculas o minúsculas (son diferentes)
 Caracteres numéricos: dígitos del 0 al 9
 Caracteres especiales: signos de puntuación, guiones,
paréntesis, asteriscos…
 El valor se indica entre comillas simples: ‘ ‘
 Ej.: x <- ‘a’, letra <- ‘1’, x <- 1
Tema 2: Resolución de problemas
y algoritmos
Objeto: Identificador, valor y tipo
Identificador, nombre o etiqueta:
 Cada objeto tiene un único nombre que lo identifica.

Valor:
 El valor del objeto puede variar durante el algoritmo
(variable) o permanecer constante (constante).

Tipo:
 Los objetos pueden ser de diferentes tipos (tipos simples y
complejos)

Tema 2: Resolución de problemas


y algoritmos
5.2. Tabla de objetos
 Una tabla de objeto es una tabla que refleja todos los
objetos existentes en un algoritmo.

 En la tabla de objetos se indica el identificador, nombre o


etiqueta, el valor (constante o variable) y el tipo de todos
los objetos que aparecen en un algoritmo.

Objeto Identificador Valor Tipo


o nombre

Tema 2: Resolución de problemas


y algoritmos
Ej.:Tabla de objetos normalizada I.
Problema: leer dos números enteros y escribir la suma.

Objeto Nombre Valor Tipo Inicio

Primer a Variable Entera


Leer a
sumando
Segundo b Variable Entera
sumando
Leer b
Resultado de la suma Variable Entera
suma
suma a+b

Escribir suma

Tema 2: Resolución de problemas Fin


y algoritmos
Ej.: Tabla de objetos normalizada II.
Problema: Hallar el valor absoluto de un número x.

Inicio

Objeto Nombre Valor Tipo


SI NO
Dato x Variable Entera ¿x>=0?

entrada
Cero 0 Constante Entera r x r  x

Resultado, r Variable Entera


valor
absoluto Fin

Tema 2: Resolución de problemas


y algoritmos
5.3. Operadores y Expresiones
 Las siguientes operaciones y expresiones son las únicas
permitidas en la realización de un algoritmo:

a) Operaciones aritméticas
b) Operaciones lógicas
c) Operaciones relacionales
d) Asignación
e) Expresiones

Tema 2: Resolución de problemas


y algoritmos
a) Operaciones aritméticas

 Permiten operar con valores enteros o reales para obtener


un resultado también entero o real

 Para poder realizar operaciones aritméticas necesitamos


operadores aritméticos

Tema 2: Resolución de problemas


y algoritmos
a) Operaciones aritméticas
Operación Operador Ejemplo
Suma + a+b

Resta - a-b

Unario - (cambio de signo) -a

Multiplicación * a*b

División / a/b

Módulo (resto de % a%b


división entera)

¡Definida solo para operandos enteros!


Tema 2: Resolución de problemas
y algoritmos
a) Operaciones aritméticas
 La división entera es diferente
a la división de reales Ej: Para a y b enteros con valores: a=9 y b=2
Para c y d reales con valores: c=9 y d=2
 Si los dos operandos son
enteros el resultado es un Operación Resultado Tipo
entero
Resultado
 Si los dos operandos son a/b 4 entero
reales el resultado es un real
c/d 4.5 real
 Si uno de los dos operandos
es real el resultado es real a/d 4.5 real

a%b 1 entero

Tema 2: Resolución de problemas


y algoritmos
Precedencia o prioridad
 La precedencia o prioridad de un operador determina el
orden de aplicación de los operadores de una expresión.

 Si tenemos en una expresión más de un operador,


debemos aplicar primero el de mayor prioridad, resolver
esa operación y así sucesivamente.

 El operador () es un operador asociativo que tiene la


prioridad más alta.

Tema 2: Resolución de problemas


y algoritmos
Precedencia operadores aritméticos
 Se evalúan primero las expresiones entre paréntesis. Si
las subexpresiones se encuentran anidadas por paréntesis,
primero se evalúan aquéllas que se encuentran en el último
nivel de anidamiento.
 Los operadores aritméticos se aplican teniendo en cuenta
la precedencia y de izquierda a derecha.

Operador
- MAYOR PRIORIDAD
*,/,%
+, -
MENOR PRIORIDAD

Tema 2: Resolución de problemas


y algoritmos
b) Operaciones lógicas
 Permiten operar con valores lógicos para obtener un
resultado también lógico

Operación Operador Ejemplo


MAYOR P.
Negación NO (not) NO a

Conjunción Y (and) A Y b

Disyunción O (or) AOb


MENOR P.

Tema 2: Resolución de problemas


y algoritmos
b) Operaciones lógicas
NO a
Valor a Resultado
V F
F V

aYb aOb
Valor a Valor b Resultado Valor a Valor b Resultado
V V V V V V
V F F V F V
F V F F V V
F F F F F F

Tema 2: Resolución de problemas


y algoritmos
c) Operaciones relacionales

 Permiten comparar dos datos del mismo tipo para obtener


un resultado lógico: V o F

 Los datos pueden ser variables o constantes de tipo


numérico o carácter

Tema 2: Resolución de problemas


y algoritmos
c) Operaciones relacionales
Operación Operador Ejemplo Resultado

Igual que = ‘h’=‘H’ F

Distinto de <> ‘a’<>’b’ V

Menor que < 7<15 V

Mayor que > 22.5>11.6 V

Menor o igual que <= 15<=15 V

Mayor o igual que >= 35>=40 F

Tema 2: Resolución de problemas


y algoritmos
d) Asignación
Sintaxis: ‘variable’<- ‘expresión’
Primero se evalúa la expresión
Después se asigna el valor a la variable
El valor anterior de la variable se pierde/olvida

Tema 2: Resolución de problemas


y algoritmos
Precedencia operadores: aritméticos,
lógicos, relacionales y asignación
Operadores MAYOR PRIORIDAD
()
NO, -
*, /,%
+, -
<, <=, >, >=
=, <>
Y
O
<- Asignación MENOR PRIORIDAD
Tema 2: Resolución de problemas
y algoritmos
e) Expresiones
 Una expresión es cualquier combinación de operadores
variables y constantes.

 Las expresiones sirven para manipular los objetos.

 Una expresión devuelve un valor de un tipo determinado

 Ejemplos:
 a+23*b-z
 NO x
 a>b Y a<c
 (z <= 8) Y NO (k - 6*h)

Tema 2: Resolución de problemas


y algoritmos
e) Ejemplos expresiones
9  7 * 8  36 / 5 2 * 5  7.8 / 4  2.5 / 6
9  56  36 / 5 10  7.8 / 4  2.5 / 6
9  56  7 ( división entera ) 10  1.95  0.41
65  7 11.95  0.41
58 F

8% 2 * 3  1
8% 6  1
2 1
3

Tema 2: Resolución de problemas


y algoritmos
Operadores aritméticos, lógicos y
relacionales
 NOTA:
Los operadores aritméticos, lógicos y relacionales
mostrados en las transparencias son los únicos
permitidos para la realización de algoritmos.
Excepto en casos particulares que se indique lo
contrario

Tema 2: Resolución de problemas


y algoritmos
6. Estructuras de control de flujo
(Programación Estructurada)
 Bloque/sentencia de asignación

 Bloque/sentencia de entrada

 Bloque/sentencia de salida

 Inicio, fin y módulo

 Estructuras de control:
 Secuencial
 Selectiva
 Iterativa

Tema 2: Resolución de problemas


y algoritmos
Bloque/sentencia de asignación
 Sintaxis: ‘variable’<- ‘expresión’

 Símbolo

x  x y

 En cada símbolo de proceso de DF pueden introducirse varias


asignaciones.
 Al llegar el flujo a un bloque de asignaciones se realizan cada
una de ellas, en el orden en el que aparecen y posteriormente
se activa el bloque indicado por la flecha saliente.

Tema 2: Resolución de problemas


y algoritmos
Bloque/sentencia de entrada
 Sintaxis: Leer ‘variable’
 Se recibe un único valor (por teclado)
 Se asigna el valor a la variable
El valor anterior de la variable se pierde/olvida
 Símbolo
 En cada símbolo de entrada de DF pueden introducirse varias
lecturas.

Leer N Leer a, b

 Al llegar el flujo a un bloque de entrada se realizan todas las


lecturas y posteriormente se activa el bloque indicado por la
flecha saliente.
Tema 2: Resolución de problemas
y algoritmos
Bloque/sentencia de salida
 Sintaxis: Escribir ‘variable’
 Se devuelve el valor de la variable
 Se escribe en pantalla
 Forma de devolver resultados de un algoritmo*
 Símbolo
 En cada símbolo de salida de DF pueden introducirse varias escrituras.

 Al llegar el flujo a un bloque de salida se realizan todas las escrituras y


posteriormente se activa el bloque indicado por la flecha saliente

Escribir x Escribir a, b

Tema 2: Resolución de problemas


y algoritmos
Inicio, fin y módulo
nombre
 Inicio

 Fin
nombre

Módulo:
 la operación es realizada por un bloque (DF) que
se detalla en otro lugar.
 No afecta a la codificación. nombre

Tema 2: Resolución de problemas


y algoritmos
Ejemplo: Leer un número entero x y calcular y=|x|3.
Escribir el resultado.

Inicio

Leer x
Objeto Nombre Valor Tipo
Dato entrada x Variable Entera
SI NO
¿x>=0?
Cero 0 Constante Entera

|x| r Variable Entera r x r  x

Resultado, y Variable Entera


|x|3 y  r *r *r

Escribir y

Tema 2: Resolución de problemas Fin


y algoritmos
Ejemplo: Leer un número entero x y calcular y=|x|3.
Escribir el resultado.

Inicio

Leer x
Módulo

SI NO
¿x>=0?

Valor absoluto
r x r  x

y  r *r *r

Escribir y

Fin
Tema 2: Resolución de problemas
y algoritmos
Ejemplo: Leer un número entero x y calcular y=|x|3.
Escribir el resultado.
Inicio
Inicio:
Valor absoluto

Leer x

SI NO
¿x>=0?
Valor absoluto

r x r  x
y  r *r *r

Fin:
Escribir y Valor absoluto

 Comparten TODAS las variables.


Fin  El módulo se puede usar más de una vez en el mismo
algoritmo
Tema 2: Resolución de problemas
y algoritmos
Estructuras de control

NO
Cuerpo del bucle ¿Condición?
SI NO
¿Condición?
Proceso 1
SI

Opción 1 Opción 2 SI NO
¿Condición? Cuerpo del bucle

Proceso 2

Secuencial Selectiva Iterativa I Iterativa II


(salida en cola) (salida en cabeza)

Tema 2: Resolución de problemas


y algoritmos
Estructura secuencial: Ejemplo 1
Problema: leer dos números reales Inicio
y escribir la suma.
Leer a
Leer a, b
Diagrama de Flujo y Tabla de Objetos:
Objeto Nombre Valor Tipo Leer b
Dato a Variable Real
entrada
Dato b Variable Real r a+b
entrada
Resultado, r Variable Real
Escribir r
la suma

Fin
Tema 2: Resolución de problemas
y algoritmos
Estructura secuencial: Ejemplo 2
Problema: leer dos números Inicio
reales y escribir la media
aritmética. Leer x
Diagrama de Flujo y Tabla de Objetos:
Objeto Nombre Valor Tipo
Leer y
Dato x Variable Real
entrada
Dato y Variable Real
entrada r  (x  y) / 2
Dos 2 Constante Entera
Resultado, r Variable Real
Escribir r
la media
aritmética
Fin
Tema 2: Resolución de problemas
y algoritmos
Estructura condicional: Ejemplo 1
Ejercicio: Hallar el valor absoluto de un
Inicio
número x.

Diagrama de Flujo y Tabla de Objetos: SI NO


Objeto Nombre Valor Tipo ¿x>=0?

Dato x Variable Entera


entrada r x r  x
Cero 0 Constant Entera
e
Resultado, r Variable Entera
valor Fin
absoluto

Tema 2: Resolución de problemas


y algoritmos
Estructura condicional: Ejemplo 2
Ejercicio:
Leer un número real del teclado.
Calcular el valor de q, sabiendo que si el valor leído se encuentra en el
intervalo (0,10], el resultado q toma el valor de uno, en caso contrario
toma el valor de cero.
Escribir el resultado.

Tema 2: Resolución de problemas


y algoritmos
Estructura condicional: Ejemplo 2
Diagrama de Flujo y Tabla de Objetos: Inicio
Objeto Nombre Valor Tipo
Leer x
Dato x Variable Real
entrada
Cero 0 Constante Entera
SI ¿x>0 y NO
Uno 1 Constante Entera
x<=10?
Diez 10 Constante Entera
Resultado q Variable Entera q 1 q 0

Escribir q

Fin
Tema 2: Resolución de problemas
y algoritmos
Estructura iterativa. Salida en cola.
Ejercicio: Leer tres números reales y escribirlos Inicio

i 1
Diagrama de Flujo y Tabla de Objetos:
Objeto Nombre Valor Tipo
Leer x

Dato x Variable Real


Escribir x
Uno 1 Constante Entera
Tres 3 Constante Entera i i 1
Contador i Variable Entera
SI
¿i<=3?

NO

Tema 2: Resolución de problemas Fin


y algoritmos
Estructura iterativa. Salida en cola:
Ejercicio: Leer tres números reales y escribirlos
Inicio

i 1

Cuerpo del bucle


Leer x

Cuerpo del
Escribir x
bucle SI NO
¿Condición?

i i 1

Condición de
SI
¿i<=3?
salida o parada
NO

Tema 2: Resolución de problemas


Fin y algoritmos
Estructura iterativa. Salida en cabeza
Ejercicio: Leer tres números reales y escribirlos
Inicio

i 1

NO
Condición de
NO
¿i<=3? salida o parada ¿Condición?

SI SI

Leer x
Cuerpo del bucle

Cuerpo del
Escribir x
bucle
i i 1

Tema 2: Resolución de problemas


Fin
y algoritmos
PROGRAMACIÓN NO ESTRUCTURADA:
Leer tres números reales y escribirlos
Inicio

i 1
NO
Cuerpo del bucle ¿Condición?
Leer x

SI

NO SI NO
¿Condición? Cuerpo del bucle
¿i<=3?

SI

Escribir x

No se ha usado ninguna de estas estructuras


i i 1

Fin
Tema 2: Resolución de problemas
y algoritmos
Estructuras de control anidadas
 Las estructuras de control se pueden anidar

 Dentro de una estructura selectiva puede haber otra


estructura del mismo tipo o una estructura iterativa.

 En el cuerpo del bucle de una estructura iterativa puede


haber otra estructura condicional o iterativa (bucles
anidados).

Tema 2: Resolución de problemas


y algoritmos
Estructuras de control anidadas
 Diseñar un algoritmo para calcular y escribir el cuadrante
al que pertenece un punto del plano cuyas coordenadas
(x, y) se proporcionan.
El resultado ha de ser un número entero r de 1 a 4

Nota: el punto (0,0) se excluye como dato de entrada.

Tema 2: Resolución de problemas


y algoritmos
Estructuras de control anidadas
Inicio

Leer x, y

SI NO
¿x>0?

NO
SI SI NO
¿y>0? ¿y>0?

r 1 r 4 r 2 r 3

Escribir r

Fin
Tema 2: Resolución de problemas
y algoritmos
Estructuras de control anidadas

Inicio
Objeto Nombre Valor Tipo
Dato x Variable Real Leer x, y

Dato y Variable Real SI


¿x>0?
NO

Cero 0 Constante Entera NO


SI SI NO
¿y>0? ¿y>0?
Uno 1 Constante Entera
r 1 r 4 r 2 r 3
Dos 2 Constante Entera
Tres 3 Constante Entera
Cuatro 4 Constante Entera Escribir r

Resultado r Variable Real Fin

Tema 2: Resolución de problemas


y algoritmos
TIPOS DE DATOS EN C (ANSI)
Tipo Tamaño Rango
en bits
char 8 -127a 127
unsigned char 8 0 a 255
signed char 8 -127 a 127
int 16 -32767 a 32767
unsigned int 16 0 a 65535
signed int 16 -32767 a 32767
short int 16 -32767 a 32767
unsigned short int 16 0 a 65535
signed short int 16 -32767 a 32767
long int 32 -2147483647 a 2147483647
signed long int 32 -2147483647 a 2147483647
unsigned long int 32 0 a 4294967295
float 32 seis dígitos de precisión
double 64 diez dígitos de precisión
long double 64
Tema 2: Resolución diez dígitos de precisión
de problemas
y algoritmos

También podría gustarte