Julgue as seguintes afirmações sobre os principais algoritmos de ordenação. 2

I. O heapsort possui complexidade O(n ) no pior caso. Apesar disso, é o algoritmo mais eficiente para a grande maioria das situações. Ele é um algoritmo recursivo e demanda uma pequena quantidade de memória adicional em sua implementação.

II. O quicksort possui sempre em tempo proporcional a n logn, mesmo que o arquivo esteja completamente desordenado. Por esta razão, é recomendado para aplicações que não podem tolerar variações no tempo esperado de execução. Finalmente, o algoritmo não requer memória adicional para sua implementação.

III. O algoritmo de ordenação por inserção possui implementação simples e tem custo linear, quando se deseja adicionar elementos a um arquivo já ordenado e obter como resultado um outro arquivo ordenado.

Escolha a alternativa que indica a(s) afirmação(ões) CORRETA(s).

Julgue as seguintes afirmações sobre CVS (Sistema de Controle de Versões).

I. O CVS é utilizado para manter diversas versões do código fonte, mas não pode ser utilizado para controlar versões de código objeto, pois para isso teria que levar em consideração a arquitetura-alvo para a qual o programa foi compilado.

II. Através do CVS, diversos clientes podem editar cópias do mesmo projeto de maneira concorrente. Quando eles confirmam suas alterações, o servidor tenta fazer uma fusão delas.

III. O CVS mantém o histórico das alterações nos arquivos de um projeto. Porém, não é possível recuperar as versões antigas dos arquivos, pois a idéia do CVS é manter apenas um registro das modificações em cada versão. Portanto, é necessário usar o CVS acompanhado com um sistema de backup.

Escolha a alternativa que indica a(s) afirmação(ões) CORRETA(s).

Julgue as seguintes afirmações sobre gerência de processos em sistemas operacionais.

I. Threads são processos leves, criados a partir de um processo convencional. Todos os threads em um processo compartilham a mesma área de endereçamento, variáveis globais, arquivos abertos. Por outro lado, o contador de programa e o estado são itens privativos de cada thread.

II. Muitos sistemas operacionais multiprocessados utilizam uma variável especial, chamada semáforo, para controlar o acesso ao processador entre os vários processos ativos na memória.

III. Um algoritmo de escalonamento preemptivo escolhe um processo e inicia sua execução até que o processo seja bloqueado - aguardando por um outro processo ou por uma operação de entrada e saída - ou até que o processo decida liberar a CPU. Ou seja, o escalonador não interrompe a execução do processo.

Escolha a alternativa que indica a(s) afirmação(ões) CORRETA(s):

Avalie a seguinte consulta SQL e escolha a alternativa que indica de forma CORRETA o resultado da mesma.

SELECT F.NOME, F.SOBRENOME

FROM FUNCIONARIO F

WHERE F.CPF IN (SELECT FUN_CPF

FROM DEPENDENTE

WHERE FUN_CPF=F.CPF AND

SEXO=F.SEXO)

Julgue as seguintes afirmações sobre a técnica de acesso hash.

I. Cada registro armazenado é colocado em uma localização de memória, cujo endereço é computado como função de algum campo daquele registro.

II. A técnica hash promove um significativo aumento no tempo de acesso, apesar de consumir mais memória que as técnicas de acesso tradicionais, que utilizam tabelas.

III. Na técnica de acesso hash, a seqüência física de registros no arquivo armazenado é sempre igual à seqüência estabelecida pela chave primária.

Escolha a alternativa que indica a(s) afirmação(ões) CORRETA(s).

Julgue as seguintes afirmações sobre gerência de memória em sistemas operacionais.

I. O conceito de memória virtual, associado à técnica de gerenciamento de memória conhecida como paginação, permite que processos executem mesmo que estejam parcialmente carregados na memória principal.

II. Uma tabela de páginas é uma estrutura utilizada para mapear os endereços virtuais das páginas em endereços físicos.

III. As páginas usadas na técnica de paginação não são visíveis ao programador. Por outro lado, um segmento utilizado na técnica de segmentação é uma entidade lógica, que o programador conhece e usa. Um segmento pode conter um procedimento, um vetor, uma pilha, mas geralmente não armazena uma mistura de diferentes tipos de componentes.

Escolha a alternativa que indica a(s) afirmação(ões) CORRETA(s).

Julgue as seguintes afirmações sobre o sistema operacional Windows.

I. Todas as versões do Windows suportam bibliotecas compartilhadas, chamadas DLLs (dynamic link libraries - bibliotecas de ligação dinâmicas). A principal motivação para criação dessas bibliotecas foi economizar espaço físico de memória. Pois, mesmo com vários programas de aplicação mapeando a mesma DLL, é preciso ter apenas uma cópia do código da DLL na memória física.

II. Todo sistema de janelas e a GUI fazem parte do núcleo do Linux. Já no Windows, isso não acontece em nenhuma versão. No Windows, a GUI é simplesmente um processo do usuário.

III. A filosofia da API Win32 é completamente diferente da filosofia do Linux. Na API, Win32, as chamadas ao sistema são todas conhecidas e compõem uma interface mínima: a remoção de apenas uma delas reduzirá a funcionalidade do sistema operacional.

Escolha a alternativa que indica a(s) afirmação(ões) CORRETA(s):

Julgue as seguintes afirmações sobre conceitos de banco de dados.

I. A utilização de indexação na base de dados gerenciada por um SGBD é de fundamental importância, pois acelera as tarefas de recuperação, inserção e remoção de dados, com conseqüente elevação no desempenho global do SGBD.

II. Uma relação R está na terceira forma normal (3FN) se, e somente se, os atributos não chave de R (se houver) forem: (a) mutuamente independentes, e; (b) totalmente dependentes da chave primária de R. I

II. Uma propriedade importante dos Banco de Dados Orientados a Objetos define que é possível adicionar novos tipos ao conjunto de tipos existentes no sistema e que não há distinção entre estes, e os novos tipos definidos pelo usuário. Esta propriedade é conhecida como generalização.

Escolha a alternativa que indica a(s) afirmação(ões) CORRETA(s).

Julgue as seguintes afirmações sobre elementos de linguagens orientadas a objetos.

I. Construtores/inicializadores são operações especiais responsáveis por iniciar a execução de uma aplicação orientada a objetos.

II. Atributos são informações que definem as características que um objeto terá. Por exemplo, nome e cpf, para objetos que representem pessoas.

III. Métodos são responsáveis por definir qual será o comportamento dos objetos de uma classe. Em uma aplicação bancária típica, objetos que representam contas correntes teriam métodos como transferir, saldo e número.

Escolha a alternativa que indica a(s) afirmação(ões) CORRETA(s).

Julgue as seguintes afirmações sobre a estrutura de dados básicas.

I. A implementação de listas lineares, utilizando ponteiros, oferece, geralmente, um mecanismo mais lento para acesso aos dados, se comparado com os vetores (arrays).

II. A implementação de listas lineares, utilizando vetores, oferece, geralmente, um mecanismo mais lento para remoção de dados, se comparado com os ponteiros.

III. Uma fila é uma lista linear em que todas as inserções são realizadas em um extremo da lista, e todas as retiradas e geralmente os acessos ocorrem no outro extremo da lista. A contrário da pilha, que necessita de um vetor (array) para sua implementação, a fila é sempre implementada, utilizando listas encadeadas.

Escolha a alternativa que indica a(s) afirmação(ões) CORRETA(s).

Julgue as seguintes afirmações sobre CSS.

I. CSS é uma linguagem de estilo utilizada para definir a apresentação de documentos escritos em uma linguagem de marcação, como HTML ou XML.

II. Diferente de XML e HTML, CSS contém apenas informações sobre a apresentação (formato) de um documento. Isto permite a separação entre o dado e a forma como o mesmo será apresentado.

III. O código em CSS abaixo define que a fonte padrão de uma página que use tal estilo será Arial, caso não exista substitui por Verdana. Além disso, define a cor de fundo do corpo da página. body { font-family: Arial, Verdana; backcolor: #FFF; }

Escolha a alternativa que indica a(s) afirmação(ões) CORRETA(s):

Julgue as seguintes afirmações sobre a estrutura de dados árvore-B.

I. Uma árvore de busca multidirecional e balanceada, de ordem n, em que cada nó, com exceção da raiz da árvore, contém pelo menos n/2 (leia-se n dividido por 2) chaves, é chamada de árvore-B.

II. Apesar de ser uma árvore balanceada, a árvore-B pode conter nós folha (nós que não contêm filhos) em níveis diferentes da árvore.

III. As árvores-B são muito utilizadas como estrutura de armazenamento em sistemas de banco de dados.

Escolha a alternativa que indica a(s) afirmação(ões) CORRETA(s).

Julgue as seguintes afirmações sobre JavaScript.

I. JavaScript é fortemente tipada.

II. JavaScript é uma linguagem interpretada.

III. JavaScript é uma linguagem de script utilizada no desenvolvimento de páginas web para executar ações como abrir novas janelas e realizar validações em formulários.

Escolha a alternativa que indica a(s) afirmação(ões) CORRETA(s):

Julgue as seguintes afirmações sobre HTML.

I. HTML é uma linguagem para definição de páginas web, baseada em marcações (tags) que definem a estrutura das informações em um documento, como cabeçalho, parágrafos e tabelas, dentre outros.

II. As marcações de HTML são compostas de diferentes tipos de entidades, incluindo: atributos e elementos.

III. HTML permite a definição de hiperlinks que apontam para outros documentos através do atributo ancora, informando no elemento "href" do mesmo o endereço do documento desejado.

Escolha a alternativa que indica a(s) afirmação(ões) CORRETA(s).

Julgue as seguintes afirmações sobre o modelo OSI da ISO.

I. O objetivo do nível de rede é fornecer ao nível de enlace uma independência em relação às questões de chaveamento e roteamento associadas com o estabelecimento e operação de uma conexão de rede.

II. O objetivo do nível de transporte é garantir que os pacotes cheguem ao seu destino e que os pacotes sejam entregues na seqüência original de transmissão. Ou seja, o nível de transporte foi criado para fornecer uma comunicação fim a fim confiável.

III. No nível de aplicação são definidas funções de gerenciamento e mecanismos genéricos que servem de suporte à construção de aplicações distribuídas.

Escolha a alternativa que indica a(s) afirmação(ões) CORRETA(s).

Julgue as seguintes afirmações sobre linguagem SQL.

I. SQL é uma linguagem de definição, consulta e atualização de dados.

II. Dentre os vários comandos da linguagem, estão comandos para criar, remover e modificar tabelas, que são respectivamente: createtable, droptable e altertable.

III. Um exemplo de consulta SQL é a seguinte: SELECT NOME FROM FUNCIONARIO WHERE SALARIO > 10000 a qual retorna a lista de nomes de funcionário com um salário superior a 10.000,00.

Escolha a alternativa que indica a(s) afirmação(ões) CORRETA(s):

Julgue as seguintes afirmações sobre programação orientada a objetos.

I. Um dos pontos fortes da orientação a objetos é a possibilidade de utilizar conceitos mais intuitivos para modelar os sistemas, ao invés de funções ou instruções de máquina.

II. O principal conceito de orientação a objetos é o de Classe, que é a entidade que representa a abstração de uma função da programação funcional ou de um procedimento da programação imperativa.

III. Java, C# e Smalltalk são exemplos de linguagens orientadas a objetos.

Escolha a alternativa que indica a(s) afirmação(ões) CORRETA(s).

Escolha a alternativa INCORRETA sobre os conceitos de programação orientada a objetos.

Julgue as seguintes afirmações sobre a API Win32.

I. É comum ouvir dizer que o Windows 2000 é um sistema operacional orientado a objetos, porque a única maneira de manipular objetos é invocando operações sobre seus manipuladores por meio de chamadas à API Win32. Por outro lado, faltam a ele algumas propriedades básicas dos sistemas orientados a objetos, como herança e polimorfismo.

II. Muitas chamadas da API Win32 criam objetos no núcleo, dentre as quais as chamadas para criação de arquivos, processos e threads. Como resultado, pode-se dizer que um arquivo em disco, um processo e um thread são, de fato, objetos do Windows 2000.

III. Não há chamadas Win32 para aplicações GUI lerem a entrada do teclado, pois as aplicações GUI são orientadas a eventos. 4 

Escolha a alternativa que indica a(s) afirmação(ões) CORRETA(s).