Flashcards
Prova de LP

Flashcards do conjunto (40)
- 1Quais são as principais propriedades desejáveis em Linguagens de Programação?Legibilidade (facilidade para ler e entender)
- Redigibilidade (quantidade de código necessária para expressar uma ideia)
- Confiabilidade (mecanismos para programas confiáveis)
- Eficiência (utilização de recursos)
- Ortogonalidade (exceções aos padrões regulares)
- Modificabilidade (facilidade de alteração)
- Reusabilidade (possibilidade de reusar código) - 2O que compõe a especificação de uma Linguagem de Programação?1. Léxico: vocabulário permitido
2. Sintaxe: regras para formar sentenças
3. Semântica: interpretação das construções - 3Quais são os principais métodos de implementação de Linguagens de Programação?1. Compilação: tradução integral para linguagem de máquina
2. Interpretação pura: tradução durante execução
3. Híbrido: usa código intermediário (ex: JVM) - 4Qual a diferença entre paradigmas imperativo e declarativo?Imperativo: descreve COMO o computador deve realizar uma tarefa
- Declarativo: especifica O QUE é a tarefa a ser realizada, abstraindo-se de como o computador deve implementá-la - 5Quais são as características do paradigma funcional?- Programa composto por funções
- Principais operações: composição e chamada recursiva
- Funções são valores de primeira classe
- Exemplos: LISP, Haskell, ML - 6O que caracteriza o paradigma orientado a objetos?- Abstração de dados como elemento básico
- Evolução do paradigma estruturado
- Exemplos: C++ e Java - 7O que é uma amarração (binding) em linguagens de programação?É uma associação entre entidades de programação (ex: variável-valor, identificador-tipo, variável-memória)
- 8Qual a diferença entre escopo estático e dinâmico?Estático: determinado pela organização textual dos blocos no programa
- Dinâmico: determinado pela sequência de chamadas de subprogramas em tempo de execução - 9Qual a diferença entre definição e declaração?Definição: produz amarrações entre identificadores e entidades criadas na própria definição
- Declaração: amarra identificadores a entidades já existentes em outro módulo - 10O que caracteriza um tipo primitivo?Não pode ser decomposto em valores mais simples
- Costuma ser definido na implementação da LP
- Sofre influência direta do hardware
- Exemplos: inteiro, caractere, booleano, ponto flutuante - 11O que são tipos compostos e quais seus principais conceitos?São tipos criados a partir de tipos mais simples, baseados em:
- Produto cartesiano
- Uniões
- Mapeamentos
- Conjuntos potência
- Tipos recursivos - 12O que caracteriza um tipo referência em Java?Conjunto de valores formado pelos endereços das células de memória
- Todas as variáveis não-primitivas em Java são do tipo referência
- Permitem que múltiplas variáveis apontem para o mesmo objeto - 13Quais são as principais propriedades de variáveis?1. Nome
2. Endereço
3. Sinonímia
4. Tipo
5. Valor
6. Tempo de vida
7. Escopo de visibilidade - 14Como funciona o gerenciamento de memória em pilha e monte?Pilha:
- Usada para variáveis locais e parâmetros
- Regra de alocação bem definida
- Mais eficiente
Monte (Heap):
- Para variáveis de tamanho dinâmico
- Regra de alocação indefinida
- Requer gerenciamento de memória (manual ou automático) - 15O que é serialização e desserialização?Serialização: conversão de variável transiente da memória primária para sequência de bytes na memória secundária
- Desserialização: processo inverso, recuperando a estrutura original
- Java oferece nativamente, C++ não
- Importante para persistência de dados - 16O tratamento de exceções sempre diminui a eficiência do código?Embora o tratamento de exceções possa diminuir a eficiência do código, ele é importante pois melhora a confiabilidade do mesmo
- 17O que caracteriza uma linguagem ortogonal?Uma linguagem ortogonal é aquela capaz de oferecer ao programador comandos e expressões sem efeitos colaterais
- 18Qual é a função do léxico em uma Linguagem de Programação?O léxico de uma LP indica o conjunto de regras que determinam quais sentenças podem ser formadas a partir de um alfabeto.
- 19O ambiente de amarração em uma Linguagem de Programação é sempre único?Não. É possível ter amarrações fora do escopo da função, como na linguagem C, quando se faz a declaração de uma variável global.
- 20As Linguagens de Programação com escopo dinâmico possuem ambiente de amarração?Sim. Todas as Linguagens de Programação possuem ambientes de amarração, incluindo aquelas com escopo dinâmico.
- 21Quais são as principais vantagens da compilação?1. Execução mais rápida (código já em linguagem de máquina)
2. Detecção de erros em tempo de compilação
3. Não necessita do compilador para executar o programa final - 22Quais são as principais desvantagens da compilação?1. Necessidade de recompilar para cada plataforma diferente
2. Processo de desenvolvimento mais lento devido à compilação
3. Arquivos executáveis maiores - 23Cite exemplos de linguagens compiladasC, C++, Pascal, Go
- 24Quais são as principais vantagens da interpretação?1. Maior portabilidade (write once, run anywhere)
2. Desenvolvimento mais rápido e dinâmico
3. Facilidade de depuração - 25Quais são as principais desvantagens da interpretação?1. Execução mais lenta
2. Necessidade do interpretador para executar
3. Maior consumo de memória durante execução - 26Cite exemplos de linguagens interpretadasPython, JavaScript, Ruby, PHP
- 27Como Python promove legibilidade? Dê um exemploPython força uma estrutura visual clara através da indentação obrigatória.
- 28Como Java promove confiabilidade? Dê um exemploJava previne erros através de verificação de tipos e tratamento de exceções.
- 29Como C++ promove reuso?C++ permite reutilização de código através de herança e polimorfismo.
- 30Como C++ promove reuso?C++ permite reutilização de código através de herança e polimorfismo.
- 31O que é e dê um exemplo de amarração estáticaOcorre em tempo de compilação.

- 32O que é e dê um exemplo de amarração dinâmicaOcorre em tempo de execução.
Exemplo:
- 33O que é e dê um exemplo de amarração de escopoDefine a visibilidade de identificadores em determinado escopo.
- 34Por que protótipos de funções são úteis em C?São úteis para referências circulares, permitindo que o compilador conheça a assinatura das funções antes de sua implementação.
- 35Qual a vantagem da abordagem do C para valores booleanos?Permite operações numéricas com valores booleanos.?
Eficiência - 36Qual a vantagem da abordagem do Java para valores booleanos?Maior clareza e segurança, evitando confusão entre números e valores lógicos
- 37O que é e dê um exemplo de produto cartesiano em CCombina diferentes tipos de dados.
- 38O que é e dê um exemplo de união em CPermite que diferentes tipos de dados ocupem o mesmo espaço de memória.
- 39O que é e dê um exemplo de mapeamento em CAssocia índices a valores

- 40O que é e dê um exemplo de tipo recursivo em CUm tipo que contém uma referência a si mesmo.

Informações
- Descrição
- FlashCards sobre Prova de LP, criado por Stefan Taiguara em 02-11-2024.
- Criado por
- Stefan Taiguara
- Visualizações
- 8
- Avaliação