Presentaci - PowerPoint PPT Presentation

About This Presentation
Title:

Presentaci

Description:

Tipos de datos estructurados: ARRAY, algoritmos de b squeda, algoritmos de ordenamiento, STRING. 9. Tipos de datos estructurados: RECORD. 10. – PowerPoint PPT presentation

Number of Views:67
Avg rating:3.0/5.0
Slides: 24
Provided by: Erid155
Category:

less

Transcript and Presenter's Notes

Title: Presentaci


1
Programación de Computadores Lenguaje Pascal
Sesión 1 Algoritmos ProfEridan Otto
2
Programación de Computadores Lenguaje Pascal
Sesión 1 Algoritmos
  • TEMARIO
  • El Ramo Programación de Computadores
  • Análisis y resolución de problemas
  • Pseudocódigo
  • Entrada y salida de datos
  • Asignación
  • Estructuras de control Secuencia

3
Programación de Computadores Lenguaje Pascal
El Ramo Programación de Computadores
  • Es un ramo básico para la mayoría de las carreras
    de la Universidad
  • Se dicta simultáneamente a distintos cursos, éste
    es el Paralelo 8.
  • Consta de 4 horas de cátedra 2 horas de ayudantía
  • Tiene sesiones prácticas de Laboratorio de 2
    horas semanales
  • Evaluación
  • 3 certámenes (30 cada uno)
  • Laboratorios (10 total)
  • Para que estos porcentajes tengan validez deben
    tener sobre 55 como promedio en los certámenes y
    también en los laboratorios.
  • Fechas Importantes

4
Programación de Computadores Lenguaje Pascal
El Ramo Programación de Computadores
  • Información General
  • BibliografíaK. Jensen, N. Wirth. Pascal User
    Manual and ReportISO Pascal Standard. Spriger
    Verlag, 4 edition, 1991.
  • Sitio WEB del ramohttp//www.inf.utfsm.cl/ccastr
    o/IWI-131
  • Sito WEB con las claseshttp//angelfire.lycos.com
    /linux/eotto/
  • Correo del profesor eotto_at_inf.utfsm.cl
  • Clases Lu 1-2, C203 Mi 1-2 , C364
  • Horario de consultas por confirmar.
  • Horario ayudantíapor confirmar.
  • Horario de laboratorios por confirmar.

5
Programación de Computadores Lenguaje Pascal
El Ramo Programación de Computadores
  • Temas de la Asignatura
  • 1. Algoritmos análisis y resolución de
    problemas, pseudocódigo.
  • 2. Estructura de un programa PASCAL
    encabezado, declaraciones, cuerpo del programa.
  • 3. Declaraciones identificadores, definición
    de constantes, declaración de variables,
    comentarios.
  • 4. Tipos de datos simples tipos estándares
    INTEGER, REAL, BOOLEAN, CHAR. Compatibilidad de
    tipos, reglas de precedencia de los operadores,
    tipos definidos por el usuario, tipo enumerado,
    tipo sub-rango.
  • 5. Sentencias básicas asignación, entrada de
    datos, salida de datos.
  • 6. Estructuras de control secuencia, acción
    simple, acciones compuestas selección,
    sentencias IF THEN ELSE, IF THEN, CASE OF
    repetición, sentencias WHILE, REPEAT, FOR.

6
Programación de Computadores Lenguaje Pascal
El Ramo Programación de Computadores
  • Temas de la Asignatura
  • 7. Subprogramas diseño y estructura de
    programas, PROCEDURE, FUNCTION, parámetros por
    valor y por referencia, variables locales y
    globales.
  • 8. Tipos de datos estructurados ARRAY,
    algoritmos de búsqueda, algoritmos de
    ordenamiento, STRING.
  • 9. Tipos de datos estructurados RECORD.
  • 10. Archivos archivos de caracteres (texto),
    archivos enteros/reales, archivos de registros.

7
Programación de Computadores Lenguaje Pascal
Algoritmos Análisis y resolución de problemas
Qué es la programación?
  • Es el proceso de planificar una secuencia de
    instrucciones que ha de seguir una computadora.
  • Para escribir dicha secuencia debemos seguir
    cierto procedimiento, que se compone de dos
    fases
  • Fase de resolución del problema
  • Fase de implementación
  • Un problema se define como una situación en la
    cual un individuo desea hacer algo, pero
    desconoce el curso de la acción necesaria para
    lograr lo que quiere (Newell y Simon, 1972).
  • Una situación en la cual un individuo actúa con
    el propósito de alcanzar una meta, utilizando
    para ello alguna estrategia en particular (Chi y
    Glaser, 1983).

8
Programación de Computadores Lenguaje Pascal
Algoritmos Análisis y resolución de problemas
  • Fase de Resolución del problema
  • Análisis Comprender el problema, establecer su
    ámbito y las herramientas necesarias para
    resolverlo.
  • Solución general (Algoritmo) Desarrollar una
    secuencia lógica de pasos que resuelva el
    problema.
  • Prueba Seguir los pasos para ver si la solución
    resuelve verdaderamente el problema.
  • Fase de Implementación
  • Solución específica (Programa) Traducir el
    algoritmo a un lenguaje de programación.
  • Prueba Hacer que la computadora siga las
    instrucciones. Comprobar los resultados y hacer
    las correcciones necesarias.
  • Uso Utilizar el programa.

9
Programación de Computadores Lenguaje Pascal
Algoritmos Análisis y resolución de problemas
Resolución del problema
Implementación
Análisis
Solución general (Algoritmo)
Solución específica (Programa)
Prueba
Prueba
Uso
10
Programación de Computadores Lenguaje Pascal
Algoritmos Análisis y resolución de problemas
Qué es un algoritmo?
Un algoritmo esencialmentes es una secuencia de
pasos permitida y estructurada que permite
realizar operaciones con datos, transformándolos
(Ej, ordenándolos, haciendo cálculos repetitivos,
obteniendo estadísticas, seleccionando, etc) para
llegar al resultado.
Algoritmo
Resolución
Problema
Corresponde al proceso de construcción de un
algoritmo para alcanzar la meta propuesta
Corresponde a una serie de operaciones a realizar
sobre los datos, lograda por medio de una
adecuada combinación de instrucciones
11
Programación de Computadores Lenguaje Pascal
Algoritmos Análisis y resolución de problemas
Qué es un algoritmo?
  • Es una sucesión de acciones que hay que
    realizar, completamente prefijada, y su correcta
    ejecución lleva a una solución segura del
    problema como, por ejemplo, realizar una raíz
    cuadrada o hacer una torta.

Es importante diferenciar entre el diseño mismo
del algoritmo, y su ejecución ya sea realizada
por una máquina o por un ser humano.
Entrada
Salida (resultado)
Ejecución
Datos
Datos Manipulados
Algoritmo
Corresponde a una serie de operaciones realizadas
sobre los datos, entregando otros datos como
salida. El algoritmo dirige el proceso de
ejecución.
Problema
12
Programación de Computadores Lenguaje Pascal
Algoritmos Análisis y resolución de problemas
Características de una algoritmo
  • Debe ser preciso, indicando un orden de
    ejecución.
  • Debe ser definido, es decir, debe dar el mismo
    resultado todas la veces que se ejecute con los
    mismos parámetros.
  • Debe ser finito, es decir, debe terminar en algún
    momento según un criterio de parada.

Ejemplo Encender un Automóvil
1. Poner la llave. 2. Asegurarse que la marcha
está neutra. 3. Presionar el pedal del
acelerador. 4. Girar la llave hasta la posición
arranque. 5. Si el motor arranca antes de 6
seg, dejar la llave en la posición
encendido. 6. Si el motor no arranca antes de 6
seg, volver al paso 3 (como máximo 5 veces). 7.
Si el auto no parte, llevarlo al taller.
13
Programación de Computadores Lenguaje Pascal
AlgoritmosPseudocódigo
Pseudocódigo, para poder indicar, por ejemplo, a
un computador que realice alguna acción sobre
los datos, se debe tener una especie de lenguaje
conocido previamente por el programador y por la
máquina. En este curso se verá PASCAL, pero
antes, se debe entender que un algoritmo no
depende del lenguaje mismo. El pseudocódigo es un
lenguaje o una convención en español, que permite
expresar lo que queremos que se haga para llegar
a la meta. En esta clase y en la próxima se
realizarán y solucionarán problemas, es decir, se
diseñarán Algoritmos usando pseudocódigo. Diagram
as de flujo, permiten expresar el algoritmo por
medio de ciertas gráficas que ayudan a comprender
mejor su mecánica.
14
Programación de Computadores Lenguaje Pascal
AlgoritmosPseudocódigo entrada y salida de datos
Definición, dato Es una estructura que se
almacena en la memoria del computador y es
representada Por un tipo de datos. En adelante se
hablará de Variables.
Definición, tipo dedato para comenzar, antes de
programar en PASCAL, usaremos sólo los siguientes
tipos para variables - ENTERO, ej -1, 0 ,1,
1000, -253 - REAL, ej -1.001, 1E-10, 2.35 -
CARÁCTER, ej a,A,1 - BOOLEANO
VERDADERO,FALSO
  • Definición, variable es un dato que a lo largo
    de la ejecución del algoritmo puede ir cambiando
    de valores, siempre manteniendo su tipo.
    Ejemplos
  • Contador ENTERO ( variable de tipo
    ENTERO )
  • raizCuadrada REAL ( variable de tipo
    REAL)
  • letraMinuscula CARACTER ( variable de tipo
    CARACTER)
  • ValorVerdad BOOLEANO( variable de tipo
    lógico)

15
Programación de Computadores Lenguaje Pascal
AlgoritmosPseudocódigo entrada y salida de datos
Cómo comunicarnos con el computador?
Pantalla
Teclado
Es el dispositivo estándar de salida de datos
Es el dispositivo estándar de entrada de datos
Es
Instrucción en Pseudocódigo escribir(texto,variab
le1,variable2,....) NOTAlas variables de
tipo BOOLEANA no se pueden desplegar directamente
por la pantalla
Instrucción en Pseudocódigo ingresar(texto,variab
le1,variable2,....) NOTAlas variables de tipo
BOOLEANA no se pueden ingresar directamente por
teclado
16
Programación de Computadores Lenguaje Pascal
AlgoritmosPseudocódigo entrada y salida de datos
Ejemplo Realizar un algoritmo que solicite
ingresar por pantalla el valor aproximado de pi,
un número entero que corresponde al radio de un
círculo y despliegue por pantalla, del área del
círculo.
Valor de Pi
salida
Algoritmo
Entrada
Valor radio
Valor del área
ALGORITMO area VARIABLES pi REAL
radioENTERO INICIO ingresar(por favor
ingrese valor de pi,pi) ingresar(por favor
ingrese valor del radio,radio)
escribir(Area del circulo,piradioradio) FIN.

Pantalla
por favor ingrese valor de pi
3.141516
por favor ingrese valor del radio
2
Area del circulo 12.566
Entrada
salida
Teclado
17
Programación de Computadores Lenguaje Pascal
AlgoritmosAsignación
Definición, asignaciónes la operación de dar
valor a una variable o modificarla. Se va a
representarla con el símbolo lt-- una flecha
apuntando a la izquierda. En pseudocódigo, el
formato de una asignación es nombre de la
variable  ??expresión algunos ejemplos A ? 100
significa que a la variable A se le ha asignado
el valor 100, ahora A vale 100. suma ? 510
asigna el valor 15 a la variable suma, a través
de una asignación aritmética. x  ? z v
asigna el valor de la suma de las variables z y v
a la variable x. El resultado depende de los
valores que se asignen PREVIAMENTE a z y a v
Toda asignación es destructiva. Esto quiere decir
que el valor que tuviera antes la variable se
pierde y se reemplaza por el nuevo valor
asignado, así cuando se ejecuta esta secuencia B
? 25B ? 100B ? 77el valor final que toma B
será 77 pues los valores 25 y 100 han sido
destruidos. (o reemplazados en una parte de la
memoria principal del computador)
18
Programación de Computadores Lenguaje Pascal
Algoritmos, pseudocódigoAsignación
Cuando una variable aparece a ambos lados del
símbolo de asignación como C  ? C 1 Significa
incremento del valor que c ya tiene más uno.
Siempre inicializar las variables al comenzar el
programa con cero u otro valor (dependiendo del
problema). En una asignación, se puen hacer
muchas más cosas que una suma, dependiendo del
tipo de datos, se pueden combinar operadores,
formando expresiones. Para ENTERO, algunos
operadores son ,- ,, DIV,RESTO Para REAL,
algunos operadores son ,- ,,
/,REDONDEAR(),TRUNCAR() Para CARACTER, algunos
operadores son CODIGO() ,CAR() Para BOOLEANO,
algunos operadores son AND,OR,NOT Para agrupar
operaciones, se usan (,) Ejemplo C ? A(B(C
DIV D))
19
Programación de Computadores Lenguaje Pascal
Algoritmos, pseudocódigoAsignación
Recuerdo no se pueden asignar valores a una
variable de un tipo diferente al suyo.Entonces,
qué valor aparece por pantalla en el siguiente
algoritmo, si se digita en teclado
20? ALGORITMO incrementa VARIABLES
entrada,salida ENTERO INICIO ingresar(por
favor ingrese valor inicial ,entrada)
salida?---1 entrada?----2entrada
salida?---salida entrada escribir(numero
impar,salida) FIN.
20
Programación de Computadores Lenguaje Pascal
Algoritmos, pseudocódigo. Estructura de control
Secuencia Diagrama de flujo para el ejemplo
anterior
Inicio
La ejecución un paso tras otro de un algoritmo
sigue una cierta pauta o estructura, la primera a
estudiar es la secuencial. Esto quiere decir que
se ejecutan las instrucciones o sentencias en
orden, una tras otra, empezando por la primera
del algoritmo, acabando por la última. Un
conjunto de instrucciones se puede agrupar en
bloques, con un comienzo y un final. La
estructura de control secuencia, significa que
estos bloques se van ejecutando uno tras
otro. Este enfoque se llama refinamiento
sucesivo o enfoque estructurado de
programación. Esto es, ir descomponiendo el
algoritmo de acciones generales hasta llegar al
nivel de instrucciones o sentencias.
20
Ingresar entrada
salida?---1
entrada?-2entrada
salida?salida entrada
escribir salida
gt41 gt gt
Fin
21
Programación de Computadores Lenguaje Pascal
  • Algoritmos, pseudocódigo.
  • Estructura de control Secuencia
  • Ej Desarrolle un algoritmo que entregue la edad
    de dos hermanos,sabiendo que el padre tiene 40
    años, la diferencia de edad con el primer hijo es
    de 35 años, y que el segundo tiene el doble de la
    edad de su hermano.
  • Una primera aproximación al problema podría ser
  • Calcular la edad del hermano menor
  • Calcular la edad del hermano mayor
  • Escribir en pantalla los resultados
  • A este nivel, no se ha llegado aún al
    pseudocódigo, solo se definen grandes tareas a
    realizar, que a su vez pueden dividirse en tareas
    secuenciales más simples
  • Asignar a edad hermano menor edad del padre
    menos la diferencia
  • Asignar a edad del hermano mayor 2(edad
    hermano menor)
  • Escribir en pantalla edad hermano menor
  • Escribir en pantalla edad hermano mayor
  • En este segundo refinamiento se aprecian ya
    algunas opreaciones más precisas, y cercanas a la
    solución.
  • Finalmente se formaliza el algoritmo

22
Programación de Computadores Lenguaje Pascal
Algoritmos, pseudocódigo. Estructura de control
Secuencia
ALGORITMO edades VARIABLES edadHermanoMay,
edadHermanoMen ENTERO diferencia
ENTERO INICIO Diferencia ?--35 edadHermanoMen
?--- 40 - diferencia edadHermanoMay?----2
edadHermanoMen escribir(Edad hermano menor
, edadHermanoMen ) escribir(Edad hermano
mayor , edadHermanoMay ) FIN.
Asignación
Secuencia de inicialización
Estructura de Control Secuencial
Secuencia de cálculos
Secuencia de salida
23
Fin Clase 1
Write a Comment
User Comments (0)
About PowerShow.com