O código em PHP é interpretado no lado do servidor após a requisição de um documento HTML ao qual ele está embutido ou relacionado. Geralmente o PHP, após interpretado, produz um HTML, portanto um navegador não observa um código PHP. Outras linguagens passaram a ser amplamente utilizadas na programação web e na ciência de dados, como Python.Considerando o apresentado, avalie se são (V) verdadeiras ou (F) falsas as afirmativas a seguir.I. ( ) Sintaticamente o PHP é semelhante a JavaScript em sua aparência, em sua natureza de cadeias e tipagem dinâmica de variáveis, além de combinações de elementos JavaScript e Perl.II. ( ) Python fornece suporte a muitos sistemas de gerenciamento de bancos de dados, sendo linguagem útil para construir programas que precisam de acesso web e a bases consistentes.III. ( ) Python é orientada a eventos, procedural, englobando capacidades de padrões Perl com a tratativa de exceções, usando coleta de lixo e removendo elementos desnecessários da memória.IV. ( ) Python também oferece suporte a programação funcional, incluindo recursos como funções lambda, map, filter e reduce.Assinale a alternativa que apresenta a sequência correta.
Considerando a genealogia das linguagens de programação de alto nível da figura abaixo (Sebesta, 2018), percebe-se que diversas delas são influenciadas por suas predecessoras, bem como buscam resolver problemáticas existentes nas linguagens anteriores.Fonte: SEBESTA (2018)Referência completa: SEBESTA, R. W. Conceitos de linguagens de programação. Porto Alegre: Bookman, 2018.A partir do que foi apresentado, analise as afirmativas a seguir:I. A linguagem COBOL originou novos conceitos, sendo alguns deles utilizados em outras linguagens posteriores. Por exemplo, foi a primeira linguagem a consentir nomes realmente conotativos, pois permitia nomes longos (até 30 caracteres) e caracteres conectores de palavras (hifens).II. A linguagem BASIC, assim como o COBOL, foi amplamente utilizada nos meios acadêmicos, mas não se tornou popular no uso para microcomputadores, pela dificuldade de aprendizado para iniciantes.III. A linguagem C++ evoluiu a partir da C, com uma série de modificações para melhorar seus recursos imperativos e adicionar construções para dar suporte à programação orientada a objetos.IV. A linguagem JAVA evoluiu a partir da C++, em que foram removidas algumas construções, outras modificadas e adicionadas. O sucesso dessa linguagem foi sem precedentes, pois os programadores gostaram do projeto e passaram a utilizá-lo em larga escala.Está correto o que se afirma em:
O Google Collaboratory corresponde a um serviço de armazenamento em nuvem, com o objetivo de criar e executar códigos em Python diretamente em um navegador (browser) de Internet. Um dos principais benefícios desse serviço é permitir o desenvolvimento de aplicações sem a necessidade da instalação de softwares na máquina, bastando ter uma conta de usuário Google para acessar o ambiente on-line.Assinale a alternativa que apresenta outras vantagens de uso do Google Colab:
Google Colab (ou Google Colaboratory) é um produto semelhante ao Jupyter Notebook da Google Research. Um desenvolvedor de programa Python pode usar esse notebook para escrever e executar códigos aleatórios de programa Python usando apenas um navegador da web.Considerando o apresentado, avalie as asserções a seguir e a relação proposta entre elas.I. Para conseguir rodar códigos no Google Collaboratory, é necessário digitar seu código na caixa cinza mais escura e pressionar a seta de execução (ícone de "play") para executar o código.POISII. No Python3, o retorno função **input('mensagem')**é uma string, a qual deve ser convertida para float() para uso em cálculos, o que não permite recarregamento ou salvamento automático de página.A respeito dessas asserções, assinale a alternativa correta.
JSBin permite aos desenvolvedores criar, editar e testar código em tempo real dentro de uma interface amigável e intuitiva.Essa capacidade é particularmente útil para testar pequenos trechos de código, protótipos ou demonstrar conceitos de programação de forma rápida e eficiente.Com relação a este tema e o uso do JSBIN, observe as afirmativas a seguir:
JSBin permite testar e depurar códigos HTML, CSS e JavaScript diretamente no navegador. 2. O JSBin fornece, a cada projeto público, um link que pode ser utilizado para compartilhar o próprio código. 3. JSBin é uma ferramenta que requer instalação local no computador para funcionar corretamente.
Na lógica de programação, operadores lógicos são fundamentais para a construção de expressões condicionais. Um desses operadores é o operador lógico de negação, conhecido como NOT.Com relação a este contexto, assinale a alternativa correta.
Python é uma linguagem de programação de alto nível, conhecida por sua sintaxe clara e legibilidade, o que a torna acessível tanto para iniciantes quanto para desenvolvedores experientes. Sua popularidade se deve também à forte comunidade de usuários e à vasta documentação disponível, que contribuem para um aprendizado contínuo e colaborativo.Em relação ao Python, assinale a alternativa correta:
A concepção das linguagens de programação foi inicialmente orientada mais para as necessidades do computador do que para as dos usuários. No entanto, nos anos 1970, surgiu o conceito de ciclo de vida do software, diminuindo a importância da codificação e destacando a manutenção como uma fase crucial, especialmente em relação aos custos envolvidos.Com relação a este contexto e sobre o conteúdo estudado, analise as asserções a seguir e a relação proposta entre elas:I. A legibilidade no uso de linguagens de programação é crucial para facilitar a compreensão e manutenção do código ao longo do tempo.PORQUEII. Quando um código é legível, fica mais fácil para outros programadores entenderem sua lógica e fazerem alterações ou correções quando necessário.A respeito dessas asserções assinale a alternativa correta.
O pensamento computacional pode ser aplicado em diversas áreas do conhecimento e da prática profissional. Na educação, ele é utilizado para ensinar lógica e resolução de problemas, preparando os alunos para enfrentar desafios complexos de forma estruturada. Na ciência de dados, auxilia na criação de algoritmos que analisam grandes volumes de informações, identificando padrões e insights valiosos. Além disso, em áreas como a engenharia e a medicina, o pensamento computacional é essencial para o desenvolvimento de simulações, modelagens e soluções tecnológicas inovadoras.Sobre as diretrizes básicas do pensamento computacional, é correto apontar que:
O pensamento computacional é uma habilidade essencial para a resolução de problemas complexos, especialmente na área de ciência da computação. Ele envolve a capacidade de compreender e formular problemas de maneira que possam ser resolvidos por meio de processos computacionais. O pensamento computacional não se restringe apenas à programação de computadores, mas abrange uma série de habilidades mentais que são aplicáveis a diversos campos.Dito isto, em relação aos pilares que sustentam o pensamento computacional, observe as sentenças a seguir:I - O pensamento computacional é baseado em Algoritmo e Decomposição.II - O pensamento computacional é baseado em Abstração e Identificação de Padrões.III - O pensamento computacional é baseado em Composição e Programação.Está correto o que se afirma em:
Operadores lógicos são usados para construir proposições complexas a partir de proposições simples. Eles incluem AND, OR, NOT, e IF-THEN, permitindo avaliar a verdade ou falsidade de uma afirmação composta com base nas partes individuais. Estes operadores são essenciais em diversas áreas, como matemática, ciência da computação e filosofia, para realizar análises e desenvolver algoritmos lógicos.Com base no texto, sobre o operador lógico AND na lógica, assinale a alternativa correta.
A evolução da computação representa uma das áreas mais dinâmicas e transformadoras da ciência e tecnologia. Desde os primórdios com o ábaco e as máquinas mecânicas de cálculo, passando pelo desenvolvimento dos primeiros computadores eletrônicos na década de 1940, até os avanços modernos em inteligência artificial e computação quântica, a computação tem revolucionado a forma como interagimos com o mundo.Com base no apresentado, onde observamos um pouco sobre a evolução da computação, analise as alternativas a seguir e assinale a correta.
A implementação de uma pilha utilizando uma lista encadeada que requer a criação de uma estrutura de nó onde é informado os próximos elementos da pilha e funções para realizar operações de inserção (push) um novo elemento na pilha e remoção (pop) de um elemento da pilha já existente.Complete o código em C++ para implementar as operações básicas (push e pop) de uma pilha utilizando uma lista encadeada. Preencha os espaços em branco indicados por /* ... */ para que o código funcione corretamente.#include <iostream>// Estrutura do nóstruct Node {int data;Node* next;};// Classe Pilha com Lista Encadeadaclass Stack {private:Node* top;public:Stack() {top = nullptr;}void push(int value) {Node* newNode = new Node();newNode->data = value;newNode->next = /* ... */;top = newNode;}void pop() {if (top == nullptr) {std::cout << "Stack Underflow" << std::endl;return;}Node* temp = top;top = /* ... */;delete temp;}}O preenchimento correto se afirma em:
Na implementação de uma fila utilizando lista encadeada, os métodos de inserção e remoção são fundamentais para o funcionamento correto da estrutura. Essa organização garante a propriedade FIFO (First In, First Out), essencial para diversas aplicações como gerenciamento de tarefas em sistemas operacionais e processamento de dados em buffers. Complete as lacunas na seguinte descrição sobre os métodos de inserção e remoção em uma fila utilizando lista encadeada.O método [preencher 1] adiciona um novo nó ao [preencher 2] da fila, atualizando o ponteiro [preencher 3] para apontar para este novo nó.Os termos [preencher 1], [preencher 2] e [preencher 3] são corretamente substituídos por:
Uma pilha é uma estrutura de dados onde a inserção e a remoção de elementos ocorrem sempre no topo. Ao criar um algoritmo que implementa esta estrutura de dados em uma listas encadeadas, algumas operações básicas são utilizadas para manipular seus elementos na estrutura a ser desenvolvida.Complete as lacunas abaixo com as palavras corretas que representam as operações básicas de uma pilha.A operação de inserção de um novo elemento no topo da pilha é chamada de [preencher 1], enquanto a operação de remoção do elemento no topo é chamada de [preencher 2]. A operação que permite visualizar o elemento no topo da pilha sem removê-lo é chamada de [preencher 3] .Os termos [preencher 1], [preencher 2] e [preencher 3] são corretamente substituídos por:
Imagine que você está organizando uma pilha de pratos em uma cozinha. Sempre que um novo prato é lavado, ele é colocado no topo da pilha. Da mesma forma, quando alguém precisa de um prato, ele é retirado do topo da pilha. Isso garante que o prato mais recentemente lavado seja o primeiro a ser utilizado, enquanto os pratos lavados anteriormente permanecem embaixo. Essa organização é eficiente e permite fácil acesso ao prato mais limpo.Qual das seguintes afirmações interpreta corretamente a operação de inserção (push) em uma pilha implementada com listas encadeadas, considerando as particularidades de gerenciamento de memória e desempenho?
As listas encadeadas são estruturas de dados fundamentais que oferecem uma maneira flexível de armazenar e organizar dados na memória. Diferente das listas sequenciais, as listas encadeadas permitem a inserção e remoção de elementos de forma mais eficiente em termos de alocação de memória.Considerando a definição e as características de uma lista encadeada, qual das opções abaixo identifica corretamente uma vantagem de usar listas encadeadas em vez de listas sequenciais?
Listas circularmente encadeadas são uma variação das listas encadeadas em que o último nó aponta para o primeiro nó, formando um ciclo. Essa estrutura possui algumas vantagens sobre as demais listas quando estamos falando de acesso rápido ao final da lista e para percorrer a uma lista de modo inverso (de trás para frente) se for necessário.Com relação a este contexto e sobre o conteúdo estudado, avalie as asserções a seguir e a relação proposta entre elas:I. Listas circularmente encadeadas são úteis para implementar estruturas que requerem iteração contínua sobre os elementos.PORQUEII. Em uma lista circularmente encadeada, o último nó aponta para o primeiro nó, permitindo um acesso contínuo aos elementos sem a necessidade de redefinir o ponto inicial após atingir o final da lista.A respeito dessas asserções assinale a alternativa correta:
Uma lista encadeada é uma estrutura de dados composta por nós, onde cada nó contém informações sobre a sequência de nós a ser percorrida. Ao contrário de arrays, listas encadeadas não armazenam elementos em posições contíguas na memória, mas sim as posições de apontamentos para os demais nós.Com base no contexto apresentado e nos materiais de estudos, identifique a alternativa correta que define a principal característica das listas encadeadas.
Uma das vantagens em se trabalhar com listas encadeadas é sua versatilidade em poder incluir e remover elementos da lista a qualquer momento. Remover um nó de uma lista encadeada envolve atualizar as referências para garantir a continuidade da lista. O processo de remoção pode variar dependendo da posição do nó a ser removido.Assinale a alternativa que identifica corretamente o procedimento para remover um nó do meio de uma lista encadeada.
Imagine que você está organizando uma fila de atendimento em uma loja. Cada cliente na fila é representado por um cartão, e cada cartão possui uma indicação de quem é o próximo cliente. Esse sistema permite que você facilmente adicione novos clientes ao final da fila ou remova o primeiro cliente após ser atendido.Qual das seguintes opções compreende a vantagem desse sistema de organização em comparação a um sistema onde todos os cartões estão alinhados em uma única linha e você precisa deslocar todos os cartões ao adicionar ou remover um cliente?
Na criação da classe Time, a definição de seus atributos é crucial para representar as características de um objeto de tempo. Dentro do arquivo de cabeçalho (.h), os atributos são definidos na seção privada, enquanto os métodos que permitem acessar e modificar esses atributos são definidos na seção pública.Diante disso, assinale a alternativa que apresenta um atributo típico definido na seção privada da classe Time.
Quando a fila é implementada com um vetor, o espaço para alocar os elementos é adjacente. Isso significa que os elementos são adicionados no fim e removidos do início da fila, e para que isso aconteça é preciso conhecê-la identificando a presença de elementos.Avalie as alternativas e assinale a que representa as respectivas operações para uma fila, ao ser implementada.
A pilha é uma das estruturas de dados mais simples que existe, ela permite o acesso aos seus elementos somente a partir do topo, ou seja, quando o elemento entra na pilha, ele passa a ser o canal para manipulação dos dados por ser o único acesso. Isso significa que a retirada de elementos acontece inversamente à forma de como foram colocados, ou seja, o primeiro a sair é o último elemento que entrou na pilha.Em relação ao que foi citado no enunciado, assinale a alternativa que demonstra a parte do código responsável pela impressão.
No desenvolvimento de software, um dos conceitos fundamentais na programação orientada a objetos é a modularização do código. Este processo envolve a separação da visão lógica de uma estrutura de dados da sua implementação concreta. Para alcançar essa modularização, é essencial isolar a implementação da interface pública, permitindo que a complexidade interna seja escondida dos usuários da classe. Esta prática não apenas melhora a manutenção do código, mas também promove a reutilização de componentes.Neste sentido, assinale a alternativa que identifique o termo que representa a ação de ocultamento citada no enunciado:
Para ser implementada, a pilha requer um vetor e uma variável que indique seu tamanho máximo e esta variável pode levar o nome de tam, por exemplo. Ao definir este limite, a pilha só pode contemplar a quantidade de elementos informada nesta variável e para saber quando excede o limite, é necessário saber a quantidade de elementos em dado momento.Observe as alternativas e escolha a que identifica quantos elementos estão na pilha.
Em C++, os ponteiros e as referências são conceitos essenciais na manipulação de endereços de memória. Ponteiros são variáveis que armazenam o endereço de outra variável, permitindo a manipulação direta dos dados em diferentes locais de memória. Referências, por outro lado, são aliases para variáveis existentes e devem ser inicializadas no momento da declaração.Diante disso, assinale a alternativa que descreve a diferença entre ponteiros e referências em C++.
Os vetores são estruturas de dados fundamentais em C++, amplamente utilizadas para armazenar coleções de elementos do mesmo tipo em uma sequência contínua de memória. A definição de um vetor envolve a especificação de seu tamanho e tipo de dados dos elementos que ele irá armazenar. Uma das principais vantagens dos vetores é a capacidade de acessar diretamente qualquer elemento utilizando um índice, o que permite operações rápidas e eficientes.Com base no contexto apresentado, veja o trecho de código a seguir:#include <iostream>using namespace std;int main() {int vetor[5] = {10, 20, 30, 40, 50};int soma = 0;for(int i = 0; i < 5; i++) {soma += vetor[i];}cout << "A soma dos elementos do vetor é: " << soma << endl;return 0;}Diante do código apresentado, assinale a alternativa que apresenta qual será a saída do programa acima quando executado.
Leia o trecho a seguir:Vetores (ou arrays) são uma das estruturas de dados mais fundamentais na programação em C++. Eles permitem armazenar múltiplos valores em uma única variável, usando um índice para acessar cada valor individualmente. A posição de cada elemento no vetor é indicada por um índice numérico, começando do zero. Vetores são particularmente úteis quando você precisa armazenar uma coleção de dados e acessar esses dados de forma eficiente através de um índice. Dessa forma, os vetores são estruturas de dados [preencher 1].Os termos [preencher 1] é corretamente substituído por:
Os ponteiros são elementos fundamentais na linguagem C, conferindo-lhe uma notável flexibilidade e poder. Eles funcionam como variáveis especiais tendo a propriedade especial de "apontar" para uma variável. Essa capacidade de apontar para diferentes tipos de variáveis, como inteiros, pontos flutuantes, duplos, entre outros, confere aos ponteiros uma versatilidade excepcional.Com base em nossos estudos, assinale a alternativa que apresenta a função do operador de referência (&) em estruturas de dados utilizando ponteiros em linguagem C.