2. HELLO WORlD!
Sou Pedro Augusto
✘ Acadêmico de Sistemas de informação
pela universidade Federal do Piauí.
✘ Membro do Núcleo de Pesquisas
Aplicadas em Sistemas Distribuídos
(PASID) - (UFPI)
✘ Realiza pesquisa sobre desempenho de
linguagens funcionais em ambientes
muito-cloud
2
pedro.aarm@gmail.com
@pedroa.alcantara
3. 3
Programação do minicurso
● Conceito Iniciais
● Programação Funcional é difícil?
● POO vs Funcional
● Vantagens e Desvantagens de Usar funcional
● Mercado de Trabalho
● PARTE PRATICA: CONHECENDO A SINTAXE
● MARATONA!
18. 18
Funcional Imperativo Logico O. Objetos
Funções If, While, For Implicações Classes
Calculo Lambda Objetos
Recursão Metodos (...)
19. 19
POO vs Fucional
Programação orientada a objetos é um estilo de
Programação que permite:
● Reuso de código (via classes)
● Eliminação de bugs (via encapsulamento,
ocultação de dados )
Programação funcional é um estilo
de programação que permite:
● Reuso de código
(composição de função)
● Eliminação de bug (via
imutabilidade (não existe
mudança de valores de
variáveis))
20. 20
● Códigos sucintos e concisos
○ Menor tempo de desenvolvimento
○ Manutenabilidade
● Códigos seguros
● Reusabilidade
● Facilidade de escrita, suporte a abstrações
● Confiabilidade, segurança
Vantagens
22. 22
void qsort(int a[], int lo, int hi) {
int h, l, p, t;
if (lo < hi) {
l = lo;
h = hi;
p = a[hi];
do {
while ((l < h) && (a[l] <= p))
l = l+1;
while ((h > l) && (a[h] >= p))
h = h-1;
if (l < h) {
t = a[l];
a[l] = a[h];
a[h] = t;
}} while (l < h);
a[hi] = a[l];
a[l] = p;
qsort( a, lo, l-1 );
qsort( a, l+1, hi );
} }
35. 35
1. Pega o café
2. Coloca o café na xícara
3. Coloca água quente na xícara
4. Mexe o café com a água
5. retorna o café
Imperativa
Funcional
retorna mexe (água, coloca (café, xícara))
40. 40
Regras
● Deverá ser utilizado a linguagem de programação Haskell
● Duração: 1 Hora
● Ganhará quem resolver todas as questões em menor tempo ( Ou quem resolver mais questões em
até 17:45 )
● Divirta-se
41. 41
1. Faça um programa que receba o nome de uma pessoa e depois imprima o nome recebido na tela
2. Faça um programa que receba 2 números e em seguida faça e mostre os resultados da soma,
multiplicação, divisão e subtração
3. Faça uma função para calcular a média entre 3 números
4. Faça uma função que calcule a área de um circulo
5. Defina uma função atualizaSaldo :: Float -> Float que receba como argumento o saldo de uma conta
e exiba como resultado o novo saldo após um reajuste de 10%.