Você está aqui: C ::: Desafios e Lista de Exercícios Resolvidos ::: Estruturas de Controle |
Como escrever o programa Fizz Buzz em C - Peça para o usuário informar um número inteiro e escreva "Fizz" se o número for - Lista de Exercícios Resolvidos de CQuantidade de visualizações: 213 vezes |
Pergunta/Tarefa: O famoso desafio de programação "Fizz Buzz" aparece com frequencia em livros de lógica de programação e entrevistas para programadores. Vale a pena praticá-lo. Escreva um programa C que leia um número inteiro e exiba "Fizz" se o número for múltiplo de 3. Se o número for múltiplo de 5 você deverá exibir "Buzz". Se o número for múltiplo de 3 e 5 ao mesmo tempo, escreva "Fizz Buzz". Se, no entanto, o número informado não estiver em nenhuma dessas condições, escreva o número informado. Sua saída deve ser parecida com: Informe um número: 20 Buzz Informe um número: 15 Fizz Buzz Informe um número: 9 Fizz Informe um número: 14 O número é: 14 Veja a resolução comentada deste exercício usando C: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- #include <stdio.h> #include <stdlib.h> // função principal do programa int main(int argc, char *argv[]){ // variáveis usadas na resolução do problema int numero; // vamos pedir para o usuário informar um número printf("Informe um número: "); scanf("%d", &numero); // o número é múltiplo de 3 e 5 ao mesmo tempo? if((numero % 3 == 0) && (numero % 5 == 0)){ printf("Fizz Buzz"); } // o número é múltiplo de 3? else if(numero % 3 == 0){ printf("Fizz"); } // o número é múltiplo de 5? else if(numero % 5 == 0){ printf("Buzz"); } // vamos mostrar o número else{ printf("O número é: %d", numero); } printf("\n\n"); system("PAUSE"); return 0; } |
Link para compartilhar na Internet ou com seus amigos: |
Delphi ::: Dicas & Truques ::: Matemática e Estatística |
Delphi para matemática - Como arredondar valores de ponto-flutuante para cima usando a função Ceil()Quantidade de visualizações: 16346 vezes |
A função Ceil(), presente na unit Math, é útil quando queremos arrendondar valores de ponto-flutuante (valores com casas decimais) para cima, ou seja, para o menor inteiro maior ou igual ao valor fornecido. Veja um exemplo:---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- procedure TForm2.Button1Click(Sender: TObject); var valor: Real; resultado: Integer; begin // uses Math valor := 8.3; // vamos arredondar o valor para cima // o resultado será 9 resultado := Ceil(valor); // exibe o resultado ShowMessage('O valor arredondado para cima é: ' + IntToStr(resultado)); end; Note que os valores 8.0001, 8.3, 8.1, 8.99, etc, serão todos arredondados para 9. No entanto, 8.0 é arredondado para 8. Para fins de compatibilidade, esta dica foi escrita usando Delphi 2009. |
Java ::: Projetos Java Completos - Códigos Fonte Completos Java ::: Projetos Java Programação Orientada a Objetos - Exemplos Java |
Sistema para Biblioteca usando Programação Orientada a Objetos em Java - Projeto completo com código fonte - Versão consoleQuantidade de visualizações: 13378 vezes |
Sistema para Gestão de Biblioteca usando Programação Orientada a Objetos em Java - Projeto completo com código fonte - Versão console Controle de Biblioteca - Sobre este projeto Java Nesta dica apresento a idéia de um Controle de Gestão de Biblioteca em Java usando Programação Orientada a Objetos. Trata-se de um programa com código fonte em duas versões console. Na primeira versão temos os dados sendo gerenciados por objetos ArrayList. Na segunda versão nós tiramos proveito dos métodos dos métodos readObject() e writeObject() e da interface Serializable para implementar a serialização de objetos em Java. Dessa forma, os dados do sistema podem ser salvos e carregados todas as vezes que o sistema for iniciado. Um Controle de Gestão de Biblioteca é um projeto ideal para dominar a programação orientada a objetos em Java, além de permitir colocar em prática várias coisas que estudamos na linguagem e não temos a oportunidade de implementar. Assim, este código, se bem estudado e bem entendido, pode render um controle de biblioteca pronto para ser vendido no mercado ou implementado em sua própria escola ou faculdade. Basta conectar as funcionalidades das classes a um banco de dados tal como o MySQL e adicionar mais alguns pequenos detalhes. O Diagrama de Classes Java Antes de falarmos mais sobre o projeto do Sistema de Biblioteca, dê uma boa olhada no seu diagrama de classes: Como a aplicação está estruturada? Como podemos ver no diagrama de classes, todo o controle do sistema é feito a partir da classe Biblioteca, que contém objetos da classe ArrayList para guardar objetos das classes Usuario, Autor, Editora, Livro, Emprestimo e Multa. O relacionamento entre os objetos das classes envolvidas está bem definido no código fonte, com comentários e menus individuais para o gerenciamento de cada parte que compõe o controle de biblioteca apresentado. Um empréstimo envolve um livro e um usuário, e pode gerar uma multa caso a devolução seja feita fora do prazo. A multa é gerada somente na devolução. Em sistemas reais, o usuário não pode fazer uma nova locação caso a multa não seja paga. Deixamos como sugestão e desafio, essa implementação no código. No entanto, já fizemos todo o restante do cálculo para você, ou seja, fizemos a diferença entre a data do empréstimo e sua devolução e geramos a multa, se houver, já com o devido valor a ser pago. Um livro está relacionado a um autor e a uma editora. Inicialmente o livro é cadastrado como disponível. Porém, esse status é alterado para indisponível quando ele está envolvido em um empréstimo, e novamente disponível quando é feita a devolução. Tudo isso é feito por meio de vários menus de opções, como mostro a seguir. As opções de menu para o gerencimento do sistema da biblioteca O menu principal foi escrito usando-se o seguinte código: // método que exibe o menu principal do sistema public void menuPrincipal(){ Scanner entrada = new Scanner(System.in); while(true){ limparTela(); System.out.println("\n:: B I B L I O T E C A ::\n"); System.out.println("Bem-vindo(a) ao sistem. Escolha a opção desejada"); System.out.println("1 - Livros"); System.out.println("2 - Autores"); System.out.println("3 - Editoras"); System.out.println("4 - Usuários"); System.out.println("5 - Empréstimos"); System.out.println("6 - Multas"); System.out.println("7 - Sair"); System.out.print("Sua opção: "); // lê a opção do usuário int opcao = Integer.parseInt(entrada.nextLine()); switch(opcao){ case 1: // chama o menu de gerenciamento de livros menuGerenciarLivros(); break; case 2: // chama o menu de gerenciamento de autores menuGerenciarAutores(); break; case 3: // chama o menu de gerenciamento de editoras menuGerenciarEditoras(); break; case 4: // chama o menu de gerenciamento de usuários menuGerenciarUsuarios(); break; case 5: // chama o menu de gerenciamento de emprestimos menuGerenciarEmprestimos(); break; case 6: // chama o menu de gerenciamento de multas menuGerenciarMultas(); break; case 7: System.out.println("\nObrigado por usar o Sistema de Biblioteca\n"); System.exit(0); } } } Note que cada case do switch do menu principal chama um método que será responsável por exibir um menu individual para o gerencimento da classe correspondente. Veja, por exemplo, o menu para cadastrar um novo usuário na biblioteca: // menu para cadatrar, listar, pesquisar, excluir // e atualizar os usuários da biblioteca public int menuGerenciarUsuarios(){ Usuario temp; // serve para várias operações neste menu // serve para as pesquisas dos usuários String pesquisaUsuario; Scanner entrada = new Scanner(System.in); // mostra o menu de forma repetitiva até o usuário // usar a opção de sair while(true){ // tire caso não funcionar no seu sistema operacional limparTela(); System.out.println("\n:: G E R E N C I A R U S U Á R I O S ::\n"); System.out.println("Escolha a opção desejada"); System.out.println("1 - Novo Usuário"); System.out.println("2 - Listar Usuários"); System.out.println("3 - Pesquisar Usuário"); System.out.println("4 - Excluir Usuário"); System.out.println("5 - Atualizar Usuário"); System.out.println("6 - Voltar Menu Anterior"); System.out.print("Sua opção: "); // lê a opção do usuário int opcao = Integer.parseInt(entrada.nextLine()); switch(opcao){ case 1: // vamos cadastrar um novo usuário System.out.print("\nNome: "); String nomeUsuario = entrada.nextLine(); System.out.print("Idade: "); int idadeUsuario = Integer.parseInt(entrada.nextLine()); System.out.print("Sexo: "); char sexoUsuario = entrada.nextLine().charAt(0); // vamos incrementar o contador de usuários Usuario.contadorUsuarios++; // agora vamos criar um novo objeto da classe Usuario Usuario u = new Usuario(Usuario.contadorUsuarios, nomeUsuario, idadeUsuario, sexoUsuario); // e o adicionamos no ArrayList de usuários usuarios.add(u); // e finalmente mostramos uma mensagem de sucesso. System.out.println("\nO usuário foi cadastrado com sucesso"); salvarDadosArquivo(); // salva os dados no arquivo break; ... Devo usar ArrayList do Java para desenvolver o sistema? Sim, objetos da classe ArrayList são perfeitos quando precisamos representar relacionamentos um para muitos e muitos para um. É claro que poderíamos usar vetores de objetos (usando array), mas ficaríamos restritos a tamanhos fixos, enquanto o ArrayList nos permite cadastrar quantos usuários, livros, editoras, autores e empréstimos nós quisermos. Dessa forma, veja, por exemplo, o trecho de código que registra um novo empréstimo: case 1: // vamos cadastrar um novo empréstimmo // para registrar um novo empréstimo nós precisamos // de um usuário // o usuário que será relacionado a este empréstimo Usuario usuario = null; while(usuario == null){ System.out.print("\nInforme o id ou nome do usuário: "); String pesquisaUsuario = entrada.nextLine(); // chamamos o método que pesquisa o usuario usuario = pesquisarUsuario(pesquisaUsuario); if(usuario == null){ // usuario não encotrado System.out.print("\nUsuário não encontrado.\n\nDigite 1 para pesquisar novamente ou 2 para voltar ao menu anterior: "); int opcaoTemp = Integer.parseInt(entrada.nextLine()); if(opcaoTemp == 2){ return 1; // saímos daqui e voltamos para o menu anterior } } } System.out.println("Usuário selecionado: " + usuario.getNome()); // fim para registrar um novo empréstimo nós // precisamos de um usuário // para registrar um novo empréstimo nós precisamos // de um livro Livro livro = null; // o livro que será relacionado // a este empréstimo while(livro == null){ System.out.print("Informe o id, título ou ISBN do livro: "); String pesquisaLivro = entrada.nextLine(); // chamamos o método que pesquisa o livro livro = pesquisarLivro(pesquisaLivro); // livro não encontrado ou indisponível if((livro == null) || (!livro.isDisponivel())){ System.out.print("\nLivro não encontrado ou indisponível.\n\nDigite 1 para pesquisar novamente ou 2 para voltar ao menu anterior: "); int opcaoTemp = Integer.parseInt(entrada.nextLine()); if(opcaoTemp == 2){ return 1; // saímos daqui e voltamos para o menu anterior } } } System.out.println("Livro selecionado: " + livro.getTitulo()); // fim para cadastrar um novo empréstimo nós // precisamos de um livro try{ System.out.print("Data do Empréstimo: "); String dataEmprestimo = entrada.nextLine(); Date dataEmprestimoDate = new SimpleDateFormat("dd/MM/yyyy").parse(dataEmprestimo); System.out.print("Data de Devolução: "); String dataDevolucao = entrada.nextLine(); Date dataDevolucaoDate = new SimpleDateFormat("dd/MM/yyyy").parse(dataDevolucao); // a data de devolução é menor que a data de empréstimo? if(dataDevolucaoDate.getTime() <= dataEmprestimoDate.getTime()){ System.out.println("\nA data de devolução deve ser maior que a data de empréstimo.\n"); } else{ // vamos incrementar o contador de empréstimos Emprestimo.contadorEmprestimos++; // vamos marcar o livro escolhido como indisponível livro.setDisponivel(false); // agora vamos criar um novo objeto da classe Emprestimo Emprestimo emprestimo = new Emprestimo(usuario, livro, Emprestimo.contadorEmprestimos, dataEmprestimoDate, dataDevolucaoDate, null, false); // e o adicionamos no ArrayList de empréstimos emprestimos.add(emprestimo); // e finalmente mostramos uma mensagem de sucesso. System.out.println("\nO empréstimo foi registrado com sucesso"); salvarDadosArquivo(); // salva os dados no arquivo } } catch(ParseException e){ System.out.println("\nAs datas informadas são inválidas.\n"); } break; Note que este trecho de código é parte do case da opção Novo Empréstimo do menu Gerenciar Empréstimos. Veja como usamos uma variável estática contadorEmprestimos da classe Emprestimo para criarmos um valor inteiro auto-incremento que nos permite identificadores únicos para cada empréstimo da biblioteca. Viu que código mais lindo? Note como a Programação Orientada a Objetos em Java nos permite desenvolver idéias de forma bem parecida mesmo ao mundo real. Como posso obter este código fonte? O código fonte desta aplicação é fornecido em duas versões: 1) SBIBLIOJCNB-A - Sistema de Gestão de Biblioteca em Java com Código Fonte Versão Console - NetBeans IDE ou Eclipse. 2) SBIBLIOJCNB-B - Sistema de Gestão de Biblioteca em Java com Código Fonte Versão Console - Lê e salva os dados em arquivo usando serialização (Serializable), ou seja, os métodos readObject() e writeObject() - NetBeans IDE ou Eclpse. Para adquirir, entre em contato conosco usando o WhatsApp ou e-mail indicados na lateral do site. Podemos combinar alterações e a adição de novas funcionalidades. Não se esqueça: Uma boa forma de estudar o código é fazendo pequenas alterações e rodando para ver os resultados. Outra opção é começar um projeto Java do zero e ir adicionando trechos do código fonte para melhor entendimento de suas partes. |
PHP ::: Fundamentos da Linguagem ::: Variáveis e Constantes |
Apostila PHP para iniciantes - Como usar constantes na linguagem PHPQuantidade de visualizações: 11843 vezes |
Como acontece na maioria das linguagens de programação, o PHP também permite o uso de constantes. Como o próprio nome diz, constantes são inicializadas uma vez e não podem ter seus valores alterados durante a execução do programa. A definição de constantes em PHP segue as mesmas regras de nomeação de variáveis, com a exceção de que constantes não possuem o símbolo $ e são geralmente escritas em letras maiúsculas. Diferente de variáveis, constantes, uma vez definidas, são acessadas globalmente. Não há a necessidade de redeclará-las em cada nova função ou arquivo. A síntaxe de definição de uma constante é: define("CONSTANT_NAME", value [, case_sensitivity]) onde: a) CONSTANT_NAME é o nome da constante; b) value é o valor atribuído à constante. Não é possível atribuir arrays nem objetos à constantes; c) case_sensitivity permite definir se o nome da constante será tratado igualmente se referenciado usando letras maiúsculas ou minúsculas. O valor padrão é true, o que quer dizer que "VALOR" e "Valor" serão tratados como uma única constante. REVISÃO: Revisando este código no PHP 8 eu percebi que o terceiro argumento (case_sensitivity) não é mais suportado, e gera um aviso do tipo: Warning: define(): Argument #3 ($case_insensitive) is ignored since declaration of case-insensitive constants is no longer supported in... Veja um exemplo de declaração e uso de constantes em PHP: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- <? // declara uma constante com o nome MODO e valor 2 define("MODO", 2); echo "O valor definido é: " . MODO; ?> Veja agora o que acontece quando tentamos modificar o valor de uma variável do tipo constante: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- <? // declara uma constante com o nome MODO e valor 2 define("MODO", 2); // vamos tentar alterar o valor da constante MODO = 10; ?> Este código gera a seguinte mensagem de erro: Parse error: syntax error, unexpected token "=" in... |
Java ::: Java + MySQL ::: Metadados da Base de Dados (Database Metadata) |
Java MySQL - Como obter os tipos de dados suportados pelo MySQL e seus correspondentes JDBC usando o método getTypeInfo() da interface DatabaseMetaDataQuantidade de visualizações: 5839 vezes |
Em algumas situações precisamos obter os tipos de dados suportados pelo MySQL e mapeá-los para seus correspondentes JDBC. Esta não é uma tarefa fácil, mas que, com uma pequena ajuda dos recursos de reflexão do Java, pode ser realizada depois de algumas xícaras de café. O primeiro passo é obter os tipos de dados suportados pelo MySQL com uma chamada ao método getTypeInfo() da interface DatabaseMetaData. Os campos do ResultSet que nos interessam são TYPE_NAME e DATA_TYPE. TYPE_NAME traz o nome do tipo de dados no MySQL enquanto DATA_TYPE traz o tipo JDBC correspondente como um inteiro. Assim, o que temos que fazer é usar reflexão para obter todos os campos da classe java.sql.Types e efetuar um mapeamento entre os tipos. Veja o código completo para o exemplo: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- package estudosbancodados; import java.lang.reflect.Field; import java.sql.*; import java.util.HashMap; import java.util.Map; public class EstudosBancoDados{ static Map mapa; // usado para mapear os tipos JDBC public static void main(String[] args) { // strings de conexão String databaseURL = "jdbc:mysql://localhost/estudos"; String usuario = "root"; String senha = "osmar1234"; String driverName = "com.mysql.jdbc.Driver"; try { Class.forName(driverName).newInstance(); Connection conn = DriverManager.getConnection(databaseURL, usuario, senha); // vamos obter um objeto da classe com.mysql.jdbc.DatabaseMetaData DatabaseMetaData dbmd = conn.getMetaData(); // vamos obter os tipos de dados suportados por esta versão do MySQL // e seus correspondentes JDBC ResultSet tiposDados = dbmd.getTypeInfo(); while(tiposDados.next()){ System.out.println("MySQL: " + tiposDados.getString("TYPE_NAME") + " - JDBC: " + getJdbcTypeName(Integer.parseInt(tiposDados.getString("DATA_TYPE")))); } // vamos fechar o ResultSet tiposDados.close(); } catch (SQLException ex) { System.out.println("SQLException: " + ex.getMessage()); System.out.println("SQLState: " + ex.getSQLState()); System.out.println("VendorError: " + ex.getErrorCode()); } catch (Exception e) { System.out.println("Problemas ao tentar conectar com o banco de dados: " + e); } } // Este método retorna o nome de um tipo JDBC // O retorno é null se o tipo JDBC não puder ser reconhecido public static String getJdbcTypeName(int jdbcType){ // vamos usar reflection para mapear valores inteiros a seus nomes if(mapa == null) { mapa = new HashMap(); // vamos obter todos os campos da classe java.sql.Types Field[] campos = java.sql.Types.class.getFields(); // vamos percorrer os campos for(int i = 0; i < campos.length; i++){ try{ // vamos obter o nome do campo String nome = campos[i].getName(); // vamos obter o valor do campo Integer valor = (Integer)campos[i].get(null); // vamos adicionar ao mapa mapa.put(valor, nome); } catch(IllegalAccessException e){ System.out.println("Ops: " + e.getMessage()); } } } // vamos retornar o nome do tipo JDBC return (String)mapa.get(new Integer(jdbcType)); } } O resultado da execução deste código foi: MySQL: BIT - JDBC: BIT MySQL: BOOL - JDBC: BIT MySQL: TINYINT - JDBC: TINYINT MySQL: TINYINT UNSIGNED - JDBC: TINYINT MySQL: BIGINT - JDBC: BIGINT MySQL: BIGINT UNSIGNED - JDBC: BIGINT MySQL: LONG VARBINARY - JDBC: LONGVARBINARY MySQL: MEDIUMBLOB - JDBC: LONGVARBINARY MySQL: LONGBLOB - JDBC: LONGVARBINARY MySQL: BLOB - JDBC: LONGVARBINARY MySQL: TINYBLOB - JDBC: LONGVARBINARY MySQL: VARBINARY - JDBC: VARBINARY MySQL: BINARY - JDBC: BINARY MySQL: LONG VARCHAR - JDBC: LONGVARCHAR MySQL: MEDIUMTEXT - JDBC: LONGVARCHAR MySQL: LONGTEXT - JDBC: LONGVARCHAR MySQL: TEXT - JDBC: LONGVARCHAR MySQL: TINYTEXT - JDBC: LONGVARCHAR MySQL: CHAR - JDBC: CHAR MySQL: NUMERIC - JDBC: NUMERIC MySQL: DECIMAL - JDBC: DECIMAL MySQL: INTEGER - JDBC: INTEGER MySQL: INTEGER UNSIGNED - JDBC: INTEGER MySQL: INT - JDBC: INTEGER MySQL: INT UNSIGNED - JDBC: INTEGER MySQL: MEDIUMINT - JDBC: INTEGER MySQL: MEDIUMINT UNSIGNED - JDBC: INTEGER MySQL: SMALLINT - JDBC: SMALLINT MySQL: SMALLINT UNSIGNED - JDBC: SMALLINT MySQL: FLOAT - JDBC: REAL MySQL: DOUBLE - JDBC: DOUBLE MySQL: DOUBLE PRECISION - JDBC: DOUBLE MySQL: REAL - JDBC: DOUBLE MySQL: VARCHAR - JDBC: VARCHAR MySQL: ENUM - JDBC: VARCHAR MySQL: SET - JDBC: VARCHAR MySQL: DATE - JDBC: DATE MySQL: TIME - JDBC: TIME MySQL: DATETIME - JDBC: TIMESTAMP MySQL: TIMESTAMP - JDBC: TIMESTAMP |
C# ::: Dicas & Truques ::: Trigonometria - Funções Trigonométricas |
Como calcular o cosseno de um ângulo em C# usando a função Cos() da classe Math - Calculadora de cosseno em C#Quantidade de visualizações: 1573 vezes |
Em geral, quando falamos de cosseno, estamos falando do triângulo retângulo de Pitágoras (Teorema de Pitágoras). A verdade é que podemos usar a função cosseno disponível nas linguagens de programação para calcular o cosseno de qualquer número, mesmo nossas aplicações não tendo nenhuma relação com trigonometria. No entanto, é sempre importante entender o que é a função cosseno. Veja a seguinte imagem: Veja que temos um triângulo retângulo com as medidas já calculadas para a hipotenusa e os dois catetos, assim como os ângulos entre eles. Assim, o cosseno é a razão entre o cateto adjascente e a hipotenusa, ou seja, o cateto adjascente dividido pela hipotenusa. Veja a fórmula: \[\text{Cosseno} = \frac{\text{Cateto adjascente}}{\text{Hipotenusa}} \] Então, se dividirmos 30 por 36.056 (na figura eu arredondei) nós teremos 0.8320, que é a razão entre o cateto adjascente e a hipotenusa (em radianos). Agora, experimente calcular o arco-cosseno de 0.8320. O resultado será 0.5881 (em radianos). Convertendo 0.5881 radianos para graus, nós obtemos 33.69º, que é exatamente o ângulo em graus entre o cateto adjascente e a hipotenusa na figura acima. Pronto! Agora que já sabemos o que é cosseno na trigonometria, vamos entender mais sobre a função Cos() da linguagem C#. Esta função, que é um método da classe Math, recebe um valor numérico Double e retorna um valor Double, ou seja, também numérico) entre -1 até 1 (ambos inclusos). Veja: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- using System; using System.Collections; namespace Estudos { class Program { static void Main(string[] args) { // vamos calcular o cosseno de três números Console.WriteLine("Cosseno de 0 = " + Math.Cos(0)); Console.WriteLine("Cosseno de 1 = " + Math.Cos(1)); Console.WriteLine("Cosseno de 2 = " + Math.Cos(2)); Console.WriteLine("\nPressione qualquer tecla para sair..."); // pausa o programa Console.ReadKey(); } } } Ao executar este código C# nós teremos o seguinte resultado: Cosseno de 0 = 1 Cosseno de 1 = 0,5403023058681397 Cosseno de 2 = -0,4161468365471424 Note que calculamos os cossenos dos valores 0, 1 e 2. Observe como os resultados conferem com a curva da função cosseno mostrada abaixo: |
Desafios, Exercícios e Algoritmos Resolvidos de C# |
Veja mais Dicas e truques de C# |
Dicas e truques de outras linguagens |
Java Servlets - Como compartilhar dados entre um Java Servlet e uma página JSP usando a requisição HttpServletRequest |
Códigos Fonte |
Software 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 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 |