![]() |
|
||||
|
|||||
Você está aqui: Cards de Hidrostática |
||
|
||
|
|
||
Python ::: Desafios e Lista de Exercícios Resolvidos ::: Python Básico |
Exercícios Resolvidos de Python - Como testar se um número é potência de dois usando PythonQuantidade de visualizações: 941 vezes |
|
Pergunta/Tarefa: Escreva um programa Python contendo um método que recebe um número inteiro e retorna um valor boolean indicando se o valor informado é potência de dois. Sua saída deverá ser parecida com: Informe um valor inteiro: 8 O valor 8 é potência de dois Informe um valor inteiro: 34 O valor 34 não é potência de dois Informe um valor inteiro: 64 O valor 64 é potência de dois Veja a resolução comentada deste exercício usando Python:
# método que recebe um número inteiro e informe se ele é
# potência de dois
def is_potencia_dois(n):
# usamos o operador AND de bits para verificar se n AND n-1
# é igual a 0
return (n > 0) and (n & (n - 1)) == 0
# método principal
def main():
# vamos pedir para o usuário informar um valor inteiro
valor = int(input("Informe um valor inteiro: "))
# vamos testar se o número informado é potência de dois
if is_potencia_dois(valor):
print("O valor {0} é potência de dois".format(valor))
else:
print("O valor {0} não é potência de dois".format(valor))
if __name__== "__main__":
main()
|
VisuAlg ::: Desafios e Lista de Exercícios Resolvidos ::: Strings e Caracteres |
Exercícios Resolvidos de VisuAlg - Como retornar o código ASCII associado a um caractere em VisuAlg - Ler um caractere e retornar o código ASCII correspondenteQuantidade de visualizações: 1261 vezes |
|
Pergunta/Tarefa: Escreva um programa VisuAlg que pede para o usuário informar um caractere (letra ou número) e mostre o código ASCII correspondente. Sua saída deverá ser parecida com: Informe um caractere: A Você informou o caractere: A O código ASCII correspondente é: 65 Veja a resolução comentada deste exercício em VisuAlg:
algoritmo "Como retornar código ASCII em VisuAlg"
var
// variáveis usadas na resolução do problema
ch: caractere
codigo: inteiro
inicio
// vamos pedir para o usuário informar uma letra, símbolo ou pontuação
escreva("Informe um caractere: ")
leia(ch)
// agora vamos obter o código ASCII correspondente
codigo <- Asc(ch)
// e mostramos o resultado
escreval("Você informou o caractere: ", ch)
escreval("O código ASCII correspondente é: ", codigo)
fimalgoritmo
O Código Padrão Americano para o Intercâmbio de Informação (do inglês American Standard Code for Information Interchange - ASCII, pronunciado [áski]) é um sistema de representação de letras, algarismos e sinais de pontuação e de controle, através de um sinal codificado em forma de código binário (cadeias de bits formada por vários 0 e 1), desenvolvido a partir de 1960, que representa um conjunto de 128 sinais: 95 sinais gráficos (letras do alfabeto latino, algarismos arábicos, sinais de pontuação e sinais matemáticos) e 33 sinais de controle, utilizando 7 bits para representar todos os seus símbolos. |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Laços de Repetição |
Exercícios Resolvidos de Java - Um laço for que solicita ao usuário 10 números inteiros e mostra o menor e o maior valor informadoQuantidade de visualizações: 1710 vezes |
|
Pergunta/Tarefa: Escreva um programa Java console que usa o laço for para solicitar ao usuário que informe 10 números inteiros. Em seguida mostre o maior e o menor valor lido. Não é permitido usar matrizes: Dica: Use um objeto da classe Scanner para obter a entrada do usuário. Resposta/Solução: Como a solução deste exercício depende de valores informados pelo usuário, a classe Scanner deverá ser usada. Desta forma, você deverá importá-la, usando a linha: import java.util.Scanner;
public static void main(String[] args){
// para este exercício você deverá importar a classe
// Scanner. Ela está no pacote java.util.*;
// vamos construir um objeto da classe Scanner para ler a
// entrada do usuário
Scanner entrada = new Scanner(System.in);
int valor; // guarda o valor lido
int maior = 0, menor = 0; // variáveis que guardarão o maior e o menor valor lido
// vamos pedir ao usuário que informe 10 valores inteiros
for(int i = 0; i < 10; i++){
System.out.print("Informe o " + (i + 1) + "º valor: ");
valor = Integer.parseInt(entrada.nextLine());
// esta é a primeira iteração do laço? se for vamos assumir que o
// maior e menor valor lido são o primeiro valor informado
if(i == 0){
maior = valor;
menor = valor;
// poderia ser escrito assim:
//maior = menor = valor;
}
else{ // não é a primeira iteração
// vamos verificar se é maior que o valor atual da variável maior
if(valor > maior){
maior = valor;
}
// vamos verificar se é menor que o valor atual da variável menor
if(valor < menor){
menor = valor;
}
}
}
// vamos exibir o maior e o menor valor lido
System.out.println("\nO maior valor lido foi: " + maior);
System.out.println("O menor valor lido foi: " + menor);
}
|
C ::: Estruturas de Dados ::: Lista Ligada Simples |
Estrutura de Dados em C - Como inserir nós no final de uma lista singularmente ligada em CQuantidade de visualizações: 8498 vezes |
Esta dica mostra como inserir nós no final de uma lista singularmente ligada. A estrutura usada para representar cada nó é a seguinte:
struct No{
int valor;
struct No *proximo;
};
Note que cada nó contém apenas um valor inteiro e um ponteiro para o próximo nó. Ao analisar o código você perceberá que tanto a inserção no final quanto a exibição dos nós são feitas usando funções. Isso permitirá o reaproveitamento deste código em suas próprias implementações. Vamos ao código:
#include <stdio.h>
#include <stdlib.h>
// estrutura Nó
struct No{
int valor;
struct No *proximo;
};
// fim da estrutura Nó
// função que permite exibir os valores de
// todos os nós da lista
void exibir(struct No *n){
if(n != NULL){
do{
printf("%d\n", n->valor);
n = n->proximo;
}while(n != NULL);
}
else
printf("A lista esta vazia\n\n");
}
// função que permite inserir nós no
// final da lista.
// veja que a função recebe o valor a ser
// armazenado em cada nó e um ponteiro para o
// início da lista. A função retorna um
// ponteiro para o início da lista
struct No *inserir_final(struct No *n, int v){
// reserva memória para o novo nó
struct No *novo = (struct No*)malloc(sizeof(struct No));
novo->valor = v;
// verifica se a lista está vazia
if(n == NULL){
// é o primeiro nó...não deve apontar para
// lugar nenhum
novo->proximo = NULL;
return novo; // vamos retornar o novo nó como sendo o início da lista
}
else{ // não está vazia....vamos inserir o nó no final
// o primeiro passo é chegarmos ao final da lista
struct No *temp = n; // vamos obter uma referência ao primeiro nó
// vamos varrer a lista até chegarmos ao último nó
while(temp->proximo != NULL){
temp = temp->proximo;
}
// na saída do laço temp aponta para o último nó da lista
// novo será o último nó da lista...o campo próximo dele deve
// apontar para NULL
novo->proximo = NULL;
// vamos fazer o último nó apontar para o nó recém-criado
temp->proximo = novo;
return n; // vamos retornar o início da lista intacto
}
}
int main(int argc, char *argv[])
{
// declara a lista
struct No *inicio = NULL;
// vamos inserir quatro valores no final
// da lista
inicio = inserir_final(inicio, 45);
inicio = inserir_final(inicio, 3);
inicio = inserir_final(inicio, 98);
inicio = inserir_final(inicio, 47);
// vamos exibir o resultado
exibir(inicio);
system("pause");
return 0;
}
|
C++ ::: Fundamentos da Linguagem ::: Estruturas de Controle |
Como usar o operador condicional (operador ternário) da linguagem C++ - C++ para iniciantesQuantidade de visualizações: 27234 vezes |
A linguagem C++ fornece um operador condicional, também chamado de operador ternário) que é muito semelhante a um bloco if...else. Este operador aceita três operandos. O primeiro operando é uma condição, o segundo é valor para a expressão condicional se o resultado do teste for true. O terceiro operando é o valor para a expressão condicional caso o resultado do teste for false. Veja um exemplo:int valor = 10; cout << (valor >= 5 ? "Maior ou igual a 5" : "Menor que 5"); Este trecho de código pode ser escrito usando if...else da seguinte forma: int valor = 10; if(valor >= 5) cout << "Maior ou igual a 5"; else cout << "Menor que 5"; O operador condicional pode ser resumido na seguinte estrutura: Exp1 ? Exp2 : Exp3 A expressão Exp1 é avaliada. Se esta resultar verdadeira, a expressão Exp2 se torna o resultado da operação. Se a expressão Exp1 resultar falso, a expressão Exp3 se torna o resultado da operação. Veja mais um exemplo: int valor = 5; // usando o operador condicional I bool res = (valor > 10 ? true : false); // usando o operador condicional II (res ? cout << "Verdadeiro" : cout << "False"); |
Desafios, Exercícios e Algoritmos Resolvidos de C++ |
Veja mais Dicas e truques de C++ |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |





