Questões de Concurso Comentadas para sugep - ufrpe

Foram encontradas 899 questões

Resolva questões gratuitamente!

Junte-se a mais de 4 milhões de concurseiros!

Q766048 Direito Administrativo
Joaquim foi convocado para participar de um campeonato junto à equipe brasileira de voleibol, no exterior. Ocorre que, durante a sua viagem, Joaquim foi nomeado para um cargo público e não retornará ao Brasil dentro do prazo legal para tomar posse. Como ficará a situação de Joaquim perante o órgão para o qual foi nomeado?
Alternativas
Q766037 Português

TEXTO 1

A leitura

Várias vezes, no decorrer do último século, previu-se a morte dos livros e do hábito de ler. O avanço do cinema, da televisão, dos videogames, da internet, tudo isso iria tornar a leitura obsoleta. No Brasil da virada do século XX para o século XXI, o vaticínio até parecia razoável: o sistema de ensino em franco declínio e sua tradição de fracasso na missão de formar leitores, o pouco apreço dado à instrução como valor social fundamental e até dados muito práticos, como a falta e a pobreza de bibliotecas públicas e o alto preço dos exemplares impressos aqui, conspiravam (conspiram, ainda) para que o contingente de brasileiros dados aos livros minguasse de maneira irremediável. Contra todas as perspectivas, porém, vem surgindo uma nova e robusta geração de leitores no país, movida – entre outras iniciativas – por sucessos televisivos, como as séries Harry Potter e Crepúsculo.

Também para os cidadãos mais maduros abriram-se largas portas de entrada à leitura. A autoajuda (e os romances com fortes tintas de autoajuda) é uma delas; os volumes que às vezes caem nas graças do público, como A menina que roubava livros, ou os autores que têm o dom de fisgar o público com suas histórias, são outra. E os títulos dedicados a recuperar a história do Brasil, como 1808, 1822, ou Guia politicamente incorreto da História do Brasil, são uma terceira, e muito acolhedora, dessas portas.

É mais fácil tornar a leitura um hábito, claro, quando ela se inicia na infância. Mas qualquer idade é boa, é favorável para adquirir esse gosto. Basta sentir aquela comichão do prazer, da curiosidade – e então fazer um esforço para não se acomodar a uma zona de conforto, mas seguir adiante e evoluir na leitura. 

Bruno Meier. In: Graça Sette et al. Literatura – trilhas e tramas. Excerto adaptado.

No fragmento “de maneira irremediável” (1º parágrafo), o prefixo que consta em ‘irremediável’ tem o mesmo sentido dos prefixos que aparecem na série:
Alternativas
Q762270 Banco de Dados
considerar para sua resposta o banco de dados gerado pelos seguintes trechos de um script em SQL.

CREATE TABLE regioes (
 regiaoID CHAR(2) NOT NULL DEFAULT '',
 nomeRegiao VARCHAR(30) NOT NULL DEFAULT '',
 estadoRegiao VARCHAR(30) NOT NULL DEFAULT '',
 PRIMARY KEY (regiaoID)
);
CREATE TABLE vinicolas (
 vinicolaID INT UNSIGNED NOT NULL AUTO_INCREMENT,
 nomeVinicola CHAR(2) NOT NULL DEFAULT '',
 foneVincola INT UNSIGNED NOT NULL,
 regiaoID CHAR(2) NOT NULL DEFAULT '',
 PRIMARY KEY (vinicolaID),
 FOREIGN KEY (regiaoID) REFERENCES regioes (regiaoID)
);
CREATE TABLE vinhos (
 vinhoID INT UNSIGNED NOT NULL AUTO_INCREMENT,
 nomeVinho CHAR(2) NOT NULL DEFAULT '',
 tipoVinho VARCHAR(6) NOT NULL DEFAULT '',
 precoVinho DECIMAL(7,2) NOT NULL DEFAULT 99999.99,
 vinicolaID INT UNSIGNED NOT NULL,
 PRIMARY KEY (vinhoID),
 FOREIGN KEY (vinicolaID) REFERENCES vinicolas (vinicolaID)
)
INSERT INTO vinhos VALUES
 (10,'V1','tinto',100.00,1),
 (20,'V2','branco',200.00,1),
 (30,'V3','rose',300.00,1),
 (40,'V4','rose',350.00,2),
 (50,'V5','branco',250.00,2),
 (60,'V6','tinto',150.00,2),
 (70,'V7','tinto',397.00,3),
 (80,'V8','branco',333.00,3);
INSERT INTO vinicolas VALUES
 (1,'A1',1234,'R1'),
 (2,'A2',5234,'R1'),
 (3,'A3',6234,'R2'),
 (4,'A4',7234,'R2'),
 (5,'A5',8234,'R3');
INSERT INTO regioes VALUES
 ('R1','Vale S. Francico','Pernambuco'),
 ('R2','Zona da Mata','Pernambuco'),
 ('R3','Garibaldi', 'Rio Grande do Sul'),
 ('R4','Gramado','Rio Grande do Sul');

Assinale a alternativa que contém o resultado do comando SQL.


SELECT

tipoVinho AS `Tipo`,

MAX(precoVinho) `Max`,

MIN(precoVinho) `Min`,

CAST(AVG(precoVinho) AS DECIMAL(5,1)) AS `Média`

FROM vinhos

GROUP BY tipoVinho

WITH ROLLUP;

Alternativas
Q762269 Banco de Dados
considerar para sua resposta o banco de dados gerado pelos seguintes trechos de um script em SQL.

CREATE TABLE regioes (
 regiaoID CHAR(2) NOT NULL DEFAULT '',
 nomeRegiao VARCHAR(30) NOT NULL DEFAULT '',
 estadoRegiao VARCHAR(30) NOT NULL DEFAULT '',
 PRIMARY KEY (regiaoID)
);
CREATE TABLE vinicolas (
 vinicolaID INT UNSIGNED NOT NULL AUTO_INCREMENT,
 nomeVinicola CHAR(2) NOT NULL DEFAULT '',
 foneVincola INT UNSIGNED NOT NULL,
 regiaoID CHAR(2) NOT NULL DEFAULT '',
 PRIMARY KEY (vinicolaID),
 FOREIGN KEY (regiaoID) REFERENCES regioes (regiaoID)
);
CREATE TABLE vinhos (
 vinhoID INT UNSIGNED NOT NULL AUTO_INCREMENT,
 nomeVinho CHAR(2) NOT NULL DEFAULT '',
 tipoVinho VARCHAR(6) NOT NULL DEFAULT '',
 precoVinho DECIMAL(7,2) NOT NULL DEFAULT 99999.99,
 vinicolaID INT UNSIGNED NOT NULL,
 PRIMARY KEY (vinhoID),
 FOREIGN KEY (vinicolaID) REFERENCES vinicolas (vinicolaID)
)
INSERT INTO vinhos VALUES
 (10,'V1','tinto',100.00,1),
 (20,'V2','branco',200.00,1),
 (30,'V3','rose',300.00,1),
 (40,'V4','rose',350.00,2),
 (50,'V5','branco',250.00,2),
 (60,'V6','tinto',150.00,2),
 (70,'V7','tinto',397.00,3),
 (80,'V8','branco',333.00,3);
INSERT INTO vinicolas VALUES
 (1,'A1',1234,'R1'),
 (2,'A2',5234,'R1'),
 (3,'A3',6234,'R2'),
 (4,'A4',7234,'R2'),
 (5,'A5',8234,'R3');
INSERT INTO regioes VALUES
 ('R1','Vale S. Francico','Pernambuco'),
 ('R2','Zona da Mata','Pernambuco'),
 ('R3','Garibaldi', 'Rio Grande do Sul'),
 ('R4','Gramado','Rio Grande do Sul');
Suponha que se deseje saber o tipo, a quantidade e o valor médio dos vinhos em estoque que tenham de três a mais unidades. No nosso banco de dados obteríamos a seguinte tabela: +---------------+------------+--------+ | Tipo do Vinho | Quantidade | Média | +---------------+------------+--------+ | branco | 3 | 261.0 | | tinto | 3 | 215.7 | +---------------+------------+--------+
Assinale a sequência de comandos que retorna esta tabela.
Alternativas
Q762268 Banco de Dados
considerar para sua resposta o banco de dados gerado pelos seguintes trechos de um script em SQL.

CREATE TABLE regioes (
 regiaoID CHAR(2) NOT NULL DEFAULT '',
 nomeRegiao VARCHAR(30) NOT NULL DEFAULT '',
 estadoRegiao VARCHAR(30) NOT NULL DEFAULT '',
 PRIMARY KEY (regiaoID)
);
CREATE TABLE vinicolas (
 vinicolaID INT UNSIGNED NOT NULL AUTO_INCREMENT,
 nomeVinicola CHAR(2) NOT NULL DEFAULT '',
 foneVincola INT UNSIGNED NOT NULL,
 regiaoID CHAR(2) NOT NULL DEFAULT '',
 PRIMARY KEY (vinicolaID),
 FOREIGN KEY (regiaoID) REFERENCES regioes (regiaoID)
);
CREATE TABLE vinhos (
 vinhoID INT UNSIGNED NOT NULL AUTO_INCREMENT,
 nomeVinho CHAR(2) NOT NULL DEFAULT '',
 tipoVinho VARCHAR(6) NOT NULL DEFAULT '',
 precoVinho DECIMAL(7,2) NOT NULL DEFAULT 99999.99,
 vinicolaID INT UNSIGNED NOT NULL,
 PRIMARY KEY (vinhoID),
 FOREIGN KEY (vinicolaID) REFERENCES vinicolas (vinicolaID)
)
INSERT INTO vinhos VALUES
 (10,'V1','tinto',100.00,1),
 (20,'V2','branco',200.00,1),
 (30,'V3','rose',300.00,1),
 (40,'V4','rose',350.00,2),
 (50,'V5','branco',250.00,2),
 (60,'V6','tinto',150.00,2),
 (70,'V7','tinto',397.00,3),
 (80,'V8','branco',333.00,3);
INSERT INTO vinicolas VALUES
 (1,'A1',1234,'R1'),
 (2,'A2',5234,'R1'),
 (3,'A3',6234,'R2'),
 (4,'A4',7234,'R2'),
 (5,'A5',8234,'R3');
INSERT INTO regioes VALUES
 ('R1','Vale S. Francico','Pernambuco'),
 ('R2','Zona da Mata','Pernambuco'),
 ('R3','Garibaldi', 'Rio Grande do Sul'),
 ('R4','Gramado','Rio Grande do Sul');

Assinale a alternativa que contém o resultado do comando SQL.

SELECT

nomeVinho, tipoVinho, precoVinho

FROM vinhos ORDER BY precoVinho LIMIT 2, 1;

Alternativas
Q762267 Banco de Dados
considerar para sua resposta o banco de dados gerado pelos seguintes trechos de um script em SQL.

CREATE TABLE regioes (
 regiaoID CHAR(2) NOT NULL DEFAULT '',
 nomeRegiao VARCHAR(30) NOT NULL DEFAULT '',
 estadoRegiao VARCHAR(30) NOT NULL DEFAULT '',
 PRIMARY KEY (regiaoID)
);
CREATE TABLE vinicolas (
 vinicolaID INT UNSIGNED NOT NULL AUTO_INCREMENT,
 nomeVinicola CHAR(2) NOT NULL DEFAULT '',
 foneVincola INT UNSIGNED NOT NULL,
 regiaoID CHAR(2) NOT NULL DEFAULT '',
 PRIMARY KEY (vinicolaID),
 FOREIGN KEY (regiaoID) REFERENCES regioes (regiaoID)
);
CREATE TABLE vinhos (
 vinhoID INT UNSIGNED NOT NULL AUTO_INCREMENT,
 nomeVinho CHAR(2) NOT NULL DEFAULT '',
 tipoVinho VARCHAR(6) NOT NULL DEFAULT '',
 precoVinho DECIMAL(7,2) NOT NULL DEFAULT 99999.99,
 vinicolaID INT UNSIGNED NOT NULL,
 PRIMARY KEY (vinhoID),
 FOREIGN KEY (vinicolaID) REFERENCES vinicolas (vinicolaID)
)
INSERT INTO vinhos VALUES
 (10,'V1','tinto',100.00,1),
 (20,'V2','branco',200.00,1),
 (30,'V3','rose',300.00,1),
 (40,'V4','rose',350.00,2),
 (50,'V5','branco',250.00,2),
 (60,'V6','tinto',150.00,2),
 (70,'V7','tinto',397.00,3),
 (80,'V8','branco',333.00,3);
INSERT INTO vinicolas VALUES
 (1,'A1',1234,'R1'),
 (2,'A2',5234,'R1'),
 (3,'A3',6234,'R2'),
 (4,'A4',7234,'R2'),
 (5,'A5',8234,'R3');
INSERT INTO regioes VALUES
 ('R1','Vale S. Francico','Pernambuco'),
 ('R2','Zona da Mata','Pernambuco'),
 ('R3','Garibaldi', 'Rio Grande do Sul'),
 ('R4','Gramado','Rio Grande do Sul');

Com base na tabela abaixo, assinale a alternativa que contém os comandos SQL que gera a referida tabela.

+---------------+-----------+-------------+

| Tipo do Vinho | Mais caro | Preco Medio |

+---------------+-----------+-------------+

| branco | 333.00 | 261.000000 |

| rose | 350.00 | 325.000000 |

| tinto | 397.00 | 215.666667 |

+---------------+-----------+-------------+

Alternativas
Q762266 Banco de Dados
Na linguagem SQL, não existe a operação de divisão relacional da álgebra relacional. Analise as tentativas de se implementar a divisão relacional, usando outros recursos da SQL e atribua V para as tentativas que funcionam e F para as que não funcionarem – seja por estarem logicamente erradas, seja por causarem erros de compilação ou execução. ( ) select Y from R where X in ( select X from S ) group by Y having count(*) = ( select count(*) from S );
( ) select distinct a.Y from R as a where not exists ( select * from S as b where not exists (
select * from R as c where (c.Y=a.Y) and (c.X=b.X) ) );
( ) select P.Y from R as P, S as T where P.X = T.X group by P.Y having count(P.Y) = (select count(X) from S); A sequência das atribuições, de cima para baixo, é:
Alternativas
Q762264 Banco de Dados
Sobre álgebra relacional em um banco de dados relacional, analise as afirmações abaixo. 1) A união de duas relações, R∪S, é o conjunto de tuplas que está em R ou S ou em ambas. Duplicatas não são eliminadas. 2) A projeção de uma relação R produz uma nova relação com alguns dos atributos de R. 3) A junção produz todas as combinações de tuplas, de duas relacões, que satisfazem a condição de junção. 4) O produto cartesiano de duas relações R×S combina toda tupla de R com toda tupla de S. Estão corretas:
Alternativas
Q762263 Banco de Dados
Sobre o conceito de chaves em um banco de dados relacional, analise as afirmações abaixo. 1) A Chave Primária é um atributo ou combinação de atributos que permite a identificação única de uma tupla em uma relação. 2) Uma relação pode ter mais de um atributo (ou combinações de atributos) como identificador único. Esses diversos identificadores únicos são as Chaves Candidatas. 3) A chave candidata que não é chave primária também se chama Chave Secundária. 4) Chave Estrangeira é um ou mais atributos de uma relação que corresponde à chave primária de outra relação. Estão corretas:
Alternativas
Q762262 Banco de Dados
Considerando os conceitos básicos em modelagem de dados e em especial no Modelo Entidade Relacionamento (MER), analise as afirmações a seguir, sobre Restrições de Mapeamento (Cardinalidades), entre um conjunto de entidades A e outro B. 1) O relacionamento um para um (ou 1:1) proíbe que uma entidade de A se relacione com mais do que uma entidade de B; e proíbe que uma entidade de B se relacione com mais do que uma entidade de B. 2) O relacionamento um para muitos (ou um para vários, ou 1:N) proíbe que uma entidade de A se relacione com mais do que uma entidade de B; e permite que uma entidade de B se relacione com mais do que uma entidade de A. 3) O relacionamento muitos para um (ou vários para 1, ou N:1) permite que uma entidade de B se relacione com mais do que uma entidade de A; e proíbe que uma entidade de A se relacione com mais do que uma entidade de B. 4) O relacionamento muitos para muitos (ou vários para vários, N:M) não impõe restrições. Permite que uma entidade de A se relacione com mais do que uma entidade de B. Permite que uma entidade de B se relacione com mais do que uma entidade de B. Estão corretas:
Alternativas
Q762261 Banco de Dados
Acerca do conceito de normalização em banco de dados, assinale V para as proposições Verdadeiras, ou F para as Falsas. ( ) Uma relação está na Terceira Forma Normal (3NF) se ela está na 2NF e todo atributo não chave é plenamente dependente da chave primária. ( ) Uma relação está na Quarta Forma Normal (4NF) se ela está na 3NF e nenhum atributo não chave é transitivamente dependente da chave primária. ( ) Uma relação está na Primeira Forma Normal (1NF) se todo determinante é uma chave candidata. ( ) Uma relação está na Segunda Forma Normal (2NF) se ela está na 1NF e não existem dependências multivaloradas . A sequência correta, de cima para baixo, é: 
Alternativas
Q762260 Banco de Dados
Leia, abaixo, a descrição das propriedades de um modelo lógico de dados e assinale a única alternativa que corresponde a essa descrição do modelo. Ao contrário de seus antecessores, não se baseia num paradigma de estruturação de dados particular e sim em um fundamento matemático específico. Representa o Banco de Dados como uma coleção de tabelas, constituídas de atributos e tuplas.
Alternativas
Q762259 Banco de Dados
Sobre conceitos básicos em sistemas de gerenciamento de banco de dados, assinale V para as afirmações Verdadeiras, ou F para as Falsas. ( ) Entre os modelos conceituais, os mais conhecidos são o Modelo Entidade-Relacionamento e o Modelo Orientado a Objetos. ( ) Os três modelos mais aceitos são: o Modelo Relacional, o Modelo Rede e o Modelo Hierárquico. ( ) Um Modelo de Dados tem três componentes: uma coleção de tipos de objetos, uma coleção de operações e uma coleção de regras de integridade. ( ) Os dados no Modelo Relacional, que é também conhecido como Modelo CODASYL ou DBTG, são representados por coleções de registros, e os relacionamentos entre os dados são representados por elos, que podem ser vistos como ponteiros. Os registros no BD são organizados como coleções de grá ficos arbitrários. A sequência correta, de cima para baixo, é:
Alternativas
Q762258 Banco de Dados

Sobre modelagem de dados em sistemas de gerenciamento de banco de dados, assinale V para as afirmações Verdadeiras, ou F para as Falsas.

( ) Sistemas de Gerenciamento de Banco de Dados (SGBD) consistem em uma coleção de dados interrelacionados e de um conjunto de programas para acessá-los.

( ) Modelo de Dados é uma coleção de ferramentas conceituais para descrição de dados, relacionamentos entre eles, semântica dos dados e restrições de consistência. Divide-se em Modelos Conceituais, Modelos de Implementação (ou Modelos Lógicos) e Modelos Físicos.

( ) Coleção de dados armazenados no Banco de Dados em um determinado instante se configura no Esquema do Banco de Dados.

( ) Os Modelos Lógicos proveem conceitos próximos aos percebidos por muitos usuários. Usam conceitos como entidades, atributos e relacionamentos.

A sequência correta, de cima para baixo, é:

Alternativas
Q762256 Programação
Acerca do Enterprise Java Beans (EJB), analise as afirmações abaixo. 1) Toda aplicação EJB é executada e gerenciada por um EJB Container. Há diversas opções de EJB Container disponíveis. 2) A arquitetura EJB define um suporte sofisticado para utilização de transações. Esse suporte é integrado com a Java Transaction API (JTA) e oferece, inclusive, a possibilidade de realizar transações distribuídas. 3) A arquitetura EJB permite que as aplicações sejam acessadas por múltiplos usuários simultaneamente de maneira controlada para evitar problemas de concorrência. 4) Por questões de segurança, as aplicações EJB não podem ser acessadas remotamente através dos diversos protocolos de comunicação. Estão corretas:
Alternativas
Q762255 Programação
Acerca das especificações no Java Enterprise Edition (JEE), analise as afirmações abaixo. 1) Java Server Pages (JSP), Java Servlets, Java Server Faces (JSF) API são específicas para lidar com o desenvolvimento de uma aplicação Web. 2) Enterprise Javabeans Components (EJB) e Java Persistence API (JPA) são objetos distribuídos, clusters, acesso remoto a objetos etc. 3) Um Servlet Container é um servidor que suporta todas as funcionalidades do Java EE Web Profile. 4) JSP (Java Server Pages) é especialização do servlet que permite que conteúdo dinâmico seja facilmente desenvolvido, uma espécie de servidor Web. São componentes-chave para Java Server Pages (JSP): diretivas, ações, elementos de script e bibliotecas de tags. Uma JSP é um arquivo com sintaxe semelhante ao HTML, que permite inclusão de elementos (tags) especiais para introdução de código Java. Estão corretas:
Alternativas
Q762254 Programação
Correlacione as tecnologias Java EE que são usadas na camada web em aplicações Java EE, listadas na primeira coluna, a sua descrição, na segunda coluna. 1) JavaServer Faces. 2) Expression Language. 3) Servlet. 4) Injeção de Dependência e Contextos. ( ) Um conjunto de tags padrão utilizados em páginas Facelets para se referir aos componentes Java EE. ( ) Um framework de componentes de interface de usuário para aplicações web que lhe permite incluir componentes da UI (tais como campos e botões) de uma página XHTML; converte e valida os dados do componente de UI; salva dados de componentes de UI para armazenamentos de dados do lado do servidor e manutenção do estado do componente. ( ) Um conjunto de serviços contextuais que torna mais fácil para os desenvolvedores usar enterprise beans, juntamente com a tecnologia JavaServer Faces em aplicações web. ( ) Classe da língua de programação Java que dinamicamente processa solicitações e constroem respostas, geralmente para páginas HTML. A sequência correta, de cima para baixo, é:
Alternativas
Q762253 Programação
Acerca do Java Enterprise Edition (JEE), analise as afirmações abaixo. 1) Consiste de uma série de especificações detalhadas, dando uma receita de como deve ser implementado um software que implementa serviços de infraestrutura. 2) Trata-se de uma plataforma para desenvolvimento e execução de aplicações servidoras, com capacidade de suporte ao desenvolvimento de aplicações robustas e escaláveis. 3) JEE é um servidor de aplicação que implementa as APIs da plataforma Java EE e fornece serviços padrão Java EE. 4) Alguns dos componentes fundamentais do Java EE são: Enterprise JavaBeans (EJB), Java Persistence API (JPA), JavaServer Pages (JSP) e servlets. Estão corretas:
Alternativas
Q762252 Programação
Sobre os tipos genéricos (generics) em Java, analise as afirmações abaixo. 1) Tipos genéricos permitem abstrair sobre tipos. Os exemplos mais comuns são os tipos coleções. 2) Métodos genéricos são métodos que introduzem os seus próprios parâmetros de tipo. Isso é semelhante ao declarar um tipo genérico, mas o escopo do parâmetro de tipo é limitado ao método em que é declarado. 3) Métodos genéricos estáticos são permitidos, bem como construtores de classe genéricos. Porém, métodos genéricos não estáticos não são permitidos. 4) Entre as vantagens dos tipos genéricos, temos a simplicidade e a robustez. Por um lado, não é necessário type casting para extrair os objetos das coleções. Por outro, o compilador não permite colocar na coleção elementos incompatíveis com os tipos declarados. 5) Os parâmetros de tipo de um tipo genérico podem ser ou não limitados. O limite de um parâmetro de tipo restringe os tipos que podem ser usados como argumento. O parâmetro de tipo limitado dá acesso aos métodos do “tipo limite”. Estão corretas, apenas: 
Alternativas
Q762251 Programação
Considere o esquema do construto try que faz parte do mecanismo de tratamento de exceções da linguagem de programação Java no quadro abaixo.  try { ... } catch (...) { ... } ... finally { ... }
Analise as afirmações abaixo, sobre o seu funcionamento.
1) Uma cláusula finally é colocada no fim de uma lista de tratadores, imediatamente depois de uma construção try completa. 2) Se a cláusula try lança nenhuma exceção, a cláusula finally é executada antes de a execução continuar depois da construção try. 3) Se a cláusula try gera uma exceção e é capturada por um tratador, a cláusula finally não é executada. 4) Se a cláusula try gera uma exceção, mas não é pega por um tratador após o construto try, a cláusula finally é executada antes de a exceção ser propagada. 5) A construção try sem tratadores de exceção pode ser seguida por uma cláusula finally. Isso faz sentido, claro, somente se nos comandos que a compõem existe um throw, break, continue, ou return. Estão corretas, apenas: 
Alternativas
Respostas
661: B
662: B
663: A
664: D
665: C
666: E
667: E
668: E
669: D
670: C
671: A
672: C
673: D
674: C
675: B
676: C
677: A
678: C
679: C
680: D