Vous êtes sur la page 1sur 23

Contenido

1. UNIDAD II DESARROLLO DE LA LOGICA ALGORITMICA ..................... 1

1.1. CONCEPTO ..................................................................................................... 1

1.2. CARACTERISTICAS DE UN ALGORITMO .............................................. 1

1.3. PARTES DE UN ALGORITMO .................................................................... 1

1.4. Etapas para la solución de un problema por medio del computador ..... 1

1.5. TIPOS DE ALGORITMOS ............................................................................. 2

1.5.1. Algoritmos Cualitativos.......................................................................... 2

1.5.2. Algoritmos Cuantitativos: ...................................................................... 2

1.6. REPRESENTACION DE UN ALGORITMO ............................................... 2

1.6.1. DIAGRAMA DE FLUJO ......................................................................... 2

1.6.2. Pseudocódigo ........................................................................................... 5

1.6.3. Lenguaje algorítmico ............................................................................. 11

1.7. Metodología de solución .............................................................................. 11


1. UNIDAD II DESARROLLO DE LA LOGICA ALGORITMICA

1.1.ALGORITMOS

1.1.1. CONCEPTO DE ALGORITMO


Algoritmo es una secuencia de pasos lógicos necesarios para llevar a cabo una
tarea específica, como la solución de un problema.

Se expresan en lenguaje natural

Los algoritmos son independientes tanto del lenguaje de programación en que


se desarrollan como de la computadora que los ejecuta; sin embargo el
algoritmo será siempre el mismo.

Los algoritmos son más importantes que los lenguajes de programación o las
computadoras. Un lenguaje de programación es sólo un medio para expresar
un algoritmo y una computadora es sólo un procesador para ejecutarlo. (Luis
Joyanes)
En conclusión un algoritmo es un método para resolver un problema mediante
una serie de pasos definidos, precisos y finitos.

1.1.2. CARACTERISTICAS DE UN ALGORITMO


• Preciso. Implica el orden de realización de cada uno de los pasos.
• Definido. Si se sigue un algoritmo dos veces, se obtendrá el mismo
resultado.
• Finito. Tiene un número determinado de pasos, implica que tiene un fin.,
además de producir un resultado en un tiempo finito.
• Puede tener cero o más elementos de entrada
• Debe producir un resultado. Los datos de salida serán los resultados de
efectuar las instrucciones
Se concluye que un algoritmo debe ser suficiente para resolver el problema.
Entre dos algoritmos que lleven a un mismo objetivo, siempre será preferible el
más corto (se deberá analizar la optimización de tiempos y / o recursos)

Ejemplo: Algoritmo para hacer una torta


Entrada: Harina de trigo, mantequilla, huevos, sal, azúcar

Proceso:

1.- Unir la mantequilla con el azúcar

2.- Batir hasta lograr consistencia cremosa

3.- Agregar harina de trigo, huevos, sal y azúcar

4.- Batir hasta que esponje

5.- Precalentar el horno, en 250 °, y enmantequillar molde

6.- Una vez logre la consistencia de esponjado, colocar en la tortera

7.- Introducir en el horno por espacio de 45 minutos

Salida:

Torta

Siguiendo el ejemplo recuerde determinar las instrucciones de Entrada, Proceso


y Salida.

Según el ejercicio anterior, se puede determinar que el algoritmo para hacer


torta, cumple con las características fundamentales de los algoritmos. Es decir,
¿Es preciso?, ¿Es definido?, ¿Es finito?, razona tus respuestas.

Ejercicio: Realice un algoritmo para la elaboración de pan

1.1.3. PARTES DE UN ALGORITMO


Todo algoritmo debe seguir una estructura básica, es decir: entrada, proceso y
salida.

• Entrada. Corresponde a los datos necesarios 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. Resultados arrojados por el proceso como solución.

Ejemplo 1: Algoritmos para una receta de cocina.

• ENTRADA: ingredientes y utensilios empleados.


• PROCESO: elaboración de la receta de cocina.
• SALIDA: terminación del plato.

Ejemplo 2: Algoritmos para sumar 2 números.

• ENTRADA: Valores de de las variables A y B.


• PROCESO: Asignar a la variable Suma, el valor de A mas el valor de B.
• SALIDA: Impresión del valor de la variable Suma, que contiene la
sumatoria de los valores de A y B.
Etapas para la solución de un problema por medio del computador

a. Análisis del problema, definición y delimitación (macroalgoritmo).


Considerar los datos de entrada, el proceso que debe realizar el computador
y los datos de salida.
b. Diseño y desarrollo del algoritmo. Se utiliza pseudocódigo, escritura
natural del algoritmo, diagramas de flujo, etc.
c. Prueba de escritorio. Seguimiento manual de los pasos descritos en el
algoritmo. Se hace con valores bajos y tiene como fin detectar errores.
d. Codificación. Selección de un lenguaje de programación y digitación del
pseudocódigo haciendo uso de la sintaxis y estructura gramatical del
lenguaje seleccionado.
e. Compilación o interpretación del programa. El software elegido convierte
las instrucciones escritas en el lenguaje a las comprendidas por el
computador.
f. Ejecución. El programa es ejecutado por la máquina para llegar a los
resultados esperados.
g. Depuración (debug). Operación de detectar, localizar y eliminar errores de
mal funcionamiento del programa.
h. Evaluación de resultados. Obtenidos los resultados se los evalúa para
verificar si son correctos. (Un programa puede arrojar resultados incorrectos
aún cuando su ejecución no muestra errores).

1.1.4. TIPOS DE ALGORITMOS

Dos tipos de algoritmos:

1.1.4.1.Algoritmos Cualitativos
Conjunto de pasos o instrucciones que incluyen en palabras comunes que
sirven para dar solución a un problema, no involucra cálculos numéricos.

Las instrucciones para desarrollar una actividad física o encontrar un tesoro,


son ejemplos de algoritmos cualitativos.
Ejemplos:
• Preparar una taza de te
• Utilizar una guía telefónica
• Cocinar siguiendo una receta
• Cambiar una llanta de automóvil
• Buscar una palabra en el diccionario

1.1.4.2.Algoritmos Cuantitativos:
Conjunto de pasos o instrucciones que incluyen cálculos numéricos para llegar
al resultado deseado o a la solución de un problema.
Ejemplos:

• Solución de un factorial
• Solución de una ecuación de segundo grado
• Encontrar el mínimo común múltiplo.

RESOLVER:
Desarrolle un algoritmo de un día de su vida cotidiana.

¿Qué algoritmos usas en tu vida cotidiana? ¿Piensas que podrías escribir un


programa para hacerlos más eficientes?
¿Qué algoritmos crees que usan por tus juegos y aplicaciones favoritas?
¿Haz hecho alguna vez un algoritmo para un programa? ¿Que hacía? ¿Era
correcto y eficiente?

1.2.TIPOS DE DATOS Y OPERADORES


Todo sistema de computación es alimentado con datos. La representación de los
datos incide en la elaboración de los algoritmos. El sistema de identificación de
los datos se denomina “estructura de datos”, y depende de las características de
estos.

1.2.1. Dato

Un dato es la unidad mínima de memoria de información en una computadora.


Se clasifica en simples y estructurados.

Es la representación simbólica de un hecho, atributo o característica de una


entidad.

Ejemplo: nombre de un docente, color de un carro, etc.

Simples

Numéricos --> Enteros, reales

Lógicos --> Verdadero, Falso

Alfanuméricos --> Cadenas y caracteres

Los tipos de datos simples son indivisibles.

Ejemplo de datos simples:

Entero: 10,11 ,2 ,1234


Reales: 10.0, 13.21, 456.111

Cadena: "", " ", "Esto es una cadena"

Caracter: 'a','1',' ','@'

No es lo mismo un entero 1 a un caracter '1', ni tampoco una cadena vacia " " a
un caracter vacio ' '.

Los tipos de datos simples son definidos por el lenguaje de programación.

Estructurados

Arreglos

Registros

Archivos

Los datos estructurados son colecciones de datos de tipo simple o estructurado,


del mismo tipo o de diferente tipo a los que se hacen referencia como una sola
unidad.

Ejemplo los datos de una persona.

Persona

Nombre: cadena

Edad: Entero

Sexo: caracter (M o F)

Dirección: cadena

Los tipos de datos estructurados son definidos por el programador.


1.2.2. Información

Es un dato útil y se obtiene mediante el procesamiento de los datos.

Ejemplo:

• El promedio final de un alumno para un curso


• Número de aprobados en un examen,
• Nombre de los primeros alumnos de cada especialidad de cada ciclo.

1.2.3. Identificadores.

Un identificador es un nombre único que se le da a los elementos de un


programa u algoritmo.

Un identificador se forma de acuerdo a ciertas reglas dependiendo del lenguaje


de programación que se utilice:

• El primer carácter que forma un identificador debe ser una letra (a,b,c,..z)
• Los demás caracteres pueden ser letras (a,b,c,..,z), dígitos (0 - 9) o el
siguiente símbolo especial guion bajo ( _ )
• La longitud del identificador depende del lenguaje de programación (suma,
resta, promedio).

Ejemplos de identificadores validos:

• x
• chocolate
• poder
• _2020
• y
• _zita20
• Juego
• ide3
Identificadores no validos:

• $1000
• @Manga
• .net
• 'yo'
• 2233
• banc*

1.2.4. Variables.

Las variables son celdas de memoria que se utilizan para almacenar datos.

Una celda de memoria nos permite acceso de escritura y lectura en cualquier


momento que se requiera.

Las variables son objetos que pueden cambiar su valor durante la ejecución de
un programa.

Para nombrar las variables utilizaremos los identificadores.

Pueden existir tipos de variables como tipos de datos.

Ejemplo

La variable I, es de tipo entero, su valor inicial es cero y cambiara durante la


ejecución del programa.

Las variables SUELDO, SUMA, pueden ser de tipo real, se los puede
inicializaren 0 y pueden cambiar su valor.

Entre las variables mas importantes tenemos:

• Acumulador
Es una variable cuyo valor aumenta o disminuye en una cantidad variable cada
vez que se produce un determinado suceso o acción.

Debe ser inicializado

Ejemplo.

Se desea acumular las notas de prácticas de un alumno

Sum = 0 (el valor de sum es 0)

sum = sum + 13 (el valor de sum es 13)

sum = sum + 10 (el valor de sum es 23)

• Contador

Es una variable cuyo valor aumenta o disminuye en una cantidad constante


cada vez que se produce un determinado suceso o acción.

Se usa para contar sucesos.

Ejemplo.

Contar número de aprobados

1.2.5. Constantes.
Las constantes son datos que no cambian durante la ejecución de un programa.

Para nombrar las constantes utilizamos los identificadores.

Existen tipos de constantes como tipos de datos, por lo tanto, puede haber
constantes tipo entero, real, carácter, cadena de caracteres, etc.

Es importante que los nombres de las constantes sean representativas de la


función que realizan.

Ejemplos
Pi=3.1415….

A=5

1.2.6. Tipos de datos


1.2.6.1.Datos simple o básicos

Es un único valor a la vez.

Ejemplo.

Inicial de un M nombre=

1.2.6.2.Datos estructurados o compuestos.

Se caracterizan por el hecho de que con un nombre (identificador de variable


estructurada) se hace referencia a un grupo de casillas.

Ejemplo.

Un nombre M A R I A

1.2.7. Tipos de datos numéricos.


El rango de precisión de los datos numéricos depende del lenguaje de
programación que se utilice

1.2.7.1.Enteros
Representa números enteros con o sin signo, que estarán compuestos por los
dígitos del 0 al 9, pudiendo ser precedidos por los signos + o -.

Ejemplo:

Nota, edad, examen

1.2.7.2.Reales
Se emplean para representar números reales (con decimales).

Ejemplo:
Promedio, sueldo, talla

1.2.8. Tipos de datos lógicos.


Conjunto formado por dos valores lógicos:

• Verdadero
• Falso

Ejemplo

Fin, encontrado

1.2.9. Tipos de datos carácter.


Conjunto de caracteres que el computador reconoce. Se encuentran
normalizados bajo el código ASCII:

• Caracteres alfanuméricos: A - Z; a – z.
• Caracteres numéricos: 0 -9.
• Caracteres especiales: *, /, -, +, <, >, =, etc.

Ejemplo

Sección, sexo

Nota:

1.2.10. Operadores aritméticos


Los operadores aritméticos más usuales

Signo Significado
+ Suma
- Resta
* Multiplicación
ˆ Potenciación
/ División real
DIV División entera
MOD Resto de la
división
Los operadores DIV y MOD son los de menor prioridad.

Ejemplos

Expresión Resultado
12*12 144
12 ˆ 2 144
123 DIV 4 30
12 MOD 5 2

1.2.11. Operadores lógicos


Operadores: Lógicos

(*) && Conjunción (y)


(+) | | Disyunción (o)
(~) ! Negación (no)

EJEMPLO DE ALGORITMO

Se cuenta con las notas del EP, EF y PP de un alumno. Se sabe que el promedio
final (PF) se calcula con la fórmula: PF=(EP+ PP+2EF)/4 Si el alumno cumple
con la siguiente condición: PP>6.1 y PF> 6.1 tiene opción a rendir un examen
sustitutorio (ES) Escriba un algoritmo reciba las notas del alumno y luego
muestre un mensaje indicando si el alumno puede rendir o no puede rendir el
ES. En el caso que ya no pueda rendir el ES, debe mostrar también el PF

Solución:

Datos de entrada : EP, EF, PP

Salida: mensaje y PF (si no puede rendir ES)

Inicio del algoritmo

Ingresar las notas del alumno: EP, EF y PP


Calcular PF con la siguiente fórmula:

PF = (EP + 2EF + PP)/4

Si cumple la condición PP> 6.1 y PF>6.1entonces

Mostrar el mensaje “Puede rendir el ES”

Si no cumple la condición entonces

Mostrar el mensaje “No puede rendir ES” y mostrar PF

Fin del algoritmo.

1.2.12. Operadores relacionales


Son todos los símbolos que representan enlaces entre cada uno de los
argumentos que intervienen en una operación

> Mayor que


< Menor que
(=) == Igual a
(<>) != Diferente de
>= Mayor o igual que
<= Menor o igual que

Comparación Resultado
25 <= 25 Verdad.
25 < > 25 Falso.
25 < > 4 Verdad

1.2.13. Bloque de expresiones


Es una combinación de operandos y operadores

OPERACIONES INTERVIENEN OPERADORES RESULTADO EJEMPLO


ARITMETICAS Datos Aritméticos: +, -, *, Dato (EP+2*EF+PP)/4
numéricos /. numérico
Resto (residuo)
Entero(cociente)
DE Datos del Relacionales: <, >, Dato Lógico (PP>6.1 y
COMPARACION mismo tipo >=, <=, = Pf>6.1)
LOGICAS Datos lógicos Lógicos: NOT, Dato Lógico (PP>6.1 y
AND, OR Pf>6.1)

1.2.14. Jerarquía de operaciones

Es necesario ser cuidadosos con el significado de expresiones tales como

a + b * c, dependiendo de lo que se desee hacer

(a + b) * c o a + (b * c)

Todos los operadores tienen una prioridad, los operadores de mayor prioridad
son evaluados antes que los que tienen menor prioridad. Los operadores que
tienen la misma prioridad son evaluados de izquierda a derecha, por lo que:

a - b – c es evaluado como (a - b) - c

Prioridad Operador(es)
Más alta ( ) [ ] ->
! ~ ++ -- -
(tipo) * & sizeof
*/%
+-
<< >>
< <= > >=
== !=
&
^
|
&&
||
?
= += -= *= /=
Más baja ,

Ejemplo:

De acuerdo a lo anterior, la siguiente expresión:

a < 10 && 2 * b < c

Es interpretada como:

(a < 10) && ( (2 * b) < c )

1.2.15. Funciones
Son programas predefinidos que>

• Tienen un nombre con el cual se les invoca


• Aceptan datos y devuelven un resultado

A menudo los lenguajes de programación poseen funciones matematicas, de


cadena y otros como:

Abs(x): devuelve el valor absoluto del numero X

Sqrt(x): devuelve la raíz cuadrada del numero X (X>=0)

1.3.Elaboración de Algoritmos

1.3.1. Algoritmos secuenciales.


Las acciones del algoritmo se ejecutan en el orden que se encuentran escritos

Acción 1
Acción 2

Accion 3

---------

---------

Acción n

1.3.2. Algoritmos condicionales o selectivas


La ejecución de las aciiones depende del resultado de la condicon.

Son de tres tipos

• Selectivas simples
Las acciones se ejecutan si la condición es verdadera

• Selectivas dobles
Si la condición es Verdadera se ejecutan unas acciones.
Si la condición es Falsa se ejecutan otras acciones.
1.4.REPRESENTACION DE UN ALGORITMO
Hay dos maneras de representar los algoritmos, mediante pseudocodigo y
diagramas de flujo.

1.4.1. REPRESENTACION NARRATIVA


Un algoritmo se puede representar utilizando nuestro idioma natural, en forma
narrativa.

Narrar los pasos para agente de ventas

Inicio

Paso 1. Recibir a las personas que lleguen al mostrador

Paso 2. Saludar con cordialidad

Paso 3. Preguntar qué es lo que necesita.

Paso 4. Mostrarle la mercancía que le pueda interesar

Paso 5. Recibir el pago

Paso 6. Entregar la mercancía.

Fin

1.4.2. DIAGRAMA DE FLUJO

Son representaciones gráficas de los pasos necesarios que conllevan a la


solución algorítmica de un problema. Para diseñarlos se utilizan determinados
símbolos o figuras que representan una acción dentro del procedimiento.

Estos símbolos se han normalizado o estandarizado para representar los pasos


del algoritmo. Cada paso se representa a través del símbolo adecuado, que se
van uniendo con flechas, denominadas líneas de flujo, que a su vez indican el
orden en que los pasos deben ser ejecutados.
Símbolo Descripción
Inicio / fin Marca el inicio y el final del
diagrama de flujo

Entrada y salida de datos Introducir los datos de entrada.


Expresa lectura

Toma de decisiones Representa una decisión, en su


interior se almacena una
condición y dependiendo del
resultado de la evaluación se
sigue por una de las ramas o
caminos.
Procesos Indica todas las acciones y
cálculos que se ejecutan con los
datos de entrada u otros
obtenidos
Salida de resultados Es una forma de indicar que se
imprime algún resultado.

Conector dentro de Indica el enlace de dos partes de


página un diagrama dentro de la
misma página
Flechas de flujo Indica la dirección del flujo del
proceso.

Ejemplo básico de un diagrama de flujo:

Diseñar un diagrama de flujo que escriba HOLA MUNDO


Diseñar un diagrama de flujo para sumar dos números.

EJERCICIOS

1. Sacar el área de un circulo

Inicio

Variables

Radio, pi, área

Área= pi * radio * radio

Escribir Área

Fin
2. Sacar la edad de una persona

Inicio

Variables

a-actual, a-nacimiento, edad

edad=a-actual – a-nacimiento

Escribir edad

Fin

RESOLVER

• Sacar el área de un circulo


• Sacar el promedio de 8 materias
• Pasos para elaborar un sándwich de pollo
• Pasos para elaborar un pastel de chocolate
• Calcular el área de un triángulo
• Resolver una ecuación de dos variables
• Teniendo los datos A, B, C y D que representan números enteros escribe los
mismos en orden inverso
• Leer dos valores distintos; determina cuál de los dos es el mayor y que lo
muestre en pantalla
• Lee tres valores y almacénalos en las variables A, B y C. Mostrar en pantalla
cuál es el valor menor. Considera que los tres valores deben de ser
diferentes.
• Leer un valor entero N y determinar si es positivo o no, si no es positivo
pedir otro número, hasta que sea positivo.
• Introducir seis números enteros y calcular la suma y el promedio de dichos
números; se le debe preguntar al usuario qué operación quiere realizar: si la
respuesta es “Suma”, calcular sumas; si la respuesta es “Promedio”, calcular
el promedio.
• Se desea elaborar un pastel de chocolate. Una vez que el pastel se mete al
horno es necesario revisarlo cada 5 minutos hasta que esté perfectamente
cocido
• La sumatoria de los números enteros múltiplos de 5, Inicio comprendidos
entre el 1 y el 100, es decir, 5 + 10 +… + 100. N=0, suma= 0. Mostrar en
pantalla los números y su sumatoria.

1.4.3. PSEUDOCODIGO

El pseudocódigo es un lenguaje de especificación de algoritmos Según Joyanes


(2003), pag 68.

Significa escribir las instrucciones del algoritmo en lenguaje natural,tal y como


lo expresamos de manera cotidiana, este procedimiento facilita su escrituraen
los lenguajes de programación.

Ejemplo:

Diseñar un algoritmo para imprimir un “HOLA MUNDO”.

Algoritmo HOLA MUNDO


Inicio
Escribir “HIOLA MUNDO”
Fin

Diseñar un algoritmo para sumar dos números.

Análisis del problema:

Entrada: Leer dos números


Proceso: Calcular la suma
Salida: Escribir resultado con mensaje explicativo
Algoritmo Suma_de_dos_numeros
Variables
entero a, b, suma
Inicio
leer( a)
leer( b )
suma ← a + b
escribir( "LA SUMA ES (suma)" )
Fin

RESOLVER

a. Diseñe un algoritmo calcule el promedio de 4 calificaciones leídas y


escriba el resultado final junto con un mensaje explicativo.
b. Dados tres números, determine si la suma de cualquier pareja de ellos es
igual al tercer número. Si se cumple esta condición escribir "Iguales", y
en caso contrario, escribir "Distintas".
c. Escribir un algoritmo para calcular el área de un triángulo dada la base y
la altura.
d. Ventajas de usar flujogramas

Vous aimerez peut-être aussi