Lógica e Algoritmos Prof . Jossandro Balardin
Um algoritmo representa um conjunto de regras para a solução de um problema. Exemplo:   Uma receita de bolo Definição dos ingredientes e suas quantidades Execução das instruções Algoritmos
Da mesma forma, em programação, o algoritmo especifica com clareza e de forma correta as instruções que um software deve conter para que, ao ser executado, forneça resultados esperados. Algoritmos
Em primeiro lugar, deve-se saber  qual é o problema a ser resolvido  – o seu objetivo. Daí deve-se extrair todas as informações a respeito desse problema (dados e operações), relacioná-las com o conhecimento atual que se tem do assunto, buscando eventualmente informações de outras fontes. Algoritmos Modelagem do problema
Depois, sabendo como resolver o problema, a tarefa consiste em  descrever claramente os passos para se chegar à sua solução . Os passos por si só não resolvem o problema. É necessário colocá-los em uma  sequência lógica . Algoritmos Especificação do algoritmo
Ler atentamente o enunciado, destacando os pontos mais importantes; Definir os dados de entrada; Definir o processamento (transforma dados de entrada em dados de saída); Definir dados de saída; Construir o algoritmo; Testar o algoritmo realizando simulações. Método para construção de Algoritmos
Um motorista que necessita efetuar a troca de um pneu furado segue uma sequência de passos: Verifica qual pneu está furado Posiciona o macaco para levantar o carro Pega o estepe Solta os parafusos Substitui o pneu furado Recoloca os parafusos Desce o carro Guarda o macaco e o pneu furado Algoritmos
Tipos de Algoritmos Descrição narrativa Pseudocódigos ou Português Estruturado Fluxograma ou Diagrama de Blocos Diagrama de Chapin ou Diagrama Nassi-Shneiderman ou Diagrama N-S
Descrição Narrativa Utiliza linguagem natural para especificar os passos a serem seguidos para a resolução do problema. Exemplo:  Somar três números Passo 1 – Receber os três números Passo 2 – Somar os três números Passo 3 – Mostrar o resultado obtido
Para pensar! Faça uma  Descrição narrativa  de: Como fazer um sanduiche? Como participar da aula de algoritmos?
Pseudocódigo, Português Estruturado ou Portugol Significa “falso código”.  Utiliza linguagem intermediária entre linguagem natural e linguagem de programação. É utilizado para organizar o raciocínio lógico a ser seguido para resolução de um problema.
Exemplo:  Somar três números Algoritmo Soma Var a, b, c, soma: inteiro Inicio Ler (a, b, c) soma  ← a + b + c Escrever (soma) Fim Utilizar Identação Pseudocódigo, Português Estruturado ou Portugol Escrever ou Escreva ou Mostrar Ler ou Leia Pode ser := Identificação do algoritmo Declaração de variáveis Corpo do algoritmo
Todo algoritmo representado por um pseudocódigo deverá ser, primeiramente identificado.  Para se identificar ou nomear um algoritmo recomenda-se: Não utilizar espaços entre as letras. O caracter underline ( _ ) pode ser utilizado. Não iniciar o nome com algarismos (números). Não utilizar palavras reservadas como var, se, … Não utilizar caracteres especiais como ?, *, @, … Não utilizar nomes iguais para representar variáveis diferentes. Ser sucinto e utilizar nomes coerentes. Pseudocódigo, Português Estruturado ou Portugol Essas recomendações também são válidas para a identificação das variáveis.
Tipos de Dados: Inteiro  – para número inteiros positivos ou negativos. Real  – para números com casas decimais, positivos ou negativos. Lógico ou booleano  – poderá receber verdadeiro (1) ou falso (0). Literal, texto ou caractere  – poderá receber letras, números e símbolos. Obs. Os números armazenados em uma variável cujo tipo de dado é literal não poderão ser utilizados para cálculos. Pseudocódigo, Português Estruturado ou Portugol
Exercícios Faça uma  Descrição narrativa  e após crie um algoritmo em  Pseudocódigo Especificar um algoritmo para calcular e exibir na tela a área de um triângulo de base b e altura h, em que os valores de b e de h são fornecidos pelo usuário via teclado. A = (b * h)/2 Passo 1 – pedir para o usuário digitar os valores de b e h Passo 2 – Calcular a área s usando a fórmula s = (b * h)/2 Passo 3 – Exibir o valor de A na tela Algoritmo Area Var a, b, s: real Inicio Ler (a, b) s  ← (b * a)/2 Escrever (s) Fim
Exercícios Faça uma  Descrição narrativa  e após crie um algoritmo em  Pseudocódigo b)  Compraram-se 30 canetas iguais, que foram pagas com uma nota de R$ 100,00, obtendo-se R$ 67,00 de troco. Quanto custou cada caneta? Passo 1 – Pegar os valores 30, 100 e 67 Passo 2 – Subtrair 67 de 100 e dividir o resultado por 30 Passo 3 – Mostrar o resultado final Algoritmo Caneta Var x, y, z, valor: real Inicio x  ← 30 y  ← 100 z ← 67 preco  ← (y – z)/x Escrever (preco) Fim
Exercícios Se x possui o valor 15 e forem executadas as seguintes instruções: x  ← x + 3 x  ← x – 6 x ← 3 * X Qual será o valor armazenado em x?
É um tipo de algoritmo que utiliza símbolos gráficos para representar as ações ou instruções a serem seguidas. É considerado um algoritmo universal por usar figuras. Fluxograma ou Diagrama de Blocos E atribuição de valores de dados de dados do algoritmo
Fluxograma ou Diagrama de Blocos Exemplo:  Somar três números Ler (a,b,c) soma <- a+b+c Mostrar( soma ) Inicio Fim
Exercícios Fazer o fluxograma dos 2 exercícios anteriores.
Exercícios Faça um programa que receba três notas, calcule e mostre a média aritmética entre elas. Faça um programa que receba três notas e seus respectivos pesos, calcule e mostre a média ponderada dessas notas. Faça um programa que receba o salário de um funcionário, calcule e mostre o novo salário, sabendo-se que este sofreu um aumento de 20% Faça um programa que receba o salário de um funcionário e o percentual de aumento, calcule e mostre o valor do aumento e o novo salário. Faça um programa que receba o salário-base de um funcionário, calcule e mostre o salário a receber, sabendo-se que esse funcionário tem gratificação de 5% sobre o salário-base e paga imposto de 7% sobre o salário-base.
Exercícios 6. Sabendo-se que: 1 pé = 12 polegadas 1 jarda = 3 pés 1 milha = 1.760 jardas Faça um programa que receba uma medida em pés, faça as conversões a seguir e mostre os resultados a) polegadas b) jardas c) milhas Algoritmo pes Var pes, polegadas, jardas, milhas: real Inicio Ler (pes) polegadas := pes * 12 jardas := pes / 3 milhas := jardas / 1760 Escrever (polegadas, jardas, milhas) Fim
Exercícios 7. Faça um programa que receba o ano de nascimento de uma pessoa e o ano atual, calcule e mostre: a) a idade dessa pessoa; b) quantos anos essa pessoa terá em 2010. Algoritmo idade Var ano_atual, ano_nascimento, idade_atual, idade_2010: inteiro Inicio Ler (ano_atual, ano_nascimento) idade_atual := ano_atual – ano_nascimento idade_2010 := 2010 – ano_nascimento Escrever (idade_atual, idade_2010) Fim
Exercícios 8. O custo ao consumidor de um carro novo é a soma do preço de fábrica com o percentual de lucro do distribuidor e dos impostos aplicados ao preço de fábrica. Faça um programa que receba o preço de fábrica de um veículo, o percentual de lucro do distribuidor e o percentual de impostos. Calcule e mostre: a) o valor corespondente ao lucro do distribuidor; b) o valor correspondente aos impostos; c) o preço final do veículo. Inicio Ler (p_fab, perc_d, perc_i) vlr_d := p_fab * perc_d / 100 vlr_i := p_fab * perc_i / 100 p_final := p_fab + vlr_d + vlr_i Escrever (vlr_d, vlr_i, p_final) Fim
Exercícios 9. Pedro comprou um saco de ração com peso em quilos. Pedro possui dois gatos para os quais fornece a quantidade de ração em gramas. Faça um programa que receba o peso do saco de ração e a quantidade de ração fornecida para cada gato. Calcule e mostre quanto restará de ração no saco após cinco dias. Algoritmo gatos Var peso_saco, racao_gato1, racao_gato2, total_final: inteiro Inicio Ler (peso_saco, racao_gato1, racao_gato2) racao_gato1 := racao_gato1 / 1000 racao_gato2 := racao_gato2 / 1000 total_final := peso_saco – 5 * (racao_gato1 + racao_gato2) Escrever (total_final) Fim
Exercícios 10. Cada degrau de uma escada tem X de altura. Faça um programa que receba essa altura e a altura que o usuário deseja alcançar subindo a escada. Calcule e mostre quantos degraus o usuário deverá subir para atingir seu objetivo, sem se preocupar com a altura do usuário. Algoritmo Escada Var a_degrau, a_usuario, qtde_degraus: inteiro Inicio Ler (a_degrau, a_usuario) qtde_degraus := a_usuario / a_degrau Escrever (qtde_degraus) Fim
Exercícios 11. Faça um programa que calcule e mostre a área de um losango. Sabe-se que A = (diagonal maior * diagonal menor)/2 12. Faça um programa que receba o ano de nascimento de uma pessoa e o ano atual, calcule e mostre: a) a idade dessa pessoa em anos; b) a idade dessa pessoa em meses; c) a idade dessa pessoa em dias; d) a idade dessa pessoa em semanas. 13. Faça um programa que receba a quantidade de dinheiro em reais e converta esse valor em dólar, marco alemão e libras esterlinas. Sabe-se que a cotação do dólar é de R$ 1,80, do marco alemão é de R$ 2,00 e da libra esterlina é de R$ 1,57. O programa deve fazer a conversão e mostrá-las.

Aula 3 algoritmos

  • 1.
    Lógica e AlgoritmosProf . Jossandro Balardin
  • 2.
    Um algoritmo representaum conjunto de regras para a solução de um problema. Exemplo: Uma receita de bolo Definição dos ingredientes e suas quantidades Execução das instruções Algoritmos
  • 3.
    Da mesma forma,em programação, o algoritmo especifica com clareza e de forma correta as instruções que um software deve conter para que, ao ser executado, forneça resultados esperados. Algoritmos
  • 4.
    Em primeiro lugar,deve-se saber qual é o problema a ser resolvido – o seu objetivo. Daí deve-se extrair todas as informações a respeito desse problema (dados e operações), relacioná-las com o conhecimento atual que se tem do assunto, buscando eventualmente informações de outras fontes. Algoritmos Modelagem do problema
  • 5.
    Depois, sabendo comoresolver o problema, a tarefa consiste em descrever claramente os passos para se chegar à sua solução . Os passos por si só não resolvem o problema. É necessário colocá-los em uma sequência lógica . Algoritmos Especificação do algoritmo
  • 6.
    Ler atentamente oenunciado, destacando os pontos mais importantes; Definir os dados de entrada; Definir o processamento (transforma dados de entrada em dados de saída); Definir dados de saída; Construir o algoritmo; Testar o algoritmo realizando simulações. Método para construção de Algoritmos
  • 7.
    Um motorista quenecessita efetuar a troca de um pneu furado segue uma sequência de passos: Verifica qual pneu está furado Posiciona o macaco para levantar o carro Pega o estepe Solta os parafusos Substitui o pneu furado Recoloca os parafusos Desce o carro Guarda o macaco e o pneu furado Algoritmos
  • 8.
    Tipos de AlgoritmosDescrição narrativa Pseudocódigos ou Português Estruturado Fluxograma ou Diagrama de Blocos Diagrama de Chapin ou Diagrama Nassi-Shneiderman ou Diagrama N-S
  • 9.
    Descrição Narrativa Utilizalinguagem natural para especificar os passos a serem seguidos para a resolução do problema. Exemplo: Somar três números Passo 1 – Receber os três números Passo 2 – Somar os três números Passo 3 – Mostrar o resultado obtido
  • 10.
    Para pensar! Façauma Descrição narrativa de: Como fazer um sanduiche? Como participar da aula de algoritmos?
  • 11.
    Pseudocódigo, Português Estruturadoou Portugol Significa “falso código”. Utiliza linguagem intermediária entre linguagem natural e linguagem de programação. É utilizado para organizar o raciocínio lógico a ser seguido para resolução de um problema.
  • 12.
    Exemplo: Somartrês números Algoritmo Soma Var a, b, c, soma: inteiro Inicio Ler (a, b, c) soma ← a + b + c Escrever (soma) Fim Utilizar Identação Pseudocódigo, Português Estruturado ou Portugol Escrever ou Escreva ou Mostrar Ler ou Leia Pode ser := Identificação do algoritmo Declaração de variáveis Corpo do algoritmo
  • 13.
    Todo algoritmo representadopor um pseudocódigo deverá ser, primeiramente identificado. Para se identificar ou nomear um algoritmo recomenda-se: Não utilizar espaços entre as letras. O caracter underline ( _ ) pode ser utilizado. Não iniciar o nome com algarismos (números). Não utilizar palavras reservadas como var, se, … Não utilizar caracteres especiais como ?, *, @, … Não utilizar nomes iguais para representar variáveis diferentes. Ser sucinto e utilizar nomes coerentes. Pseudocódigo, Português Estruturado ou Portugol Essas recomendações também são válidas para a identificação das variáveis.
  • 14.
    Tipos de Dados:Inteiro – para número inteiros positivos ou negativos. Real – para números com casas decimais, positivos ou negativos. Lógico ou booleano – poderá receber verdadeiro (1) ou falso (0). Literal, texto ou caractere – poderá receber letras, números e símbolos. Obs. Os números armazenados em uma variável cujo tipo de dado é literal não poderão ser utilizados para cálculos. Pseudocódigo, Português Estruturado ou Portugol
  • 15.
    Exercícios Faça uma Descrição narrativa e após crie um algoritmo em Pseudocódigo Especificar um algoritmo para calcular e exibir na tela a área de um triângulo de base b e altura h, em que os valores de b e de h são fornecidos pelo usuário via teclado. A = (b * h)/2 Passo 1 – pedir para o usuário digitar os valores de b e h Passo 2 – Calcular a área s usando a fórmula s = (b * h)/2 Passo 3 – Exibir o valor de A na tela Algoritmo Area Var a, b, s: real Inicio Ler (a, b) s ← (b * a)/2 Escrever (s) Fim
  • 16.
    Exercícios Faça uma Descrição narrativa e após crie um algoritmo em Pseudocódigo b) Compraram-se 30 canetas iguais, que foram pagas com uma nota de R$ 100,00, obtendo-se R$ 67,00 de troco. Quanto custou cada caneta? Passo 1 – Pegar os valores 30, 100 e 67 Passo 2 – Subtrair 67 de 100 e dividir o resultado por 30 Passo 3 – Mostrar o resultado final Algoritmo Caneta Var x, y, z, valor: real Inicio x ← 30 y ← 100 z ← 67 preco ← (y – z)/x Escrever (preco) Fim
  • 17.
    Exercícios Se xpossui o valor 15 e forem executadas as seguintes instruções: x ← x + 3 x ← x – 6 x ← 3 * X Qual será o valor armazenado em x?
  • 18.
    É um tipode algoritmo que utiliza símbolos gráficos para representar as ações ou instruções a serem seguidas. É considerado um algoritmo universal por usar figuras. Fluxograma ou Diagrama de Blocos E atribuição de valores de dados de dados do algoritmo
  • 19.
    Fluxograma ou Diagramade Blocos Exemplo: Somar três números Ler (a,b,c) soma <- a+b+c Mostrar( soma ) Inicio Fim
  • 20.
    Exercícios Fazer ofluxograma dos 2 exercícios anteriores.
  • 21.
    Exercícios Faça umprograma que receba três notas, calcule e mostre a média aritmética entre elas. Faça um programa que receba três notas e seus respectivos pesos, calcule e mostre a média ponderada dessas notas. Faça um programa que receba o salário de um funcionário, calcule e mostre o novo salário, sabendo-se que este sofreu um aumento de 20% Faça um programa que receba o salário de um funcionário e o percentual de aumento, calcule e mostre o valor do aumento e o novo salário. Faça um programa que receba o salário-base de um funcionário, calcule e mostre o salário a receber, sabendo-se que esse funcionário tem gratificação de 5% sobre o salário-base e paga imposto de 7% sobre o salário-base.
  • 22.
    Exercícios 6. Sabendo-seque: 1 pé = 12 polegadas 1 jarda = 3 pés 1 milha = 1.760 jardas Faça um programa que receba uma medida em pés, faça as conversões a seguir e mostre os resultados a) polegadas b) jardas c) milhas Algoritmo pes Var pes, polegadas, jardas, milhas: real Inicio Ler (pes) polegadas := pes * 12 jardas := pes / 3 milhas := jardas / 1760 Escrever (polegadas, jardas, milhas) Fim
  • 23.
    Exercícios 7. Façaum programa que receba o ano de nascimento de uma pessoa e o ano atual, calcule e mostre: a) a idade dessa pessoa; b) quantos anos essa pessoa terá em 2010. Algoritmo idade Var ano_atual, ano_nascimento, idade_atual, idade_2010: inteiro Inicio Ler (ano_atual, ano_nascimento) idade_atual := ano_atual – ano_nascimento idade_2010 := 2010 – ano_nascimento Escrever (idade_atual, idade_2010) Fim
  • 24.
    Exercícios 8. Ocusto ao consumidor de um carro novo é a soma do preço de fábrica com o percentual de lucro do distribuidor e dos impostos aplicados ao preço de fábrica. Faça um programa que receba o preço de fábrica de um veículo, o percentual de lucro do distribuidor e o percentual de impostos. Calcule e mostre: a) o valor corespondente ao lucro do distribuidor; b) o valor correspondente aos impostos; c) o preço final do veículo. Inicio Ler (p_fab, perc_d, perc_i) vlr_d := p_fab * perc_d / 100 vlr_i := p_fab * perc_i / 100 p_final := p_fab + vlr_d + vlr_i Escrever (vlr_d, vlr_i, p_final) Fim
  • 25.
    Exercícios 9. Pedrocomprou um saco de ração com peso em quilos. Pedro possui dois gatos para os quais fornece a quantidade de ração em gramas. Faça um programa que receba o peso do saco de ração e a quantidade de ração fornecida para cada gato. Calcule e mostre quanto restará de ração no saco após cinco dias. Algoritmo gatos Var peso_saco, racao_gato1, racao_gato2, total_final: inteiro Inicio Ler (peso_saco, racao_gato1, racao_gato2) racao_gato1 := racao_gato1 / 1000 racao_gato2 := racao_gato2 / 1000 total_final := peso_saco – 5 * (racao_gato1 + racao_gato2) Escrever (total_final) Fim
  • 26.
    Exercícios 10. Cadadegrau de uma escada tem X de altura. Faça um programa que receba essa altura e a altura que o usuário deseja alcançar subindo a escada. Calcule e mostre quantos degraus o usuário deverá subir para atingir seu objetivo, sem se preocupar com a altura do usuário. Algoritmo Escada Var a_degrau, a_usuario, qtde_degraus: inteiro Inicio Ler (a_degrau, a_usuario) qtde_degraus := a_usuario / a_degrau Escrever (qtde_degraus) Fim
  • 27.
    Exercícios 11. Façaum programa que calcule e mostre a área de um losango. Sabe-se que A = (diagonal maior * diagonal menor)/2 12. Faça um programa que receba o ano de nascimento de uma pessoa e o ano atual, calcule e mostre: a) a idade dessa pessoa em anos; b) a idade dessa pessoa em meses; c) a idade dessa pessoa em dias; d) a idade dessa pessoa em semanas. 13. Faça um programa que receba a quantidade de dinheiro em reais e converta esse valor em dólar, marco alemão e libras esterlinas. Sabe-se que a cotação do dólar é de R$ 1,80, do marco alemão é de R$ 2,00 e da libra esterlina é de R$ 1,57. O programa deve fazer a conversão e mostrá-las.