O GoConqr está de visual novo! Conte para nós o que você achou.

Flashcards

LP Prova 01

Ana Flavia Marcondes Bomfim Português 54 flashcards

Flashcards do conjunto (54)

  1. 1O que é uma LP?É um instrumento utilizado por profissionais de computação para escrever programas
  2. 2As primeiras linguagens de programação eram de baixo nível ou de máquina. Por quê isso era um problema?- Conjunto pequeno de instruções;
    - Uso exclusivo de um computador específico;
    - Redução da produtividade dos programadores, além de impedir a ampla disseminação dos computadores.
  3. 3Quais as razões para estudar uma LP?- Maior habilidade de usar LPs
    - Maior habilidade de escolher LPs
    - Maior habilidade de projetar LPs
    - Maior habilidade de aprender LPs
    -maior capacidade de desenvolver soluções computacionais
  4. 4Defina legibilidade e dê exemplos de coisas que podem afetar nessa propriedade.É a facilidade de olhar um código, ler e entender o que ele significa.
    - Marcadores de blocos;
    - Desvio incondicional;
    - Duplicação de vocábulos;
    - EFEITOS COLATERAIS.
  5. 5Defina redigibilidade e dê exemplos de coisas que podem afetar nessa propriedade.Quanto se deve escrever para expressar uma ideia.
    - Tipos de dados limitados;
    - Ausência de tratamento de exceções;
    - Conflito com legibilidade.
  6. 6Defina confiabilidade e dê exemplos de coisas que podem afetar nessa propriedade.Mecanismos que a LP têm para a construção de programas confiáveis.
    - Tratamento de exceções;
    - Declaração de tipos.
  7. 7Defina eficiência e dê exemplos de coisas que podem afetar nessa propriedade.Está relacionada a utilização de recursos computacionais.
    - Pode entrar em conflito com a confiabilidade;
    - Menor utilização da memória;
    - Menor tempo de acesso a periféricos e execução.
  8. 8Dê exemplos de coisas que podem afetar a facilidade de aprendizado;- Linguagens com recursos até demais, excesso de características;
    - Uso extensivo de conceitos de NÍVEL IMPLEMENTACIONAL.
  9. 9Defina ortogonalidadeÉ o programador conseguir fazer combinações de conceitos básicos sem que isso gere algum defeito.
  10. 10Defina reusabilidade e dê exemplos de coisas que podem afetar nessa propriedade.É reutilizar um código para diferentes aplicações.
    - Funções genéricas;
    - Bibliotecas.
  11. 11Defina modificabilidadeÉ a facilidade de alterar o programa sem precisar modificar várias outras partes.
  12. 12Defina portabilidadeÉ interessante que um programa aja da mesma maneira independendo da máquina, arquitetura e tradutor.
    Adicionar muito rigor ao projeto da linguagem pode ajudar, mas isso é algo que irá contrastar com a eficiência.
  13. 13O que é a especificação de uma LP?Especificação é um documento onde o léxico, a sintaxe e a semântica de uma linguagem estão definidas.
  14. 14Explique compilação e cite seus benefícios e defeitos.Todo o código de fonte é traduzido em uma linguagem de máquina e, uma vez traduzido, pode ser executado diretamente.
    - Eficiência: Não precisa fazer traduções e, por visualizar todo o código, consegue fazer otimizações
    - Portabilidade e depuração
  15. 15Explique interpretação pura e cite seus benefícios e defeitos.Basicamente, cada instrução do código fonte é traduzida para a linguagem de máquina quando essa instrução necessita ser executada. Imediatamente após a tradução, o código gerado é executado.
    - Prototipação e depuração;
    - Problemas na eficiência deviso a uso de memória e é maior o tempo de execução.
  16. 16Explique interpretação híbrida e cite seus benefícios e defeitos.Primeiro é feita a compilação e depois a interpretação.
    Eficiência intermediária (O código intermediário é mais simples de interpretar) e portabilidade
  17. 17Explique o paradigma imperativo e todos aqueles que se enquadram nele- O foco é especificar como o processamento deve ser feito.
    Paradigma estruturado: incentiva o uso de blocos e utiliza um modelo de programação TOP-DOWN
    Paradigma OO: traz conceitos como classes, objetos, heranças e polimorfismo. O enfoque é nos elementos folhas.
    Paradigma concorrente: Vários processos concorrendo por recursos ao mesmo tempo.
  18. 18Explique o paradigma declarativo e todos aqueles que se enquadram neleEspecifica o quê deve ser feito. As variáveis são incógnitas o que ressalta uma característica de imutabilidade.
    - Paradigma funcional: O objetivo é definir uma função que retorne um valor como resposta de um problema
    - Paradigma lógico: Otimização de tabelas verdade.
  19. 19O que é amarração?Associação entre entidades de programação.
  20. 20Diferencie amarração dinâmica de estáticaÉ definido pela execução, ou seja, todas as amarrações definidas antes da execução são estáticas e, durante, são dinâmicas.
  21. 21Defina palavras chave, palavras reservadas e palavras pré-definidas- Dependendo de onde estão localizadas, são palavras que podem ser usadas como identificadores;
    - São palavras inacessíveis ao programador para usar de identificador;
    - São palavras que já estão amarradas, porém podem ser sobrescritas.
  22. 22O que é um ambiente de amarração?Conjunto de amarrações de identificadores que estão válidas em um determinado trecho de código.
  23. 23Defina escopo de visibilidadeSão os trechos de código em que uma certa amarração pode ser vista
  24. 24Defina escopo estáticoA a escrita dos blocos e como eles estão escritos no programa é que define o escopo.
    - Amarrações verificadas em tempo de compilação
  25. 25Defina escopo dinâmicoNo escopo dinâmico o que define escopo é a sequência de chamadas, ou seja, depende de onde vai passando. É determinado em tempo de execução
    - Afeta na eficiência, legibilidade, confiabilidade...
    - Utilizado por LPs script
  26. 26Por que constantes são só declaradas?As amarrações são feitas entre identificadores e valores pré definidos, que já fazem parte da linguagem.
  27. 27Dê exemplo de definição e declaração de tipos.Definição: usar strcuts, enum e unions para poder criar novos tipos e amarrá-los a um identificador
    Declaração: usar o typedef para acrescentar identificador de um tipo já existente
  28. 28O que é composição por definição e compostas recursivas?Definições podem ser compostas a partir de outras definições ou a partir delas mesmas;
  29. 29O que é um tipo de dado?É um conjunto de valores que exibem comportamento uniforme nas operações associadas
  30. 30O que são tipos primitivos?São aqueles que os valores não podem ser decompostos em tipos mais simples.
  31. 31Por que tipos primitivos podem gerar problemas em algumas LPs?Tipos Primitivos costumam ser definidos na implementação da LP. Logo,
    limitações e variações de hardware podem fazer com que diferentes implementações possuam conjunto de valores diferentes para um mesmo
    tipo de uma LP. Isto prejudica a portabilidade dos programas nestas LPs.
  32. 32Cite tópicos importantes relacionados ao tipo inteiro.Em C os intervalos são definidos na implementação do compilador, ou seja, muda dependendo do tamanho da palavra. -> Eficiência
    Em Java, no entanto, o intervalo é definido na definição da própria LP.-> Portabilidade
  33. 33Cite tópicos importantes relacionados ao tipo caractere.- Todo caractere é representado por códigos numéricos em um computador e, para isso, existem diversas tabelas que fazem essa tradução.
    - Em algumas linguagens como PASCAL e MODULA oferecem o tipo char
    - EM C char é tratado como um inteiro
  34. 34Cite tópicos importantes relacionados ao tipo booleano.- Possui dois valores -> verdadeiro e falso
    auxilia na legibilidade
    - Em C, não se tem o tipo booleano, no entanto, valores iguais a 0 são considerados verdadeiros e, diferentes, falsos. Com isso qualquer expressão numérica pode ser usada como condicional.
    - Normalmente é gasto o tamanho de uma palavra para que seja usado só 1 bit
  35. 35Cite tópicos importantes relacionados ao tipo ponto flutuanteModela os números reais, mas com uma representação finita
    Divide os bits ocupados entre sinal, parte inteira e parte decimal
    Float: 32, Double: 64
  36. 36Cite tópicos importantes relacionados ao tipo ponto enumerado- O programador pode criar um novo tipo a partir da enumeração, aumenta a legibilidade e confiabilidade.
    - Java não inclui esse tipo
    - Os valores vão ter uma conexão direta com o tipo inteiro e podem ser usados como tais.
  37. 37Fale um pouco sobre os tipos compostos:- Podem ser criados a partir de tipos mais simples ou por outros tipos compostos
    - Entendidos em termos de conceitos, ou seja, utilizamos termos matemáticos para explicar como estas estruturas podem ser construídas e organizadas.
  38. 38Como é representado o produto cartesiano nas LPs? Como é calculado sua cardinalidade?Em C, por exemplo, são as estruturas. O valor resultante do tipo composto é uma tupla, com elementos dos tipos que compõem a estrutura.
    - São utilizamos seletores para acessar componentes que estão dentro de uma tupla.
    Em LPs OO, produtos cartesianos são definidos a partir do conceito de classe.
    Cardinalidade: #(Tipo1 x Tipo2 x Tipo3) = #Tipo1x#Tipo2x#Tipo3
  39. 39Como é representado o produto union nas LPs? Como é calculado sua cardinalidade?Consiste na união de valores de tipos distintos para formar um novo tipo de dados.
    - Em C, é representado pelo union, no entanto, há possíveis violações no sistema desse tipo, por isso Java não tem.
    - A cardinalidade é a soma das cardinalidades
  40. 40Como é representado mapeamentos finitos nas LPs? Como é calculado sua cardinalidade?- Através de vetores e matrizes;
    A cardinalidade em vetor é definida por T elevado ao conjunto domínio e a da matriz é T elevado ao domínio que é um produto cartesiano
  41. 41Quais são as 4 categorias de vetores?Vetores estáticos: são alocados no início do programa e permanece ali durante toda a execução. Estão no monte.Tempo de definição na compilação
    Vetores semi-estáticos são aqueles alocados na pilha sempre que o bloco onde estão declarados começa a ser executado. Tempo de definição na compilação
    Vetores semi-dinâmicos também são alocados na pilha, no entanto, o tamanho do vetor só é conhecido no tempo de alocação, sendo assim o tempo de definição é na execução
    Vetor dinâmico alocado no monte, pode ser alocado em qualquer momento e seu tamanho pode alterar
  42. 42Como funciona o mapeamento através de funções?- Funções podem ser usadas como parâmetros
    - Um mesmo mapeamento feito através de funções pode ser feito com diversos algoritmos
  43. 43Fale mais sobre tipos recursivosSão tipo em que seu valores são compostos pelos próprio tipos
    A cardinalidade é infinita
    Embora toda lista seja finita, ainda assim o conjunto de valores é infinitamente grande.
  44. 44Diferencia tipo ponteiro e tipo referênciaA diferença é o endereços serem ou não absolutos no HW
  45. 45Fale mais sobre o tipo stringPode ser considerado tipo primitivo, mapeamento finito ou tipo recursivo -> Não existe consenso sobre como deve ser tratado.
    Pode ser implementado de forma:
    Estática-> tamanho definido em tempo de compilação
    Semi-estática-> tamanho máximo definido em tempo de compilação;
    Dinâmica-> tamanho varia durante a execução
  46. 46O que é uma variável?É um espaço de memória que contém valor e é atualizado sempre que necessário.
  47. 47Quais são as propriedades das variáveis e constantes?Nome
    Endereço
    Sinonímia
    Valor
    Tempo de vida
    Tipo
    Escopo de visibilidade
  48. 48Fale mais sobre o tempo de vida das variáveis dinâmicas, globais e locais.Tempo que existem células de memória alocadas para a variável;
    Dinâmicas: não tem tempo definido;
    Glocais: Sempre;
    Locais: De resto depende do bloco;
  49. 49Quando estamos falando de um tipo de uma variável a declaração pode ser ...Explícita, sintática ou semântica
  50. 50O que são constantes pré definidas e declaradas pelo usuário?Constantes pré definido:
    São as constantes que definem os literais;
    Como são constantes que nunca podem ser alteradas não podem ser acessadas pelo usuário
    Constante declarada pelo usuário:
    Servem para aumentar a legibilidade e modificabilidade do programa
  51. 51Quais são os três tipos de armazenamentos da variável na memória prinicipal- Tempo de carga
    - Alocação Dinâmica Contígua no Vetor da Memória
    Lps ALGOL-like
  52. 52O que tem dentro do registro de ativação?Constantes locais
    Variáveis locais
    Parâmetros
    LE
    LD
    Endereço de retorno
  53. 53Fale mais sobre o gerenciamento do monteÉ feito através do LED e LEO
    Momento da alocação é sempre bem definido -> tem que estar claro que está alocando
    Desalocação:
    Programador
    LP: implementação mais complexa,mas a do JAVA é foda
  54. 54Fale sobre serialização e desserializaçãoVariável transiente deve ser convertida de sua representação na memória primária para uma sequência de bytes na memória secundária Ponteiros devem ser relativizados quando armazenados Variáveis anônimas apontadas também devem ser armazenadas e recuperadas Ao restaurar uma variável da memória secundária, ponteiros devem ser ajustados de modo a respeitar relações existentes anteriormente entre as variáveis anônimas Na conversão layout (estrutura) é perdido (sequência de bytes) e depois deve ser recuperado JAVA oferece, C++ não (nativamente)

Informações

Descrição
FlashCards sobre LP Prova 01, criado por Ana Flavia Marcondes Bomfim em 06-11-2024.
Visualizações
5
Avaliação

Fale Conosco

Sobre o que é sua mensagem?

O que você acha do novo visual?

Você gostou?