Skip to content

Proyecto 1° de Algoritmos y Estructuras de Datos I. FaMAFyC - UNC.

Notifications You must be signed in to change notification settings

matikuhn23/Algoritmos-Estructuras-de-Datos-I

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

59 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Proyectos de Algoritmos y Estructuras de Datos I. FaMAFyC - UNC.

#Algoritmos y Estructuras de Datos I - Laboratorio


Proyecto 1

Funciones, tipos y alto orden

  1. Objetivo El objetivo de este proyecto es revisar la programación de funciones en Haskell, y comenzar a introducir algunos conceptos de polimorfismo y funciones de alto orden en los que profundizaremos en los siguientes proyectos. Se evaluará la definición de funciones recursivas usando caso base y caso inductivo (a través de análisis por casos, o pattern-matching), la definición de funciones por composición, y el uso de las funciones provistas por el lenguaje (en el Preludio), para la definición de funciones polimórficas. En algunas de las funciones será necesario utilizar definiciones locales y también el uso de guardas para alternativas booleanas. En otros casos se deberá utilizar aplicación parcial de funciones y operadores binarios. Algunas consideraciones que debes tener en cuenta: Hacé todo el proyecto en un mismo archivo. Usá ghci. Comentá el código, indicando a qué ejercicio corresponden las funciones (por ejemplo:-- ejercicio n) Nombrá las distintas versiones de una misma función utilizando ’ (por ejemplo: f, f’’, f’’’, . . . )

Proyecto 2

Tipos de datos

  1. Objetivo En este proyecto nos introducimos en la definici ́on de nuestros propios tipos de datos. La importancia de poder definir nuevos tipos de datos reside en la facilidad con la que podemos modelar problemas y resolverlos usando las mismas herramientas que para los tipos pre-existentes. El objetivo de este proyecto es aprender a declarar nuevos tipos de datos en Haskell y definir funciones para manipular expresiones que utilizan estos tipos.

Programación imperativa - Programas como transformadores de estados

Objetivo

El objetivo de este proyecto es introducir el concepto de estado y de programas como transformadores de estado; el modelo computacional imperativo, y sus diferencias con el modelo funcional; la implementación en lenguaje “C” de programas imperativos vistos en el teórico-práctico. 2.

Lenguaje “C”

A lo largo de todo el proyecto, se utilizará el lenguaje C, y algunas herramientas como el GDB: The GNU Project Debugger, para ayudar a la comprensión del concepto de estado y del paradigma imperativo. En el caso del lenguaje “C”, para poder ejecutar un programa, lo vamos a tener que “compilar”, y de esa manera generamos un archivo binario que podrá ser ejecutado en la computadora.

Proyecto 4 del Laboratorio

##Programación imperativa en C. El objetivo del proyecto es: 1. Extender los conceptos relacionados con el deasrrollo de porgramas en lenguaje C en base al formalismo visto en el teórico/práctico de la materia. 2. Introducir el uso de la librería assert.h para garantizar el cumplimiento de estados. 3. Familiarizarse con el uso de Arreglos en el lenguaje "C"; 4. definir tipos abstractos nuevos básicos, utilizando el comando struct.

About

Proyecto 1° de Algoritmos y Estructuras de Datos I. FaMAFyC - UNC.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published