Skip to content

Latest commit

 

History

History
106 lines (64 loc) · 3.4 KB

exercicios-1.md

File metadata and controls

106 lines (64 loc) · 3.4 KB
title geometry fontsize
Exercícios
margin=1.8cm
12pt

@. Por que estudar conceitos de linguagens de programação?

@. O que é ortogonalidade e como ela influência a avaliação de uma linguagem?

@. Discuta a afirmação: a avaliação de linguagens depende do domínio da aplicação.

@. Escolher a linguagem C++ para escrever o backend de um sistema web é uma boa escolha? E Python para um sistema embarcado? Explique.

@. Discute sobre alguns aspectos no projeto de linguagens que estão em conflito.

@. Discuta sobre qual o melhor método de implementação de linguagens, compilação ou interpretação.

@. Escolha uma linguagem de programação que você conheça bem e faça duas avaliações positivas e duas negativas.

@. O que é vinculação? Quais os tipos de vinculação em linguagens de programação?

@. O que é tempo de vida? Como as variável são classificas segundo seu tempo de vida?

@. Fale sobre escopo estático e dinâmico e dê um exemplo que destaque a diferença entre eles.

@. O que é ambiente de referenciamento?

@. Quais as vantagens e desvantagens da vinculação dinâmica de tipo?

@. Quais são as utilidades dos tipos de dados?

@. Por que as strings são imutáveis em Java e Python?

@. Porque é importante o programador saber como um arranjo regular bidimensional é organizado na memória na linguagem que ele esta usando?

@. Como os arranjos associativos podem ser implementados?

@. Considerando que as listas (arranjos dinâmicos) em Python são homogêneos, com é possível armazenar valores inteiros e strings na mesma lista? Explique.

@. O que é união e qual a diferença entre uniões discriminadas e uniões livres?

@. Fala sobre os dois principais problemas com ponteiros e como eles são tratados na linguagem Java.

@. Quais as vantagens e desvantagem do uso de coletor de lixo para gerência de memória?

@. O que significa dizer que uma linguagem é fortemente tipada?

@. É possível uma linguagem com vinculação dinâmica de tipo ser fortemente tipada? Explique.

@. Considerando que a = 2, b = 5 e c = 7, tem como sabermos o resultado da expressão a + b * c sem sabermos a linguagem de programação que ela foi escrita? Explique.

@. Em que situações a operação de adição não é associativa?

@. A ordem de avaliação dos operandos pode influenciar o resultado de uma expressão? Explique e dê exemplos.

@. Explique o que é efeito colateral e transparência referencial.

@. Como as regras de coerção influenciam nos benefícios da verificação de tipos?

@. Quais são as vantagens e desvantagens da sobrecarga de operadores?

@. Quais as vantagens e desvantagens da avaliação em curto circuito utilizando de expressões booleanas?

@. Quais as vantagens e desvantagens de permitir apenas expressões booleanas na expressão de controle de sentenças de seleção de duas vias?

@. Por que C requer que a expressão de controle do if seja parentizada e Rust não?

@. Escolha duas linguagens e explique como elas determinam a qual cláusula if uma determinado else está associado no caso de if aninhados.

@. Fale sobre os tipos de sentença de iteração mais comuns nas linguagens de programação.