Forneço ajuda em Java, C/C++, Python, C#, Delphi, VB.NET
+55 (062) 98553-6711
Forneço ajuda em PHP, Python, C#, Google Ads e SEO
+55 (062) 98243-1195

Você está aqui: VisuAlg ::: Desafios e Lista de Exercícios Resolvidos ::: Estruturas de Controle

Escreva um programa VisuAlg para ler as notas n1 e n2 de um aluno e calcule a sua média aritmética - Desafio de Programação Resolvido em VisuAlg

Quantidade de visualizações: 146 vezes
Pergunta/Tarefa:

Escreva um programa VisuAlg 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.
Resposta/Solução:

Veja a resolução comentada deste exercício usando VisuAlg:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

algoritmo "Como calcular a média de um aluno em VisuAlg"

var
  // variáveis usadas na resolução do problema
  n1, n2, media, exame: real

inicio
  // vamos ler a primeira nota
  escreva("Informe a nota N1: ")
  leia(n1)
  // a nota é válida?
  enquanto ((n1 < 0) ou (n1 > 10)) faca
    escreva("Nota inválida. Informe a nota N1: ")
    leia(n1)
  fimenquanto

  // vamos ler a segunda nota
  escreva("Informe a nota N2: ")
  leia(n2)
  // a nota é válida?
  enquanto ((n2 < 0) ou (n2 > 10)) faca
    escreva("Nota inválida. Informe a nota N2: ")
    leia(n2)
  fimenquanto

  // vamos calcular a média do aluno
  media <- (n1 + n2) / 2.0
  escreval("A média do aluno é: ", media)

  // o aluno foi aprovado?
  se (media >= 7.0) entao
    escreval("O aluno foi aprovado")
  // o aluno ficou de exame?
  senao
    se ((media >= 3.5) e (media < 7.0)) entao
      // vamos ler a nota do exame
      escreva("Informe a nota do exame: ")
      leia(exame)
      // a nota é válida?
      enquanto ((exame < 0) ou (exame > 10)) faca
        escreva("Nota inválida. Informe a nota do exame: ")
        leia(exame)
      fimenquanto

      // calcula a nota média
      media <- (media + exame) / 2.0
      escreval("A média do aluno com o exame é: ", media)

      // o aluno foi aprovado após o exame?
      se (media >= 5.0) entao
        escreval("O aluno foi aprovado após o exame.")
      senao
        escreval("O aluno foi reprovado após o exame.")
      fimse
    senao
      escreval("O aluno reprovou direto.")
    fimse
  fimse

fimalgoritmo


Link para compartilhar na Internet ou com seus amigos:

Python ::: Dicas & Truques ::: Lista (List)

Como excluir e retornar o primeiro item de uma lista Python usando a função pop()

Quantidade de visualizações: 7238 vezes
Em algumas situações nós precisamos remover e retornar um determinado elemento de uma list em Python. Para isso nós podemos usar o método pop(), já embutida na linguagem.

A função pop(), quando usada sem argumentos, exclui e retorna o último elemento de uma lista. Se fornecido um argumento, a função remove e retorna o elemento no índice indicado. Se o índice informado estiver fora da faixa permitida, um erro do tipo IndexError será retornado.

Veja um trecho de código Python no qual removemos e retornamos o primeiro elemento da lista:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

def main():
  # cria uma lista de inteiros
  valores = [4, 23, 7, 1, 0, 54]

  # imprime a lista
  print(valores)

  # remove o primeiro item
  valor = valores.pop(0)
  print("Item removido:", valor)

  # exibe a lista novamente
  print(valores)
  
if __name__== "__main__":
  main()

Ao executar este código Python nós teremos o seguinte resultado:

[4, 23, 7, 1, 0, 54]
Item removido: 4
[23, 7, 1, 0, 54]

Experimente rodar esse código e fornecer, por exemplo, o valor 50 para o índice. Você verá o seguinte erro:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

Exception has occurred: IndexError
pop index out of range
  File "C:\estudos_python\estudos.py", 
    line 9, in main
    valor = valores.pop(90)
  File "C:\estudos_python\estudos.py", line 
    16, in <module>
    main()



PHP ::: Dicas & Truques ::: Arquivos e Diretórios

Como verificar se um arquivo existe usando a função file_exists() do PHP

Quantidade de visualizações: 12571 vezes
Em algumas situações nós precisamos verificar a existência de um arquivo ou diretório no sistema de arquivos de um determinado site. Para isso nós podemos usar a função file_exists() da linguagem PHP.

Esta função retorna um valor true se o arquivo ou diretório existir no caminho especificado, e false em caso contrário.

Veja um exemplo completo de seu uso:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

<?php
// pesquisa no diretório atual
$arquivo = "testes.txt";

if(file_exists($arquivo)){
  echo "O arquivo já existe.";
}
else{
  echo "O arquivo não existe ainda.";
}
?>

Ao executar este código PHP nós teremos o seguinte resultado:

O arquivo já existe.


Ruby ::: Dicas & Truques ::: Programação Orientada a Objetos

Como acessar variáveis de instâncias para escrita em Ruby sem a necessidade de métodos mutatórios usando a função attr_accessor

Quantidade de visualizações: 6946 vezes
Por padrão, variáveis de instância em Ruby só podem ser acessadas para escrita usando métodos mutatórios, ou seja, uma variável de instância @nome deve ser modificada usando um método definir_nome.

É possível dispensar o uso de métodos mutatórios empregando o método attr_accessor nos nomes das variáveis que poderão ser acessadas e modificadas. Lembre-se que, ao contrário de attr_reader, o método attr_accessor possibilita o acesso à variável de instância tanto para leitura quanto para escrita.

Veja um exemplo:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

# Definição da classe Cliente
class Cliente
   attr_accessor :nome, :idade
   
   def initialize(nome, idade)
      @nome = nome
      @idade = idade
   end
end

# Cria uma instância da classe Cliente e inicializa as
# variáveis de instância @nome e @idade
cliente = Cliente.new("Osmar J. Silva", 35)

# Acessa as variáveis de instância sem a necessidade
# de métodos acessórios
puts cliente.nome
puts cliente.idade

# Modifica as variáveis de instância sem a necessidade
# de métodos mutatórios
cliente.nome = "Carlos da Silva"
cliente.idade = 56

# Obtém os resultados
puts cliente.nome
puts cliente.idade

Se tentarmos acessar e modificar as variáveis nome e idade diretamente, sem os métodos mutatórios e a função attr_accessor nós teremos um erro do tipo:

Traceback (most recent call last):
estudos.arb:15:in `<main>': undefined method `nome' for #<Cliente:0x0000029a7211f080 @nome="Osmar J. Silva", @idade=35> (NoMethodError)


C# ::: Dicas & Truques ::: Arquivos e Diretórios

Como retornar a extensão de um arquivo em C# usando a função GetExtension() da classe Path

Quantidade de visualizações: 15258 vezes
Muitas vezes precisamos obter a extensão de um arquivo. Em C# isso pode ser feito usando-se o método GetExtension() da classe Path. Este método recebe uma string contendo o caminho e nome do arquivo e retorna uma string contendo a extensão do arquivo (incluindo o ponto). Veja um exemplo:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

static void Main(string[] args){
  // não esqueça
  // using System.IO;
  
  // caminho e nome do arquivo
  string arquivo = "C:\\estudos_csharp\\arquivo.txt";
  
  // obtém a extensão
  string extensao = Path.GetExtension(arquivo);
  
  // exibe o resultado
  Console.WriteLine("A extensão do arquivo é: {0}",
    extensao);

  Console.WriteLine("\n\nPressione uma tecla para sair...");
  Console.ReadKey();
}

Ao executar este código C# nós teremos o seguinte resultado:

A extensão do arquivo é: .txt


C++ ::: Dicas & Truques ::: Arquivos e Diretórios

Como criar diretórios em C++ usando a função mkdir()

Quantidade de visualizações: 10160 vezes
Em algumas situações nossos códigos C++ precisam criar diretórios. Isso pode ser feito com o auxílio da função mkdir(), disponível no header direct.h (trazido da linguagem C). Veja a assinatura desta função:

int _mkdir(const char *pathname);
Se o diretório for criado com sucesso a função retornará o valor 0. O retorno será -1 se um erro ocorrer. Neste caso a variável global errno será definido como EACCES (diretório não criado; nome informado já existe) ou ENOENT (caminho não encontrado).

Veja um trecho de código C++ no qual criamos um diretório no mesmo diretório do executável.

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

#include <iostream>
#include <direct.h>

using namespace std;

int main(int argc, char *argv[]){
  // vamos criar o diretório
  char diretorio[] = "estudos";

  // vamos testar se houve erro na criação do diretório
  if(mkdir(diretorio) == -1){
    cout << "Erro: " << strerror(errno) << endl;
  }
  else{
    cout << "Diretório criado com sucesso" << endl;
  }

  system("PAUSE"); // pausa o programa
  return EXIT_SUCCESS;
}

É possível usar a versão Unicode de mkdir(), ou _mkdir(). O método _wmkdir(), também presente em direct.h é útil quando precisamos internacionalizar nossas aplicações. Veja o exemplo:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

#include <iostream>
#include <direct.h>

using namespace std;

int main(int argc, char *argv[]){
  // vamos criar o diretório
  wchar_t diretorio[] = L"C:\\Dev-Cpp\\estudos";

  // vamos testar se houve erro na criação do diretório
  if(_wmkdir(diretorio) == -1){
    cout << "Erro: " << strerror(errno) << endl;
  }
  else{
    cout << "Diretório criado com sucesso" << endl;
  }

  system("PAUSE"); // pausa o programa
  return EXIT_SUCCESS;
}

Note que agora eu troquei o tipo char por wchar_t e usei o sinalizado L antes da atribuição da string.


Desafios, Exercícios e Algoritmos Resolvidos de C++

Veja mais Dicas e truques de C++

Dicas e truques de outras linguagens

Códigos Fonte

Programa de Gestão Financeira Controle de Contas a Pagar e a Receber com Cadastro de Clientes e FornecedoresSoftware de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimento
Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais
Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidadesControle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidades
Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: Delphi
6º lugar: C
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby



© 2024 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 73 usuários muito felizes estudando em nosso site.