1-1 - Introduccion - Algoritmos y Estructuras de Datos PDF
1-1 - Introduccion - Algoritmos y Estructuras de Datos PDF
1-1 - Introduccion - Algoritmos y Estructuras de Datos PDF
* Introducción
PROGRAMACION ESTRUCTURADA
Todo programa computarizado puede ser escrito con un alto grado de estructuración,
permitiendo hacer mas sencillas tareas como prueba, mantenimiento y modificación de ellos.
Mediante la programación estructurada es posible leer la codificación de cualquier programa
de inicio a fin en forma continua, siguiendo la lógica definida por el programador.
Este paradigma, es un modelo de alta precisión permitiendo trabajar en equipo, acoplando
módulos a la idea original, logrando programas fáciles de ser leídos, mantenidos y
modificados por otros programadores.
Dicha programación se desarrolla utilizando tres estructuras lógicas de control:
a. Secuencia: Sucesión de instrucciones.
b. Selección o Decisión: bifurcación condicional.
c. Repetición: ejecuciones repetidas con diferentes datos.
Tales estructuras de control, combinadas entre ellas, controlan los datos de forma tal de
generar información.
Un programa estructurado, además de tener una excelente presentación, es mucho más fácil
de actualizar ante nuevos requerimientos.
está en la
lógica.
Motivo por el cual esta materia: Algoritmos y Estructuras de Datos, desarrollará durante el año
académico diferentes algoritmos que permitirán perfeccionar la lógica, para luego ser
programados mediante software de base que reconozcan dicho paradigma.
MAPA CONCEPTUAL
DE LA MATERIA
NO HAY PROGRAMA
SIN ALGORITMO
Algoritmo Programa
Tiene que haber alguien que lo redacte Tiene que haber alguien que lo ejecute
Algoritmo
Término muy antiguo entre los matemáticos. Proviene del sabio árabe al-Khwarizmi
que vivió en el siglo IX y contribuyó, desde España, a la civilización de Europa.
En su sentido más antiguo y original se refiere al método y notación
en las distintas formas de cálculo.
INTRODUCCION
Programación: planificación y ejecución de una tarea mediante una secuencia de instrucciones, que
indican las acciones a ejecutarse. Para desarrollar dicha secuencia, se deben realizar dos fases:
CPU
Dispositivo • Unidad aritmético-lógica Dispositivo
de entrada • Unidad de control de salida
Unidad de memoria
CONJUNTO DE CARACTERES
Caracteres Pascal Pascal y Python Python
Letras ‘A’ .. ‘Z’ ‘a’ .. ‘z’
Dígitos 0..9
Símbolos especiales . ; : , ( ) [] {}
Operadores matemáticos DIV MOD + - * / ** //
Operadores relacionales <> = > >= < <= == != +=
Operadores lógicos .OR. .AND. .NOT. OR AND NOT
Asignación: (en chapín ) := =
Puntero: (en chapín )
PRECEDENCIA DE OPERADORES
1er. nivel (superior) .NOT.
2do. nivel * / DIV MOD .AND.
3er. nivel + - .OR.
4to. nivel (inferior) = > >= < <= <> IN
Dentro de un mismo nivel las operaciones se realizan como aparecen de izquierda a derecha.
PALABRAS RESERVADAS
PASCAL PASCAL Y PYTHON PYTHON
ARRAY AND AS
BEGIN ELSE BREAK
CASE FALSE CLASS
CONST FOR CONTINUE
DIV IF DEF
DO IN DEL
DOWNTO NOT ELIF
END OR EXCEPT
FILE TRUE FLOAT
FUNCTION WHILE FROM
GOTO WITH GLOBAL
MOD IMPORT
OF IS
PROCEDURE NONLOCAL
PROGRAM PASS
REPEAT UNTIL RANGE
THEN RETURN
TYPE TRY
TO YIELD
VAR
FALSE y TRUE: son los dos valores posibles que puede asumir un dato tipo booleano (tener en cuenta
que ambos represetan un conjunto ordenado donde falso precede a verdadero).
Dato Resultado
Pascal
X mod Y: entrega el resto de dividir x e y entero entero
X div Y: divide enteros con resultado entero entero entero
Python
divmod (X,Y): entrega el resto de dividir x e y entero entero
DATOS
Los datos son objetos que al ser manipulados por diferentes sentencias o instrucciones de un
programa, se convierten en información que ofrece dicho programa.
ESTRUCTURA DE DATOS: Cada dato tiene un formato, según sea su característica, se establecerán
las operaciones de acceso que se usan para almacenar, recuperar y operar cada elemento individual.
➢ ARCHIVOS
IDENTIFICADORES
Un identificador es el nombre dado a un elemento del programa, tal como una constante, una variable,
procedimiento, función, tipo de dato o programa.
Pueden tener la combinación de letras en minúsculas (de a a la z) o MAYÚSCULAS (de la A a la Z) o
dígitos (del 0 al 9) o un underscore en Python (_).
El primer carácter no puede ser un número. Reconociéndose solamente los primeros 8 caracteres si el
nombre superase dicha cantidad (los nuevos sistemas operativos no tienen esta restricción).
Las palabras reservadas (página 5) no se las puede utilizar como identificadores.
IDENTIFICADORES ESTANDARD
abs arctan boolean char Cos
dispose eof eoln exp false
get input integer ln maxint
new odd ord output pack
page pred put read readln
real reset rewrite round sin
sqr sqrt succ text true
trunc unpack write writeln
EXPRESIONES
Una expresión es una colección de operandos (números, constantes, variables) enlazados por
operadores. Existen expresiones numéricas: que representan un valor numérico como ser:
(b * 4 - 0) / (2 * r)
costo < 25
SENTENCIAS
Sentencia es una instrucción que tiene un modo unívoco de expresión. Un grupo de instrucciones
ordenadas en forma secuencial conforman un programa.
Existen dos tipos de sentencias: simples y estructuradas.
Las primeras son instrucciones únicas e incondicionales:
• Asignar un dato a una variable (asignación)
• Acceder a un módulo (llamar a un procedimiento)
• Transferir el control del programa incondicionalmente a otra parte del programa (GOTO, no
será dado en la cátedra).
SENTENCIA DE ASIGNACION
(sentencia de asignación interna)
Es una sentencia de tipo simple para asignar un dato ó una expresión a una variable, donde el
identificador de la izquierda del signo de asignación (que nunca puede ser un número ni una expresión)
:= recibe el valor de una expresión, variable, constante ó número a la derecha del mismo,
Pascal Python
variable:= dato; variable = dato
calculo := 3 * 14 / sqr(x); resul = succ(valor)
r:= 5;
SENTENCIA DE ENTRADA
(sentencias de asignación externa)
Sentencia READ
Se usa para leer datos del archivo de entrada (ejemplo teclado) y asignarlos a variables de tipo
standard y/o estructuradas.
Las variables se separan por comas. Los datos que se leen son asignados a ellas en el mismo orden
en que ingresan. Solo en Pascal: Cada variable debe ser del mismo tipo del dato que se asignó (un
número real debe ser almacenado en una variable de tipo real; a excepción de un número entero que
puede ser almacenado en una variable real).
Las de tipo booleanas no pueden incluirse en la lista de variables de entrada.
Se define como:
Pascal Python
READ (variable1, variable2,....,variablen); Input (" mensaje ")
SENTENCIA DE SALIDA
Sentencia WRITE / PRINT
Se usa para exhibir datos en el archivo de salida (ejemplo pantalla).
Pascal Python
WRITE (dato1, dato2,......,datoN); print (dato)
Los datos pueden ser cadenas, constantes numéricas, variables o expresiones; de tipo real, entero,
char o booleano. Los datos se separan por comas y las cadenas de caracteres deben ir entre
apóstrofos.
PROCESO Y RESULTADOS