O GoConqr está de visual novo! Conte para nós o que você achou.

Mapa mental

Algorítimo e Lógica de Programação I

marcelo luiz Português

Conteúdo do mapa

Algorítimo e Lógica de Programação I

  1. Introdução a Algorítimos e Lógica de programação

    • Algorítimo é uma sequência de passos finitos e ordenados, executados com a finalidade de resolver um problema. Assim um algorítimo não pode,inicialmente resolver problemas que possam ser resolvidos por uma sequência lógica e pré determinada de ações; Algorítimo deve ter início e fim, sem ambiguidade , ter entrada e saída de resultados.
    • Sintaxe é a gramática da linguagem define como os elementos do código são combinados para criar instruções e estruturas coerentes e funcionais.
    • Semântica Define o comportamento e a funcionalidade do código, determinando o que as instruções fazem e como elas interagem uma as outras;
  2. Variáveis Constantes e Tipos de Dados

    • Variável é o nome que damos a uma determinada posição de memória para conter um valor de um determinado tipo; O valor contido em uma variável pode mudar ao longo da execução do programa; Em geral uma variável deve ser definida antes de ser utilizada. As variáveis são capazes de armazenar informações e manipulá-las conforme a necessidade do momento, permitindo ao programador a flexibilidade e a sua adaptação na resolução de diversos problemas.
    • Algumas comunidades preferem o padrão snake_case, ou seja nomes em minúsculo e a separação por underline. Constantes-São elementos que não se modificam, diferem das variáveis que podem se modificar. A comunidade de programadores nomeia os constantes utilizando letras maiúsculas.
  3. Expressões Aritiméticas Lógicas e Relacionais

    • Como o próprio nome sugere, estas operações envolvem transformações aritméticas aplicadas a variáveis e constantes, por meio de expressões. É necessário salientar, desde já, que todas as expressões que abordaremos exigem que uma variável receba, em forma de atribuição, o valor calculado na expressão. Isso quer dizer que não é permitida a escrita, por exemplo, da expressão x + y, sem uma variável à qual seja atribuída o resultado da soma. Em outras palavras, nesta expressão faltou a variável que deverá receber o resultado da soma entre x e y.
      • A operação de potenciação, efetivada pelo operador duplo asterisco (**), eleva um número a uma potência específica, e pode ser usada em cálculos exponenciais próprios de juros compostos, por exemplo. Um exemplo de expressão para esta operação é resultado_potencia = numero_base ** expoente
      • O operador de módulo, representado pelo símbolo de porcentagem (%), retorna o resto da divisão entre dois números. Isso pode ser útil para verificar se um número é divisível por outro ou para determinar se o valor contido em certa variável é par ou não. Como exemplo, considere a expressão resto = numero1 % 2. Caso o valor resultante em resto seja 0, teremos que o valor contido em numero1 é par. Qualquer número que retorne resto 0 quando dividido por 2 é par
      • Esta operação retorna apenas a parte inteira do resultado da divisão, o que pode será quando você deseja calcular quantas vezes um número cabe em outro sem considerar os decimais. Este operador é representado pela barra dupla (//) e a expressão resultado_inteiro = numero1 // numero2 é um exemplo de sua utilização
      • Colocado da forma mais simples possível, a divisão é usada para dividir um número pelo outro, o que pode ser útil para calcular taxas, médias ponderadas e distribuir quantidades. Na expressão quociente = dividendo / divisor, a variável divisor jamais deve assumir o valor 0. Por meio da aplicação da correta validação, você deve assegurar-se de que este fato não acontecerá durante a execução do seu algoritmo. Note que o operador da divisão é a barra (/).3.1.5 Divisão inteiraEsta operação retorna apenas a parte inteira do resultado da divisão, o que pode será quando você deseja calcular quantas vezes um número cabe em outro sem considerar os decimais. Este operador é representado pela barra dupla (//) e a expressão resultado_inteiro = numero1 // numero2 é um exemplo de sua utilização.3.1.6 MóduloO operador de módulo, representado pelo símbolo de porcentagem (%), retorna o resto da divisão entre dois números. Isso pode ser útil para verificar se um número é divisível
      • Esta operação é usada para calcular o produto de dois ou mais números. Ela é essencial para calcular áreas, volumes, e para criar repetições controladas por multiplicação. Em encontros futuros trataremos de repetições de trechos de algoritmos. A expressão produto = numero1 * numero2 multiplica o valor de numero1 por numero2 e atribui o produto à variável produto. Observe que operador da multiplicação é um asterisco (*) e não a letra x, como na Matemática
      • Operação efetivada pelo sinal de adição ( + ) e apta a somar dois ou mais números, sejam eles representados por variáveis ou por constantes. Em nosso contexto, essa operação é útil para calcular totais, médias, acumular valores e realizar contagens. Na sequência, alguns exemplos de suas aplicações e as respectivas explicações
      • A subtração é usada para o algoritmo possa encontrar a diferença entre dois números e efetiva-se por meio da aplicação do sinal - . Ela é útil para calcular variações, saldos, e outras quantidades relacionadas à diferença entre valores. A expressão diferenca = numero1 - numero2 subtrai o valor contido em numero2 do valor contido em numero1, e atribui a diferença à variável diferenca. Assim como as demais expressões, a resolução se dá no sentido da direita para a esquerda
  4. Introdução á Algorítmos Estruturados

    • A estrutura sequencial é frequentemente usada para executar operações simples, incluindo entradas de dados feitas pelo usuário, execução de expressões aritméticas, processamentos triviais de dados e apresentação de resultados, nada diferente do que já aprendemos até o momento. Um exemplo possível para ilustrar essas ideias seria um algoritmo que calcula a média entre dois valores inteiros informados pelo usuário. Este algoritmo resolve o problema da seguinte maneira:1. Receber o primeiro número.2. Receber o segundo número.3. Calcular a média entre os dois números.4. Exibir a média
    • Uma estrutura de repetição é composta por comando (ou comandos) com capacidade para repetir um determinado trecho de algoritmo. Embora colocada em termos bem simples e objetivos, essa afirmação contém implicações importantes, que serão analisadas na sequência.a) Bloco de comandos: trata-se do conjunto de comandos que serão submetidos à repetição e que estarão subordinados ao comando de repetição escolhido para o processamento dos dados.
      • Condição de parada: a existência de um trecho de algoritmo que contém repetição - da mais simples à mais complexa – implica na existência de um recurso algorítmico que interrompe essa repetição. A este recurso damos o nome de condição de parada, que geralmente é escrita como uma expressão de comparação colocada no comando de repetição. Caso esta expressão contenha um determinado defeito lógico, a repetição poderá nunca ser interrompida, fato que certamente causará problemas ao usuário do algoritmo. Além disso, a não interrupção da execução da repetição causará a negação da parte do conceito de algoritmos em que sua finitude é afirmada.
        • Laço de repetição: também conhecido como loop ou iteração o laço de repetição refere-se à execução contínua do bloco definido para ser repetido enquanto a condição de parada assim o permitir. Um loop, portanto, é o modo como é conhecida uma repetição feita no bloco subordinado ao comando de repetição
  5. Formas de representações dos Algoritmos

    • Linguagem natural A representação em linguagem natural é a forma mais simples e intuitiva de descrever um algoritmo. Ela usa palavras e frases escritas em um idioma humano para explicar passo a passo a resolução de um problema por algoritmo. Fluxograma Embora você possa encontrar essa modalidade com os nomes de diagrama de fluxo e diagrama de blocos, trataremos todos eles como sinônimos. Para os nossos objetivos, eventuais pequenas diferenças conceituais entre essas modalidades serão absorvidas. De qualquer maneira, um fluxograma representa a lógica presente em um algoritmo usando símbolos gráficos. De forma simplificada, comandos e ações presentes nos algoritmos são representados por símbolos padronizados.
    • Linguagem de programaçãoUma linguagem de programação é capaz de fornecer comandos, variáveis, expressões e todos os recursos necessários para que um algoritmo possa ser implementado eexecutado pela máquina. Em outras palavras, linguagens de programação, como C, Python e Java, são capazes de fornecer representação diretamente por código aos algoritmos. Da mesma forma descrita para algoritmos, a programação estruturada usa estruturas sequenciais, condicionais e de repetição para descrever e implementar a lógica do algoritmo. Esta é, portanto, a forma mais direta de representação de um algoritmo. Phython, Java, C++, C#.
  6. Estruturas Condicionais

    • Estrutura condicional simplesComo o próprio nome sugere, esta estrutura contempla o comando mais básico de todos. Objetivamente, ela avalia uma condição e executa um bloco de código somente se a condição avaliada for verdadeira. Conforme já introduzido em encontro anterior, o formato geral do comando “Se” em pseudolinguagem para este caso é o que segue:Se (teste_condicional) Então<comandos que serão executados caso teste_condicional retorne verdadeiro>FimSe
    • Estrutura condicional composta A chamada estrutura condicional composta é efetivada pelo comando Se..então..senão. Ele permite que o algoritmo execute um bloco de código se o teste da condiçãoretornar verdadeiro e outro bloco se retornar falso. Isso é útil para cenários em que deve ser implementada alternativa ao retorno verdadeiro. De fato, por meio desta estrutura o algoritmo escolherá um caminho entre dois possíveis. A exemplo da estrutura anterior, o formato geral deste comando também já foi introduzido, mas será novamente abordado.Vejamos:Se (teste_condicional) Então<comandos que serão executados caso teste_condicional retorne verdadeiro>Senão<comandos que serão executados caso teste_condicional retorne falso>FimSe
    • Estrutura condicional aninhadaA estrutura condicional aninhada é uma técnica de criação de algoritmos que permite a criação de condicionais dentro de outras condicionais. O termo “aninhada” nos remete a algo abrigado em um ninho ou uma coisa recolhida no interior de outra. A ideia, portanto, é que um comando condicional seja colocado no interior de outro e tal recurso é útil quando precisamos avaliar várias condições diferentes em um algoritmo. Se (condição1) Então // Bloco de código a ser executado se a condição1 for verdadeira Senão Se(condição2) Então // Bloco de código a ser executado se a condição2 for verdadeira Senão // Bloco de código a ser executado se a condição2 for falsa FimSe FimSe
    • A estrutura condicional “escolha” – muitas vezes referenciada também como “caso” – é parte importante da criação de algoritmos, já que é usada para tomar decisões com base em diferentes valores ou condições. Ela permite que o criador do algoritmo especifique uma variável que será avaliada e, com base no valor dessa variável, o algoritmo executará um bloco de código correspondente a um caso específico. escolha opcao caso <valor_inteiro1> <comando> caso <valor_inteiro2> <comando> caso <valor_inteiro3> <comando> senao escreva (“Opção inválida.”) fimescolha
  7. Estrutura de repetição com teste no ínicio

    • Condição de permanência: é a expressão de comparação colocada no comando de repetição responsável pelos "loops infinitos". Laço de repetição refere se a execução contínua do bloco definido para ser repetido enquanto a condição de parada assim o permitir. É também conhecido como loop ou interação. Blocos de comandos trata -se do conjunto de comandos que serão submetidos á repetição e que estarão subordinados ao comando de repetição escolhidos para o processamentos de dados.
  8. Estrutura de repetição com teste no fim

    • Em termos objetivos, a estrutura de repetição com teste no final funciona assim: depois de ser executado o bloco de código dentro do loop (ou do laço), é realizado um teste lógico. Se ele retornar verdadeiro, o fluxo do algoritmo é desviado para o início do bloco, que será executado novamente. Se o teste retornar falso, o fluxo de execução é desviado para fora do bloco, especificamente para o primeiro comando depois dele
  9. Estrutura de repetição com números definido de repetições

    • Na estrutura com quantidade conhecida de repetições, o próprio comando implementa a condição de parada, cujo acionamento se dá pelo atingimento de uma determinada quantidade de repetições.O funcionamento do comando para..faça estabelece que uma variável de controle – comumente declarada como i e sempre do tipo inteiro – servirá como parâmetro para a contagem de repetições a serem executadas. O comando se inicia com a palavra Para, que é uma tradução possível para o comando universalmente denominado for, palavra comum no idioma inglês. Na sequência, o comando apresenta a variável que controlará a quantidade de repetições e que terá seu valor incrementado a cada iteração. Conforme já mencionado, utilizaremos a variável i para este fim, embora o nome seja de livre escolha do criador do algoritmo. Esta variável, no entanto, deverá ser sempre do tipo inteiro
  10. Estrutura de dados homogênia unimencional vetores

    • Os vetores são utilizados quando a solução do problema demanda que um conjunto de dados do mesmo tipo esteja ligado a uma estrutura única. Imagine que o algoritmo que você está construindo deva manipular 10 notas individualmente. Sem a utilização de um vetor, você seria obrigado a declarar 10 variáveis do tipo flutuante, o que poderia ser desconfortável e improdutivo, para dizer o mínimo.Em termos gerais, os vetores desempenham um papel fundamental na criação de algoritmos, pois oferecem uma estrutura eficiente e organizada para o armazenamento e manipulação de um conjunto de dados. Sua utilidade vai muito além de uma simples coleção de elementos, pois eles proporcionam uma abordagem estruturada que facilita a implementação de algoritmos complexos e a resolução de uma variedade de problemas computacionais.
      • Essenciais para lidar com coleções de elementos do mesmo tipo, Acesso rápido e eficaz aos dados, afinal fornecem uma estrutura mais compacta e direta (áreas  contíguas na memória ) Ideal para operações que exigem alta performance e economia de recursos computacionais.

Informações

Descrição
Mapa Mental sobre Algorítimo e Lógica de Programação I, criado por marcelo luiz em 23-01-2025.
Criado por
marcelo luiz
Visualizações
0
Avaliação

Fale Conosco

Sobre o que é sua mensagem?

O que você acha do novo visual?

Você gostou?