WorksheetsCapítulo 1: Introdução à Ciência da Computação
Total questions: 96
Worksheet time: 48mins
Qual definição descreve melhor Ciência da Computação no contexto apresentado?
Disciplina focada somente em linguagens de programação
Conjunto de atividades de desenvolver e usar computadores
Estudo apenas de hardware físico dos computadores
Área restrita à automação de processos industriais
Qual é a atuação principal do profissional de Ciência da Computação segundo o texto?
Operar equipamentos hospitalares avançados
Desenvolver sistemas combinando hardware e software
Gerir projetos financeiros de empresas
Criar obras artísticas e peças de entretenimento
Quais fatores impulsionaram o avanço das atividades de Computação na sociedade?
Novas tecnologias de armazenamento de dados
Processadores mais velozes e novos periféricos
Queda dos preços de hardware ao longo do tempo
Redução de aplicações em telecomunicações
Associe áreas de aplicação a exemplos de facilidades trazidas pelo uso de computadores.
Serviços bancários
Operações eletrônicas e automação financeira
Telecomunicações
Comutação e serviços digitais de comunicação
Transporte aéreo
Sistemas de reservas e emissão de passagens
Meteorologia
Modelagem e previsão do tempo
O que define a arquitetura de computador conforme o texto?
O tipo de sistema operacional utilizado no usuário final
A marca comercial do processador instalado
Parâmetros e organização dos componentes do computador
A presença exclusiva de memória cache de alta velocidade
Quem foi responsável por introduzir a ideia de cartões perfurados no processamento de dados do censo dos Estados Unidos no fim do século XIX?
Blaise Pascal, matemático francês
Charles Babbage, engenheiro britânico
Herman Hollerith, inventor americano
Howard Aiken, pesquisador da Harvard
Qual característica marcante das máquinas de calcular mecânicas com relés, como as Bell a relé, era apontada como vantagem?
Altíssima velocidade de cálculo
Capacidade de multiprogramação
Baixo consumo de energia
Funcionamento mesmo com pequenos erros
A máquina de Pascal (1642) era baseada em discos com quantos dígitos por disco?
Dois dígitos por disco
Doze dígitos por disco
Cinco dígitos por disco
Dez dígitos por disco
Relacione o pioneiro ao respectivo feito ou conceito.
Blaise Pascal
Máquina de calcular mecânica com discos
Charles Babbage
Máquina de diferenças para cálculos
Herman Hollerith
Cartões perfurados no censo
John Von Neumann
Programa armazenado e I/O por cartões
Qual foi uma limitação dos primeiros computadores mecânicos de geração zero?
Presença de multiprocessamento
Uso de transistores de silício
Grande rigidez quanto aos programas
Alta flexibilidade de programação
Qual inovação conceitual atribuída a Von Neumann tornou os computadores mais flexíveis e versáteis?
Arquitetura Harvard separada
Programa armazenado na memória
Pipeline de instruções avançado
Virtualização de dispositivos
Quais são características típicas dos computadores de segunda geração?
Cartões perfurados como memória principal
Velocidade maior e custo menor
Uso de transistores discretos
Menor dimensão física dos componentes
Durante a terceira geração, que conceito operacional tornou-se comum nos grandes sistemas como o IBM 360?
Aprendizado de máquina embutido
Multiprogramação com troca de tarefas
Armazenamento óptico avançado
Computação em nuvem pública
Na terceira geração, a modularidade permitia o quê nos computadores?
Executar instruções com IA
Eliminar completamente a memória secundária
Modificar a configuração conforme necessidades
Substituir válvulas por relés
Quais equipamentos periféricos se popularizaram junto ao ENIAC e projetos subsequentes?
Monitores LCD coloridos
Impressoras mecânicas
Leitores de cartões
Unidades de fita magnética
Associe a geração de computadores à tecnologia predominante.
Primeira geração
Válvulas eletrônicas
Segunda geração
Transistores discretos
Terceira geração
Circuitos integrados
Quarta geração
VLSI (integração em larga escala)
Qual foi um resultado econômico da tecnologia VLSI nos anos 80?
Aumento drástico de preços
Impossibilidade de computadores pessoais
Queda de preços e popularização
Substituição total dos transistores
Entre 1980 e adiante, o aumento do número de transistores por pastilha levou a quê?
Computadores maiores e mais lentos
Retorno aos relés eletromecânicos
Computadores menores e mais poderosos
Eliminação das memórias cache
Qual vantagem dos computadores IBM 7040/7090 na segunda geração atraiu adoção comercial?
Custo bastante inferior aos predecessores
Capacidade de multiprogramação plena
Uso de válvulas de alto desempenho
Arquitetura de programa armazenado
Qual é a função principal da Unidade Lógica e Aritmética (ALU) em um computador?
Fornecer energia e resfriamento ao sistema
Controlar dispositivos de entrada e saída
Armazenar programas e dados permanentes
Executar operações lógicas e aritméticas
O que significa o 'tamanho da palavra' em arquiteturas de computadores binários?
Quantidade de bits por unidade de dados
Número de instruções por segundo
Capacidade total da memória principal
Velocidade do relógio da CPU
Assinale as afirmações corretas sobre memória cache e memória secundária.
Secundária sempre é volátil
Cache tem baixo tempo de resposta
Secundária é usada para armazenamento prolongado
Cache é integrada ao processador
Em geral, quanto maior o tamanho da palavra de um microprocessador, maior é:
O potencial de cálculo e precisão
O risco de perder dados na memória
A dependência de dispositivos de entrada
A necessidade de cartões perfurados
A velocidade de cálculo está diretamente relacionada a qual parâmetro do hardware?
Tamanho físico do gabinete
Tipo de monitor utilizado
Número de portas USB
Frequência do relógio da CPU
Quais operações os primeiros processadores suportavam predominantemente?
Operações criptográficas avançadas
Adição e subtração básicas
Processamento gráfico dedicado
Multiplicação matricial complexa
Classifique os tipos de memória pelos seus usos típicos.
Memória principal
Execução de programas em tempo de trabalho
Memória secundária
Armazenamento de dados por longos períodos
Memória cache
Pequena porção rápida integrada ao processador
As unidades de armazenamento internas são subdivididas em:
Palavras compostas por bits
Arquivos e pastas do usuário
Blocos fixos de 1024 bytes
Registros apenas de 4 dígitos
Sobre a evolução dos processadores, qual afirmação está correta?
Número de bits por palavra diminuiu sempre
Conjunto de operações suportadas aumentou
ALU deixou de executar operações lógicas
Velocidade independe do relógio interno
No diagrama de composição básica, quais blocos principais aparecem conectados?
Fonte de alimentação
Unidade Lógica e Aritmética
Unidade de Controle
Memória
Qual é uma consequência prática do aumento da frequência do relógio da CPU nos últimos anos?
Redução da memória necessária
Maior velocidade de processamento
Menor tamanho dos monitores
Mais portas de rede necessárias
Qual é a unidade básica de informação usada nas palavras de dados e instruções?
Palavra com valores 0 a 65535
Nibble com valores 0 a 15
Byte com valores 0 a 255
Bit com valores 0 ou 1
Na comunicação paralela, qual característica distingue sua implementação física?
Necessidade de modems para funcionar
Uso de um único fio para todos os bits
Transmissão de bits através de múltiplos fios
Sequenciamento de dados em uma única via
Sobre comunicação serial, qual alternativa está correta?
Bits enviados simultaneamente por várias vias
Bits enviados sequencialmente por uma única via
Bits agrupados em palavras com vários fios
Bits controlados exclusivamente pela unidade de controle
Quais dispositivos são exemplos típicos que podem operar em políticas de comunicação serial?
Mouse de computador
Teclado mecânico
Modem de conexão
Impressora de escritório
Qual é o papel principal da Unidade de Controle dentro do sistema computacional?
Converter sinais analógicos em digitais
Gerenciar e coordenar as ações do computador
Executar operações aritméticas complexas
Armazenar dados temporários dos programas
Qual é a melhor definição de sistema computacional?
Apenas dispositivos eletrônicos físicos
Somente programas utilitários instalados
Associação de hardware e software
Conjunto de usuários e documentos
O que caracteriza o hardware em um computador?
Parte física de circuitos e dispositivos
Conjunto de programas executáveis
Serviços de rede e internet
Arquivos de dados do usuário
Qual afirmação descreve corretamente software?
Conjunto de programas do sistema
Energia elétrica consumida
Peças metálicas e circuitos
Conjunto de periféricos externos
Qual é a função principal do software de sistema (sistema operacional)?
Prover apenas compressão de arquivos
Executar somente jogos e entretenimento
Eliminar vírus automaticamente sempre
Oferecer acesso aos recursos do computador
Qual exemplo se alinha ao software utilitário?
Antivírus e compressão de arquivos
Editor de texto colaborativo
Driver de impressora proprietário
Sistema operacional completo
Qual é a melhor descrição de software aplicativo?
Programas voltados a tarefas específicas
Conjunto de instruções de máquina
Ferramentas internas do kernel
Bibliotecas de comunicação de rede
Em termos de programação, o que é um programa?
Somente dados armazenados na memória
Conjunto de componentes de hardware
Apenas um arquivo executável qualquer
Organização de operações com instruções
O que são instruções em programação?
Dispositivos de entrada e saída
Arquivos de configuração do sistema
Somente comentários no código
Comandos que expressam operações
Qual definição descreve linguagem de programação?
Coleção de periféricos e cabos
Tabela de endereços da memória
Manual de usuário do sistema
Conjunto limitado de instruções e regras
Qual é uma característica da linguagem de máquina?
Representação binária executada pelo hardware
Sintaxe próxima à linguagem natural
Portabilidade ampla entre processadores
Uso de palavras reservadas como READ
Por que programar diretamente em linguagem de máquina é impraticável?
Dificuldade e custo por processador
Ausência de operações de comparação
Impossibilidade de acessar memória
Falta de suporte a números inteiros
Associe cada mnemônico Assembly ao seu significado.
MOV R1,R2
Copia conteúdo de R2 para R1
ADD R1,R2
Adiciona conteúdos de R1 e R2
JMP 01
Salta para posição 01 do programa
CMP 00
Compara um valor com zero
Qual vantagem do Assembly em relação à máquina?
Sintaxe igual à linguagem natural
Independência total de hardware
Versão legível das instruções
Automação de tarefas complexas
Qual limitação típica ao programar em Assembly?
Ausência de qualquer mnemônico
Proibição de saltos condicionais
Impossibilidade de realizar comparações
Necessidade de conhecer detalhes do hardware
Qual característica define linguagens de alto nível?
Opera apenas em binário puro
Sintaxe próxima à linguagem natural
Usa instruções de oito a 64 bits
Exige mapeamento de registradores
Quais são exemplos clássicos de linguagens de segunda geração?
Fortran e Cobol
Algol e Basic
C e C++
Assembly e Máquina
Qual objetivo das linguagens estruturadas que surgiram nos anos 60?
Produzir código mais claro e estruturado
Eliminar completamente compiladores
Replicar a memória em múltiplos núcleos
Substituir todo software de sistema
Quais práticas associadas às linguagens estruturadas foram enfatizadas?
Evitar instruções problemáticas como go to
Dependência de registradores físicos
Uso de maiúsculas e minúsculas
Indentação consistente
Qual característica define linguagens de uso geral dentro da classificação de linguagens de programação?
Independência da área de aplicação considerada
Voltadas apenas para inteligência artificial
Exclusivo suporte a orientação a objetos
Aplicações específicas e domínio restrito
Entre as linguagens a seguir, qual é frequentemente citada como exemplo de linguagem especializada?
C com biblioteca padrão ampla
Prolog com foco em lógica declarativa
Java com robusto ecossistema OOP
Python com uso multiparadigma
Assinale todas as opções que descrevem corretamente linguagens orientadas a objeto.
Limitam-se a aplicações científicas específicas
Podem incluir exemplos como Smalltalk, Eiffel e Delphi
Exigem programação exclusivamente funcional
Fornecem mecanismos sintáticos e semânticos para OOP
Faça o pareamento entre o tipo de linguagem e um exemplo típico.
Uso geral
C
Especializada
Prolog
Orientada a objeto
Smalltalk
Na ilustração do desenvolvimento de um programa para verificar prestações de um financiamento, qual é a primeira preocupação do programador?
Codificar diretamente a solução proposta
Entender corretamente o problema a ser resolvido
Escolher a taxa de juros ótima do mercado
Implementar testes automatizados do sistema
Quais são as quatro etapas do desenvolvimento de um programa destacadas no texto?
Testes do sistema
Codificação do programa
Entendimento do problema
Definição da solução
Documentação completa
Em sistemas de grande porte, por que a formalização das etapas de desenvolvimento assume maior importância?
Porque reduz a necessidade de metodologias
Porque o grau de complexidade é alto
Porque elimina a documentação por completo
Porque dispensa subdivisão em etapas menores
Qual é o objetivo principal da etapa de Análise de Requisitos em um projeto de software?
Selecionar ferramentas de codificação específicas
Planejar testes automatizados detalhados
Definir a linguagem de programação usada
Entender completamente o problema e contexto
Na especificação de requisitos, qual item deve ser obrigatoriamente descrito no documento?
Cronograma de implantação definitivo
Escolha do banco de dados final
Treinamento dos usuários finais
Funções e desempenho do sistema
Qual prática ajuda a reduzir conflitos de comunicação entre cliente e programador na Análise de Requisitos?
Reuniões com usuários e estudo de documentos
Início imediato da codificação do sistema
Uso de testes unitários durante análise
Definição precoce da arquitetura física
Selecione os elementos que normalmente compõem a especificação de requisitos.
Dados de entrada e saída
Restrições ambientais
Algoritmos internos detalhados
Padrões de arquivos
Estrutura de módulos final
Qual é o produto típico ao final da Análise de Requisitos?
Plano de manutenção corretiva
Protótipo totalmente codificado
Relatório de testes de integração
Documento de especificação de requisitos
O que caracteriza o Projeto de Sistema (alto nível) na etapa de Projeto de Software?
Escrita de código executável inicial
Escolha da linguagem de programação final
Detalhamento dos algoritmos de cada módulo
Definição de componentes e suas interações
No Projeto Detalhado, qual foco é predominante?
Comportamento interno de cada módulo
Análise de mercado do produto
Treinamento de usuários finais
Modelagem financeira do projeto
Associe cada termo à sua descrição correta.
Particionamento do problema
Dividir o sistema em porções manipuláveis
Abstração
Representar o sistema sem detalhes internos
Documento de projeto
Resultado do planejamento da solução
Quais são vantagens do particionamento no projeto de software?
Reduzir complexidade percebida
Evitar revisões de projeto
Eliminar necessidade de requisitos
Facilitar definição de módulos
Manipular porções menores do sistema
Qual afirmação sobre abstração está correta?
Foca apenas em desempenho físico
Substitui totalmente o particionamento
Exige especificar todos os algoritmos finais
Representa o sistema sem detalhes internos
Qual é o objetivo da etapa de Codificação após o Projeto de Software?
Definir requisitos funcionais com o cliente
Representar o projeto em uma linguagem de programação
Planejar a manutenção preventiva do sistema
Especificar interfaces de alto nível do sistema
Durante a validação de requisitos, que prática é comum?
Revisão de requisitos com equipe incluindo cliente
Compilação do código para detectar erros
Escolha da ferramenta de versionamento
Teste de integração de módulos codificados
Quais itens pertencem ao entendimento do problema na Análise de Requisitos?
Linguagem de programação alvo
Entradas e saídas do sistema
Estruturas internas dos módulos
Objetivo das ações a aplicar
Características do sistema existente
Qual é uma saída direta da etapa de Projeto de Software antes da codificação?
Especificações em linguagem de projeto
Plano de testes de aceitação final
Manual do usuário completo
Contrato de manutenção corretiva
Na etapa de Codificação, qual prática visa facilitar entendimento e modificações do código?
Documentação apenas após a implementação
Programação estruturada aplicada linearmente
Refatoração constante sem planejamento
Uso exclusivo de comentários extensos
Qual objetivo principal dos testes de unidade?
Validar interfaces entre módulos
Coletar feedback de usuários finais
Verificar cada componente isoladamente
Avaliar requisitos do sistema completo
Associe cada tipo de teste ao seu foco principal.
Teste de unidade
Componente individual e seus erros de codificação
Teste de integração
Interfaces entre módulos e eventos de projeto
Teste de sistema
Atendimento aos requisitos definidos
Teste de aceitação
Validação pelo cliente ou usuário final
Quais itens costumam compor um plano de teste eficaz?
Lista de compras e orçamento
Resultados esperados por requisito
Recursos necessários e diretrizes
Condições de teste para módulos
Qual é a finalidade de um relatório de erros produzido na fase de teste?
Registrar horas trabalhadas pela equipe
Descrever erros encontrados e correções
Estimular a adoção de novas linguagens
Apresentar apenas casos de teste bem-sucedidos
Durante a Manutenção, o que caracteriza a manutenção corretiva?
Correção de erros observados em operação
Treinamento de usuários finais
Adaptação do software a novo ambiente
Melhoria de desempenho sem falhas
Em relação ao teste de sistema, escolha todas as afirmações corretas.
Depende da definição das interfaces
Verifica atendimento aos requisitos
Considera o sistema como um todo
Realiza-se antes de qualquer codificação
Por que a etapa de Teste tem grande importância na qualidade do software?
Substitui análise de requisitos por completo
Garante que não haverá manutenção
Evita necessidade de documentação técnica
Detecta erros de concepção e programação
Qual é a principal função de um editor de código na etapa de codificação?
Executar testes de desempenho
Linkar bibliotecas de subrotinas
Editar e preparar o código-fonte
Gerar código executável binário
Compiladores e montadores traduzem o código-fonte para qual representação?
Script de ligação
Diagrama de fluxo
Código-objeto binário
Bytecode interpretado
Por que o código-objeto não é diretamente executável pelo processador?
Falta de otimização adequada
Precisa ser interpretado por um editor
Não está em linguagem de alto nível
Não é auto-contido com todas as referências
Qual ferramenta reorganiza e incorpora referências ao código-objeto para gerar um executável?
Compilador de alto nível
Editor de texto avançado
Depurador interativo
Editor de ligação (linker)
Assinale a opção que melhor descreve a função dos depuradores (debuggers).
Traduzem programas para linguagem Assembly
Unem módulos em um executável final
Editam o código-fonte com realce de sintaxe
Auxiliam a eliminar bugs durante a execução
Qual ação não é típica de um depurador durante a análise do programa?
Execução passo a passo de instruções
Visualização de variáveis e registradores
Alteração de memória em tempo de execução
Compilação de módulos em linguagem C
Em qual etapa do desenvolvimento o uso de editores é mais associado?
Análise de requisitos
Codificação e escrita do código
Testes de aceitação
Implantação e manutenção
Match: relacione a ferramenta com sua função principal.
Editor de código
Edição do código-fonte
Compilador
Tradução para código-objeto
Linker
Geração de executável final
Depurador
Análise e correção de bugs
Qual afirmação sobre montadores (assemblers) é correta?
Traduzem programas escritos em Assembly
Interpretam código-fonte em tempo de execução
Substituem a função dos depuradores
Executam diretamente o código-objeto
Selecione todas as funcionalidades comumente oferecidas por depuradores.
Alteração de conteúdo de memória
Ligação de bibliotecas em binários
Visualização de estado por variáveis
Execução por instrução de trechos
Qual é o produto direto gerado por compiladores a partir de linguagens como C ou Pascal?
Código-objeto binário
Código-fonte otimizado
Executável pronto para distribuição
Arquivo de documentação
O que o linker faz com referências presentes no código-objeto?
Transforma referências em código Assembly
Converte referências em comentários
Rearranja e resolve referências, gerando executável
Ignora e remove referências externas
Qual ferramenta oferece realce de sintaxe e recursos gráficos para edição?
Depurador de baixo nível
Editor de ligação modular
Editor de código orientado a sintaxe
Compilador com otimizações
Por que é necessário traduzir o código-fonte antes de executar em um processador?
Para reduzir o número de arquivos
Porque o processador lê diagramas
Para facilitar a edição colaborativa
Porque o processador executa código binário
