Coder Social home page Coder Social logo

prog-funcional-av2's Introduction

AV2 de Programação Funcional - Lista de Exercícios

Este repositório contém a lista de exercícios valendo a nota da AV2 de Programação Funcional. Os exercícios são desenhados para praticar os conceitos e as técnicas da programação funcional, enfatizando a importância de evitar efeitos colaterais e promovendo um código mais puro e fácil de entender.

Regras Gerais

  • Colaboração: É proibido copiar resolução de algum colega. É permitido ajudar na resolução das questões, contanto que as soluções finais sejam diferentes.
  • Penalização por similaridade: Similaridade entre soluções de diferentes alunos resultará em perda da nota da questão.
  • Uso de for e if: As palavras reservadas for e if só podem ser utilizadas dentro de List Comprehensions ou Expressões Lambda. O uso fora destes escopos acarretará penalização de 50% na nota da questão.
  • Declaração de funções: O uso da palavra reservada def para declarar funções deve seguir regras específicas:
    • Todas as variáveis dentro do escopo da função devem ser definidas utilizando Expressões Lambda.
    • Estruturas de dados como listas ou dicionários só são permitidas como retorno das expressões lambda.

Exemplo de código inadequado

def old_customers(d):
    retl = []
    for k in d.keys():
        if d[k][0] >= 60:
            retl.append(k)
    return retl

Exemplo de código corrigido

def old_customers_2(d):
    retl = lambda: [k for k in d.keys() if d[k][0] >= 60]
    return retl()

Exercícios

1. Implementação de Diagrama de Atividades

Desenvolva um programa em Python que implemente um diagrama de atividades fornecido. Algumas atividades podem ser implementadas como funções sinalizadoras que imprimem sua função no console.

2. Testes Unitários e Teste de Stress

Desenvolva três testes unitários para verificar diferentes fluxos do programa implementado na questão anterior e um teste de stress para avaliar a robustez do programa.

3. Interação com Banco de Dados

Implemente um programa em Python que gerencia as tabelas USERS, VIDEOGAMES, GAMES, e COMPANY, e que seja capaz de realizar operações de inserção, remoção e consulta em um Banco de Dados MySQL.

4. Scaffold para Consultas SQL

Elabore um Scaffold que auxilie na escrita de consultas SQL, incluindo a geração de códigos para INNER JOIN e SELECT para as tabelas mencionadas na questão anterior.

5. Requisitos Não-funcionais

Adapte um dos programas anteriores para que satisfaça requisitos não-funcionais como disponibilidade e segurança, incluindo armazenamento de senhas criptografadas e autenticação de usuários.

Contribuição

Este projeto é um trabalho acadêmico e a colaboração é limitada às discussões sobre abordagens de problemas e revisões de código, mantendo a integridade acadêmica e a originalidade do trabalho individual.

Autor

João Pedro Rodrigues Tenório

prog-funcional-av2's People

Contributors

jprtenorio00 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.