Você está aqui: C ::: Desafios e Lista de Exercícios Resolvidos ::: C Básico |
Um programa C que recebe o ano de nascimento de uma pessoa e o ano atual e mostra a idade da pessoa em anos, meses, dias e semanas - Desafio de Programação Resolvido em CQuantidade de visualizações: 955 vezes |
Pergunta/Tarefa: Escreva um programa C que recebe o ano de nascimento de uma pessoa e o ano atual, calcule e mostre: a) A idade da pessoa em anos; b) A idade da pessoa em meses; c) A idade da pessoa em dias; d) A idade da pessoa em semanas. Sua saída deverá ser parecida com: Informe o ano de seu nascimento: 1985 Informe o ano atual: 2023 A idade em anos é: 38 A idade em meses é: 456 A idade em dias é: 13680 A idade em semanas é: 1976 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 ano_nascimento, ano_atual, idade_anos, idade_meses; int idade_dias, idade_semanas; // vamos ler o ano de nascimento printf("Informe o ano de seu nascimento: "); scanf("%d", &ano_nascimento); printf("Informe o ano atual: "); scanf("%d", &ano_atual); // calcula a idade em anos idade_anos = ano_atual - ano_nascimento; printf("\nA idade em anos é: %d", idade_anos); // calcula a idade em meses idade_meses = idade_anos * 12; printf("\nA idade em meses é: %d", idade_meses); // calcula a idade em dias idade_dias = idade_anos * 12 * 30; printf("\nA idade em dias é: %d", idade_dias); // calcula a idade em semanas idade_semanas = idade_anos * 52; printf("\nA idade em semanas é: %d", idade_semanas); printf("\n\n"); system("PAUSE"); return 0; } |
Link para compartilhar na Internet ou com seus amigos: |
Python ::: Estruturas de Dados ::: Lista Ligada Simples |
Como excluir um nó no final de uma lista encadeada simples em PythonQuantidade de visualizações: 890 vezes |
Nesta dica mostrarei como podemos escrever um método remover_final() que remove e retorna o nó no final de uma lista encadeada simples em Python, ou seja, excluí o último nó da lista. É importante observar que o método exclui o último nó e o retorna completo, inclui o valor que está incluído nele. Se a lista estiver vazia o método retorna o valor None para indicar lista vazia. Vamos começar então com o código para a classe No da lista singularmente ligada (que salvei em um arquivo no_lista_singularmente_ligada.py): ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- # classe No para uma lista singularmente encadeada ou # ligada - Singly Linked List class No: # construtor da classe No def __init__(self, info, proximo): self.info = info self.proximo = proximo # método que permite definir o conteúdo do nó def set_info(self, info): self.info = info # método que permite obter a informação de um nó def get_info(self): return self.info # método que permite definir o campo próximo deste nó def set_proximo(self, proximo): self.proximo = proximo # método que permite obter o campo próximo deste nó def get_proximo(self): return self.proximo # retorna True se este nó apontar para outro nó def possui_proximo(self): return self.proximo != None Veja que o código para a classe Nó não possui muitas firulas. Temos apenas um campo info, que guardará o valor do nó, e um campo próximo, que aponta para o próximo nó da lista, ou null, se este for o único nó ou o último nó da lista ligada. Veja agora o código para a classe ListaLigadaSimples (lista_ligada_simples.py), com os métodos inserir_inicio(), remover_final() e exibir(): ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- # importa a classe No from no_lista_singularmente_ligada import No # classe ListaLigadaSimples class ListaLigadaSimples: # construtor da classe def __init__(self): self.inicio = None # nó inicial da lista # método que deleta um nó no final de uma lista ligada # este método retorna o nó excluído def remover_final(self): # a lista está vazia? if self.inicio == None: return None else: # vamos excluir e retornar o primeiro nó da lista removido = self.inicio # a lista possui apenas um nó? if self.inicio.get_proximo() == None: # a lista agora ficará vazia self.inicio = None else: # começamos apontando para o início da lista no_atual = self.inicio no_anterior = self.inicio # enquanto o próximo do nó atual for diferente de nulo while no_atual.get_proximo() != None: # avançamos o nó anterior no_anterior = no_atual # saltamos para o próximo nó no_atual = no_atual.get_proximo() # na estamos na posição de exclusão removido = no_atual no_anterior.set_proximo(None) # retorna o nó removido return removido # método que permite inserir um novo nó no início da lista def inserir_inicio(self, info): # cria um novo nó contendo a informação e que # não aponta para nenhum outro nó novo_no = No(info, None) # a lista ainda está vazia? if self.inicio == None: # o novo nó será o início da lista self.inicio = novo_no else: # o novo nó aponta para o início da lista novo_no.set_proximo(self.inicio) # o novo nó passa a ser o início da lista self.inicio = novo_no # método que permite exibir todos os nós da lista # ligada simples (lista singularmente encadeada) def exibir(self): # aponta para o início da lista no_atual = self.inicio # enquanto o nó não for nulo while no_atual != None: # exibe o conteúdo do nó atual print(no_atual.get_info()) # pula para o próximo nó no_atual = no_atual.get_proximo() E agora o código main() que insere alguns valores no início da nossa lista singularmente encadeada e testa o método remover_final(): ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- # importa a classe ListaLigadaSimples from lista_singularmente_ligada import ListaLigadaSimples # método principal def main(): # cria uma nova lista encadeada simples lista = ListaLigadaSimples() print("Insere o valor 12 no início da lista") lista.inserir_inicio(12) print("Conteúdo da lista: ") lista.exibir() print("Insere o valor 30 no início da lista") lista.inserir_inicio(30) print("Conteúdo da lista: ") lista.exibir() print("Insere o valor 27 no início da lista") lista.inserir_inicio(27) print("Conteúdo da lista: ") lista.exibir() print("Remove um nó no final da lista") removido = lista.remover_final() if removido == None: print("Não foi possível remover. Lista vazia") else: print("Nó removido:", removido.get_info()) print("Conteúdo da lista: ") lista.exibir() if __name__== "__main__": main() Ao executar este código Python nós teremos o seguinte resultado: c:\estudos_python>python estudos.py Insere o valor 12 no início da lista Conteúdo da lista: 12 Insere o valor 30 no início da lista Conteúdo da lista: 30 12 Insere o valor 27 no início da lista Conteúdo da lista: 27 30 12 Remove um nó no final da lista Nó removido: 12 Conteúdo da lista: 27 30 |
Python ::: Dicas & Truques ::: Trigonometria - Funções Trigonométricas |
Como calcular o comprimento da hipotenusa em Python dadas as medidas do cateto oposto e do cateto adjascenteQuantidade de visualizações: 1362 vezes |
Nesta dica mostrarei como é possível usar a linguagem Python para retornar o comprimento da hipotenusa dadas as medidas do cateto oposto e do cateto adjascente. Vamos começar analisando a imagem a seguir: Veja que, nessa imagem, eu já coloquei os comprimentos da hipotenusa, do cateto oposto e do cateto adjascente. Para facilitar a conferência dos cálculos, eu coloquei também os ângulos theta (que alguns livros chamam de alfa) e beta já devidamente calculados. Então, sabendo que o quadrado da hipotenusa é igual à soma dos quadrados dos catetos (Teorema de Pitógoras): \[c^2 = a^2 + b^2\] Tudo que temos a fazer a converter esta fórmula para código Python. Veja: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- # vamos importar o módulo Math import math as math def main(): a = 20 # medida do cateto oposto b = 30 # medida do cateto adjascente # agora vamos calcular o comprimento da hipotenusa c = math.sqrt(math.pow(a, 2) + math.pow(b, 2)) # e mostramos o resultado print("O comprimento da hipotenusa é: %f" % c) if __name__== "__main__": main() Ao executar este código Python nós teremos o seguinte resultado: O comprimento da hipotenusa é: 36.055513 Como podemos ver, o resultado retornado com o código Python confere com os valores da imagem apresentada. |
Ruby ::: Dicas & Truques ::: Data e Hora |
Como retornar o dia do mês em Ruby usando um objeto da classe Time e os métodos day e mdayQuantidade de visualizações: 5984 vezes |
Muitas vezes precisamos obter o dia do mês de uma determinada data. Para isso a classe Time do Ruby nos fornece os métodos day e mday. Estes método retornam um número inteiro na faixa 1..31. Veja uma demonstração destes métodos no trecho de código a seguir: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- # obtém o dia do mês usando o método day agora = Time.new dia = agora.day # exibe o resultado puts "Dia do mês usando a função day: " + dia.to_s # obtém o dia do mês usando o método mday agora = Time.new dia = agora.mday # exibe o resultado puts "Dia do mês usando a função mday: " + dia.to_s Ao executar este código Ruby nós teremos o seguinte resultado: Dia do mês usando a função day: 21 Dia do mês usando a função mday: 21 |
C++ ::: Fundamentos da Linguagem ::: Tipos de Dados |
Como usar true e false em C e C++Quantidade de visualizações: 13886 vezes |
Em praticamente todas as linguagens de programação nós encontramos expressões condicionais que definem o fluxo de execução. Expressões condicionais são aquelas que, quando avaliadas, resultam em um valor true (verdadeiro) ou false (falso). Muitas linguagens de programação possuem um tipo booleano que armazena os valores true ou false. Enquanto o C++ possui o tipo bool, o C possui uma forma bem interessante de definir true ou false. Em C, um valor true é qualquer valor diferente de 0, incluindo numeros negativos. Veja: ---------------------------------------------------------------------- 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> int main(int argc, char *argv[]) { int pode = 1; // verdadeiro int nao_pode = 0; // falso if(pode) printf("Teste resultou verdadeiro\n\n"); if(!nao_pode) printf("Teste resultou verdadeiro\n\n"); system("PAUSE"); return 0; } Lembre-se então. False em C é o valor zero. Qualquer outro valor é true. Embora C++ já possua o tipo bool, é possível usar a abordagem do zero para false e qualquer outro valor para true em C++ também. Você verá muito código legado usando este artifício. Quer ver algo interessante agora? Execute o seguinte código C++: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- #include <string> #include <iostream> using namespace std; int main(int argc, char *argv[]){ bool pode = true; bool nao_pode = false; cout << pode << "\n"; cout << nao_pode << "\n\n"; system("PAUSE"); // pausa o programa return EXIT_SUCCESS; } Nos compiladores que obedecem o C++ padrão você verá os valores 1 e 0 serem impressos. |
Python ::: Dicas & Truques ::: Strings e Caracteres |
Como pesquisar substrings em strings usando a função index() da linguagem PythonQuantidade de visualizações: 8240 vezes |
Este exemplo mostra como pesquisar uma substring em uma string usando o método index() do Python. A assinatura desta função é:index(substring[, start[, end]]) onde substring é a substring a ser pesquisada e start e end são argumentos opcionais que definem os índices de início e fim da pesquisa. Se a substring não for encontrada, uma exceção do tipo ValueError é levantada. Se for encontrada, o índice do primeiro caractere é retornado. Veja o código Python completo para a dica: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- def main(): frase = "Gosto de Python e JavaScript" try: indice = frase.index("Python") except ValueError: print("A palavra não foi encontrada") else: print("A palavra foi encontrada no índice", indice) if __name__== "__main__": main() Ao executarmos este código Python nós teremos o seguinte resultado: A palavra foi encontrada no índice 9. |
Desafios, Exercícios e Algoritmos Resolvidos de Python |
Veja mais Dicas e truques de Python |
Dicas e truques de outras linguagens |
JavaScript - Como adicionar um método isPar() ao objeto Number do JavaScript que indicará se um número é par ou impar |
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 |