Baixe o app para aproveitar ainda mais
Prévia do material em texto
Língua Espanhola Prof. Adinoél Sebastião Língua Espanhola Prof. Adinoél Sebastião 1 2 Língua Espanhola Prof. Adinoél Sebastião REVISÃO DE VÉSPERA CNU BLOCO 2 - TECNOLOGIA, DADOS E INFORMAÇÃO - PARTE II EIXO TEMÁTICO 4 – DESENVOLVIMENTO DE SOFTWARE 3 4 Língua Espanhola Prof. Adinoél Sebastião PROGRAMAÇÃO E ESTRUTURAS DE DADOS Prof. Raphael Lacerda DICAS E AGENDA! @canetas.pretas @canetaspretas https://www.youtube.com/@canetaspretas 5 6 AGORA EM ÁUDIO TBM! SEU LUGAR É AQUI!!! @canetas.pretas 7 8 CESGRANRIO DEV - QUESTÕES https://www.instagram.com/p/B74PyOzj5V3/ https://www.estrategiaconcursos.com.br/blog/prazer-um-eterno-estudante/ Prof. Raphael Lacerda ESSE CURSO É PARA VOCÊ? Prof. Raphael Lacerda 9 10 #PROGRAMACAO Prof. Raphael Lacerda É uma característica distintiva das linguagens de programação funcionais a(o) A ênfase em mutabilidade de variáveis, para otimizar o uso de memória. B prioridade na otimização de uso de memória, para aumentar a eficiência. C dependência de estruturas de controle de fluxo imperativas. D uso exclusivo de programação orientada a objetos, ou classes. E paradigma baseado em expressões e funções puras, ou seja, o valor de cada expressão e aplicação de função é determinado unicamente pelos valores dos seus argumentos. CESGRANRIO/UNEMAT/2024 11 12 Várias abordagens que apoiam o reúso estão disponíveis a gerentes de projeto. Entre elas está a abordagem usada quando componentes compartilhados são entrelaçados em uma aplicação em diferentes lugares durante a compilação do programa. A abordagem descrita é a de A padrões de projeto B padrão de arquitetura C frameworks de aplicação D integração de sistemas de aplicação E desenvolvimento de software orientado a aspectos CESGRANRIO/UNEMAT/2024 Ao construir uma aplicação para web, um programador decidiu projetar a arquitetura do software, seguindo o modelo Model-View-Controller (MVC). Nesse modelo, a função do Controller inclui A apresentar a view escolhida e incorporar os estados da aplicação. B encapsular o conteúdo dos objetos e gerenciar requisições do usuário. C gerenciar requisições do usuário e preparar dados do modelo. D selecionar a resposta da view e encapsular funcionalidade. E selecionar comportamento do modelo e selecionar a resposta da view. CESGRANRIO/UNEMAT/2024 13 14 O Ipea resolveu fazer uso de um método de desenvolvimento de web services que usa componentes de software, chamados de serviços, para criar aplicações associadas à obtenção de dados de saneamento básico, de modo a melhorar a parte dinâmica de seus sites. Considerando-se essa decisão e o requisito de que as respostas aos requerimentos dos usuários externos devem ser resolvidas mais rapidamente, o método de desenvolvimento indicado é o A EDA B SOA C WSA D Adapter E Singleton CESGRANRIO/IPEA/2024 Em uma arquitetura orientada a serviços, SOA, é encontrada a seguinte característica: A alto acoplamento B baixa escalabilidade C baixa disponibilidade D menor confiabilidade E fácil manutenibilidade CESGRANRIO/IPEA/2024 15 16 A área de TI do Ipea pretende utilizar uma arquitetura orientada em eventos para o software que formata dados oriundos do IBGE. A proposta indica que essa arquitetura deve ter uma infraestrutura de mensageria baseada em subscrições em um fluxo de eventos, na qual, após um evento ocorrer ou ser publicado, ele é enviado aos subscritores que precisam ser informados. Qual é a arquitetura baseada em eventos que possui uma infraestrutura com essas características descritas? A pub/sub B serv/arch C web services/DL D bussines process E event transmission CESGRANRIO/IPEA/2024 Considere uma necessidade do Ipea de construir uma API que sirva para interfacear seu sistema de cadastro de usuários internos e seu sistema de funcionários terceirizados, de modo a garantir melhor segurança e confiabilidade. Para isso, será utilizado um modelo de API apropriadamente baseado no REST. Considerando o contexto apresentado, qual deverá ser o modelo de API utilizado? A MVC B Zope C Grovy D Laravel E RESTful CESGRANRIO/IPEA/2024 17 18 @canetas.pretas #O.O CESGRANRIO/IPEA/2024 19 20 CESGRANRIO/IPEA/2024 Um banco de investimento extrai informações do Ipeadata e as envia para seus principais clientes corporativos. Os dados devem ser enviados, preferencialmente, no formato XML, porém, caso não seja possível, podem ser enviados no formato JSON. Se ainda assim não for possível enviá-los, o formato de texto deve ser utilizado. As classes inicialmente criadas para solucionar esse problema são as seguintes: Qual princípio SOLID é violado no design da solução apresentada? A Dependency inversion B Interface segregation C Liskov substitution D Open–closed E Single responsibility CESGRANRIO/UNIRIO/2019 Em orientação a objetos, uma classe abstrata é uma classe que A possui apenas métodos estáticos. B não pode ser instanciada. C não possui métodos. D não possui variáveis de instância. E não pode ter subclasses. 21 22 CESGRANRIO/UNIRIO/2019 Qual a propriedade, típica da orientação a objeto, que habilita uma quantidade de operações diferentes a ter o mesmo nome, diminuindo o acoplamento entre objetos? A Encapsulamento B Especialização C Herança D Padrões de projeto E Polimorfismo CESGRANRIO/UNIRIO/2016 Em linguagens orientadas a objetos (OO), classes representam a descrição da implementação de tipos abstratos a partir dos quais instâncias podem ser criadas. Cada instância, depois de criada, guarda seu estado próprio independente das demais instâncias. Esse estado pode ser alterado de acordo com operações definidas pela classe, mas, ao serem executadas, as operações atuam individualmente sobre cada instância. Na nomenclatura OO, instâncias e operações são conhecidas, respectivamente, como A Métodos e Funções B Objetos e Heranças C Objetos e Métodos D Tipos e Objetos E Tipos e Heranças 23 24 CESGRANRIO/UNIRIO/2014 Considere que um programa orientado a objeto possui 5 classes: Máquina, Motor, MotorExplosão, MotorVapor e Gerador. MotorExplosão e MotorVapor são especializações de Motor. Motor e Gerador são especializações de Máquina. Todas as classes respondem a uma mensagem chamada “calcularPotencia”, sem argumentos, que calcula e retorna um número real que indica potência do objeto, em watts, de acordo com os valores de alguns atributos, com um algoritmo diferente em cada classe. O exemplo acima caracteriza a capacidade de enviar a mesma mensagem para vários objetos e que cada objeto responda a essa mensagem de acordo com sua classe. Tal característica é conhecida como: A Polimorfismo B Refatoração C Herança Múltipla D Independência de Dados E Tratamento de Exceção CESGRANRIO/UNIRIO/2012 A modelagem de casos de uso é uma técnica adequada para detalhar requisitos funcionais de um sistema de software orientado a objetos através da decomposição funcional do comportamento desse sistema. PORQUE Na modelagem orientada a objetos, um modelo de classes conceituais apresenta classes que correspondem a conceitos do domínio do problema e que são compostas de atributos e métodos resultantes do processo de decomposição funcional. Analisando-se as afirmações acima, conclui-se que A as duas afirmações são verdadeiras, e a segunda justifica a primeira. B as duas afirmações são verdadeiras, e a segunda não justifica a primeira. C a primeira afirmação é verdadeira, e a segunda é falsa. D a primeira afirmação é falsa, e a segunda é verdadeira E as duas afirmações são falsas. 25 26 CESGRANRIO/UNIRIO/2012 Um dos objetos da fase de projeto de sistemas de software é definir e organizar as partes desse sistema da maneira mais adequada possível. Relativamente a essas partes, devem ser maximizada e minimizada, respectivamente, as medidas A encapsulamento e coesão B encapsulamento e acoplamento C acoplamento e coesão D acoplamento e encapsulamento E coesão e encapsulamento #JAVA Prof. Raphael Lacerda27 28 Na linguagem Java, para impedir que um método criado em uma classe J não possa ser sobrescrito por alguma outra classe K que herde de J, deve-se usar a palavra Alternativas A extends B final C implements D super E void CESGRANRIO/UNEMAT/2024 Em um projeto desenvolvido na linguagem Java, considere um método P que chama um método Q. Existe uma palavra que, quando colocada na assinatura do método Q, faz com que, caso ocorra uma exceção nesse método, o tratamento dessa exceção seja da responsabilidade do método P. Qual é essa palavra? A catch B Exception C finally D throws E try CESGRANRIO/UNEMAT/2024 29 30 É uma característica da linguagem Java conseguir representar a A codificação de métodos completos em interfaces B herança múltipla de interface C herança múltipla de classe D instanciação de classes abstratas E instanciação de interfaces CESGRANRIO/UNEMAT/2024 Em linguagem de programação Java, polimorfismo é A relacionado, apenas, à alteração de valores de variáveis durante a execução do programa. B relacionado, apenas, à sobrecarga de métodos, onde várias versões do mesmo método podem ser definidas na mesma classe. C relacionado, apenas, à capacidade de ocultar a implementação de um método em uma classe filha, tornando-o acessível apenas na classe base. D a capacidade de uma classe estender múltiplas classes pai, simultaneamente. E a capacidade de uma classe ter várias formas, permitindo que um objeto seja tratado como uma instância de sua classe base ou de qualquer uma de suas subclasses. CESGRANRIO/UNEMAT/2024 31 32 No processo de geração de código executável em Java, a etapa crucial que envolve a transformação do código- -fonte Java em bytecode e o componente responsável por executar esse bytecode são, respectivamente, A bytecode e JIT Compiler B compilação e JRE C compilação e JVM D interpretacão e JRE E intermediário e Bytecode Engine CESGRANRIO/UNEMAT/2024 O garbage collector (coletor de lixo) gerencia automatica- mente as solicitações de alocação dinâmica de memória das aplicações. O Java HotSpot VM inclui diferentes tipos de coletores, cada um com características de desempe- nho diferentes. Um desses coletores foi projetado espe- cificamente para grandes heaps, variando, normalmente, de alguns gigabytes a vários terabytes. Ele se concentra em minimizar o impacto das pausas na coleta de lixo, tor- nando-o adequado para aplicações sensíveis à latência. Esse coletor é usado em cenários em que as aplicações exigem tempos de resposta consistentes e têm requisitos de latência rigorosos. O coletor descrito é o (A) Serial (B) Parallel (C) G1 (D) CMS (E) ZGC CESGRANRIO/IPEA/2024 An Introduction to ZGC: A Scalable and Experimental Low-Latency JVM Garbage Collector | Baeldung 33 34 CESGRANRIO/IPEA/2024 Sejam as seguintes classes Java, que ocupam, cada qual, o seu próprio arquivo: Qual classe poderá ser inserida em um projeto, juntamente com as classes acima, sem produzir erros de compilação? CESGRANRIO/IPEA/2024 35 36 CESGRANRIO/IPEA/2024 Um desenvolvedor pretende criar um artefato que permita definir quais métodos obrigatoriamente deverão ser desenvolvidos por classes que o implementem. Tais métodos deverão ser capazes de criar, recuperar, atualizar e deletar (CRUD) dados persistidos que poderão ser fornecidos por diferentes fontes, como, por exemplo, diferentes tipos de banco de dados. Esse artefato irá funcionar como um contrato a ser respeitado por cada classe que o implementar. O tipo de artefato mencionado é a(o) A Interface B Enumeração C Classe concreta D Objeto EConstrutor de classe CESGRANRIO/Transpetro/2023 37 38 CESGRANRIO/Transpetro/ 2023 Suponha que a seguinte sequência de números inteiros tenha sido digitada por um usuário quando da execução do método main acima: 4 16 8 12 7 14 9 15 -1 O que foi exibido no console pelo método main? A 7 4 9 16 15 8 12 14 B 7 4 9 16 15 8 C 15 14 9 12 7 8 D 15 14 9 12 7 8 16 4 E 4 7 16 9 8 15 CESGRANRIO/Transpetro/2023 39 40 Um programador foi instruído pelo seu gerente a implementar, em Java, uma classe MemoriaCalculoVenda que implementasse a interface MemoriaCalculo, já criada pela organização e que representa as exigências da organização para classes que implementam memórias de cálculo. Nesse cenário, com que fragmento de código o programador deve começar, de forma correta, a implementação da classe? A class MemoriaCalculoVenda extends MemoriaCalculo B class MemoriaCalculoVenda implements MemoriaCalculo C class MemoriaCalculoVenda imports MemoriaCalculo D class MemoriaCalculoVenda inherits MemoriaCalculo E class MemoriaCalculoVenda uses MemoriaCalculo CESGRANRIO/BB/2023 CESGRANRIO/ELETRO/2022 41 42 A função acima não está completa. É preciso substituir os comentários // 1 e // 2 por comandos que façam com que a função execute a troca de vogais minúsculas por vogais maiúsculas e retorne a string resultante. Quais comandos completam a função de acordo com o objetivo definido acima? A // 1 deve ser substituído por return c + troca ( str.substring ( 1 ) ); // 2 deve ser substituído por return troca ( str.substring ( 1 ) ); B // 1 deve ser substituído por return c + troca ( str.substring ( 1 ) ); // 2 deve ser substituído por return c + troca ( str.substring ( 0 ) ); CESGRANRIO/ELETRO/2022 CESGRANRIO/ELETRO/2022 C // 1 deve ser substituído por return c ; // 2 deve ser substituído por return c + troca ( str.substring ( 1 ) ); D // 1 deve ser substituído por return c ; // 2 deve ser substituído por return c + troca ( str.substring ( 0 ) ); E // 1 deve ser substituído por return c + troca ( str.substring ( 1 ) ); // 2 deve ser substituído por return c + troca ( str.substring ( 1 ) ); 43 44 CESGRANRIO/Banco Amazonia/2022 Qual definição de interface Java NÃO produz erro de compilação? Alternativas A interface P { int x; int y; public void op1(String x); } B abstract interface Q { public int x; public int y; public default void op1() { System.out.println(x+y); } } C final interface R { int x=10; int y=20; public static void op1() { System.out.println(x+y); } } D public interface S { public static int x=10; public static int y=20; public static void op1() { x++; y++; System.out.println(x+y); } } E public abstract interface T { static int x=20; public int y=20; static void op1() { System.out.println(x+y); } } Java Interface (w3schools.com) ● Interface attributes are by default public, static and final CESGRANRIO/Banco Amazonia/2022 Admita que as duas classes Java a seguir pertençam ao pacote default e ocupem arquivos separados. public class Va { private int a=0,b=2,c=4; private static int sb; public Va() { a*=2; b*=3; c*=4; } public Va(int x) { this(); sb+=x; } { sb*=2; a+=1; } static { sb+=8; } public void print() { System.out.print(a+b+c+sb); } } public class Main { public static void main(String[] args) { new Va(1).print(); } } O que será exibido no console quando o método main for executado? Static vs. Instance Initializer Block in Java | Baeldung 45 46 CESGRANRIO/ELETRO/2022 O encapsulamento é um dos quatro conceitos fundamentais da orientação a objetos. Seu objetivo é tratar os dados (variáveis) e as operações sobre esses dados (métodos), de forma unitária. De acordo com esse princípio, as variáveis de uma classe ficam ocultas de outras classes, de forma que só possam ser acessadas pelos métodos públicos da classe em que se encontram. Entretanto, a maioria das linguagens de programação orientadas a objetos disponibilizam um mecanismo para que o encapsulamento possa ser atenuado sob certas condições. Por exemplo, as variáveis de instância de uma classe podem ser livrementeacessadas pelos métodos de instância de todas as suas subclasses. Esse acesso é possível, caso essas variáveis sejam declaradas como A protegidas B estáticas C globais D automáticas E virtuais CESGRANRIO/BANCO AMAZONIA/2021 Considere a classe Java abaixo. O que o console exibirá quando o método main() for executado? 47 48 CESGRANRIO/BANCO AMAZONIA/2021 CESGRANRIO/BANCO AMAZONIA/2021 O que o console exibirá quando o método main() for executado? A .i.a.. B ..a.i. C l.s.rB D Br.s.l E Brasil 49 50 CESGRANRIO/PETRO/2014 O que imprimirá esse programa quando executado? A oirnrgsevorp B provegrnrio C oirnrgsecvorp D ac a E a a How to Compare Characters in Java | Java Hungry EJB Prof. Raphael Lacerda Cada tipo de enterprise bean passa por diferentes fases durante seu ciclo de vida. Um desses tipos possui um estado denominado Passivo. Quando um bean entra nesse estado, o container EJB o desloca da memória principal para a memória secundária. Qual tipo de bean se comporta dessa maneira? A Stateless Session Bean B Stateful Session Bean C Web Service Bean D Singleton Session Bean E Message-Driven Bean Cesgranrio/BNDES/2013 51 52 EJB Prof. Raphael Lacerda Entity EJB e o statement SQL "SELECT FOR UPDATE" são técnicas para se implementar o padrão arquitetural A Estado da sessão no cliente (Client Session State). B Bloqueio offline otimista (Optimistic Offline Lock). C Bloqueio offline pessimista (Pessimistic Offline Lock). D Objeto de transferência de dados (data transfer object). E Mapeador (mapper). Cesgranrio/BNDES/2009 EJB Prof. Raphael Lacerda Cesgranrio/PETRO/2010 53 54 EJB Prof. Raphael Lacerda O código acima apresenta um(a) A EJB padrão 2.1 com informação de estado. B bean de entidade para a tabela Produto. C classe POJO que segue o padrão JavaBean. D classe que utiliza JMS. E classe que implementa o padrão FrontController Cesgranrio/PETRO/2010 JSP - questões Prof. Raphael Lacerda Cesgranrio/Petro/2012 Em aplicações Java Enterprise Edition 6, é comum o uso da API JPA. Nessa API, há o conceito de classe de entidade (entity class). Por definição, uma classe de entidade deve, obrigatoriamente, cumprir os seguintes requisitos, EXCETO A estar anotada com a anotação Entity ou representada em um descritor XML. B não ser qualificada com final. C ter as variáveis de instância persistentes qualificadas com private, protected, ou package-private. D ter ao menos um construtor, este sem argumentos (no-arg constructor). E ter o mesmo nome da tabela correspondente do banco de dados 55 56 JSP - questões Prof. Raphael Lacerda Cesgranrio/Petro/2011 I - EJB fornece ao programador Java EE os seguintes tipos fundamentais: Entity Beans, Session Beans e Message Driven Beans. II - JPA é parte integrante da especificação EJB e serve para definir as interfaces de acesso local e/ou remoto de um componente EJB. III - Um servidor de aplicações Java EE oferece vários recursos ao desenvolvedor como pool de conexão, controle de transação, segurança e gerenciamento de recursos. IV - Uma diferença entre as tecnologias Servlets e JSP é que, ao contrário da segunda, a primeira permite o armazenamento do estado da aplicação em variáveis de sessão assinale a afirmativa INCORRETA. A A arquitetura J2EE Connector define um conjunto de contratos no nível de sistema entre um servidor de aplicação e o EIS (Enterprise Information System), entre os quais, o Connection Management, que permite que um pool de servidores de aplicação se conecte a um EIS subjacente e que componentes da aplicação se conectem a um EIS. B Uma prática que pode melhorar o desempenho de EJBs consiste em empacotar beans de entidade em um bean de sessão para transformar chamadas EJB remotas em uma chamada de bean de sessão remota e várias locais (pattern conhecido como fachada de sessão). EJB Prof. Raphael Lacerda Cesgranrio/PETRO/2006 57 58 EJB Prof. Raphael Lacerda C Um descritor de instalação, localizado dentro de um arquivo Java Archive (JAR), permite que as propriedades de um EJB sejam mantidas fora do código Java e que o desenvolvedor do bean torne as informações sobre o bean disponíveis para o montador da aplicação e para o instalador do bean. D Para se garantir a entrega de uma mensagem para um único destinatário, o modelo de troca de mensagens publish/subscribe do JMS com o modo de entrega persistente e um assinante durável é mais indicado, enquanto que se a mensagem for para vários destinatários, pode-se utilizar o modelo ponto a ponto do JMS com um modo de entrega persistente. E Na persistência gerenciada por contêiner (CMP), os dados do bean de entidade são mantidos automaticamente pelo contêiner, como, por exemplo, um contêiner implementando persistência sobre um banco de dados relacional (RDBMS) pode gerenciar a persistência armazenando os dados de um bean como uma linha em uma tabela. Cesgranrio/PETRO/2006 59 60 CESGRANRIO/Caixa/2021 As classes Java a seguir pertencem ao pacote default e foram incluídas no arquivo Main.java. O que será exibido no console quando o método main for executado? A 3 B 4 C 19 D 27 E 31 CESGRANRIO/Caixa/2021 As classes Java a seguir pertencem ao pacote default. class A1 { protected int va1=1,va2=2; public A1(int x) { va1+=x; va2*=x; } } class A2 extends A1 { protected int vb1=10; } class A3 extends A2 { protected int vc1=0; public A3(int y) { vc1=(va1+va2)*y; } } public class Main { public static void main(String[] args) { A3 o=new A3(2); System.out.println(o.vc1); } } Qual construtor poderá ser inserido na classe A2, sem que um erro de compilação seja gerado? A public A2() { vb1=va1+va2; } B public A2(int z) { super(z); vb1=va1+va2; } C public A2() { vb1=va1+va2; super(vb1); } D public A2() { super(0); vb1=va1+va2; } E public A2() { super(vb1); } 61 62 CESGRANRIO/BB/2021 Sejam as seguintes classes Java: public class Va1 { public static String getStr() { return “abcdefghijklmnop“; } public String ini(String s, int cpr) { return s.substring(0, cpr); } public String fin(String s, int cpr) { return ini(s, cpr)+s.substring(s.length()-cpr, s.length()); } } Can We Override Static Method in Java - Javatpoint A Single Java Program Can Contain How many Classes? - Scaler Topics Online Java Compiler - Online Java Editor - Java Code Online (jdoodle.com) CESGRANRIO/BB/2021 public class Va2 extends Va1 { public static String getStr() { return “0123456789ABCDEF“; } public String ini(String s, int cpr) { return s.substring(s.length()-cpr, s.length()); } public static void main(String[] args) { Va1 o=new Va2(); System.out.println(o.fin(o.getStr(), 5)); } } 63 64 CESGRANRIO/BB/2021 O que será exibido no console quando o método main for executado? (A) 0123BCDE (B) BCDEFBCDEF (C) 01234BCDEF (D) abcdelmnop (E) lmnoplmnop CESGRANRIO/BB/2021 65 66 CESGRANRIO/BB/2021 As classes Java a seguir são públicas e ocupam arquivos separados. O que será exibido no console quando o método main for executado? (A) 0 (B) 10 (C) 24 (D) 25 (E) 33 https://www.geeksforgeeks.org/ord er-execution-initialization-blocks- constructors-java/ CESGRANRIO/B.A/2018 A linguagem de programação Java suporta Alternativas A passagem de parâmetros de tipos primitivos por referência B sobrecarga de operadores C herança múltipla D polimorfismo E ponteiros 67 68 #ESTRUTURA DE DADOS #ORDENACAO Prof. Raphael Lacerda Mas isso cai em prova? Prof. Raphael Lacerda Questão Discursiva 91582 | FGV | TI - Desenvolvimento de Sistemas | (voceconcursado.com.br) 69 70 Mas isso cai em prova? Prof. Raphael Lacerda Mas isso cai em prova? Prof. Raphael Lacerda 71 72 CESGRANRIO/IPEA/2024 Quando a função main for executada, será exibido no console o valor A 47 B 49 C 100 D 150 E 200 CESGRANRIO/IPEA/2024 Suponha que uma função percorra essa árvore em ordem simétrica e exibaos valores de seus nós no console. Qual será o sexto valor a ser exibido por essa função? A 20 B 30 C 60 D 70 E 80 73 74 CESGRANRIO/BB/2021 Dentre os problemas identificados pela gerência de um banco comercial, está a localização das contas dos seus titulares nas listagens e nos relatórios impressos em diferentes situações. Um especialista de TI sugeriu ordenar as contas por meio dos CPF dos seus n titulares antes das impressões. Dentre alguns algoritmos pré-selecionados para essa ordenação, o especialista escolheu o algoritmo de ordenação por inserção, no qual o consumo de tempo é, no melhor caso, proporcional a (A) n log n (B) log n (C) n2 (D) n (E) 1 CESGRANRIO/BB/2021 Em uma agência bancária, as filas de atendimento são ordenadas da esquerda para a direita, e o gerente dessa agência percebeu a presença equivocada de um idoso, com a senha 52, na fila de atendimento não preferencial. Visando a sanar o equívoco, o gerente resolveu que, na primeira oportunidade, faria uma busca no sistema para saber se a senha 52 ainda estava ativa, indicando a presença do idoso na fila de atendimento não preferencial. Em caso de resposta positiva, procu- raria o cliente para trocar sua senha por outra de atendimento preferencial; se não, apenas registraria o fato para posterior discussão no grupo de qualidade de atendimento. Considerando o uso de um algoritmo de busca sequencial otimizado, partindo da esquerda para a direita, e as sequências hipotéticas das senhas da fila de atendimento não preferencial e suas regras de ordenação, segundo as quais quem está à esquerda é atendido antes de quem está à direita, o menor número de comparações para o gerente conhecer o resultado de sua busca ocorre em 75 76 CESGRANRIO/BB/2021 CESGRANRIO/BB/2021 As agências bancárias negociam seguros residenciais com seus clientes e, muitas vezes, precisam arquivar cópias de forma ordenada para que consultas eventuais sejam facilitadas. O gerente de uma agência precisava ordenar um vetor de documentos referentes a esses seguros, e o seu adjunto, da área de TI, o aconselhou a usar o algoritmo de ordenação chamado Bubble Sort. Utilizando-se o algoritmo sugerido, qual será a quantidade de trocas de posições realizadas para ordenar, de modo cres- cente, o vetor de números de contrato (77, 51, 11, 37, 29, 13, 21)? (A) 14 (B) 15 (C) 16 (D) 17 (E) 18 77 78 CESGRANRIO/BB/2021 Uma das formas de o gerente de uma agência bancária acompanhar a qualidade dos serviços prestados aos seus clientes é verificar o estado da ordem de atendimento em vários instantes ao longo do expediente. O sistema que a gerência utiliza para tal fim é a estrutura de dados conhecida como FILA, que mostra a situação da ordem de atendimento no instante da verificação. Nesse contexto, implementa-se uma estrutura de FILA de números inteiros com suas duas operações tradicionais: ENFILEIRAR(Z), que ocorre no instante em que um cliente recebe uma senha Z e entra na FILA; e DESENFILEIRAR( ), que ocorre quando um cliente sai da FILA, caso em que DESENFILEIRAR( ) retorna o número da senha. Sabe-se, tam- bém, que a representação do estado da FILA em um instante qualquer é realizada listando os elementos, de forma que o primeiro elemento, da esquerda para a direita, é o mais antigo presente na FILA. Nas condições apresentadas, considere uma FILA que começa vazia e realiza as seguintes operações: ENFILEIRAR(8) → ENFILEIRAR(9) → DESENFILEIRAR( ) → ENFILEIRAR(10) → ENFILEIRAR(11) → ENFILEIRAR(DESENFILEIRAR ( )) → ENFILEIRAR(12) → DESENFILEIRAR( ) → ENFILEIRAR(13) → DESENFILEIRAR( ) Após realizar as operações acima, a FILA estará no estado (A)10–11 –12 (B) 9 – 12 – 13 (C) 9 – 10 – 11 (D) 8 – 10 – 11 (E) 8 – 9 –10 CESGRANRIO/BB/2021 Desejam-se realizar buscas nas seguintes coleções de dados, representadas na linguagem Java: I - Um array de 1.000 números inteiros ordenados de forma decrescente; II - Uma lista encadeada desordenada e alocada dinamicamente, cujos 1.000 nós contêm strings (uma string por nó); III - Uma lista encadeada, alocada dinamicamente, cujos 1.000 nós contêm números decimais (um número double por nó) ordenados de forma ascendente. Levando-se em consideração a exequibilidade e a eficiência, quais métodos de busca devem ser empregados, respectiva- mente, em cada um dos três casos acima? (A) I – sequencial; II – sequencial; III – binária (B) I – binária; II – sequencial; III – sequencial (C) I – binária; II – sequencial; III – binária (D) I – sequencial; II – sequencial; III – sequencial (E) I – sequencial; II – binária; III – binária Busca binária (artigo) | Algoritmos | Khan Academy 79 80 CESGRANRIO/BB/2023 Admita que um método Java, chamado exibePilha, receba essas três pilhas como parâmetros e execute os seguintes passos: 1. Cria duas pilhas auxiliares, A1 e A2, inicialmente vazias; 2. Remove um elemento de P1 e o insere em A1. Em seguida, remove um elemento de P2 e o insere em A1. Repete esses dois procedimentos até que P1 e P2 fiquem, ambas, vazias; 3. Remove um elemento de P3 e o insere em A1. Repete esse procedimento até que P3 fique vazia; 4. Remove um elemento de A1 e o insere em A2. Repete esse procedimento até que A1 fique vazia; 5. Remove um elemento de A2 e o exibe no console. Repete esse procedimento 4 vezes. O que será exibido no console, quando o método exibePilha for executado, tendo P1, P2 e P3 sido passadas como parâmetros? A 10 15 25 28 B 10 25 30 40 C 15 10 28 25 D 20 35 34 40 E 40 34 30 60 CESGRANRIO/ELETRO/2022 Os tipos abstratos de dados (TAD) Fila e Pilha foram implementados em uma linguagem orientada a objetos por meio de um array de inteiros. As classes criadas para a implementação desses TADs contêm os seguintes métodos: Classe Pilha int pop ( ) – retorna o número inteiro retirado da pilha. push ( int x ) – insere o número inteiro x na pilha. Classe Fila int deq ( ) – retorna o número inteiro retirado da fila. enq ( int x ) – insere o número inteiro x na fila. Admita que o estado inicial de uma pilha (p) seja um array vazio, e que o estado inicial de uma fila (f) seja caracterizado pelo array [ 15, 90, 40 ]. Após a execução de uma sequência de operações sobre p e f, a fila assumiu o seguinte estado final: [ 35, 90, 40, 15 ] Qual sequência de comandos levou f do estado inicial para o estado final? 81 82 Pilha vs Fila CESGRANRIO/ELETRO/2022 83 84 CESGRANRIO/BB/2018 O programa a seguir, em Python, implementa o algoritmo do método de bolha, imprimindo o resultado de cada passo. Qual será a quarta linha impressa para a chamada bolha([ 4, 3, 1, 9, 8, 7, 2, 5]) ? A [3, 1, 4, 8, 7, 2, 5, 9] B [1, 3, 4, 7, 2, 5, 8, 9] C [1, 2, 3, 4, 5, 7, 8, 9] D [1, 3, 2, 4, 5, 7, 8, 9] E [1, 3, 4, 2, 5, 7, 8, 9] CESGRANRIO/BB/2018 def bolha(lista): cont = 1 for passo in range (len(lista)-1,0,-1): for i in range (passo): print(f"i: {i} - lista[i] {lista[i]} - lista[i+1] {lista[i+1]}") if lista[i] > lista[i+1]: print(f"trocando") lista[i],lista[i+1]=lista[i+1],lista[i] print(f"===========> {cont} - lista: {lista}") cont = cont+1 bolha([4,3,1,9,8,7,5,2]) 85 86 CESGRANRIO/BB/2021 Um programador escreveu uma função para percorrer, em pós-ordem, uma árvore binária e exibir, no console, os valores referentes aos nós dessa árvore. Após essa função ter sido executada, foi exibido o seguinte resultado: 41 44 33 47 55 52 36 30 Que árvore essa função percorreu para exibir o resultado acima? AVL Tree Visualzation (usfca.edu) CESGRANRIO/BB/2021 AVL Tree Visualzation (usfca.edu) 87 88 Como Percorrer? Prof. Raphael Lacerda Uma árvore binária completa com 15 nós tem altura igual a A 1 B 2 C 3 D 4 E 5 Prof. Raphael Lacerda Como calcular altura? 89 90 Prof. Raphael Lacerda E agora? Estratégia Concursos (estrategia.com) Estratégia Questões (estrategia.com) Como calcular a ALTURA de uma árvore binária de busca? – Wagner Gaspar Aula-arvores-1.pdf (uff.br) Árvore binária – Wikipédia, a enciclopédia livre(wikipedia.or g) uma árvore com um único nó tem altura 1 listaDeExercicios_1 (unicamp.br) Árvores e Árvores Binárias (usp.br) Considere uma árvore AVL que possui 12 nós. A altura dessa árvore é A 3 B 4 C 5 D 6 E 7 Prof. Raphael Lacerda CESGRANRIO/transpetro/2023 91 92 CESGRANRIO/BB/2023 Um estudante de computação decidiu escrever um método Java para exibir, no console, em pré-ordem, os valores dos nós de uma árvore binária recebida como parâmetro. Ao executar esse método, os seguintes valores foram exibidos no console: 80 84 55 76 72 Considerando os valores exibidos, qual árvore foi recebida como parâmetro? AVL Tree Visualzation (usfca.edu) CESGRANRIO/BB/2023 93 94 CESGRANRIO/Transpetro/2018 Uma árvore binária foi percorrida em ordem simétrica, e os valores de seus nós exibidos no console. O resultado desse procedimento foi o seguinte: 15 12 10 19 20 13 34 Dentre as árvores apresentadas, a única capaz de produzir o resultado acima é AVL Tree Visualzation (usfca.edu) CESGRANRIO/Transpetro/2018 95 96 CESGRANRIO/BB/2021 Desejam-se realizar buscas nas seguintes coleções de dados, representadas na linguagem Java: I - Um array de 1.000 números inteiros ordenados de forma decrescente; II - Uma lista encadeada desordenada e alocada dinamicamente, cujos 1.000 nós contêm strings (uma string por nó); III - Uma lista encadeada, alocada dinamicamente, cujos 1.000 nós contêm números decimais (um número double por nó) ordenados de forma ascendente. Levando-se em consideração a exequibilidade e a eficiência, quais métodos de busca devem ser empregados, respectiva- mente, em cada um dos três casos acima? (A) I – sequencial; II – sequencial; III – binária (B) I – binária; II – sequencial; III – sequencial (C) I – binária; II – sequencial; III – binária (D) I – sequencial; II – sequencial; III – sequencial (E) I – sequencial; II – binária; III – binária Busca binária (artigo) | Algoritmos | Khan Academy CESGRANRIO/BB/2023 Para entender como o algoritmo de busca binária se comporta, um estudante de computação resolveu inserir um comando System.out.printf() em um método chamado busca. Esse método, escrito em Java, realiza uma busca binária em um array de números inteiros, ordenados de forma ascendente. O objetivo do printf é exibir, no console, o valor de cada elemento do array visitado pelo algoritmo de busca binária. Para testar o código que criou, o estudante escreveu o método main a seguir. public class Main { public static void main(String[] args) { int lista[]={5,18,27,33,44,49,54,67,69,72,79,86,87,92}; // o array lista possui 14 elementos busca(78, lista); } public static int busca(int val,int lista[]) { // código relativo ao algoritmo de busca binária } } O que será exibido no console quando o método main for executado? A 54 79 69 72 B 49 72 86 79 C 54 86 69 72 79 D 67 86 72 79 E 54 79 67 69 72 Busca binária (artigo) | Algoritmos | Khan Academy 97 98 Um método que implementa um algoritmo de busca binária recebe como parâmetros um vetor de inteiros ordenados descendentemente, o comprimento desse vetor e um número inteiro que se deseja localizar no vetor. O cabeçalho desse método é o seguinte: public int buscaBin(int vet[], int n, int val) Admitindo-se que o vetor passado como parâmetro tenha 750 elementos, qual será o número máximo de iterações que o algoritmo irá realizar até que o valor (val) seja localizado ou que seja detectado que esse valor não se encontra no vetor? A 8 B 9 C 10 D 11 E 12 CESGRANRIO/Transpetro/2018 Busca binária (artigo) | Algoritmos | Khan Academy CESGRANRIO/BB/2021 Um professor preparou uma série de experimentos para avaliar, juntamente com seus alunos, três algoritmos de ordenação: o da bolha, o de ordenação por inser- ção e o de ordenação por seleção. Para tal, ele escre- veu três métodos Java, um para cada algoritmo. Todos eles recebem como único parâmetro um array de inteiros (int vet[ ] = {81,15,4,20,7,47,14,20,4}), que será ordenado em ordem crescente. Para acompanhar a evolução desse array sendo ordena- do, cada um dos três métodos exibe a configuração dos elementos do array ao término de cada iteração do co- mando de repetição mais externo. Vale lembrar que es- ses três algoritmos de ordenação são compostos por dois comandos de repetição aninhados (dois comandos for ou dois comandos while). Terminada a codificação, o professor executou os méto- dos relativos aos três algoritmos de ordenação e projetou no quadro as configurações do array relativas às três pri- meiras iterações de cada um dos algoritmos de ordena- ção, conforme mostrado a seguir. 99 100 CESGRANRIO/BB/2021 CESGRANRIO/BB/2021 As configurações 1, 2 e 3, exibidas acima, correspondem, respectivamente, aos algoritmos (A) da bolha, de seleção e de inserção (B) da bolha, de inserção e de seleção (C) de seleção, de inserção e da bolha (D) de seleção, da bolha e de inserção (E) de inserção, de seleção e da bolha 101 102 Prof. Raphael Lacerda Selection Sort Prof. Raphael Lacerda Selection Sort 103 104 Prof. Raphael Lacerda Insertion Sort Prof. Raphael Lacerda Insertion Sort 105 106 Prof. Raphael Lacerda Bubble Sort Prof. Raphael Lacerda Bubble Sort 107 108 In a nutshell Prof. Raphael Lacerda https://www.treinaweb.com.br/blog/conheca-os-principais-algoritmos-de-ordenacao/ estrategia/algoritmos-ordenacao at main · raphaelLacerda/estrategia · GitHub CESGRANRIO/IPEA/2024 Seja um array de inteiros de 32 bits com 10.000 elementos, gerados e posicionados aleatoriamente nesse array. Nessas condições, qual algoritmo irá ordenar esse array com um consumo de tempo, em seu caso médio, proporcional ao consumo de tempo do pior caso do Quick sort? A Bucket sort B Heap sort C Insertion sort D Merge sort E Tree sort 109 110 CESGRANRIO/BB/2021 Dentre os problemas identificados pela gerência de um banco comercial, está a localização das contas dos seus titulares nas listagens e nos relatórios impressos em diferentes situações. Um especialista de TI sugeriu ordenar as contas por meio dos CPF dos seus n titulares antes das impressões. Dentre alguns algoritmos pré-selecionados para essa ordenação, o especialista escolheu o algoritmo de ordenação por inserção, no qual o consumo de tempo é, no melhor caso, proporcional a (A) n log n (B) log n (C) n2 (D) n (E) 1 CESGRANRIO/BB/2021 Em uma agência bancária, as filas de atendimento são ordenadas da esquerda para a direita, e o gerente dessa agência percebeu a presença equivocada de um idoso, com a senha 52, na fila de atendimento não preferencial. Visando a sanar o equívoco, o gerente resolveu que, na primeira oportunidade, faria uma busca no sistema para saber se a senha 52 ainda estava ativa, indicando a presença do idoso na fila de atendimento não preferencial. Em caso de resposta positiva, procu- raria o cliente para trocar sua senha por outra de atendimento preferencial; se não, apenas registraria o fato para posterior discussão no grupo de qualidade de atendimento. Considerando o uso de um algoritmo de busca sequencial otimizado, partindo da esquerda para a direita, e as sequências hipotéticas das senhas da fila de atendimento não preferencial e suas regras de ordenação, segundo as quais quem está à esquerda é atendido antes de quem está à direita, o menor número de comparações para o gerente conhecer o resultado de sua busca ocorre em 111 112 CESGRANRIO/BB/2021 CESGRANRIO/BB/2021 As agências bancárias negociam seguros residenciais com seus clientes e, muitas vezes, precisam arquivar cópias de forma ordenada para que consultas eventuais sejam facilitadas. O gerente de uma agência precisava ordenar um vetor de documentos referentes a esses seguros, e o seu adjunto, da área de TI, o aconselhou a usar o algoritmo de ordenação chamado Bubble Sort. Utilizando-se o algoritmo sugerido, qual será a quantidade de trocas de posições realizadas para ordenar,de modo cres- cente, o vetor de números de contrato (77, 51, 11, 37, 29, 13, 21)? (A) 14 (B) 15 (C) 16 (D) 17 (E) 18 113 114 CESGRANRIO/BB/2021 Uma das formas de o gerente de uma agência bancária acompanhar a qualidade dos serviços prestados aos seus clientes é verificar o estado da ordem de atendimento em vários instantes ao longo do expediente. O sistema que a gerência utiliza para tal fim é a estrutura de dados conhecida como FILA, que mostra a situação da ordem de atendimento no instante da verificação. Nesse contexto, implementa-se uma estrutura de FILA de números inteiros com suas duas operações tradicionais: ENFILEIRAR(Z), que ocorre no instante em que um cliente recebe uma senha Z e entra na FILA; e DESENFILEIRAR( ), que ocorre quando um cliente sai da FILA, caso em que DESENFILEIRAR( ) retorna o número da senha. Sabe-se, tam- bém, que a representação do estado da FILA em um instante qualquer é realizada listando os elementos, de forma que o primeiro elemento, da esquerda para a direita, é o mais antigo presente na FILA. Nas condições apresentadas, considere uma FILA que começa vazia e realiza as seguintes operações: ENFILEIRAR(8) → ENFILEIRAR(9) → DESENFILEIRAR( ) → ENFILEIRAR(10) → ENFILEIRAR(11) → ENFILEIRAR(DESENFILEIRAR ( )) → ENFILEIRAR(12) → DESENFILEIRAR( ) → ENFILEIRAR(13) → DESENFILEIRAR( ) Após realizar as operações acima, a FILA estará no estado (A)10–11 –12 (B) 9 – 12 – 13 (C) 9 – 10 – 11 (D) 8 – 10 – 11 (E) 8 – 9 –10 Pilha Prof. Raphael Lacerda 115 116 Fila Prof. Raphael Lacerda CESGRANRIO/Caixa/2021 Qual árvore binária pode ser classificada como árvore binária de busca? 117 118 CESGRANRIO/BANCO AMAZONIA/2021 A classe Java ArvNo, exibida abaixo, é usada para representar os nós de uma árvore binária. Ela é usada na implementação de uma árvore binária pela classe Arv, exibida a seguir. Que árvore terá os valores de seus nós exibidos em ordem descendente quando for percorrida pelo método percorre(), definido na classe Arv? CESGRANRIO/BANCO AMAZONIA/2021 119 120 CESGRANRIO/BANCO AMAZONIA/2021 CESGRANRIO/BANCO AMAZONIA/2021 121 122 CESGRANRIO/BB/2021 Desejam-se realizar buscas nas seguintes coleções de dados, representadas na linguagem Java: I - Um array de 1.000 números inteiros ordenados de forma decrescente; II - Uma lista encadeada desordenada e alocada dinamicamente, cujos 1.000 nós contêm strings (uma string por nó); III - Uma lista encadeada, alocada dinamicamente, cujos 1.000 nós contêm números decimais (um número double por nó) ordenados de forma ascendente. Levando-se em consideração a exequibilidade e a eficiência, quais métodos de busca devem ser empregados, respectiva- mente, em cada um dos três casos acima? (A) I – sequencial; II – sequencial; III – binária (B) I – binária; II – sequencial; III – sequencial (C) I – binária; II – sequencial; III – binária (D) I – sequencial; II – sequencial; III – sequencial (E) I – sequencial; II – binária; III – binária Busca binária (artigo) | Algoritmos | Khan Academy CESGRANRIO/B.A/2018 Em uma árvore AVL com grande quantidade de nós, o custo para inclusão de um nó no meio da árvore é proporcional a A log(n) B n C n log(n) D n2 E n2 log(n) 123 124 #PYTHON Prof. Raphael Lacerda Prof. Raphael Lacerda Strings 125 126 Prof. Raphael Lacerda Quais métodos devo saber? https://www.w3schools.com/python/python_ref_string.asp Prof. Raphael Lacerda e mais https://www.w3schools.com/python/python_ref_string.asp 127 128 Prof. Raphael Lacerda Prof. Raphael Lacerda O que mais? 129 130 Prof. Raphael Lacerda Concatenação https://realpython.com/python-f-strings/ Prof. Raphael Lacerda LISTAS 131 132 Prof. Raphael Lacerda Quais devo saber? Prof. Raphael Lacerda 133 134 Seja o seguinte programa Python: a = [1, 4, 8] b = [-1, 6, 2] c = a*2+b*0 print(c) O que será exibido no console quando esse programa for executado? A [2, 8, 16] B [1, 4, 8, 1, 4, 8] C [2, 8, 16, 0, 0, 0] D [1, 4, 8, 1, 4, 8, 0, 0, 0] E TypeError: unsupported operand type(s) for +: 'list' and 'list' CESGRANRIO/IPEA/2024 CESGRANRIO/IPEA/2024 135 136 Admita que o módulo pilha contém as funções push(pil, e), pop(pil), e empty(pil), que implementam as operações usuais sobre uma pilha. O que será exibido no console quando esse programa for executado? A 8 45 76 80 23 B 8 45 80 23 76 C 23 80 45 8 76 D 45 8 23 80 76 E 80 23 8 45 76 CESGRANRIO/IPEA/2024 Seja o seguinte programa Python: def contagem(s): if len(s)==0: return 0 return len(s[0])+contagem(s[1:]) txt = [ 'hoje', [ ['é', 'dia', 'de', 'prova' ] ], 'eu', [ [ 'vou', 'me', 'sair' ] ], [ 'bem' ] ] print(contagem(txt)) O valor que será exibido no console quando esse código for executado é A 5 B 9 C 10 D 16 E 29 CESGRANRIO/IPEA/2024 137 138 resolvendo Seja o seguinte código Python: str = 'America do Sul' s1 = ( str.split ( ';' ) ).pop().upper() print ( str ) O que será exibido no console quando esse código for executado? A America do Sul B AMERICA DO SUL C Sul D SUL E AMERICA CESGRANRIO/TRANSPETRO/2023 139 140 Seja o seguinte programa Python: l = ['abc', ['a', 'b', 'c'], 'd', ['a', ['abc', 'd']]] c = 0 for e in l: c+=len(e) print( c ) O que será exibido no console quando esse programa for executado? CESGRANRIO/TRANSPETRO/2023 Pilhas podem ser implementadas em Python por meio de listas em que o último elemento é o topo da pilha, como no exemplo abaixo: pilha01 = ['a4', 'a3', 'a2', 'a1'] # o elemento 'a1' está # no topo da pilha pilha02 = ['b2', 'b1'] # o elemento 'b1' está no topo da pilha Considere uma função Python, chamada unifica, que recebe duas pilhas como parâmetros e retorna uma terceira, que é o resultado da intercalação dos elementos das duas pilhas recebidas como parâmetros. Um programa Python chamou essa função unifica, passando como parâmetros as duas pilhas do exemplo acima (pilha01 e pilha02). O resultado da intercalação foi a pilha ['a4', 'a3', 'b2', 'a2', 'b1', 'a1'] Qual implementação da função unifica realiza o que foi descrito acima? CESGRANRIO/TRANSPETRO/2023 141 142 Alternativas A def unifica(p1, p2): p3 = [ ] while len(p1) > 0: p3.append(p1.pop()) while len(p2) > 0: p3.append(p2.pop()) return p3 B def unifica(p1, p2): p3 = [ ] while len(p1) > 0 and len(p2) > 0 : p3.append(p1.pop()) p3.append(p2.pop()) return p3 CESGRANRIO/TRANSPETRO/2023 CESGRANRIO/TRANSPETRO/2023 C def unifica(p1, p2): p3 = [ ] p4 = [ ] while len(p1) > 0 and len(p2) > 0 : p3.append(p1.pop()) p3.append(p2.pop()) while len(p3) > 0: p4.append(p3.pop()) return p4 D def unifica(p1, p2): p3 = [ ] p4 = [ ] while len(p1) > 0 or len(p2) > 0 : if len(p1) != 0: p3.append(p1.pop()) if len(p2) != 0: p3.append(p2.pop()) while len(p3) > 0: p4.append(p3.pop()) return p4 E def unifica(p1, p2): p3 = [ ] p4 = [ ] while len(p1) != 0: if len(p1) != 0: p3.append(p1.pop()) while len(p2) != 0: if len(p2) != 0: p3.append(p2.pop()) while len(p3) > 0: p4.append(p3.pop()) return p4 143 144 CESGRANRIO/TRANSPETRO/2018 Python | yield Keyword - GeeksforGeeks def x(u): for i in range(u): yield(i**i) def z(n): return lambda x:x+n w=0 for k in x(5): w+=(lambda x:x//2)(z(k)(k)) print(w) Que resultado será impresso por esse programa? A 30 B 33 C 256 D 289 E 3414 Decodificando… def x(u): for i in range(u): yield i for i in x(5): print(i) Python | yield Keyword - GeeksforGeeks 145 146 Decodificando… def x(u): for i in range(u): yield i**i for i in x(5): print(i) Python | yield Keyword - GeeksforGeeks Decodificando… Python | yield Keyword - GeeksforGeeks def z(n): return lambda x:x+nprint(z(3)(2)) print(z(5)(1)) 147 148 Decodificando… def x(u): for i in range(u): yield i**i def z(n): return lambda x:x+n for k in x(5): print(k) Python | yield Keyword - GeeksforGeeks Decodificando… def x(u): for i in range(u): yield i**i def z(n): return lambda x:x+n w=0 for k in x(5): w+=(lambda x:x//2)(4) print(w) Python | yield Keyword - GeeksforGeeks Python Operators (w3schools.com) 149 150 Decodificando… def x(u): for i in range(u): yield i*i def z(n): return lambda x:x+n w=0 for k in x(5): w+=(lambda x:x//2)(z(k)(k)) print(w) Python | yield Keyword - GeeksforGeeks Python Operators (w3schools.com) Cesgranrio/UNIRIO/2019 Um programador tentou executar o programa a seguir em um interpretador Python O que aconteceu? A Houve um erro de sintaxe. B Houve um erro na execução. C Imprimiu o número 7. D Imprimiu o número 12. E Imprimiu o número 17. 151 152 def f(x): def g(y): z = sum(range(x)) return z+y return g k = f(5) print(k(2)) Decodificando def f(x): def g(y): y = y+x return y return g print(f(2)(3)) Decodificando 153 154 def f(x): def g(y): y = sum(range(x)) return y return g print(f(5)(2)) Decodificando def f(x): def g(y): z = sum(range(x)) return z+y return g k = f(5) print(k(2)) Decodificando 155 156 Considere-se o código Python abaixo. O que será impresso? A 2 B 8 C 13 D 16 E -3 Cesgranrio/UNIRIO/2019 Cesgranrio/UNIRIO/2019 157 158 Cesgranrio/UNIRIO/2019 O código a seguir exibe parte de um programa Python que tem por objetivo retirar um elemento de uma pilha (variável stack) de strings e exibir no console o valor do elemento retirado. A pilha foi concebida de modo que o seu topo é o primeiro elemento de uma lista (variável stack). Qual versão da função pop(s) fará com que o programa acima alcance o seu objetivo? Alternativas A def pop(s): return s.pop() B def pop(s): temp=s[0] s.remove(s[0]) return temp C def pop(s): return s.pop(-1) D def pop(s): temp=s[0] s=s[1:] return temp E def pop(s): temp=s[-1] s=s[-1:1:-1] return temp pq nao pop()? A pilha foi concebida de modo que o seu topo é o primeiro elemento de uma lista (variável stack). stack = [1,2,4,5,6] print(stack) stack.pop() print(stack) 159 160 qual problema da D? def pop(s): temp=s[0] s=s[1:] return temp stack = [1,2,4,5,6] print(pop(stack)) Duas pilhas, p1 e p2, foram implementadas em Python, por meio de listas em que o último elemento da lista é o topo da pilha. As configurações iniciais dessas pilhas são as seguintes: p1=[50,40,30,20,10] p2=[ ] Qual função irá transferir os elementos de p1 para p2, de modo que p1 passe a ser uma pilha vazia, e p2 passe a ter a mesma configuração que p1 tinha, antes da chamada da função? A def fa(p1,p2): if(len(p1)==0): return x=p1[len(p1)-1] fa(p1,p2) p2.append(x) B def fb(p1,p2): if(len(p1)==0): return x=p1[len(p1)-1] del p1[len(p1)-1] fb(p1,p2) p2.append(x) C def fc(p1,p2): if(len(p1)==0): return p2.append(p1.pop()) fc(p1,p2) D def fd(p1,p2): for i in range(len(p1)): p2.append(p1.pop()) E def fe(p1,p2): for i in range(len(p1)): p2.append(p1[i]) CESGRANRIO/CAIXA/2021 161 162 p1=[50,40,30,20,10] p2=[ ] def fb(p1,p2): if(len(p1)==0): return x=p1[len(p1)-1] print(x) del p1[len(p1)-1] print(p1) fb(p1,p2) p2.append(x) fb(p1,p2) print(p1) print(p2) decodificando O que será exibido pelo comando print(v3) quando esse programa for executado por meio do IDLE? A ['Ri de Janeir'] B ["] C ['rienaJ ed '] D ['Rio de Janeiro'] E ['orienaJ ed oiR'] Prof. Raphael Lacerda Cesgranrio/UNIRO/2019/ 163 164 Considere-se uma lista L, criada em Python, da seguinte forma: L=[-20,-10,0,10,20,30] O comando print(L[-1::-2]) apresentará o resultado A [30, 10, -10] B [30, 20] C [-20, 10] D [30] E [20] Prof. Raphael Lacerda Cesgranrio/UNIRO/2019/ Código: 1 a = ['UF'] + [ 'RN'] 2 len(a) 3 b = ['4']*4 4 len(b) Prof. Raphael Lacerda Cesgranrio/UNIRO/2019/ 165 166 A saída correta correspondente às linhas 2 e 4 do código é A 2 e 4. B 4 e 16. C 2 e 16. D 4 e 4. Prof. Raphael Lacerda Cesgranrio/UNIRO/2019/ Prof. Raphael Lacerda A saída na tela após a execução será A Fulano m B Fulano 2500.0 C Fulano de Tal m D Fulano de Tal 2500.0 E Fulano de Tal m 2500.0 Cesgranrio/UNIRIO/2016 167 168 #ENGENHARIA DE SOFTWARE Prof. Raphael Lacerda @canetas.pretas #ÁGIL 169 170 CESGRANRIO/BASA/2021 “O Scrum é um arcabouço que ajuda pessoas, times e organizações a gerar valor por meio de soluções adaptativas para problemas complexos.” SCHWABER, K. ; SUTHERLAND, J. O Guia do Scrum, O Guia Definitivo para o Scrum: As Regras do Jogo. Nov. 2020. p 3. Adaptado. Para cumprir seu objetivo, o Scrum se baseia em quatro eventos formais, contidos dentro de um evento de maior duração: a Sprint. Tais eventos formais implementam os três pilares empíricos do Scrum, que são a) compromisso, abertura e adaptação b) respeito, coragem e foco c) respeito, inspeção e adaptação d) transparência, compromisso e respeito e) transparência, inspeção e adaptação CESGRANRIO/B.A/2018 O Manifesto Ágil se tornou um marco da Engenharia de Software, chamando a atenção de que vários processos propostos de forma independente tinham valores em comum. Além disso, foram definidos 12 princípios. Entre eles, figura o seguinte princípio: A cada pessoa em um projeto deve ter sua função predeterminada para acelerar o desenvolvimento em conjunto. B a contínua atenção à simplicidade do trabalho feito aumenta a agilidade. C software funcionando é a medida primária de progresso. D os indivíduos, clientes e desenvolvedores, são mais importantes que processos e ferramentas. E o software funcional emerge de times auto-organizáveis. 171 172 CESGRANRIO/B.A/2018 No SCRUM, o Backlog da Sprint é “um conjunto de itens do Backlog do Produto selecionados para Sprint, juntamente com o plano para entregar o incremento do produto e atingir o objetivo da Sprint” (Schwaber e Sutherland, 2017). Durante a Sprint, quem pode alterar o Backlog da Sprint? A Product Owner, apenas B Scrum Master, apenas C Time de Desenvolvimento, apenas D Time de Desenvolvimento e o Product Owner, apenas E Time de Desenvolvimento e o Scrum Master, apenas CESGRANRIO/UNIRIO/2019 “O Scrum é um arcabouço que ajuda pessoas, times e organizações a gerar valor por meio de soluções adaptativas para problemas complexos.” SCHWABER, K. ; SUTHERLAND, J. O Guia do Scrum, O Guia Definitivo para o Scrum: As Regras do Jogo. Nov. 2020. p 3. Adaptado. Para cumprir seu objetivo, o Scrum se baseia em quatro eventos formais, contidos dentro de um evento de maior duração: a Sprint. Tais eventos formais implementam os três pilares empíricos do Scrum, que são a) compromisso, abertura e adaptação b) respeito, coragem e foco c) respeito, inspeção e adaptação d) transparência, compromisso e respeito e) transparência, inspeção e adaptação 173 174 CESGRANRIO/UNIRIO/2019 Uma das principais práticas de XP (Extreme Programming) é o Iteration Planning Game. Entre as atividades realizadas em uma sessão de Iteration Planning, está a a) definição, pelos programadores, de quais story cards serão implementados em uma iteração. b) estimação do esforço que será necessário para implementar cada story card. c) estimação da data de entrega de um release baseado na estimativa de esforço de cada story card. d) estimação, feita por cada programador, do tempo que será necessário para realizar cada tarefa sob sua responsabilidade. e) designação, por parte do coach, dos programadores que irão realizar as tarefas contidas na lista de tarefas. CESGRANRIO/UNIRIO/2019 O modelo de processo incremental é iterativo por natureza e produz a cada incremento uma versão operacional do produto, diferente de outros modelos, como, por exemplo, a prototipagem. Esse modelo incremental a) gera incrementos logo nas primeiras etapas, masestes não podem ser entregues ao cliente. b) possui unicamente atividades de codificação e teste nos seus incrementos. c) deve ter, no máximo, 1 a 5 sprints quando planejados e gerenciados com métodos ágeis. d) possui atividades de teste fora do incremento, realizadas por outra equipe que vai integrando incrementalmente o produto a cada etapa do teste. e) combina elementos do modelo cascata, aplicado de maneira iterativa, sendo também essa filosofia incremental usada em processos ágeis. 175 176 CESGRANRIO/UNIRIO/2019 O ciclo de vida de um projeto em cascata, para desenvolvimento de software de gestão de almoxarifado, teve escopo, prazo e custo rigidamente determinados, nas suas fases iniciais, pelo gestor de projeto e sua equipe, stackeholders e área solicitante. Dessa forma, conclui-se que esse projeto tem um ciclo de vida a) ágil b) iterativo c) integrado d) incremental e) preditivo CESGRANRIO/Transpetro/2018 O Processo Unificado de desenvolvimento de software é dividido em quatro fases: concepção (inception), elaboração, construção e transição. Um dos objetivos da fase de elaboração é a) definir a arquitetura b) estimar o custo total c) estabelecer o escopo do projeto d) minimizar custos de desenvolvimento e) converter bancos de dados operacionais 177 178 CESGRANRIO/Transpetro/2018 A etapa do projeto unificado e a sua correspondente característica são, respectivamente: a) Concepção – levantamento de requisitos sistêmicos primários do ciclo b) Construção – implementação dos elementos de maior risco e criticidade c) Elaboração – mitigação dos problemas de alto risco do projeto d) Incremento – diferenciação entre as entregas de duas etapas subsequentes e) Transição – geração de um subconjunto executável do produto final CESGRANRIO/Transpetro/2018 O processo unificado consiste em um conjunto de diretrizes que visam a aumentar as chances de um bem sucedido projeto de desenvolvimento de software. Uma de suas características é a) apresentar-se como uma alternativa aos métodos ágeis, tais como Scrum e Feature-Driven development. b) combinar boas práticas de desenvolvimento de software, como ciclo de vida em cascata evolutivo e documentação de processo coesa e precisa. c) gerar como produto de cada etapa de tempo definido e curto um sistema parcial, testável e integrável. d) partir de um conjunto perene de requisitos previamente aferidos, cujas partes serão implementadas por etapas. e) produzir, ao final de cada etapa de desenvolvimento, um protótipo do sistema, com vistas à validação de um subconjunto de requisitos. 179 180 CESGRANRIO/Transpetro/2018 De acordo com o Processo Unificado (RUP), que resultado deve ser alcançado ao término da fase de elaboração? a) A integração do sistema nas plataformas definidas pelo cliente. b) A descrição da arquitetura do sistema. c) A disponibilização das versões finais dos manuais do usuário. d) A disponibilização da versão inicial do documento de visão do sistema. e) O encerramento dos testes para validar o sistema em relação às expectativas de seus usuários. CESGRANRIO/Transpetro/2018 O Processo Unificado, originalmente proposto pela Rational, é um processo moderno baseado no uso de UML. Nesse processo, existem quatro fases, sendo que uma delas é conhecida como Elaboração. Um dos objetivos previstos nessa fase é a) avaliar a contribuição do sistema ao negócio. b) desenvolver um entendimento do domínio do problema. c) estabelecer um caso de negócio para o sistema. d) identificar todas as entidades externas que irão interagir com o sistema. e) realizar o projeto físico do sistema. 181 182 #MOBILE Prof. Raphael Lacerda Um desenvolvedor de aplicativos para dispositivos móveis, utilizando o framework Ionic, deseja operar com Splash Screens no desenvolvimento de aplicações com Ionic nas páginas do Ipea. Contudo, as Splash Screens, para funcionarem, devem ser inseridas em um diretório de projeto Ionic específico. Em qual diretório do projeto Ionic essas Splash Screens devem ser inseridas? A icons B splash C dtbase D resources E configuration CESGRANRIO/BB/2024 183 184 Um programador recebeu a incumbência de desenvolver uma aplicação móvel segundo a API 30 do Android, correspondente ao Android 11. Seguindo as melhores práticas, cada tela dessa aplicação, incluindo sua funcionalidade, foi construída como um módulo único e autônomo, totalmente independente de outros módulos similares. Esse módulo único e autônomo é conhecido como A activity B content provider C fragment D intent E manifest CESGRANRIO/BB/2023 O React Native 0.59 introduziu o conceito de Hooks. Entre os Hooks, tem-se o usestate, que permite A calcular o estado de um CEP ou ZIP de acordo com o Locale. B chamar estados específicos do engine React para alterar seu comportamento. C declarar uma classe que segue o padrão de design state. D criar uma enumeration que representa estados. E manter um estado local em uma função de um componente funcional. CESGRANRIO/BB/2023 185 186 O código abaixo está em linguagem TypeScrip, cuja tipagem é estática. let fraseLegal = 'Bom dia!'; fraseLegal = 9.5; Analisando o código apresentado, tem-se que a TypeScrip A não realiza a inferência de tipo, por isso, o código apresentado vai rodar sem erro. B realiza a inferência de tipo, por isso, o código apresentado vai rodar sem erro. C realiza a inferência de tipo, por isso, aceita a atribuição do tipo number para um tipo string sem gerar erro de compilação do código apresentado. D realiza a inferência de tipo, por isso, não aceita a atribuição do tipo number para um tipo string, o que vai gerar um erro de compilação do código apresentado. E não diferencia valores ponto flutuante (decimal) de valores inteiros, por isso, o código apresentado vai rodar sem erro. CESGRANRIO/BB/2023 Kotlin é uma linguagem de programação usada no desenvolvimento Android. Entre suas características, está um grau de compatibilidade com Java, que permite A chamar funções feitas em Java, apenas, mas não permite que suas funções Kotlin sejam chamadas por Java. B ler dados que foram salvos por apps Java, apenas. C ler e escrever dados que podem ser lidos e escritos por apps Java, apenas. D ter suas funções chamadas por Java, apenas, mas não consegue chamar funções feitas em Java. E construir apps com código parcialmente em Java e parcialmente em Kotlin, sem restrições. CESGRANRIO/BB/2023 187 188 Em um programa em Swift, o programador deseja incluir o resultado de uma operação dentro de uma string. Nesse contexto, considere o seguinte código: let quantidade = 4 let valor = 10 Dado o código acima, o programador deseja uma string saida cujo valor seja "valor total = 40" Para isso, o programador deve utilizar o seguinte fragmento de código Swift: A let saida := "valor total = \(quantidade*valor)" B let saida := "valor total = \{quantidade*valor}" C let saida = "valor total = %[quantidade*valor]" D let saida = "valor total = \(quantidade*valor)" E let saida = "valor total = \[quantidade*valor]" CESGRANRIO/BB/2023 Um programador de aplicativos para dispositivos Apple com iOS recebeu a seguinte parte de um código, escrito na linguagem swift: var i:Int var texto:String var num:Int=0 var frase:String=”” for i in 1...3 { num = num+1+i*2 switch num{ case 2...6: texto = “a “ case 7...9: texto = “casa “ case 10...13: texto = “carro “ case 14...16: texto = “eh “ case 17...20: texto = “o “ case 21...23: texto = “forte “ default: texto = “não eh “ } frase = frase+texto } print (frase) A execução dessa parte do código produz como resposta A o carro eh B a casa eh C o carro não eh D a casa eh forte E o carro eh forte CESGRANRIO/BB/2021 189 190 CESGRANRIO/Caixa/2021 Na linguagem de programação Kotlin, é possível criar uma variável cujo valor nunca pode ser mudado, na prática, uma constante, com o nome idademinima, do tipo básicointeiro de 32 bits, com o valor 18. Para que isso aconteça, qual das seguintes instruções deve ser usada? A val idademinima : Int = 18 B val idademinima : Integer = 18 C val idademinima = 18 : Integer D var idademinima : Int = 18 Evar idademinima : Integer = 18 CESGRANRIO/BB/2021 O desenvolvimento de um aplicativo bancário para dis- positivos móveis exige que se dedique atenção à parte visual do mesmo, que vai depender, também, do modelo do aparelho e do tipo de sistema operacional (SO) que esteja rodando nele. Caso um desenvolvedor de aplicativos para um iPhone com SO iOS precise fazer a programação visual das telas desses aplicativos, que ferramenta do Xcode 10 ele deve utilizar? (A) Interface Builder (B) Bundle Identifier (C) Organizer Interface (D) Apple LLVM (E) Instruments 191 192 CESGRANRIO/BB/2021 Xcode 14 Overview - Apple DeveloperInterface Builder - Wikipedia Prof. Raphael Lacerda Ciclo de Vida https://medium.com/good-morning- swift/ios-view-controller-life-cycle- 2a0f02e74ff5 193 194 Prof. Raphael Lacerda Equatable #NOSQL Prof. Raphael Lacerda 195 196 CESGRANRIO/BB/2023 Considere um cenário no qual uma empresa de investimentos financeiros tenha realizado uma campanha para que seus colaboradores indicassem outras pessoas que pudessem vir a estar interessadas em seus produtos e serviços. Esses colaboradores também foram estimulados a informar a sua ligação com as pessoas indicadas (ex: amigo, irmão, primo) e as eventuais ligações entre as pessoas indicadas. Estes relacionamentos são importantes para a definição da próxima campanha dessa empresa. O banco de dados NoSQL mais indicado para representar esses dados é o que utiliza o modelo A chave/valor B orientado a colunas C orientado a documentos D orientado a grafos E relacional CESGRANRIO/Transpetro/2023 Na implementação de sistemas de Big Data, é comum a utilização de tecnologias de Bancos de Dados NoSQL, que têm como característica principal não seguir ou ir além do Modelo Relacional e da linguagem SQL. Duas dessas tecnologias são os Bancos de Dados orientados a documentos e orientados a colunas, exemplificados, respectivamente, pelos softwares A ArangoDB e MongoDB B HBase e ArangoDB C HBase e MongoDB D MongoDB e ArangoDB E MongoDB e HBase 197 198 CESGRANRIO/BB/2021 Um banco comercial deseja obter um tipo de banco de dados NoSQL que trate os dados extraídos de redes sociais, de modo a formar uma coleção (collection) interconectada. Nessa coleção (collection), os dados são organizados em vértices ou objetos (O) e em relacionamentos, que são relações (R) ou arestas. Nesse modelo de banco de dados NoSQL, os dados seriam apresentados da seguinte forma: O:Usuario{u1:Joao, u2:Jose, u3:Maria, u4:Claudio} O:Escola{e1:UFRJ, e2:URGS, e3:IFB} R:Estudaem{re1=u1:e2;re2=u2:e2;re3=u3:e1;re4=u4:e3} R:Amigode{ra1=u1:u2;ra2=u1:u3;ra3=u2:u3} O banco de dados NoSQL que representa essa situação deve ter uma estrutura do tipo (A) Distribuided Hashing (B) Consistent Hashing (C) Document Oriented (D) Graph Oriented (E) Vector Clock CESGRANRIO/CAIXA/2021 Os Sistemas de Gerenciamento de Banco de Dados (SGBD) foram afetados pelas demandas trazidas pelo Big Data. Uma das formas de tratar essas demandas são os Sistemas de Gerenciamento de Banco de Dados Distribuídos (SGBDD), nos quais os dados podem estar armazenados em vários servidores, conectados por uma rede de computadores. Um SGBDD que usa softwares middleware, de forma que os SGBDs que o compõem estejam fracamente acoplados, é conhecido como A Baseado em Grafos B Hierárquico C Federado D Orientado a objetos E NOSql 199 200 Prof. Raphael Lacerda NoSQL Prof. Raphael Lacerda Melhor Escalabilidade 201 202 Prof. Raphael Lacerda Relacional vs NoSQL NoSQL Tutorial: What is, Types of NoSQL Databases & Example (guru99.com) Prof. Raphael Lacerda BASE vs ACID NoSQL Tutorial: What is, Types of NoSQL Databases & Example (guru99.com) 203 204 Prof. Raphael Lacerda e esses SGBD's? Prof. Raphael Lacerda NoSQL https://medium.com/permalink-univesp/nosql-o-que-s%C3%A3o-onde-habitam-do-que-se-alimentam-2ccd4cc39571 205 206 Prof. Raphael Lacerda NoSQL https://micreiros.com/tipos-de-bancos-de-dados-nosql/ Prof. Raphael Lacerda Exemplos https://autociencia.blogspot.com/2020/01/scylladb-um-banco-de-dados-nosql-big-data.html 207 208 Prof. Raphael Lacerda Grafos Prof. Raphael Lacerda Documentos 209 210 Prof. Raphael Lacerda Colunar Prof. Raphael Lacerda Chave/Valor Redis - DB4Beginners - O blog da Dani Monteiro 211 212 Prof. Raphael Lacerda Teorema CAP https://autociencia.blogspot.com/2020/01/scylladb-um-banco-de-dados-nosql-big-data.html https://blog.caelum.com.br/nosql-do-teorema-cap-para-paccl/ CESGRANRIO/BB/2021 Um administrador de um banco de dados construído por meio do MongoDB inseriu dados em uma coleção (collection) de dados da seguinte forma: db.fornecedores.insert( { codigo: “thx1138“, nome: “Roupas Syfy ltda“, pais: “Arabia Saudita“ } ) Posteriormente, esse administrador construiu uma consulta que retornou apenas o nome, sem repetição, de todos os países que fazem parte dessa coleção (collection). O comando utilizado para tal consulta foi (A) db.fornecedores.find("pais") (B) db.fornecedores.find().pretty({"pais":1}) (C) db.fornecedores.find().sort({"pais":1}) (D) db.fornecedores.distinct({"pais":0}) (E) db.fornecedores.distinct( "pais" ) 213 214 dicas do mongo Document Database Collections (tables) Views e Materialized Views High Performance Rich Query Language High Availability Scalability https://docs.mongodb.com/manual/introduction/ CRUD! https://docs.mongodb.com/manual/r eference/method/db.collection.inser tMany/#mongodb-method- db.collection.insertMany 215 216 CRUD! https://docs.mongodb.com/manual/r eference/method/db.collection.inser tMany/#mongodb-method- db.collection.insertMany 217 218 CESGRANRIO/BB/2018 Uma das características inerentes ao modelo chave-valor de bancos de dados NoSQL é a(o) A suporte à compreensão da semântica do valor associado à chave B favorecimento à evolução de esquemas conceituais C dependência de linguagem de consulta específica D estrutura de armazenamento interna complexa E falta de suporte à concorrência O termo NoSQL refere-se A a uma abordagem teórica que segue o princípio de não utilização da linguagem SQL em bancos de dados heterogêneos. B à renúncia às propriedades BASE (Basically Available, Soft state, Eventual consistency), potencializando seu espectro de uso. C ao aumento da escalabilidade das bases de dados neles armazenados, aliado a um desempenho mais satisfatório no seu acesso. D à facilidade de implementação de bases de dados normalizadas, com vistas a minimização de redundâncias no conjunto de dados. E à implementação simultânea das três componentes do modelo CAP: consistência, disponibilidade e tolerância ao particionamento. CESGRANRIO/BB/2018 219 220 Organizações modernas estão sujeitas a uma grande quantidade de dados, principalmente se tratam com grandes quantidades de clientes. Muitas das demandas de tecnologia de informação a que essas organizações estão submetidas passaram a ser organizadas e tratadas dentro do conceito de Big Data. Além do grande volume de dados, o Big Data, em sua definição original, considera também a(s) seguinte(s) propriedade(s): A falta de qualidade, apenas B variedade, apenas C velocidade, apenas D variedade e velocidade E velocidade e falta de qualidade CESGRANRIO/BB/2023 Considere uma empresa que possui dados de clientes, todos bem definidos e estruturados (ex: CPF, nome, e-mail, endereço), armazenados em um banco de dados relacional. Uma oportunidade surge para a empresa enriquecer esse banco de dados com dados de outra natureza, porém não muito bem definidos e pouco estruturados. Uma solução pode ser adotar um banco de dados NoSQL, de tal forma que: A a ausência de um esquema de dados bem definido para os dadosnecessários de um cliente possa ser corretamente modelada e implementada em um gerenciador de banco de dados adequado. B a linguagem SQL utilizada para acesso aos dados dos clientes possa ser substituída por outra linguagem de acesso a dados organizados em tabelas segundo o modelo relacional, porém com maior eficiência. C esse novo banco de dados relacional possa ser melhorado, com os dados não muito bem definidos, sem um esquema rígido. D o gerenciador de banco de dados relacional utilizado possa ser atualizado para uma versão mais recente, que não utilize a linguagem SQL. E os atributos que hoje representam chaves primárias e estrangeiras sejam mais bem controlados. CESGRANRIO/BB/2023 221 222 #JAVASCRIPT Prof. Raphael Lacerda Para que um pacote (package) cujo nome é pk01 possa ser publicado no registro npm (registry npm), ele deve conter um arquivo chamado A package.xml B pk01.xml C pk01.js D package.json E pk01.json CESGRANRIO/IPEA/2024 223 224 Analise com atenção o código a seguir, escrito em TypeScript 4.0. function segredo(a: number[]) { return a.map(x=>x*2);} console.log(segredo([1,2,3])); O que será exibido no console quando o código acima for executado? A "Executed JavaScript Failed:" B [2, 4, 6] C [6] D 6 E 12 CESGRANRIO/BB/2023 JSP Prof. Raphael Lacerda Cesgranrio/BB/2018 225 226 CESGRANRIO/BB/2018 A página HTML com Javascript que apresenta esse comportamento é: REST, ou Representational State Transfer, é um protocolo de comunicações sem estado. Que alternativa melhor representa o corpo de uma chamada REST que deseja saber o saldo de um cliente bancário identificado como cliente 23232? A { cliente (id: "23232") { saldo } }} B {"cliente"=23232 "saldo"="?"} C http://app.banco.com/contascorrentes/saldo/cliente/23232 D <QUERY><SALDO/><CLIENTE ID="23232"/><QUERY> E <?xml version="1.0"?> <soap:Envelope xmlns:soap=http://www.w3.org/2001/12/soap-envelope soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding"> <soap:body> <b:getSaldo xmlns:b="http://app.banco.com/contascorrentes "> <m:cliente>23232</m:cliente></m:getSaldo> </soap:Body></soap:Envelope> CESGRANRIO/BB/2018 227 228 Um formulário HTML é usado para coletar entradas do usuário e pode conter elementos <input> de vários tipos. Se o desenvolvedor Web desejar incluir um campo no formulário com dados que não fiquem visíveis na interface do usuário, ele deve usar o elemento <input> do tipo A blocked B secret C hidden D encrypted E invisible CESGRANRIO/UNIRIO/2019 AngularJS segue um modelo MVC. Qual a diretiva correta em AngularJS para ligar um elemento de entrada de dados da visão, como um campo input do tipo texto, a um elemento do modelo, como uma variável do tipo string? A ngView B ngValue C ngBind D ngModel E ngLink CESGRANRIO/BB/2018 229 230 CESGRANRIO/B.A/2018 É um exemplo de uma expressão Angular (Angular Expression) em AngularJS: Alternativas A <p>Candidato aprovado: {{ candidato.nome }}</p> B <p>Candidato aprovado: [[ candidato.nome ]]</p> C <p>Candidato aprovado: <%= candidato.nome %></p> D <p>Candidato aprovado: <?= candidato.nome ?> </p> E <p>Candidato aprovado: <js:angular value="candidato. nome"/></p> CESGRANRIO/B.A/2018 Considere o código HTML com CSS listado a seguir: Qual deve ser o estilo utilizado para que o texto seja mostrado na cor azul? A #texto { color: #0000FF; } B #texto { font-color: #0000FF; } C .texto { color: #0000FF; } D .texto { font-color: #0000FF; } E .texto { text-color: #0000FF; } 231 232 A hora não irá aparecer no <div> porque A o append em jQuery não pode ser utilizado para containers vazios; deveria ter sido substituído por html. B o objeto identificado por idLugar ainda não existe quando o script é executado. C o símbolo de # está faltando na frente da identificação na definição do <div> D a variável data está escrita erradamente (está escrita em português). E os métodos getHours e getMinutes estão escritos no plural, quando deveriam ser, respectivamente, getHour e getMinute. CESGRANRIO/BANCO amazonia/2018 Um arquivo, contendo um documento XML, contém exatamente a seguinte informação: <?xml version=”1.0”?> <PEDIDOS> <PEDIDO> <TITULO>Pedido de Empréstimo</TITULO> <REQUERENTE>José da Silva</REQUERENTE> <CPF>999.999.999-99</CPF> <VALOR>20000</VALOR> <PEDIDO> <PEDIDOS> A partir desse documento apenas, um processador XML pode garantir que o arquivo é A bem-formado, apenas B bem-formado e normalizado C bem-formado e válido D normalizado, apenas E válido, apenas CESGRANRIO/CAIXA/2021 233 234 Um profissional de Informática está trabalhando em um projeto que envolve a manipulação de documentos XML. Ele precisa garantir que os documentos XML estejam bem- -formados e válidos, de acordo com as especificações do XML 1.1. Uma das regras que ele deverá seguir para garantir que um documento XML 1.1 seja válido é que o(s) A documento pode ter um ou mais elementos raiz. B documento deve começar com uma declaração XML. C nomes dos elementos são insensíveis a maiúsculas e minúsculas. D atributos devem ter o mesmo nome se estiverem no mesmo elemento. E comentários XML devem aparecer como atributos de uma etiqueta (tag). CESGRANRIO/Transpetro/2023 Muitas vezes é necessário adicionar um link, em uma página HTML, de modo a criar um vínculo com outro documento ou recurso. Para adicionar um link com essa finalidade, utiliza-se Alternativas A <h1></h1>B <p></p> C <a></a> D <head></head> E <br></br> CESGRANRIO/Transpetro/2023 235 236 Um desenvolvedor web está trabalhando em uma aplicação que envolve a coleta de dados numéricos dos usuários, e, para isso, está usando HTML e JavaScript (ECMAScript 2020) para criar um campo de entrada de texto e um botão. Quando um usuário clicar nesse botão, o valor inserido será processado. Nesse cenário, considere que esse desenvolvedor quer obter o valor atual do campo de texto HTML com o ID idade. Para obter esse valor, ele deve utilizar o seguinte fragmento de código JavaScript: A document.getElementById(“idade”).getText() B document.getElementById(“idade”).innerHTML C document.getElementById(“idade”).value D document.getElementByName(“idade”).value E document.querySelector(“#idade”).text CESGRANRIO/Transpetro/2023 Um profissional de Informática está desenvolvendo uma aplicação web e deseja implementar uma interface de usuário que permita que os usuários, ao clicar em um botão, acionem uma função JavaScript chamada processar. Qual das seguintes opções de código HTML5 esse profissional deve usar? A <button action=”processar()”>Clique Aqui</button> B <button execute=”processar()”>Clique Aqui</button> C <button onclick=”processar()”>Clique Aqui</button> D <button onsubmit=”processar()”>Clique Aqui</button> E <button trigger=”processar()”>Clique Aqui</button> CESGRANRIO/Transpetro/2023 237 238 AJAX (do inglês Asynchronous Javascript And XML) tem sido largamente utilizado no desenvolvimento de aplicações WEB. Um dos conceitos centrais do AJAX é a possibilidade de serem feitas requisições ao servidor através de código Javascript, rodando no navegador do usuário. Esse recurso é empregado principalmente para permitir que A o processamento das regras de negócio da aplicação seja distribuído aos clientes, minimizando a carga do servidor. B o usuário envie uma requisição assíncrona e verifique o resultado da mesma mais tarde, sem precisar aguardar pela resposta imediata do servidor. C as páginas carreguem mais rapidamente, pois as requisições são paralelizadas e compactadas durante o trânsito. D as páginas compostas diretamente em XML, ao invés de XHTML ou HTML, sejam apresentadas no navegador do usuário. E partes de uma página web sejam atualizadas, sem que o browser recarregue a página inteira do servidor, proporcionando uma interface com melhor usabilidade. CESGRANRIO/Transpetro/2023 CESGRANRIO/BB/2021 Considere o código HTML a seguir. <!doctype html> <html lang=”pt-br”> <head> <script src=”script.js”></script>
Compartilhar