Beruflich Dokumente
Kultur Dokumente
Clase 1
Programacin I
Docentes
Teora: Ma. Virginia Ainchil - Federico Cristina
Prctica JTP: Sabrina Martorelli
Clase 1
Programacin I
Programacin I - Objetivos
Analizar problemas resolubles con computadora, poniendo nfasis en la modelizacin, abstraccin de funciones y en la descomposicin funcional de los mismos. Obtener una expresin sinttica y precisa de los problemas, con una documentacin de una metodologa de trabajo por el alumno. Estudio, expresin simblica, implementacin y evaluacin de algoritmos, orientando los mismos a la resolucin de las partes (mdulos) en que se descomponen los problemas, a partir de un paradigma procedural/imperativo.
Clase 1 Programacin I 3
Programacin I - Objetivos
Introduccin de las nociones de estructuras de datos, tipos de datos y abstraccin de datos. Introduccin de las nociones vinculadas arquitectura y organizacin de la computadora. a la
La aprobacin del final se podr lograr por rgimen de promocin o con examen final.
Clase 1
Programacin I
Clase 1
Programacin I
REGISTRARSE
1. Buscar Programacion I 2. Elegir el curso a cargo de Sanz, Cecilia 3. Hacer clic en Solicitar Inscripcin
10
11
Conceptos Bsicos
Anlisis de problemas. Definiciones fundamentales. Modelos, Abstracciones, Algoritmos. Algoritmos + Datos = Programas. Diferentes Tipos de Datos.
Clase 1
Programacin I
12
Informtica?
Clase 1
Programacin I
13
Qu es la informtica?
La Informtica es la ciencia que estudia el anlisis y resolucin de problemas utilizando computadoras. Analicemos la definicin:
La palabra ciencia se relaciona con una metodologa fundamentada y racional para el estudio y resolucin de los problemas. En este sentido la Informtica se vincula especialmente con la Matemtica y la Ingeniera.
La resolucin de problemas utilizando las herramientas informticas puede tener aplicaciones en reas muy diferentes tales como biologa, comercio, control industrial, administracin, robtica, educacin, arquitectura, etc.
Clase 1 Programacin I 14
Qu es la informtica?
La Informtica es la ciencia que estudia el anlisis y resolucin de problemas utilizando computadoras.
Una computadora es una mquina digital y sincrnica, con cierta capacidad de clculo numrico y lgico controlado por un programa almacenado y con probabilidad de comunicacin con el mundo exterior. La finalidad de la computadora es ayudar al hombre a realizar tareas repetitivas en menor tiempo y con mayor exactitud. La computadora no razona ni crea soluciones, sino que ejecuta una serie de rdenes que le proporciona el ser humano.
Clase 1
Programacin I
15
Objetivo de la Informtica
El objetivo principal de la disciplina Informtica es resolver problemas del mundo real utilizando computadoras.
Problema del mundo real Solucin
La computadora es una herramienta que podemos emplear en la resolucin de problemas. La posibilidad de resolver un problema real con una computadora depende del programa (software) que carguemos en la mquina.
Clase 1 Programacin I 16
Clase 1
Programacin I
17
Qu es un algoritmo?
Definiremos algoritmo como la especificacin rigurosa de la secuencia de pasos (instrucciones) a realizar sobre un autmata para alcanzar un resultado deseado en un tiempo finito.
En la definicin precedente hemos utilizado la expresin especificacin rigurosa a fin de significar que debemos expresar un algoritmo en forma clara y unvoca.
Alcanzar el resultado en tiempo finito significa que suponemos que un algoritmo comienza y termina. Est implcito que el nmero de instrucciones debe ser tambin finito.
Si el autmata es una computadora, tendremos que escribir el algoritmo en un lenguaje entendible y ejecutable por la mquina.
Clase 1 Programacin I 18
Qu es un dato?
Un Dato es una representacin de un objeto del mundo real mediante la cual podemos modelizar aspectos del problema que se quiere resolver con un programa sobre una computadora.
Es muy difcil representar datos reales en una computadora (que es binaria, es decir slo con capacidad de guardar 1 0). Imaginemos un objeto como las flores de la ciudad que el robot recoge. Qu son dentro de la computadora?
Representar datos, an los ms simples como los dgitos decimales, una letra, un nombre o un color, requiere una transformacin desde el mundo real a alguna forma de representacin binaria que pueda ser interpretada por la computadora. Datos ms complejos como una imagen, una cancin o la trayectoria de un avin tambin son representados en forma binaria. Para establecer la forma de modelizarlos e interpretarlos ser necesario un anlisis cuidadoso por parte de quien escriba el programa que los utilice.
Clase 1 Programacin I 19
Qu es un programa?
Es un conjunto de instrucciones u rdenes ejecutables sobre una computadora, que permite cumplir con una funcin especfica (dichas rdenes estn expresadas en un lenguaje de programacin concreto).
Recordemos Definimos algoritmo como la especificacin rigurosa de la secuencia de pasos (instrucciones) a realizar sobre un autmata para alcanzar un resultado deseado en un tiempo finito.
Clase 1
Programacin I
20
Qu es un programa?
En esta definicin asociamos programa con una funcin determinada o requerimiento a satisfacer por la ejecucin del conjunto de instrucciones que forman el programa. Normalmente los programas alcanzan su funcin objetivo en un tiempo finito. Un programa es correcto si cumple lo solicitado en los requerimientos. Una misma mquina puede realizar funciones muy diferentes, segn el programa que se le cargue.
Los programas de aplicacin constituyen el verdadero valor que da utilidad a las computadoras (programas WEB, de administracin, clculo, comunicaciones, control industrial, sistemas expertos etc.).
Los programas se escriben en un lenguaje de programacin siguiendo un conjunto de reglas sintcticas y semnticas.
Clase 1 Programacin I 21
Qu es programar?
A priori las tareas ms importantes que tiene alguien que debe escribir un programa para resolver un problema sobre una computadora son:
Elegir la representacin adecuada de los datos del problema. Elegir el lenguaje de programacin a utilizar, segn el problema y la mquina a emplear.
Definir el conjunto de instrucciones (en el lenguaje elegido) cuya ejecucin ordenada conduce a la solucin.
Clase 1
Programacin I
22
Las
instrucciones y datos.
componentes
bsicas
de
un
programa
son
Las instrucciones (que tambin se han denominado acciones) representan las operaciones que ejecutar la computadora al interpretar el programa.
Los datos son los valores de informacin de los que se necesita disponer y en ocasiones transformar para ejecutar la funcin del programa.
Clase 1 Programacin I 23
Pre-Condicin y Post-Condicin
Recordemos
Post-condicin
es la informacin que debera ser verdadera al concluir el programa ( mdulo), si se cumplen adecuadamente los pasos especificados.
Clase 1
Programacin I
24
Definicin de Dato
Un Dato es una representacin de un objeto del mundo real. Los datos permiten modelizar los aspectos del problema que se quieren resolver mediante un programa ejecutable en una computadora.
Conceptualmente, por una parte se tienen datos constantes, datos que no cambian durante la ejecucin del programa.
Por otra parte, se pueden tener datos variables, es decir que durante la ejecucin del programa pueden cambiar.
Clase 1
Programacin I
25
Por lo tanto, los programas que implementan dichos algoritmos, necesitan alguna manera de representarlos.
Un tipo de dato es una clase de objetos de datos ligados a un conjunto de operaciones para crearlos y manipularlos.
Clase 1
Programacin I
26
Clase 1
Programacin I
27
Simples
Compuestos
Los tipos de datos simples son aquellos que toman un nico valor, en un momento determinado, de todos los permitidos para ese tipo.
Los tipos de datos compuestos pueden tomar varios valores a la vez que guardan alguna relacin lgica entre ellos.
Clase 1 Programacin I 28
Tipos de Datos
Simples
Compuestos
Clase 1
Programacin I
29
Simples
Compuestos
Tipos Numricos
Enteros
Reales
Clase 1
Programacin I
31
Clase 1
Programacin I
32
Otros sistemas utilizan 32 bits, por lo que el rango es 125 entre -231 y +231.
En general este mximo nmero entero se denomina MAXINT
30000
-12500 0 -23900 32767
Clase 1
Programacin I
33
Programacin I
Clase 1
Programacin I
35
Clase 1
Programacin I
37
Multiplicacin (*)
Divisin (/) Div Mod
Entero Real
Real Entero Entero
Entero Real
Real Entero Entero
Clase 1
Programacin I
38
6 + 8 * 5 = 6 + 40 = 46
(6 + 8) * 5 = 14 * 5 = 70
5 * 2 + 7 + 4 * 3 = 10 + 7 + 12 = 17 + 12 = 29
Clase 1
Programacin I
40
Clase 1
Programacin I
41
0< 7
5<= 7
Resultado: verdadero
Resultado: verdadero
5>7
5 <> 7
Resultado: falso
Resultado: verdadero
5 >= 2
Pensemos:
Clase 1
Resultado: verdadero
5.0 = 5 ???
Programacin I 42
negacin (not), conjuncin (and), disyuncin (or). El resultado de estas operaciones es correspondiente a las conocidas tablas de verdad. el
Clase 1
Programacin I
44
not (8 > 3)
(17 > 2) and (19 = 33)
(17 > 4) or (19 = 33)
Clase 1
Programacin I
45
Clase 1
Programacin I
46
Dgitos: 0, 1, 2, , 8, 9
Letras maysculas: A, B, C, , Y, Z Letras minsculas: a, b, c, , y, z
Clase 1 Programacin I 47
Un valor del tipo de dato carcter es slo uno de los smbolos mencionados. Si tengo un carcter 4 y un carcter 3 podr aplicar la operacin de suma?
Clase 1
Programacin I
48
Esto es, dos valores de tipo carcter se pueden comparar por =, <>, >, <, >=, <=
Clase 1
Programacin I
49
(c < z)
(X > 5) ( < H)
Clase 1
Programacin I
50
Los diferentes tipos de datos deben especificarse y a esta especificacin dentro de un programa se la conoce como declaracin.
Una vez declarado un tipo podemos asociar al mismo variables, es decir nombres simblicos que pueden tomar los valores caractersticos del tipo.
Clase 1
Programacin I
51
Variables
Una variable es, entonces, una zona de memoria cuyo contenido va a ser de alguno de los tipos mencionados anteriormente. La direccin inicial de esta zona se asocia con el nombre de la variable.
Variable A
Referencia una zona de memoria
Clase 1
Programacin I
52
Clase 1
Programacin I
53
Clase 1
Programacin I
54
donde nombre es el identificador que representa el nombre de la constante. El tipo de dato de la constante queda definido implcitamente por el tipo de dato de valor.
Clase 1 Programacin I 55
{N se asume de tipo de dato entero } {pi se asume de tipo de dato real } {c se asume de tipo de dato carcter }
Clase 1
Programacin I
56
o, si hay varias variables del mismo tipo, se declaran separadas por coma y se le asocia el tipo de dato, una sola vez. Por ejemplo:
var nombre_de_variable_1,
,
nombre_de_variable_n: tipo_de_variable
Clase 1 Programacin I 57
Declaraciones de variables
Los diferentes tipo_de_variable posibles en Pascal se corresponden con los tipos de datos vistos hasta el momento.
tipo de dato numrico entero tipo de dato numrico real tipo de dato lgico tipo de dato carcter
Clase 1
Programacin I
58
Declaraciones de variables
Ejemplos (en Pascal)
Var
cantidad: integer; total_cobrado: real; estado: boolean; letra: char;
{cantidad puede contener un nro. entero} {total_cobrado puede contener nmero real } {estado puede contener valor lgico } {letra puede contener un carcter }
Estos tipos de datos se denominan definidos por el lenguaje y simples. Por qu?
Programacin I 59
Clase 1
Clase 1
Programacin I
61
Estructura de un Programa
Esquema simple de programa en Pascal Program nombre; Var a: integer; car1, car2: char; Begin { Cuerpo del programa}
{Instrucciones ejecutables}
End.
Clase 1
Programacin I
62