Baixe o app para aproveitar ainda mais
Prévia do material em texto
PROGRAMAÇÃO 1 1a. LISTA DE EXERCÍCIOS — Prof. Ricardo 1) Sobre linguagens de programação, responda: a) Que linguagem de programação tem dominado a computação científica nos últimos 60 anos? R: A linguagem de programação mais usada na computação científica últimos 60 anos é a Fortran. b) Que linguagem de programação tem dominado as aplicações de negócios nos últimos 60 anos? R: A linguagem de programação que tem dominado as aplicações de negocios últimos 60 anos é a COBOL. c) Que linguagem de programação tem dominado as aplicações a inteligência artificial nos últimos 60 anos? R: A linguagem de programação que tem dominado as aplicações a inteligência artificial nos últimos 60 anos é a Lisp. ———————————————————————————————————————— ——— 2) Qual é o nome da categoria de linguagens de programação cuja estrutura é ditada pela arquitetura de computadores von Neumann? R: São as linguagens imperativas, elas são paradigma de programação que descreve a computação como ações, enunciados ou comandos que mudam o estado (variáveis) de um programa. ———————————————————————————————————————— ——— 3) Quais são as vantagens de implementar uma linguagem com um interpretador puro? R: As correções são feitas de forma rápida e não se perde tempo de compilação já que a linguagem implementada seria lida e executada simultaneamente. ———————————————————————————————————————— ——— 4) Quais são os três métodos gerais de implementar uma linguagem de programação? R: Compilação, interpretaçãopura e Métodos Híbridos. ———————————————————————————————————————— ——— 5) O que é um apelido? R: É um identificador utilizados quando se é possivel ter um ou mais nomes definidos para acessar a mesma célula de memória. ———————————————————————————————————————— ——— 6) Após o projeto e a implementação de uma linguagem, quais são os quatro tipos de vinculações que podem ocorrer em um programa? R: Os quatros tipos são: Vinculação de nomes, Vinculação de tipos, Vinculação de valores e Vinculações estáticas e dinâmicas. ———————————————————————————————————————— ——— 7) O que é um ancestral estático de um subprograma? O que é um ancestral dinâmico de um subprograma? R: Ancestral Estático de um subprograma: Método para vincular nomes a variáveis não-locais, os ancestrais estáticos são todos os subprogramas até se chegar a declaração. Ancestral Dinamico de um subprograma: Seqüência de chamada de subprogramas, não em suas relações espaciais (temporal versus espacial). Assim o escopo pode ser determinado apenas em tempo de execução quando a procura por declarações locais falha, as declarações do pai-dinâmico (procedimento de chamada) são pesquisadas desta forma, sucessivamente e caso nenhuma declaração for encontrada em qualquer ancestral dinâmico haverá um erro em tempo de execução. ———————————————————————————————————————— ——— 8) Algumas linguagens de programação não têm tipos. Quais são as vantagens e desvantagens óbvias da ausência de tipos em uma linguagem? R: Apesar de praticamente todas as linguagens de programação usar variáveis para gerenciar dados , um punhado são typeless , o que significa que eles não exigem que você especifique o texto , números, datas ou outros tipos de dados , juntamente com o nome da variável . No entanto, enquanto isso faz com que as línguas não- tipificados mais fácil de aprender, também faz manutenção e depuração de programas mais difícil. Digitado e Variáveis typeless, em uma linguagem tradicional, digitado, um programador cria variáveis , especificando um nome e o tipo de dados a variável detém. Por exemplo, em COBOL, uma variável para armazenar um nome de cliente poderia ser chamado de " CUST -NAME . " COBOL especifica o tipo de dados com a cláusula "PICTURE" , e um tipo de dados de texto alfabética é um "X " toda a especificação pode ler, " 05 CUST-NAME PICTURE X (30)" para anular 30 caracteres de armazenamento para o campo. Outros tipos de dados incluem inteiros, datas e números com pontos flutuantes decimais. Uma variável typeless , pelo contrário, tem apenas um nome. Mais fácil de aprender. Um estudante pegando sua primeira linguagem de programação pode encontrar um typeless alguém como TCL mais fácil para resolver do que uma linguagem digitada tradicional, como Java. Ela não tem que gastar tempo aprendendo as diferenças entre os diferentes tipos de dados , a linguagem gerencia automaticamente os tipos de dados internamente , e funções como " expr " também determinar o que o programa faz com variáveis. Falta de clareza lendo programa de outra pessoa Alguém pode ter dificuldade em entender uma linguagem typeless . Porque as variáveis não são definidos com um tipo , o uso de variáveis de texto e aritmética se torna mais ambíguo e potencialmente confuso. Um programador pode reduzir isso um pouco , incluindo comentários bem escritos para o código que descrevem como ele usa as variáveis para realizar uma tarefa . Melhores escolhas para nomes de variáveis também fazer a diferença ; " . Aniversário " nomes vagos, como "x ", " cust1 " ou " d" transmitir menos significado do que " customer_name ", " total_sales " e alterações mais rápidos. Sem a necessidade de definir e redefinir os tipos , os programadores podem fazer alterações ao código existente em menos tempo. Você pode atualizar um módulo ou função , sem ter que alterar as definições das variáveis ou outro código que utiliza as mesmas variáveis. Em geral , as línguas não-tipificados têm tempos de viagem mais rápido e volta entre alterar o código e ver a mudança. Esta é uma vantagem para programas utilitários simples escritas em tempo real para resolver problemas imediatos , bem como projetos maiores voltados para tarefas de longo prazo. Erros em tempo de execução < p > Embora a criação de variáveis com tipos de dados é mais trabalho , ele tem a vantagem de melhor confiabilidade. Os tipos de dados impor regras que a língua usa para sinalizar possíveis erros . Em uma linguagem digitada , por exemplo , você não pode multiplicar-se uma seqüência de texto por outro , a linguagem lhe dá um erro de sintaxe, forçá-lo a corrigir o erro. Em uma linguagem typeless , pode equivocadamente atribuir texto a variáveis destinados a números, fazendo com que o programa em execução a falhar.
Compartilhar