Documento 713455

Anuncio
Colegio Arrayanes
Introducción a la Programación
Prof.: Héctor Pérez U.
ALGORITMOS
DEFINICIÓN: Un Algoritmo, se puede definir como una secuencia de instrucciones que
representan un modelo de solución para determinado tipo de problemas. O bien como un
conjunto de instrucciones que realizadas en orden conducen a obtener la solución de un
problema. Por lo tanto podemos decir que es un conjunto ordenado y finito de pasos que nos
permite solucionar un problema.
Los algoritmos son independientes de los lenguajes de programación. En cada problema el
algoritmo puede escribirse y luego ejecutarse en un lenguaje de diferente programación. El
algoritmo es la infraestructura de cualquier solución, escrita luego en cualquier lenguaje de
programación.
Programa: Un programa es una serie de instrucciones ordenadas, codificadas en lenguaje de
programación que expresa un algoritmo y que puede ser ejecutado en un computador.
CLASIFICACIÓN DE ALGORITMOS: Los algoritmos se pueden clasificar en cuatro tipos:




Algoritmo computacional: Es un algoritmo que puede ser ejecutado en una computadora.
Ejemplo: Fórmula aplicada para un cálculo de la raíz cuadrada de un valor x.
Algoritmo no computacional: Es un algoritmo que no requiere de una computadora para ser
ejecutado. Ejemplo: Instalación de un equipo de sonido.
Algoritmo cualitativo: Un algoritmo es cualitativo cuando en sus pasos o instrucciones no
están involucrados cálculos numéricos. Ejemplos: Las instrucciones para desarrollar una
actividad física, encontrar un tesoro.
Algoritmo cuantitativo: Una algoritmo es cuantitativo cuando en sus pasos o instrucciones
involucran cálculos numéricos. Ejemplo: Solución de una ecuación de segundo grado.
CARACTERÍSTICAS DE UN ALGORITMO: Todo algoritmo debe tener las siguientes
características:

1. Debe ser Preciso, porque cada uno de sus pasos debe indicar de manera precisa e
inequívoca que se debe hacer.
2. Debe ser Finito, porque un algoritmo debe tener un número limitado de pasos.
3. Debe ser Definido, porque debe producir los mismos resultados para las mismas
condiciones de entrada.
4. Puede tener cero o más elementos de entrada.
5. Debe producir un resultado. Los datos de salida serán los resultados de efectuar las
instrucciones.
PARTES DE UN ALGORITMO: Todo Algoritmo debe tener las siguientes partes:
· Entrada de datos, son los datos necesarios que el algoritmo necesita para ser ejecutado.
· Proceso, es la secuencia de pasos para ejecutar el algoritmo.
· Salida de resultados, son los datos obtenidos después de la ejecución del algoritmo.
TÉCNICAS DE REPRESENTACIÓN: Para la representación de un algoritmo, antes de ser
convertido a lenguaje de programación, se utilizan algunos métodos de representación escrita,
gráfica o matemática. Los métodos más conocidos son:
1
Colegio Arrayanes
Introducción a la Programación
Prof.: Héctor Pérez U.
2
· Diagramación libre (Diagramas de flujo).
· Diagramas Nassi-Shneiderman.
· Pseudocódigo.
· Lenguaje natural (español, inglés, etc.).
· Fórmulas matemáticas.
Variable
Una variable es un símbolo que representa un elemento o cosa no especificada de un conjunto
dado. Dicho conjunto es llamado conjunto universal de la variable, universo o variar de la variable,
y cada elemento del conjunto es un valor de la variable. Sea x una variable cuyo universo es el
conjunto {1,3,5,7,9,11,13}; entonces x puede tener cualquiera de esos valores: 1,3,5,7,9,11,13. En
otras palabras x puede reemplazarse por cualquier entero positivo impar menor que 14. Por esta
razón, a menudo se dice que una variable es un reemplazo de cualquier elemento de su universo.
Una variable es un elemento de una fórmula, proposición o algoritmo que puede adquirir o ser
sustituido por un valor cualquiera (siempre dentro de su universo). Los valores que una variable
es capaz de recibir, pueden estar definidos dentro de un rango, y/o estar limitados por razones o
condiciones de pertenencia, al universo que les corresponde (en estos casos, el universo de la
variable pasa a ser un subconjunto de un universo mayor, el que tendría sin las restricciones).
En muchos usos, lo contrario de una variable es una constante. También puede considerarse a
las constantes como caso particular de variables, con un universo unitario (con un solo elemento),
ya que sólo pueden tener un valor, y no pueden modificarlo.
Constante
Lo contrario de una variable es una constante. También puede considerarse a las constantes
como caso particular de variables, con un universo unitario (con un solo elemento), ya que sólo
pueden tener un valor, y no pueden modificarlo.
Lenguaje de programación
Un lenguaje de programación es un idioma artificial diseñado para expresar computaciones que
pueden ser llevadas a cabo por máquinas como las computadoras. Pueden usarse para crear
programas que controlen el comportamiento físico y lógico de una máquina, para expresar
algoritmos con precisión, o como modo de comunicación humana. Está formado por un conjunto
de símbolos y reglas sintácticas y semánticas que definen su estructura y el significado de sus
elementos y expresiones. Al proceso por el cual se escribe, se prueba, se depura, se compila y se
mantiene el código fuente de un programa informático se le llama programación.
Ejemplo: Realizar el ALGORITMO de un programa que permita calcular el área de un
rectángulo. Se debe introducir la base y la altura para poder realizar el cálculo..
Programa; área
variables: BASE, ALTURA, AREA son número enteros
Algoritmo:
escribir “Introduzca la base y la altura”
leer BASE, ALTURA
calcular AREA = BASE * ALTURA
escribir “El área del rectángulo es “AREA
Finprograma
Colegio Arrayanes
Introducción a la Programación
Prof.: Héctor Pérez U.
Ejemplo: Realizar el algoritmo que permita al usuario introducir por teclado dos
notas, calculando la suma y el producto de las notas.
Programa: SumaProducto
variables: NOTA1,NOTA2,SUMA,PRODUCTO son números enteros
Algoritmo:
escribir “Introduzca las notas”
leer NOTA1,NOTA2
calcular SUMA = NOTA1 + NOTA2
calcular PRODUCTO = NOTA1 * NOTA2
escribir “La suma de las dos notas es:” SUMA
escribir “El producto de las dos notas es :”PRODUCTO
Finprograma
Ejemplo: Realizar el algoritmo de un programa que permita saber si un número es
mayor, menor o igual a cero.
Programa: ComparaNúmeros
variables: NUMERO es un número entero
Algoritmo:
Escribir “Introduzca un número “
leer NUMERO
SI NUMERO>0 ENTONCES
escribir “El número introducido es positivo”
SI NO
SI NUMERO<0 ENTONCES
escribir “El número introducido es negativo”
SI NO
escribir “El número es cero”
FINSI
FINSI
Finprograma
3
Colegio Arrayanes
Introducción a la Programación
Prof.: Héctor Pérez U.
4
Supongamos un algoritmo que lea las coordenadas de tres puntos y los mueva tres
puntos en la coordenada x y escriba el resultado en algún dispositivo de salida:
ALGORITMO lee_tres_vertices
ENTRADA: las coordenadas (x,y) de tres puntos
SALIDA: las coordenadas (x,y) de los tres puntos movidos 3 puntos hacia la derecha.
VARIABLES: i:entera
x,y: real
INICIO
PARA i=1 HASTA 3 CON INCREMENTO +1
ESCRIBE "Abscisa del punto número ", i
LEER x
ESCRIBE "Ordenada del punto número ", i
LEER Y
ESCRIBE "El punto es (" x+3","y")"
FIN_PARA
FIN
El programa equivalente a este algoritmo se muestra a continuación. Como podemos apreciar
en un programa en Pascal es importantísimo no olvidar detalles de sintaxis. Por ejemplo cada
sentencia termina en punto y coma. De cualquier forma es inmediato apreciar los simples
cambios existentes.
program lee_tres_vertices;
var x,y:real;
i:integer;
begin
for i:=1 to 3 do
begin
write ('Abscisa del punto número ',i); readln(x);
write ('Ordenada del punto número ',i); readln(y);
writeln (' El punto es (',x+3,',',y,')');
end;
end;
Problema: calcular y mostrar la suma de los diez primeros números entre 1 y 1000
que sean divisibles por uno dado.
programa suma_divisibles
variables natural : divisor, suma, contador, número
inicio programa
divisor leer ‘Introduce el divisor: ’
suma 0
contador 0
para número desde 1 hasta 1000 hacer
si divisor divide a número entonces
suma suma + número
contador contador + 1
fin si
si contador = 10 entonces
interrumpir
fin si
fin para
escribir ‘La suma es’, suma
fin programa
Colegio Arrayanes
Introducción a la Programación
Prof.: Héctor Pérez U.
Diagramas de flujo: Símbolos
ejemplos:
<===Este símbolo representa salida
5
Colegio Arrayanes
Introducción a la Programación
Prof.: Héctor Pérez U.
Observa detenidamente y estudia que proceso realiza este
diagrama de flujo.
Desarrolla diagrama de flujo y algoritmo de:
a) calculo de área de rectángulo
b) calculo de suma de los números de 1 a 100
c) ecuación de segundo grado
6
Colegio Arrayanes
Introducción a la Programación
Prof.: Héctor Pérez U.
ejemplo:
en clases explicaremos con más detalles y desarrollaremos más ejemplos para luego
entrar a la programación en Python
7
Colegio Arrayanes
Introducción a la Programación
Prof.: Héctor Pérez U.
Ejemplo de programa en Python que calcula promedio de notas de un
alumno. Se ingresa nombre alumno y cantidad de notas a promediar:
resp="s"
while (resp!="n"):
print("ingresa nombre alumno")
nomb=input()
print ("ingresa numero de notas a promediar")
numNot=input()
numNot=int(numNot)
suma=0
for i in range (1, numNot+1):
print ("ingresa nota:",i)
nota=input()
nota=float(nota)
suma=suma+nota
prome= suma / numNot
print ("hola: ",nomb)
print("tu promedio = ",prome)
print (" ")
print ("otro alumno s/n")
resp=input()
8
Documentos relacionados
Descargar