Questões de Concurso
Comentadas sobre linguagens de programação em programação
Foram encontradas 4.590 questões
Um estudante de programação está criando um sistema web de cadastro em banco de dados utilizando a linguagem PHP versão 8.0.10, com um banco de dados MariaDB versão 10.4.21, implementado no XAMPP versão 3.3.0, a partir do PHPMyAdmin. Analise o código a seguir:
crud.php |
<!DOCTYPE html > <html> <head> <meta charset="utf-8"> </head> <body> <form method="POST" action=processa.php> <label>CPF: </label> <input type="text” name="cpf"><br> <label>Nome: </label> <input type="text” name="nome"><br> <input type="submit" value="Cadastrar"> </form> </body> </html> |
processa.php |
<?php $con= mysqli_connect("127.0.0.1","root","","bdifmt"); $sql=" INSERT INTO candidato(cpf, nome) VALUES ('_______','_______'); ___________ (_____,_____); echo “Cadastro realizado com sucesso"; mysqli_close($con); ?> |
O código acima executa um formulário com os campos (cpf e nome) e, ao clicar no botão “Cadastrar”, faz-se uma inserção de dados na tabela candidato, no banco de dados local, chamado “bdifmt” com o usuário: root; sem senha. Complete as lacunas do código PHP para que o cadastro funcione, assinalando a alternativa CORRETA.
Código fonte em Java para as questões 36 e 37.
import java.util.ArrayList;
public class MyTestef
public static void main(Stringl] args) 1
Stack s = new Stack();
s.push(1):
s.push(2):
s.push(3):
s.clear ();
s.push(4):
s.push(5):
s.push(6);
System.out.println(s);
}
private static class Stack extends ArrayList<Object>1
private int top = 0;
public void push(Object element){
add(top++, element);
}
public Object pop (){
return remove(--top);
}
}
}
O código implementa de uma estrutura de dados que estende uma classe concreta ArrayList para outra classe concreta Stack. A classe ArrayList possui alguns métodos como o add() (adiciona elementos na lista), o remove() (remove elementos da lista) e o clear() (que remove todos os elementos da lista).
Considere as afirmações relacionadas ao código fonte.
I – O método clear() não é executado porque ele não foi implementado na classe Stack.
II – A herança entre essas classes gera um alto grau de acoplamento.
III – Após a execução do método clear(), a variável top ficará desatualizada.
Está CORRETO o que consta em:
Código fonte em Java para as questões 36 e 37.
import java.util.ArrayList;
public class MyTestef
public static void main(Stringl] args) 1
Stack s = new Stack();
s.push(1):
s.push(2):
s.push(3):
s.clear ();
s.push(4):
s.push(5):
s.push(6);
System.out.println(s);
}
private static class Stack extends ArrayList<Object>1
private int top = 0;
public void push(Object element){
add(top++, element);
}
public Object pop (){
return remove(--top);
}
}
}
O código implementa de uma estrutura de dados que estende uma classe concreta ArrayList para outra classe concreta Stack. A classe ArrayList possui alguns métodos como o add() (adiciona elementos na lista), o remove() (remove elementos da lista) e o clear() (que remove todos os elementos da lista).
Após executar o código, qual será o resultado?
Código fonte em Java para as questões 34 e 35.
package com.example. demo;
public class MyCalc {
public static void main(String[] args) {
double amount = 1000;
double intRate = 2;
int period = 12;
CalcSrv c = new CalcSrv(new CalcLC());
double fv = c.fValue (amount, intRate, period);
System.out.printf("VF of LC:%.2\n", fv);
c = new CalcSrv (new CalcCDB());
fv = c.fValue(amount,intRate, period);
System.out.printf("VE of CDB:%.2f", fv);
}
private static class CalcSrv {
private CalcFV calcsrv;
public CalcSrv(CalcFV calcsrv) {
this.calcsryv = calesrv;
}
public double fvalue(double amount, double intRate, int period) {
amount = amount + calcsrv.calc(amount, intRate, period);
return amount;
}
}
interface CalcFV {
double calc(double amount, double intRate, int period);
}
private static class CalcLC implements CalcFV{
@Override
public double calc(double amount, double intRate, int period)
return (amount * Math.pow(1 + intRate/100, period)) - amount;
}
}
private static class CalcCDB implements CalcFV{
@Override
public double calc(double amount, double intRate, int period){
double fv = amount * Math.pow(1 + intRate/100, period);
if (period >12)
return (fv - amount) * 0.85;
return (fv - amount) * 0.78;
}
}
}
Considere os princípios e padrões de projetos implementados no código.
I – Injeção de dependência
II – Inversão de controle
III – Injeção por construtor
Está CORRETO o que consta em:
A seguir, é apresentado um código que implementa uma estrutura de dados utilizando a linguagem de programação Java. A classe LinkedList é uma implementação de fila convencional e utiliza o método add() para incluir um elemento na fila e o remove() para removê-lo. A classe Stack implementa uma pilha e utiliza o método push() para empilhar e o pop() para desempilhar.
import java.util.Stack;
import java.util.Queue;
import java.util.LinkedList;
public class Tad {
public static void main(String[] args) {
Stack<String> s = new Stack<String>();
Queue<String> q = new LinkedList<String> O;
s.push("Z");
s.push("X");
q.add(s.pop());
s.push("y");
q.add(s.pop());
q.add ("W");
q.add(s.pop());
q.add(q.remove());
s.push("H");
s.push(q.remove());
q.remove();
System.out.print("stack: " + s);
System.out.println(", Queue: "+ g):
}
}
Após a execução, qual é a saída do programa acima?
A linguagem de programação de R fornece múltiplas funcionalidades para operações matemáticas e vetoriais. Assim, qual é o resultado da execução do comando -2:2 em R?
Na análise de dados experimentais com o auxílio da linguagem de programação Python, é importante conhecer os vários tipos de estrutura de dados tais como as listas.
Nesse contexto, qual é o resultado da execução em Python da sequência de comandos [0 if numero % 2 == 0 else 1 for numero in range(3)]?
Um estudante está implementando um programa em R para realizar cálculos matemáticos. Ele precisa determinar o resultado de uma expressão que envolve operações aritméticas. Considerando as regras de precedência de operadores, qual é o valor resultante da expressão 12/2*3+3^2 em R?
No contexto das linguagens de programação, o processo de tradução é essencial para a execução de programas no computador. Neste sentido, considere as seguintes características:
I- Menor tempo de execução.
II- Menor consumo de memória.
III- Menor dificuldade de identificação de erros.
Assinale a alternativa que apresenta a associação CORRETA entre as características e os métodos de tradução para um mesmo programa.
O KnockoutJS é uma biblioteca JavaScript que ajuda a criar interfaces de usuários e telas ricas e responsivas com um modelo de dados subjacente limpo. Sobre KnockoutJS, assinale a alternativa INCORRETA.
Dentre as alternativas abaixo, assinale aquela que, em KnockoutJS, é utilizado para detectar e responder às mudanças de uma coleção de coisas.
Considere o código a seguir escrito na linguagem Javascript:
let num = 0 for (let i = num; i < 100; i++) { num += 1 if (num % 2 == 0) console.log(num) else if (num >= 51) break else continue } |
Considere que o programa acima está sendo executado em um navegador web. Assinale a alternativa que descreve a saída do código acima apresentada na console do navegador.
Considere o seguinte código em C++, que usa a biblioteca Boost para criar um grafo direcionado com 4 vértices e 4 arestas:
#include <iostream>
#include <boost/graph/adjacency_list.hpp>
int main(){
typedef boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS> Graph;
Graph g(4);
boost::add _edge(0, 1, g);
boost::add_edge(1,2,g);
boost::add_edge(2,3,9);
boost::add_edge(3,0,g);
std:cout << "Vértices: "<< boost.:num_vertices(g) << std::endl;
std cout << "Arestas: " << boost::num_edges(g) << std::endl;
return 0;
}
Qual é a saída esperada para esse programa?
Considere o seguinte código em C++, que define as classes Animal e Cachorro:
#include <iostream>
class Animal {
public:
virtual void emitirSom(){
std::cout << "Animal emitindo som\n";
}
};
class Cachorro: public Animal {
public:
void emitirSom() {
std: cout << "Au au!\n";
}
};
int main(){
Animal animal;
Cachorro cachorro;
animal = &cachorro;
animal->emitirSom();
return 0;
}
Qual é a saída esperada para esse programa e qual técnica de programação orientada a objetos foi usada especificamente para viabilizar essa saída?
Considere o seguinte trecho de código em C, que implementa o algoritmo de busca em um vetor de inteiros:
#include <stdio.h>
int busca(int arr[], int n, int x) {
int i;
for (i = 0; i < n; i++) {
if (arr[i] a == x) {
return i;
}
}
retum-1;
}
int main(){
int arr[] = {5, 10, 15, 20, 25};
intn = sizeof(arr)/sizeof(arr(0]);
intx = 15;
int indice = busca(arr, n, x);
if (indice == -1) {
printf(*%d nao encontrado no array\n", x);
}else {
printf(*%d encontrado no indice %d\n", x, indice);
}
return 0;
}
Qual é a saída esperada para esse programa, e qual é o algoritmo de busca implementado?
Considere o seguinte trecho de código em C:
#include <stdio.h>
void funcao(int a, int b) {
int temp = a;
a=b;
b = temp;
}
int main() {
int x = 10, y = 20;
funcao(x, y);
printf("× = %d, y = %d\n", x, y);
return 0;
}
Qual será a saída desse programa?
Considere a seguinte definição de uma estrutura de nó em uma árvore binária em C:
struct node {
int value;
struct node *esquerda;
struct node *direita;
}:
Qual é o resultado da seguinte operação de inserção em uma árvore binária com a raiz apontada pelo ponteiro root?
void insere_no(struct node **root, int value){
if (*root== NULL){
*root = (struct node) malloc(sizeof(struct node)):
(*root)->value = value;
(*root)->esquerda = NULL;
(*root)->direita = NULL;
}else if (valor < (*root)->value){
insere_no(&(*root)->esquerda, value);
}else {
insere_no(&(*root)->direita, value);
}
}
Uma das principais diferenças entre linguagens de programação interpretadas e compiladas é a forma como o código é processado e executado. Enquanto as linguagens compiladas passam por um processo de compilação, que transforma o código fonte em código de máquina executável, as linguagens interpretadas executam o código fonte diretamente em tempo de execução. Com base nessa diferença, qual das seguintes afirmações é verdadeira sobre as vantagens das linguagens de programação interpretadas em relação às linguagens compiladas?
Suponha que você está desenvolvendo um sistema de login em PHP e precisa garantir que somente usuários autenticados tenham acesso a determinadas páginas do sistema. Você decidiu utilizar uma verificação de autenticação em cada página e quer implementar uma função que verifique se o usuário está autenticado ou não. Para isso, você implementou a seguinte função em PHP:
function verifica_autenticacao() {
session_start();
if(isset($_SESSION['usuario])) {
return true;
} else {
header('Location: login.php');
die();
}
}
No entanto, ao testar a função, você percebeu que ela sempre redireciona para a página de login, mesmo quando o usuário está autenticado corretamente. Qual o possível motivo para o erro?
Qual é o resultado da seguinte função recursiva em PHP?
function soma($n) {
if($n == 1){
return 1;
} else {
retum $n + soma($n-1);
}
}
echo soma(5);