Você está aqui: Cards de AutoCAD Civil 3D |
||
|
||
|
|
||
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Estruturas de Controle |
Exercícios Resolvidos de Java - Escreva um programa Java para ler as notas n1 e n2 de um aluno e calcule a sua média aritméticaQuantidade de visualizações: 848 vezes |
|
Pergunta/Tarefa: Escreva um programa Java para ler as notas n1 e n2 de um aluno e calcule a sua média aritmética. Se a média for igual ou superior a 7,0 mostre uma mensagem indicando que o aluno foi aprovado. Se a média for igual ou maior que 3,5 e inferior a 7,0 seu programa deverá indicar que o aluno ficou de exame. Uma média menor que 3,5 indica reprovação direta. No caso do exame, leia uma nota entre 0 e 10. Agora a média do aluno deverá ser a média entre a média anterior e a nota do exame. Se a nova média for igual ou superior a 5,0 o aluno estará aprovado. Caso contrário o aluno será reprovado. Use validação para evitar que o usuário informe notas inválidas, ou seja, notas menores que 0 ou maiores que 10. Caso notas inválidas sejam fornecidas seu programa deverá solicitar a nota novamente até que o usuário forneça notas válidas. Sua saída deverá ser parecida com: Informe a nota N1: 9.4 Informe a nota N2: 11 Nota inválida. Informe a nota N2: 8.3 A média do aluno é: 8.85 O aluno foi aprovado Informe a nota N1: 4.2 Informe a nota N2: 1.8 A média do aluno é: 3.0 O aluno reprovou direto. Informe a nota N1: 5.7 Informe a nota N2: 6 A média do aluno é: 5.85 Informe a nota do exame: 7 A média do aluno com o exame é: 6.425 O aluno foi aprovado após o exame. Veja a resolução comentada deste exercício usando Java:
package estudos;
import java.util.Scanner;
public class Estudos {
public static void main(String[] args) {
// variáveis usadas na resolução do problema
double n1, n2, media, exame;
// para ler a entrada do usuário
Scanner entrada = new Scanner(System.in);
// vamos ler a primeira nota
System.out.print("Informe a nota N1: ");
n1 = Double.parseDouble(entrada.nextLine());
// a nota é válida?
while ((n1 < 0) || (n1 > 10)) {
System.out.print("Nota inválida. Informe a nota N1: ");
n1 = Double.parseDouble(entrada.nextLine());
}
// vamos ler a segunda nota
System.out.print("Informe a nota N2: ");
n2 = Double.parseDouble(entrada.nextLine());
// a nota é válida?
while ((n2 < 0) || (n2 > 10)) {
System.out.print("Nota inválida. Informe a nota N2: ");
n2 = Double.parseDouble(entrada.nextLine());
}
// vamos calcular a média do aluno
media = (n1 + n2) / 2.0;
System.out.println("A média do aluno é: " + media);
// o aluno foi aprovado?
if (media >= 7.0) {
System.out.println("O aluno foi aprovado");
}
// o aluno ficou de exame?
else if ((media >= 3.5) && (media < 7.0)){
// vamos ler a nota do exame
System.out.print("Informe a nota do exame: ");
exame = Double.parseDouble(entrada.nextLine());
// a nota é válida?
while ((exame < 0) || (exame > 10)) {
System.out.print("Nota inválida. Informe a nota do exame: ");
exame = Double.parseDouble(entrada.nextLine());
}
// calcula a nota média
media = (media + exame) / 2.0;
System.out.println("A média do aluno com o exame é: " + media);
// o aluno foi aprovado após o exame?
if (media >= 5.0) {
System.out.println("O aluno foi aprovado após o exame.");
}
else {
System.out.println("O aluno foi reprovado após o exame.");
}
}
// reprovou direto
else {
System.out.println("O aluno reprovou direto.");
}
}
}
|
Python ::: Fundamentos da Linguagem ::: Estruturas de Controle |
Python para iniciantes - Como usar a instrução break em PythonQuantidade de visualizações: 11229 vezes |
|
A instrução break da linguagem Python é usada para interromper a execução de um laço for ou while. Observe que se o laço possuir um bloco else, este não será executado se a instrução break for usada. Veja um exemplo de um laço for que é interrompido se o valor da variável de controle for 5:
# função principal do programa
def main():
for i in range(0, 21):
print(i)
if i == 5:
break
if __name__== "__main__":
main()
Ao executarmos este código nós teremos o seguinte resultado: 0 1 2 3 4 5 |
Delphi ::: VCL - Visual Component Library ::: TComboBox |
Como detectar o evento OnSelect da classe TComboBox do DelphiQuantidade de visualizações: 14131 vezes |
|
O evento OnSelect da classe TComboBox é disparado quando o usuário seleciona um item (uma string) na lista drop-down do componente. Este evento possui a seguinte assinatura: property OnSelect: TNotifyEvent; Um evento do tipo TNotifyEvent não possui parâmetros específicos ao evento ocorrido. Assim, no evento OnSelect temos acesso somente ao parâmetro Sender, do tipo TObject, que nos informa em qual componente o evento ocorreu. Vamos ver um exemplo? Veja o código para o tratamento do evento OnSelect de um ComboBox. Aqui, todas as vezes que o evento disparar, nós vamos exibir o valor do novo item:
procedure TForm3.ComboBox1Select(Sender: TObject);
begin
// vamos mostrar o novo item selecionado
ShowMessage('O novo item selecionado é: ' +
ComboBox1.Items[ComboBox1.ItemIndex]);
end;
Note que o evento OnSelect é disparado somente após a mudança de seleção e, consequentemente, a atualização da propriedade Text, que deverá refletir o novo item. |
C++ ::: Dicas & Truques ::: Input e Output (Entrada e Saída) |
Como ler entrada do usuário em C++ usando a função global getline() da classe stringQuantidade de visualizações: 13316 vezes |
|
Nesta dica mostrarei como é possível usar a função global getline() da classe string da linguagem C++ para ler a entrada do usuário. Veja a assinatura que usaremos: istream& getline(istream& is, string& str); Esta função extrai os caracteres do fluxo de entrada (is) e os armazena na string fornecida como argumento (str). Veja o código completo:
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
string nome;
cout << "Por favor, informe o seu nome: ";
getline(cin, nome);
cout << "Seu nome é: " << nome << "\n\n";
system("PAUSE"); // pausa o programa
return 0;
}
Ao executarmos este código nós teremos o seguinte resultado: Por favor, informe o seu nome: Osmar J. Silva Seu nome é: Osmar J. Silva Pressione qualquer tecla para continuar... |
C++ ::: Dicas & Truques ::: Ponteiros, Referências e Memória |
Como alocar memória dinâmica usando o operador new do C++Quantidade de visualizações: 12907 vezes |
|
Em algumas situações precisamos alocar memória dinamicamente. Em C++ isso é feito com o auxílio do operador new. Este operador permite alocar uma determinada quantidade de bytes, alinhados de forma a representar o objeto para o qual queremos reservar memória. Veja um exemplo de código no qual alocamos memória dinâmica para uma variável do tipo int:
#include <iostream>
using namespace std;
int main(int argc, char *argv[]){
// aloca memória para um objeto do tipo int
int *ponteiro = new int;
// vamos definir o valor para o objeto recém-alocado
*ponteiro = 20;
// vamos exibir seu valor
cout << *ponteiro << endl;
// vamos liberar a memória
delete ponteiro;
system("PAUSE"); // pausa o programa
return EXIT_SUCCESS;
}
Note que aqui a memória foi alocada e guardada em um ponteiro. Veja também o uso do operador delete para liberar a memória alocada. Isso evita os vazamentos de memória tão frequentes em aplicações que lidam com a memória dinâmica. É claro que este não é o exemplo mais prático. Qual a vantagem de se alocar memória para um int? Declarar uma variável teria sido mais eficiente. A alocação de memória dinâmica é mais útil quando estamos lidando com objetos mais complexos que os tipos básicos. Alguns exemplos envolvem a criação de objetos de classes, matrizes, estruturas de dados, etc. Veja um exemplo no qual temos uma declaração de uma classe chamada Cliente e em seguida alocamos memória para uma instância desta classe:
#include <iostream>
#include <string>
using namespace std;
// declaração da classe Cliente
class Cliente{
public:
Cliente();
string obterNome();
void definirNome(string);
private:
string nome;
};
// implementação dos métodos da classe
Cliente::Cliente(){} // construtor vazio
// obtém o nome do cliente
string Cliente::obterNome(){
return this->nome;
}
// define o nome do cliente
void Cliente::definirNome(string nome){
this->nome = nome;
}
int main(int argc, char *argv[]){
// aloca memória para um objeto da classe Cliente
Cliente *c = new Cliente();
// vamos definir o nome do cliente
c->definirNome("Osmar J. Silva");
// vamos exibir o nome do cliente
cout << c->obterNome() << endl;
// vamos liberar a memória usada
delete c;
system("PAUSE"); // pausa o programa
return EXIT_SUCCESS;
}
Ao executar este código C++ nós teremos o seguinte resultado: Nome do cliente: Osmar J. Silva |
Desafios, Exercícios e Algoritmos Resolvidos de C++ |
Veja mais Dicas e truques de C++ |
Dicas e truques de outras linguagens |
|
GNU Octave - Como calcular o cateto oposto dadas as medidas da hipotenusa e do cateto adjascente em GNU Octave |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |





