Está en la página 1de 69

UNIVERSIDAD MAYOR DE SAN

ANDRES
FACULTAD DE CIENCIAS PURAS Y
NATURALES

CURSO PRE-FACULTATIVO
INTRODUCCIÓN A LA INFORMÁTICA
CAPÍTULO 3:

ALGORITMOS

LIC. CARLA ROSARIO LÓPEZ LIZARAZU


1.1 CONCEPTOS
GENERALES
Concepto de Programación

Se llama programación a las implementación


de un algoritmo en un determinado lenguaje
de programación en una computadora,
para realizar un programa.
CONCEPTO DE
PROGRAMA

Es un conjunto de instrucciones escritas


en un lenguaje de programación con
el fin de resolver problemas en la
computadora
CONCEPTO DE
ALGORITMO

Un algoritmo es una secuencia finita y


ordenada de pasos lógicos que han de
seguirse para resolver un problema.
DIAGRAMA DE FLUJO

Es una forma gráfica de representar


un algoritmo
LENGUAJE DE PROGRAMACIÓN

Es un conjunto de símbolos y reglas


sintácticas y semánticas que nos permiten
crear programas mediante un conjunto de
instrucciones, operadores y reglas
de sintaxis
Tipos de lenguajes de programación

• Bajo Nivel: Son los que están mas cerca del ordenador, son
muy complicados y poco usados. El mas conocido es el
código o lenguaje máquina.
• Alto Nivel: Los lenguajes de programación de alto nivel
permiten dar órdenes al ordenador con un lenguaje parecido
al nuestro. Por ejemplo Visual Basic, C++, PHP,
JavaScript, etc.
TEOREMA FUNDAMENTAL DE
LA PROGRAMACIÓN
ESTRUCTURADA
• Para poder diseñar un diagrama que pueda ser
posteriormente implementado en la computadora,
se debe aplicar el siguiente teorema:
•” Un diagrama o programa solo debe tener un
punto de entrada (inicio) y en un punto de salida
(fin); y para su diseño se pueden utilizar
únicamente tres estructuras de control:
Secuenciales, Condicionales y Repetitivas”.
1.2 DEFINICIÓN DE
ALGORITMO
Un algoritmo es
una secuencia
finita y ordenada
de pasos lógicos
escritos para
resolver
problemas
computacionales.
PROPIEDADES DE LOS
ALGORITMOS
Todo algoritmo debe cumplir con las siguientes
propiedades:
Finitud: Tiene un inicio y un fin
Definibilidad: Estar bien definido, porque cada
regla está libre de toda ambigüedad
Precisión:
Se debe indicar el orden de realización de cada paso
Además, todo algoritmo debe

Entradas: Tiene 0 o más entradas


Salidas: Tiene 1 o más procesos
REPRESENTACIÓN DE LOS
ALGORITMOS
Los algoritmos se pueden representar de varias
formas:

Lenguaje natural

Pseudocodigo

Diagramas de flujo
LENGUAJE NATURAL

Es una forma de
representar a un
algoritmo en
lenguaje natural,
usando el español
de una manera
entendible para
cualquier
persona.
EJEMPLO: ALGORITMO PARA IR A LA
UNIVERSIDAD
1.Despertarme
2.Levantarme
3.Asearme y vestirme La descripción de
cada paso no me
4.Desayunar lleva a
ambigüedades: los
5.Alistar materiales pasos son
absolutamente
6.Salir de casa explícitos y no
inducen a error.
7.Abordar movilidad El número de pasos
es finito.
8.Llegar a la Universidad
EJEMPLO: ALGORITMO PARA VER LA TV

1. Enchufar y encender la TV
2. Buscar el canal que deseo ver
3. Preguntar es el canal que deseo
ver?
4. Si es si, ver el programa
5. No, buscar otro canal
6. Apagar la TV
EJEMPLO: ALGORITMO PARA SUMAR
DOS NÚMEROS

1.Inicio
2.Pedir el primer número
3.Pedir el segundo número
4.Resultado = primer número + segundo
número
5.Mostrar el resultado
6.Fin
EJEMPLO: ALGORITMO PARA COMPRAR
UN ARTÍCULO

1.Inicio
2.Buscar un artículo para comprar
3.Preguntar su precio
4.Pagar el precio
5.Pedir la factura correspondiente
6.Recibir la factura
7.Fin
PSEUDOCÓDIGO

Es una mezcla de
lenguaje de
programación y el
español (lenguaje
natural), se usa para
realizar el diseño de
un programa, se
utilizan algunos
símbolos de código.
DIAGRAMA DE FLUJO

Es una forma gráfica


de representar un
algoritmo, el cual
muestra gráficamente
los pasos o procesos a
seguir para alcanzar la
solución de un
problema
FASES EN LA RESOLUCIÓN DE
PROBLEMAS
Para un problema se tienen las siguientes
fases o pasos a seguir:

Definición y Análisis del problema


Diseño del algoritmo
Ejecución en la computadora
FASES EN LA RESOLUCIÓN DE
PROBLEMAS
1.3 CONCEPTOS BÁSICOS DE
PROGRAMACIÓN
IDENTIFICADOR
ESLos identificadores representan los datos de un

programa (constantes, variables, tipos de datos).
 Un identificador es una secuencia de caracteres que
sirve para identificar una posición en la memoria de
la computadora, que nos permite accesar a su
contenido.
Ejemplo: Nombre
Num_horas
Nota2
REGLAS PARA FORMAR UN
IDENTIFICADOR
• Debe comenzar con una letra (A a Z, mayúsculas o
minúsculas) y no deben contener espacios en blanco.
• Puede tener una longitud hasta 255 caracteres
• No se admiten espacios o caracteres en blanco, ni puntos
(.), ni otros caracteres especiales.
• Los caracteres pueden ser letras, dígitos, el carácter de
subrayado (_) y los caracteres de declaración del tipo de la
variable (%, &, #, !, @, y $ ).
• El nombre de una variable no puede ser una palabra
reservada del lenguaje (For, If, Loop, Next, Val, Hide,
Caption, And, ...).
VARIABLE
 Es una dupla nombre – valor que almacena
valores que puede cambiar durante la ejecución de
un programa.
 Una variable es un nombre que designa a una zona
de memoria (se trata por tanto de un
identificador), que contiene un valor de un tipo de
información. Tal y como su nombre indica, las
variables pueden cambiar su valor a lo largo de la
ejecución de un programa.
Por ejemplo: x =100
y =k+5
area1=(b*h)/2
M = “HOLA”
CONSTANTE
 Es un valor fijo que no cambia durante la
ejecución de un programa.
 Completando a las variables existe lo que se
denomina constantes las cuales son
identificadores, pero con la particularidad de que
el valor que se encuentra en ese lugar de la
memoria sólo puede ser asignado una única vez.
El tratamiento y tipos de datos es igual al de las
variables.
Por ejemplo: π = 3,1415926536
e = 2,7182818285
k = 100
SUMADORES
Permiten acumular valores en la misma
variable.

Por ejemplo:
S=S+5
S=S+X
Además los acumuladores o sumadores se
debe inicializar en 0. (S=0)
CONTADORES
Contadores: Permiten contar el número de
veces que se repite un proceso en su misma
variable.
Por ejemplo:
C=C+1
I=I+2

Al igual que los contadores se debe inicializar


en 0. (C=0)
MULTIPLICADORES
Multiplicadores: Permiten multiplicar valores
en la misma variable.

Por ejemplo:
M=M*10
M=M*X

Los multiplicadores se inicializan en 1. (M=1)


TIPOS DE DATOS

Para programar, es
necesario identificar a
qué tipo de datos
pertenecen cada una
de las variables o
constantes, ya sean
estos números, letras,
palabras, frases
TIPOS DE DATOS
Cada lenguaje de
programación dispone
de un conjunto de
tipos de datos que
puede manipular;
pero se tiene tipos de
datos estándares que
todos los lenguajes de
programación
disponen
TIPOS DE DATOS
ENTEROS
• Este tipo dato corresponde a aquellas variables que
exclusivamente pueden recibir VALORES SIN PARTE
DECIMAL.
• Se puede introducir números enteros, tanto positivos como negativos.
Por ejemplo:
Número de personas
Número de estudiantes
Número de edificios
REALES
• Este tipo de dato, en cambio corresponde a aquellas variables cuyos
VALORES TIENEN PARTE DECIMAL.
• Se puede poner números con decimales, tanto positivos como negativos.
Hay reales con signo y reales sin signo, pero, si no decimos lo contrario, se
sobreentiende que son con signo.
Por ejemplo:
Área
Sueldo
Lado de un triángulo
LÓGICOS
• Son aquellas que solo pueden tener dos valores (cierto o
falso) estos representan el resultado de una comparación
entre otros datos.
• Los booleanos o tipos de datos lógicos, únicamente reciben
dos valores:
true
 false
• Se utilizan generalmente como banderas, para identificar si
se realizó o no un proceso.
CARACTERES
• En este tipo de dato se encuentran todos los caracteres
conocidos, una letra, un número, un símbolo especial.
Por lo tanto, está conformado por:
DÍGITOS:'0', '1', '2', ... , '9‘
LETRAS: 'a', 'b', 'c', ... , 'z‘
MAYÚSCULAS: 'A', 'B', 'C', ... 'Z‘
CARACTERES ESPECIALES: '%', '*', '?', ... , '/'.
OPERADORES
OPERADORES NUMÉRICOS
Las variables y constantes pueden ser procesadas
utilizando operaciones y funciones adecuadas a sus
tipos. Las operaciones aritméticas usuales en todos
los lenguajes de programación se indican mediante
los siguientes operadores.
OPERADORES NUMÉRICOS
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.

Operando (Operador) Operando

Valor
(constante o variable)
Ejemplos:
1. 4 + 2 * 5 = 14
2. 23 * 2 / 5 = 9.2 46 / 5 = 9.2
3. 3 + 5 * (10 - (2 + 4)) = 23
3 + 5 * (10 - 6) = 3 + 5 * 4 = 3 + 20 = 23
OPERADORES RELACIONALES
Los operadores de relación o relacionales permites realizar
comparaciones de valores de tipo numérico o carácter
(alfabéticos).
OPERADOR SIGNIFICADO
< Menor que
> Mayor que
= Igual
<= Menor igual
>= Mayor igual
<> Distinto de

Ejemplos
para: a = 10 b = 20 c = 30
 a + b > c Falso
 a - b < c Verdadero
 a - b = c Falso
 a * b < > c Verdadero
OPERADORES LÓGICOS
Los operadores lógicos o de Boole permiten relaciones lógicas
(si/no) y sirven para representar condiciones compuestas. Los
operadores lógicos o booleanos básicos son :
OPERADOR SIGNIFICADO
AND “Y LÓGICO”
OR “O LÓGICO”
NOT “NOT LÓGICO”

Ejemplos:
para: a = 10 b = 20 c = 30

(a < b) and (b < c)


(10<20) and (20<30)
V and V

V
JERARQUÍA DE OPERACIONES
Las expresiones tienden a tener una regla de
prioridad, ya que puede haber confusión por cual
operación el computador debe comenzar es por eso
que a continuación se describen éstas reglas:

Las operaciones que están encerradas entre


paréntesis se evalúan primero. Si existen diferentes
paréntesis anidados(interiores unos a otros), las
expresiones más internas se evalúan primero.
JERARQUÍA DE OPERACIONES
 Las operaciones aritméticas dentro de una expresión pueden
seguir el siguiente orden de prioridad.
 Operador exponencial
 Operador de *, /
 Operadores +, -
 Operadores div, mod

 En caso de coincidir varios operadores de igual prioridad en


una expresión o subexpresión encerrada entre paréntesis, el
orden de prioridad en éste caso es de izquierda a derecha.
Ejemplos:
1. 7 * 10 – 15 mod 3 * 4 + 9
2. (7*(10 – 5) mod 3) * 4 + 9
EXPRESIONES
TIPOS DE EXPRESIONES
Se tienen los siguientes tipos de expresiones:
 Expresiones numéricas
 Expresiones relacionales
 Expresiones lógicas
EXPRESIONES NUMÉRICAS
Expresiones numéricas:
Compuesta por constantes, variables y
operadores numéricos.

Ejemplo:
A =(b+c)/d
E = ((x*y)+sen(z))/10
EXPRESIONES
RELACIONALES
Compuesta por expresiones numéricas y operadores
relacionales.
El formato general para las comparaciones es:

Expresión 1 Operador de relación expresión 2

Y el resultado de la operación será verdadero o falso.

Por ejemplo: x>=1000


A= 0
Num < > 0
EXPRESIONES LÓGICAS
 Compuesta por expresiones relacionales y
operadores lógicos.
 Las expresiones lógicas se forman combinando
constantes lógicas, variables lógicas y otras
expresiones lógicas, utilizando los operadores
lógicos NOT, AND Y OR. Y los operadores
relacionales. (de relación o comparación) =, <, >,
<=, >=, <>.
 Y el resultado de la operación será verdadero o
falso
EXPRESIONES LÓGICAS
Por ejemplo:
x<y and y<z
A>B and B>C
N>=0 or c<=N
Ejemplo:
1. (1<5) and (5<10) = Verdadero
2. (2>4) and (4>3) = Falso
3. (3=3) or (4>1) = Verdadero
DIAGRAMAS DE FLUJO (DF)

La representación gráfica de sistemas es


una forma ampliamente utilizada como
herramienta de análisis, ya que permite
identificar aspectos relevantes de una
manera rápida y simple.
El diagrama de flujo representa la forma
más tradicional para especificar los detalles
algorítmicos de un proceso.
DIAGRAMAS DE FLUJO

Los diagramas de flujo representan la


secuencia o los pasos lógicos para realizar
una tarea mediante unos símbolos.
Dentro de los símbolos se escriben los
pasos a seguir.
Un diagrama de flujo debe proporcionar
una información clara, ordenada y concisa
de todos los pasos a seguir.
Simbología de los DF
Los símbolos utilizados para la elaborar diagramas
de flujo han sido normalizados por el instituto
norteamericano de normalización (ANSI).
A continuación se muestran los símbolos más
utilizados y su descripción:

Comienzo o final de proceso

Conector con otros procesos

Conector fuera de página


Simbología de los DF

Símbolo de proceso indica la


asignación de un valor

Entrada de datos

Decisión/ Bifurcación
SIMBOLOGÍA DE LOS DF

Conexiones de pasos o línea de


información

Salida de datos
SIMBOLOGÍA DE LOS DF

Se usa para representar los


subprogramas

Se usa para la iteración de


proceso
REGLAS PARA CONSTRUIR
DIAGRAMAS DE FLUJO
Para construir diagramas de flujo se debe
seguir ciertas reglas y tomar en cuenta los
siguientes criterios:

Se pueden utilizar solo los símbolos


estándar.
Los diagramas se deben dibujar de arriba
hacia abajo y de izquierda a derecha.
Se deben usar solamente líneas de flujos
horizontales y/o verticales.
REGLAS PARA CONSTRUIR
DIAGRAMAS DE FLUJO
 Se debe evitar el cruce de líneas usando los
conectores.
 Se debe usar conectores solo cuando es
necesario.
 No deben quedar líneas de flujo sin
conectar.
 El programa se ejecuta siempre empieza en
la parte superior del diagrama.
 Los símbolos de Inicio y Final se debe usar
solo una vez.
REGLAS PARA CONSTRUIR
DIAGRAMAS DE FLUJO
 Se deben inicializar todas las variables que
se utilicen o permitir la asignación de
valores
 Los símbolos de rombo de decisión debe
tener al menos dos líneas de salida una para
SI y otra para NO.
 Todo texto escrito dentro de un símbolo
debe ser escrito de forma clara, evitando el
uso de muchas palabras.
EJEMPLO
EJEMPLO
VERIFICACIÓN MANUAL DEL
ALGORITMO
Para la verificación del algoritmo se utiliza
una técnica conocida como Prueba de
escritorio.

PRUEBA DE ESCRITORIO.-
Es una forma manual de verificar si el
diagrama de flujo funciona o no o si presenta
algún error y así poder corregirlo.
VERIFICACIÓN MANUAL DEL
ALGORITMO
Consiste en una tabla con la lista de todas las
variables que se utilizan el diagrama de flujo,
y asignarle valores para realizar la ejecución
manual; el diagrama de flujo se hace correr de
inicio a fin.
Ejemplo: X Y Z R
5 10 8 23
45 12 2 59
PSEUDOCÓDIGO
El pseudocódigo utiliza palabras que
indican el proceso a realizar.
Ejemplo:
INICIO
LEER X,Y,Z;
R=X+Y+Z;
MOSTRAR R;
FIN
RESOLUCIÓN DE
PROBLEMAS
Para resolver un problema utilizaremos los
pasos en la resolución de problemas

Ejemplo:
Paso 1: Planteamiento del problema
Resolver el área de la siguiente figura:
RESOLUCIÓN DE
PROBLEMAS
RESOLUCIÓN DE
PROBLEMAS
Paso 3: Diseño del algoritmo
Lenguaje Natural:
1. Inicio
2. Leer lado
3. Leer base y altura del rectángulo y del triangulo
4. Calcular el área del triangulo
5. Calcular el área del rectángulo
6. Calcular el área de la figura sumando el área
del rectángulo y el triángulo multiplicado por 2
7. Imprimir el resultado el área de la figura.
8. Fin
Diagrama de Flujo:
Pseudocódigo:

1.Inicio
2.Leer b,h,l;
3.AT=(b*h)/2;
4.AR=l*h;
5.A=AR+(AT*2);
6.Mostrar A;
7.Fin
Paso 4: Ejecución en la computadora

Para este último paso es necesario usar un


lenguaje de programación Java para la
codificación del algoritmo, este lenguaje se
describirá más adelante.
GRACIAS POR SU ATENCION

También podría gustarte