Você está na página 1de 3

Paradigmas de linguagem de programação.

Exercícios Capitulo 3, questões 1 2 5 6.

Jonathan Coutinho e Caio Gregoratto.

Thierry Araujo

1. Para cada um dos tipos abaixo (definidos em Pascal), mostre qual conjunto de valores eles
representam usando a notação de tipos primitivos, produto cartesiano (X). união disjunta (+),
mapeamento(->), conjuntos potencia (P).

type Cores = (azul, vermelho, amarelo);

Tonalidade = 1..10;

Textura = 1..5;

PontoColorido = record c: Cores;

to: Tonalidade;

tx: Textura

end;

LinhaColorida = array [1..30] of PontoColorido;

NovaCor = set of cores;

Noptr= ^NoListras;

NoListras = record c: LinhaColorida;

next: Noptr

end;

Resposta :

Tipo Cores:

Notação de tipos primitivos: {azul, vermelho, amarelo}

Conjunto potência: P(azul, vermelho, amarelo)

Tipo Tonalidade:

Notação de tipos primitivos: {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}

Conjunto potência: P(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)


Tipo Textura:

Notação de tipos primitivos: {1, 2, 3, 4, 5}

Conjunto potência: P(1, 2, 3, 4, 5)

Tipo PontoColorido:

Notação de tipos primitivos: {(azul, 1, 1), (azul, 1, 2), ..., (amarelo, 10, 5)}

Produto cartesiano: Cores X Tonalidade X Textura

Conjunto potência: P((azul, 1, 1), (azul, 1, 2), ..., (amarelo, 10, 5))

Tipo LinhaColorida:

Notação de tipos primitivos: Conjunto de todas as possíveis combinações de elementos do tipo


PontoColorido que podem ser formadas com 30 elementos.

Conjunto potência: P(todas as possíveis combinações de elementos do tipo PontoColorido com 30


elementos)

Tipo NovaCor:

Notação de tipos primitivos: Conjunto de todos os subconjuntos possíveis de Cores.

Conjunto potência: P(azul, vermelho, amarelo)

Tipo Noptr:

Notação de tipos primitivos: Conjunto de todos os possíveis valores do tipo ponteiro.

Tipo NoListras:

Notação de tipos primitivos: Conjunto de todas as possíveis combinações de valores do tipo


LinhaColorida e Noptr.

Produto cartesiano: LinhaColorida X Noptr

Conjunto potência: P(todas as possíveis combinações de valores do tipo LinhaColorida e Noptr)

2. Analise de forma sistemática quais os tipos de dados presentes nas linguagens que você conhece.
Para cada uma das linguagens analisada (Python) defina:

a) Qual o conjunto de valores de valores de cada tipo primitivo da linguagem ?


b) Quais os tipos compostos existentes na linguagem ? Eles cobrem todos os tipos compostos
apresentados ?
c) É permitido construir novos tipos na linguagem ? Existem limitações para isso ?
Resposta :

A: int, float, bool, str, list, tuple, set, dict.

B: List, Tuple, Set, Dict, Str, numpy.array, Stack, queue, frozenset, tree, graph, class, sim

C: Sim, Não, python não permite criar novos tipos de dados primitivos, eles não podem ser modificados
nem estendidos, porem é possível criar novos tipos em python por meio da criação de classes.

5. Em várias das linguagens de programação atuais encontramos a representação de strings. Pesquise


nas linguagem (Python) de programação que você conhece qual o tipo associado as strings em cada uma
das linguagens ( tipo primitivo, composto ? qual ?).

Resposta :

String em python é conhecido como tipo composto, nela conseguimos realizar vários métodos que
permitem operações como concatenação, substituição, entre outros.

6. As Listas são raramente tipos predefinidos nas linguagens de programação. Quando é o caso,
devemos ter algumas operações juntamente predefinidas para caracterizá-las com tipo.

a) Quais operações são necessárias para o tipo lista ?

b) Quais as vantagens de termos lista como um tipo predefinido em uma linguagem de


programação?

Resposta :

A: Criação da lista, Acesso aos elementos da lista, Inserção de elementos, Remoção de


elementos, Tamanho da lista, Iteração sobre os elementos, Concatenação de listas, Ordenação
dos elementos, Verificação de pertencimento.

B: Eficiência, Funcionalidade integrada, compatibilidade, documentação e suporte, facilidade de


uso.

Referencias :

Melo, A.C.V. D. (2003). Princípios de linguagem de programação. Editora Blucher.


https://app.minhabiblioteca.com.br/books/9788521214922

https://www.alura.com.br/apostila-python-orientacao-a-objetos/declarando-e-usando-
variaveis?gclid=Cj0KCQjwnrmlBhDHARIsADJ5b_lLyBPaYhlspiTPfbem-
AUiCQYs1Ii96fDw8P3pPv0S1dSRhkQ2-v0aAgjyEALw_wcB

Você também pode gostar