Questões de Concurso
Comentadas sobre algoritmos em algoritmos e estrutura de dados
Foram encontradas 1.196 questões
1. for ( int i=0; i < n; i ++) {
2. for (int j=1; j < (n-i) ; j ++) {
3. if (intArray[ j-1] > intArray[ j ] ) {
4. temp = intArray[ j-1] ;
5. intArray[ j-1] = intArray[ j ] ;
6. intArray[ j ] = temp ;
7. }
8. }
9. }
Para expressar propriedades desse código, na linguagem da lógica proposicional, considere as proposições lógicas p, q e r e as seguintes interpretações:
• p é verdadeiro se e somente se i = 0
• q é verdadeiro se e somente se j ≠ (n-i)
• r é verdadeiro se e somente se intArray[j-1] > intArray[j]
Nesse contexto, os comandos de atribuição presentes neste trecho de código (linhas 4, 5 e 6) serão executados para:
Cada uma das listas originais possui ponteiros para o primeiro e para o último elementos. Qual é a complexidade do algoritmo mais eficiente que esse programador pode produzir?
Os atendentes podem cadastrar, atualizar e excluir pedidos. Todos os pedidos são cadastrados com o status “aberto”. O status de um pedido é único e corresponde à situação em que ele se encontra a cada momento. Após ter suas informações completamente fornecidas, um pedido é passado para o departamento de ativação, que muda seu status para “ativando” e muda, posteriormente, para “atendido” quando o atendimento se encerra. Uma vez que um pedido não está mais em aberto, ele não pode ser modificado para atender a solicitações externas. Sobre um mesmo pedido, considere as seguintes proposições e seu significado pretendido:
P: o pedido está em aberto.
Q: o pedido está ativando.
R: o pedido está atendido.
M: o pedido pode ser modificado.
Para os requisitos descritos, vale a seguinte fórmula da lógica proposicional:
Assumindo que a altura de uma folha é zero, qual será a altura resultante dessa árvore?
Comandos do-while (“faça-enquanto”), while-do (“enquanto-faça”) e for (“para-condição-atualização”), em linguagens de programação, permitem a execução de laços e são necessários em muitos algoritmos.
No comando do-while, a expressão lógica associada ao ________ é avaliada ________ execução do bloco de comandos; no ________, a expressão lógica de controle é avaliada ________.
Instruções para se tornar um milionário
1. Retire todo seu dinheiro do banco.
2. Vá a um cassino e compre fichas com esse dinheiro.
3. Jogue em máquinas caça-níqueis até ganhar 1 milhão de reais ou acabarem as fichas.
Este conjunto de instruções NÃO é um algoritmo porque não possui uma propriedade fundamental dos algoritmos, a qual assegura que, se as instruções são seguidas, é certo que o resultado final será atingido. O nome desta propriedade fundamental dos algoritmos é
"Se Condição1 então
Se Condição2 então
Comando1
Senão
Comando2
Comando3"
Quando a Condição1 for verdadeira, a próxima instrução a ser executada será :
RESULTADO = (A * 2) * 4 + (C + B * 2 - 6)
As alturas resultantes das três árvores são, respectivamente,
Em C, a sentença for é composta de três expressões, avaliadas em momentos diferentes da execução do laço. A primeira expressão é avaliada a cada vez que se executa o corpo do laço e, se a segunda expressão estiver ausente, esta será considerada verdadeira, tendo-se, assim, potencialmente um laço infinito.
O uso de estrutura de repetição explícita necessita de realimentação do loop.