Paradigmas de Linguagens de Programação
Exercícios PLP1:
1. Analisando a árvore genealógica das linguagens de programação de alto nível, notamos que algumas linguagens basearam-se na linguagem C. Com isso, a sintaxe de alguns comandos tornou-se comum entre essas linguagens. Pesquise 2 linguagens de programação derivadas da linguagem C (mesmo que indiretamente) e mostre 3 estruturas de comando comuns entre tais linguagens.
R: PHP e Java // Primeiro programa em Java public class PrimeiroPrograma { public static void main(String [] args) { System.out.println("Programação em Java"); } }
2. Analise as linguagens mais populares segundo o site TIOBE, procure classificar as linguagens, na medida do possível, em Linguagens Imperativas, Orientadas a Objeto, Funcionais ou de Programação Lógica. Dica: o site “99-bottles-of-beer” possui códigos em cada uma das linguagens, faça uma consulta!
R: C - Linguagens Imperativa
Java - Orientada a Objeto
Objetive C - Orientada a Objeto
C++ - Orientada a Objeto
C# - Orientada a Objeto
3. Acesse o site do Robô “Ed”. Procure fazer uma análise crítica sobre o mecanismo desse “chatterbot”. (Dica: aborde o tema “Combustível”).
R: O “Robô Ed” é um site que personificou um programa de computador, e tenta imitar um ser humano em uma conversação. O enviamos palavras, que provavelmente são analisadas por um banco de dados e um algoritmo, e respostas são geradas com base nas palavras enviadas ao mesmo. O banco de dados não parece ser muito extenso, pois o mesmo não extende o assunto.
Exercícios PLP2:
1. Utilizando as expressões regulares do slide anterior, apresente 5 strings representados a partir de cada expressão:
R:
2. Crie a expressão regular para cada notação formal das linguagens:
a) L = {w ∈ {a, b} | w inicia por b, seguido de zero ou mais a’s}
R: L(E) = ba*.
b) L = {w ∈ {a, b} | w termina por aa ou bb}
R: L(E) = a+b(aa+bb)*.
c) L = {w ∈ {a, b} | cada a em w é