Algoritmos Fabrício Costa Santana

Slides:



Advertisements
Apresentações semelhantes
Pseudo-código: sintaxe
Advertisements

TÉCNICAS DE PROGRAMAÇÃO I
Data: 10 a 12 de fevereiro de 2009 e
Desenvolvendo Algoritmos
Algoritmos.
ALGORITMO E PROGRAMAÇÃO DE COMPUTADORES
ALGORÍTMOS E ESTRUTURA DE DADOS SLIDE - 2
Introdução a Programação Renata Freire
Programação de Computadores - 2
Introdução à Lógica de Programação (cont.)
Estruturas de Controle
THOBER CORADI DETOFENO, MSC. Aula 07
Lógica de Programação Módulo II
Descreva por palavras suas o funcionamento de um algoritmo
INTRODUÇÃO À PROGRAMAÇÃO
Algoritmos e Estruturas de Dados I – Estruturas de Controle de Fluxo
Professor: Juliano Lucas Gonçalves
Introdução à Programação
Linguagem de Programação I Parte III
CEPMAT Curso Técnico em Informática
Estrutura de dados, pseudocódigo
LINGUAGENS DE PROGRAMAÇÃO PROF. DANIELA PIRES
Introdução a Programação
Fábio de Oliveira Borges
Operadores Relacionais, Lógicos e comandos de condição
Lógica de Programação/ Algoritmos Engenharia Produção 2014
Instituto Federal de Santa Catarina
Linguagem e Ambiente Scratch
Lógica: Resolução de Problemas e Introdução a Dados PROFº RICARDO JOSÉ BATALHONE FILHO Log.a02.
2. Lógica de Programação Definição de Lógica Definição de Algoritmo
Faculdade Talentos Humanos - FACTHUS - Algoritmo I - Rogério Rodrigues
ALGORITMOS Intensivo Janeiro e Fevereiro de 2011
CH: 60h Créditos: 3 Prof Me. Tiago Araujo
Algoritmos Fabrício Costa Santana
ESTRUTURAS DE CONTROLE
Igor Steinmacher, MSc. O maravilhoso mundo da Lógica de Programação.
Programação de PIC em C Exposição das funções básicas para
Algoritmos - exercícios
Algoritmo e Programação
Variáveis e Operadores
Linguagens de Programação
Fundamentos de linguagens de programação
Algoritmos.
Lógica de Programação EAGS SIN – Módulo II
Programação de Computadores - 1
Introdução a Programação
Algoritmos Prof.: Carlos Alberto
Exercícios (Algoritmo Narrativo, Fluxograma e Pseudocódigo) RESOLVIDO
Programação I Aula 07 Autor: Francisco Airton Professor: André L. R. Didier 1.
Algoritmos e Estruturas de Dados I – Estrutura Condicional Profa. Mercedes Gonzales Márquez.
Professor: André L. R. Didier Autor: Francisco Airton
Algoritmos e Programação I
Algoritmo Triângulo Problema: Precisa-se de um programa capaz de ler três valores para os lados de um triângulo e verificar se os lados fornecidos formam.
Fabrício Santana Professorfabricio.net
Tipos de Dados Todo o trabalho realizado por um computador é baseado na manipulação das informações contidas em sua memória. Estas informações podem.
Algoritmos Fabrício Costa Santana
Introdução à Programação BSI – DEINFO - UFRPE
Linguagem de Programação I Parte IV
Exercícios Faça um algoritmos para trocar uma lampada queimada.
Algoritmos – Exercícios
Algoritmos Fabrício Costa Santana
Algoritmos Fabrício Costa Santana
Sistemas para Internet Algoritmos e Lógica de Programação
Linguagem de Programação Prof. Fabricio Roulin Bittencout
Lógica de programação Introdução à lógica de programação
Adriano A. Ribeiro. Português Estruturado Apesar do Português Estruturado ser uma linguagem bastante simplificada, ela possui todos os elementos básicos.
Algoritmos Fabrício Costa Santana
Algoritmos Grupos de Slides No 2. Prof. SIMÃO Estrutura de decisão simples “Se” if end Feito por Prof. Jean Marcelo SIMÃO e revisado por Prof. Luis Alberto.
Algoritmos e Lógica de Programação
Lógica de Programação Aula 06 Prof. Marcelo Marcony.
Transcrição da apresentação:

Algoritmos Fabrício Costa Santana prof.fabricio@outlook.com http://professorfabricio.net

Plano da Disciplina EMENTA Declaração de variáveis e constantes Tipos de variáveis Instruções de entrada e saída Tipos de representações de algoritmos Operadores aritméticos e lógicos Comandos de decisão Estruturas de recepção Vetores e matrizes

Plano da Disciplina OBJETIVO GERAL Estudar as técnicas de programação, baseando-se no aprendizado de algoritmos computacionais. OBJETIVOS ESPECÍFICOS (Competências/Habilidades – aprendizagens que serão consolidadas pelos estudantes) Resolver problemas computacionais. Desenvolver o raciocínio lógico voltado para criação de programas e permitir o domínio das principais técnicas para a produção de algoritmos

Avaliações UNIDADE I UNIDADE II INSTRUMENTO NOTA Prova Individual Peso 8 Trabalho em Grupo – Listas de Exercícios Peso 2 UNIDADE II

Referências Básicas MANZANO & OLIVEIRA. Algoritmos: Lógica para Desenvolvimento de Programação de Computadores FORBELONE & EBERSPACHER. Lógica de Programação GUIMARÃES & LAGES. Algoritmos e Estruturas de Dados PEREIRA, S.L. Estruturas de Dados Fundamentais

Introdução O raciocínio lógico O raciocínio lógico na tecnologia da informação: Um esquema sistemático que define as interações de sinais no equipamento automático do processamento de dados, ou o computador científico com o critério e princípios formais de raciocínio e pensamento Segundo Venancio (1997) lógica pode ser definida como sendo o estudo das leis do raciocínio e do modo de aplicá-las corretamente na demonstração da verdade. A utilização da lógica na vida do indivíduo é constante, visto que é ela quem possibilita a ordenação do pensamento humano (Forbellone, 1993).

Introdução à lógica É possível trocar uma lâmpada obedecendo a sequência de ações abaixo? Pegar uma escada; Posicionar a escada embaixo da lâmpada; Buscar uma lâmpada nova; Colocar a lâmpada nova; Retirar a lâmpada velha; Subir na escada. Pegar uma escada; Posicionar a escada embaixo da lâmpada; Buscar uma lâmpada nova; Subir na escada; Retirar a lâmpada velha; Colocar a lâmpada nova.

Introdução à lógica Nome Sobrenome Esporte André Soares Natação João André e quatro amigos praticam esportes diferentes. Com base nas dicas determine o nome e sobrenome de cada homem e o esporte que pratica. a) João pratica pesca. Um sobrenome é Sr. Soares. b) O Sr. Saraiva não pratica ciclismo, ele pratica golfe. c) Nem Davi Silva nem o Sr. Rocha praticam natação. d) O esporte de Pedro (cujo sobrenome não é Bernardes) é canoagem. e) Nem o Sr. Bernardes nem Mauro praticam natação. Nome Sobrenome Esporte André Soares Natação João Bernardes Pesca Davi Silva Ciclismo Pedro Rocha Canoagem Mauro Saraiva Golfe

Exercício 1

Respostas Exercício 1 Nome Emissora Função Carolina Motorista Cor Sérgio Globo Câmera Paulo TVE Cenógrafo Flávio SBT Diretor Carolina Motorista Cor Partida Chegada Mauro Marrom 5º Nara Cinza 3º 1º Laura Vermelho 4º Bruno Branco Paula Azul 2º

O problema do bolo

A receita Ingredientes: 1 Lata de leite condensado 1 Lata de milho sem a água 1 colher (de sopa) de manteiga 1 pacote de coco ralado 3 ovos 1 colher (de sopa) de fermento em pó Modo de preparo: Bata no liquidificador, o milho, o leite condensado, a manteiga, o coco e os ovos. Despeje a mistura acima em uma tigela. Peneire o fermento e adicione-o à mistura. Mexa delicadamente a mistura. Em uma fôrma média de bolo, untada e polvilhada com fubá, despeje a massa. leve ao forno médio pré-aquecido, por 35 min.

O problema da média O problema: exibir a média das notas de um aluno de matemática do ensino médio, sabendo que o aluno recebe uma nota em cada unidade e o ano letivo possui 4 unidades. Entradas Processamento Saída

Algoritmo Compreender o problema Identificar os dados de entrada Identificar os dados de saída Determinar o que é preciso para transformar dados de entrada em dados de saída: usar a estratégia do dividir-para-conquistar observar regras e limitações identificar todas as ações a realizar eliminar ambiguidades Construir o algoritmo Testar o algoritmo Executar o algoritmo

Dividir-para-conquistar É conhecido por método descendente (top-down method) ou método de refinamento passo-a-passo Consiste em dividir um problema em partes menores (ou subproblemas) de modo a que seja mais fácil a sua resolução. Exemplo: Fazer suco de laranja? Lavar laranja; Partir laranja ao meio; Espremer laranja; Filtrar o suco; Servir o suco. Passo-a-passo, significa que cada passo é completado antes que o próximo comece. Exemplo: é impossível “ver novela” antes de executar por inteiro o passo anterior de “ligar a TV”

Características dos Algoritmos Um algoritmo tem cinco características importantes: Finitude: deve sempre terminar após um número finito de passos. Definição: cada passo de um algoritmo deve ser precisamente definido. As ações devem ser definidas rigorosamente e sem ambiguidades. Entradas: deve ter zero ou mais entradas, isto é informações que são lhe são fornecidas antes do algoritmo iniciar. Saídas: deve ter uma ou mais saídas, isto é quantidades que tem uma relação específica com as entradas. Efetividade: deve ser efetivo. Isto significa que todas as operações devem ser suficientemente básicas de modo que possam ser em princípio executadas com precisão em um tempo finito por um humano usando papel e lápis.

Dicas para a criação de algoritmos Procure conhecer e compreender, ao máximo, o problema a ser resolvido; Identifique e defina os dados que, essencialmente, deverão ser informados para que o processamento seja realizado com sucesso (dados de entrada); Descreva, detalhadamente, o processamento ou a transformação a ser executada sobre os dados de entrada, em busca dos resultados desejados (como chegar no objetivo); Identifique e defina quais serão os dados resultantes do processamento ou transformação (dados de saída); Construa o algoritmo que represente a solução encontrada com o detalhamento necessário para o seu entendimento; Teste o algoritmo por meio de simulações e efetue as devidas correções que possam vir a ser necessárias na lógica proposta.

Como representar um algoritmo A descrição narrativa O fluxograma: Ex.: diagrama de blocos, diagrama de Chapin Linguagem algorítmica (também chamada de pseudocódigo). Ex.: Português Estruturado

Como representar um algoritmo Linear Estruturada Modular Diagrama de Chapin Português Estruturado

Estruturada Linear

Modular

Diagrama de Chapin

Português Estruturado algoritmo "media" var n1, n2, n3, n4, soma, media: real inicio leia(n1, n2, n3, n4) soma <- n1 + n2 + n3 + n4 media <- soma / 4 escreva("Media: ", media) fimalgoritmo

Tipos de Dados 1. Dados Numéricos: Tipos Inteiros: nos positivos e negativos. exemplos: 35 0 -12 Tipos Reais: nos positivos, negativos e fracionários. exemplos: 9 -12 4.6 -89.726 2. Dados Caracteres : São sequências contendo letras, números e símbolos especiais. Deve ser indicado entre aspas (“”). Também chamado de alfanumérico, literal, string ou cadeia. exemplos: “Rua Alfa, 52” “Fone: 211-3456”

Tipos de Dados 3. Dados Lógicos: Pode representar apenas dois valores: verdadeiro e falso. Também chamado de booleano. Deve ser indicado entre pontos. exemplos: .Falso. .F. .N. .Verdadeiro. .V. .S.

Tipos de Dados Exercício: Identifique os tipos de dados presentes na frase abaixo: Ela tem 8 filhos, pesa 48,3 kg, seu exame de gravidez deu positivo e pintou numa placa: “Precisa-se de Babás. Urgente!”

Variáveis É um dado que será armazenado no computador e que assumirá valores diferentes à medida que for utilizado e manipulado. Regras de representação O primeiro caractere do nome de uma variável não poderá ser, em hipótese alguma, um número; sempre deverá ser uma letra; O nome de uma variável não poderá possuir espaços em branco; O nome de uma variável não poderá ser uma palavra reservada (uma instrução ou comando); Não poderão ser utilizados outros caracteres a não ser letras, números e sublinhado (underscore).

Variáveis Exemplo: Deve ser identificado por um nome e pelo seu tipo. NOMEALUNO (Pedro, Afonso, Ana) NOTAALUNO (7,23 10 2,8) Deve ser identificado por um nome e pelo seu tipo. NOMEALUNO : caractere NOTAALUNO : real

Constantes Área da Circunferência = 3.14159 * Raio ^ 2 Kelvin = Celcius + 273 Celcius / 5 = (Fahrenheit – 32) / 9 (Kelvin – 273) / 5 = (Fahrenheit – 32) / 9

Operadores Matemáticos Operação Prioridade Tipo Resultado + Manutenção de sinal 1 Unário Positivo - Inversão de sinal Negativo ^ ou ** Exponenciação 2 Binário Real Div Divisão inteira 3 Inteiro Mod Resto da divisão / Divisão * Multiplicação Inteiro ou Real Adição 4 Subtração ( )

Expressões Aritméticas AREA <- ( BASE * ALTURA ) / 2 X = { 43 . [ 55 : ( 30 + 2 ) ] } X <- ( 43 * ( 55 / ( 30 + 2 ) ) ) X <- 2 * 5 + 4 X <- 2 * ( 5 + 4 )

Expressões Aritméticas a * x ^ 2 + b * x + c

Exercício 2

Respostas Exercício 2 1 - a) 2 ^ x +1 / 2 - y b) z <- (1 + x) * (2 + y ^ 2) + 5 c) delta <- b ^ 2 - 4 * a * c d) (8 / x + 6 / y ) * (3 ^ x / 2) e) (1 / 2 - 5 ) + 2 ^ 3 * (5 + 3 / 2) f) x <- 5 + sqrt(10) + (1 / 2) ^ 3 g) (sqrt(125) + 2 * 1 / 5) + 5 ^ 3 + (1/2*(5 / 2 + 8 + 1 / 3)) ^ 2 2 – a) I b) L c) S d) R e) R f) I g) S h) S i) L j) S k) S l) I 3 – a, f, g, l, n

O Visualg

Diagrama de Blocos

Diagrama de Blocos Os diagramas devem ser feitos e quebrados em vários níveis. Os primeiros devem conter apenas as ideias gerais e detalhando-os posteriormente. Deve ser desenvolvido preferencialmente de cima para baixo e da esquerda para a direita. As linhas de fluxo de dados nunca devem se cruzar.

Diagrama de Blocos

Diagrama de Blocos Terminal Seta de Fluxo de Dados Processamento Entrada de Dados ou Operação Manual Entrada e Saída de Dados Saída de Dados em Vídeo

Diagrama de Blocos Saída de Dados em Impressora Decisão Conector Entrada de Dados por Teclado Armazenamento em Disco Magnético

Diagrama de Blocos Sub-rotina

Diagrama de Blocos

Diagrama de Blocos

Algoritmos Simples – Soma de dois números algoritmo "soma_numeros" var X: inteiro A: inteiro B: inteiro inicio leia(A) leia(B) X <- A + B escreva(X) fimalgoritmo

Algoritmos Simples – Cálculo da área de um círculo algoritmo "area_circulo" var A: real R: real inicio leia(R) A <- 3.114159*R^2 escreva(A) fimalgoritmo

Estruturas de Controle – A Tomada de Decisões Desvio Condicional Simples Desvio Condicional Composto Desvios Condicionais Encadeados

Operadores Relacionais Símbolo Significado = igual a <> diferente > maior que < menor que >= maior ou igual a <= menor ou igual a

Desvio Condicional Simples se (<condição>) então <instruções para condição verdadeira> fimse

Desvio Condicional Simples algoritmo "Soma_numeros" var X, A, B: inteiro inicio leia(A) leia(B) X <- A + B se (X>10) entao escreva (X) fimse fimalgoritmo

Desvio Condicional Composto se <(condição)> entao <instrução para condição verdadeira> senao <instrução para condição falsa> fimse

Desvio Condicional Composto algoritmo "Soma_Numeros" var X, A, B, R: inteiro inicio leia(A, B) X <- A + B se (X >= 10) entao R <- X + 5 senao R <- X - 7 fimse escreva(R) fimalgoritmo

Desvio Condicional Encadeado se (<condição1>) entao <instruções para condição1 verdadeira> senao se (<condição2>) entao <instruções para condição2 verdadeira, porém condição1 falsa> <instruções para condição1 e condição2 falsa> fimse

Desvio Condicional Encadeado

Desvio Condicional Encadeado Considere que o funcionário deverá receber um reajuste de 15% caso seu salário seja menor que 500. Se o salário for maior ou igual a 500, mas menor ou igual a 1000, seu reajuste será de 10%; caso seja maior que 1000, o reajuste deverá ser de 5% Salário < 500, reajuste será de 15% Salário >= 500, mas <= 1000, reajuste será de 10% Salário > 1000, reajusto será de 5%

Desvio Condicional Encadeado

Desvio Condicional Encadeado algoritmo "Reajusta_Salario" var novo_salario: real salario: real inicio leia (salario) se (salario < 500) entao novo_salario <- salario * 1.15 senao se (salario <= 1000) entao novo_salario <- salario * 1.10 novo_salario <- salario * 1.05 fimse escreva (novo_salario) fimalgoritmo

Operadores Lógicos Operador: E Operador: OU Operador: NÃO

Operador Lógico: E Condição 1 Condição 2 Resultado FALSO VERDADEIRO O operador do tipo E é utilizado quando dois ou mais relacionamentos lógicos de uma determinada condição necessitam ser verdadeiros.

Operador Lógico: E algoritmo “TESTA_LOGICA_E” var NUMERO: inteiro inicio leia (NUMERO ) se (NUMERO >= 20) e (NUMERO <=90) entao escreva (“Esta na faixa de 20 a 90") senao escreva (“Esta FORA da faixa de 20 a 90") fimse fimalgoritmo

Operador Lógico: OU Condição 1 Condição 2 Resultado FALSO VERDADEIRO O operador do tipo OU é utilizado quando pelo menos um dos relacionamentos lógicos de uma condição necessita ser verdadeiro.

Operador Lógico: OU algoritmo “MEDIA_FALTAS_SITUACAO” var N1, N2, N3, N4, MEDIA: real FALTAS: inteiro inicio leia (N1) leia (N2) leia (N3) leia (N4) leia (FALTAS) MEDIA <- (N1+N2+N3+N4)/4 escreva (“A média é: ”, MEDIA) se (MEDIA >= 7) ou (FALTAS < 10) entao escreva (“Aprovado”) senao escreva (“Reprovado”) fimse fimalgoritmo

Operador Lógico: NÃO Condição Resultado VERDADEIRO FALSO O operador do tipo NAO é utilizado quando se necessita estabelecer que uma determinada condição deve não ser verdadeira ou deve não ser falsa. O operador NAO se caracteriza por inverter o estado lógico de uma condição.

Operador Lógico: NÃO algoritmo "Testa_Logica_NAO" var A, B, C, X: inteiro inicio leia (A, B, X) se nao(X>5) entao C <- (A + B) * X senao C <- (A - B) * X fimse escreva (C) fimalgoritmo

TABELA VERDADE A B NÃO A NÃO B A OU B A E B F V

Algoritmo Triângulo Problema: Precisa-se de um programa capaz de ler três valores para os lados de um triângulo e verificar se os lados fornecidos formam realmente um triângulo. Se esta condição for verdadeira, deve ser indicado qual tipo de triângulo foi formado: isósceles, escaleno ou equilátero.

N S N S N S

Algoritmo Triângulo algoritmo "Triangulo" var a, b, c: real inicio leia (a, b, c) se (a < b + c) e (b < a + c) e (c < a + b) entao se (a=b) e (b=c) entao escreva ("Triangulo Equilatero") senao se (a=b) ou (a=c) ou (c=b) entao escreva ("Triangulo Isosceles") escreva ("Triangulo Escaleno") fimse escreva ("As medidas nao formam um triangulo") fimalgoritmo

Exercício 3 Escreva um algoritmo que leia dois números e mostre o produto desses números. Faça um algoritmo que leia o nome e as idades de duas pessoas e mostre a soma das idades. Escreva um algoritmo que deve ler uma temperatura em graus Celsius e apresentá-la convertida em graus Fahrenheit. A fórmula de conversão é F <- (9 * C + 160) / 5, sendo F a temperatura em Fahrenheit e C a temperatura em Celsius. Maria quer saber quantos litros de gasolina precisa colocar em seu carro e quanto vai gastar para fazer uma viagem até a casa de sua irmã. Dados extras: Distância da casa de Maria até sua irmã : 520 km Consumo do carro: 12 Km / l Preço da gasolina: R$ 2,00

Exercício 3 Escreva um algoritmo que leia dois números que deverão ser colocados, respectivamente, nas variáveis VA e VB. O algoritmo deve, então, trocar os valores de VA por VB e vice-versa e mostrar o conteúdo destas variáveis. Elaborar um programa que efetue a leitura de três valores (A, B e C) e apresente como resultado final a soma dos quadrados dos três valores lidos. Resolva as expressões lógicas, determinando se a expressão é verdadeira ou falsa: 2>3= (6<8)ou(3>7)= não (2<3)= (5>=6 ou 6<7 ou não(a+5-6=8) {onde a = 5}

Exercício 3 Efetuar a leitura de um valor inteiro positivo ou negativo e apresentar o número lido como sendo um valor positivo, ou seja, o programa deverá apresentar o módulo de um número fornecido. Lembre-se de verificar se o número fornecido é menor que zero; sendo, multiplique-o por -1. Elaborar um programa que efetue a leitura de um valor que esteja entre a faixa de 1 a 9. Após a leitura do valor fornecido pelo usuário, o programa deverá indicar uma de duas mensagens: "O valor está na faixa permitida", caso o usuário forneça o valor nesta faixa, ou a mensagem "O valor está fora da faixa permitida", caso o usuário forneça valores fora desta faixa numérica.

Exercício 3 Ler quatro valores referentes a quatro notas escolares de um aluno e imprimir uma mensagem dizendo que o aluno foi aprovado, se o valor da média escolar for maior ou igual a 7. Se o valor da média for menor que 7, solicitar a nota de exame, somar com o valor da média e obter nova média. Se a nova média for maior ou igual a 5, apresentar uma mensagem dizendo que o aluno foi aprovado em exame. Se o aluno não foi aprovado, indicar uma mensagem informando esta condição. Apresentar com as mensagens o valor da média do aluno, para qualquer condição.

Exercício 4 Escreva um algoritmo em português estruturado que seja capaz de ler uma temperatura em graus Fahrenheit e apresentá-la convertida em graus Celsius. A fórmula de conversão é: C <- (F - 32) * (5/9), sendo F a temperatura em fahrenheit e C a temperatura em Celsius. Escreva um algoritmo em português estruturado que seja capaz de calcular e apresentar o valor do volume de uma lata de óleo utilizando a fórmula: VOLUME <- 3.14159 * RAIO ^ 2 * ALTURA Escreva um algoritmo em português estruturado que seja capaz de efetuar o cálculo da quantidade de litros de combustível gasta em uma viagem, utilizando um automóvel que faz 12 Km por litro. Para obter o cálculo, o usuário deve fornecer o tempo gasto (TEMPO) e a velocidade média (VELOCIDADE) durante a viagem. Desta forma, será possível obter a distância percorrida com a fórmula DISTANCIA <- TEMPO * VELOCIDADE. Possuindo o valor da distância, basta calcular a quantidade de litros de combustível utilizada na viagem com a fórmula LITROS_USADOS <- DISTANCIA / 12. Ao final, o programa deve apresentar os valores da velocidade média (VELOCIDADE), tempo gasto na viagem (TEMPO), a distancia percorrida (DISTANCIA) e a quantidade de litros (LITROS_USADOS) utilizada na viagem.

Exercício 4 Elaborar um programa que efetue a leitura de um número inteiro e apresentar uma mensagem informando se o número é par ou ímpar. Dica: use o operador mod que retorna o resto da divisão de um número por outro. Ex.: 4 mod 2 = 0 Elaborar um programa que efetue a leitura de um valor que esteja entre a faixa de 50 a 100. Após aleitura do valor fornecido pelo usuário, o programa deverá indicar uma de duas mensagens: "O valor está na faixa permitida", caso o usuário forneça o valor nesta faixa, ou a mensagem "O valor está fora da faixa permitida", caso o usuário forneça valores menores que 50 ou maiores que 100. Efetuar a leitura de quatro números inteiros e apresentar os números que são divisíveis por 2 e 3. Caso o número seja divisível por 2 e 3, deverá ser exibida uma mensagem indicando esta condição. Dica: use o operador Mod que retorna o resto da divisão de um número por outro. Ex.: 4 Mod 2 = 0 Elaborar um programa que efetue a leitura de um determinado valor inteiro, e efetue a sua apresentação, caso o valor não seja maior que três. Crie um programa que leia dois valores numéricos, efetue a adição. Caso o valor somado seja maior ou igual a 10, apresentar somando a ele mais 5; caso contrário, apresentar subtraindo dele 7

Exercício 4 Coloque verdadeiro ou falso, para o resultado lógico das expressões abaixo. Considere para as respostas os valores: X = 1, A = 3, B = 5, C = 8 e D = 7 .não. (X > 3) (X < 1) .e. .não. (B > D) .não. (D < 0) .e. (C > 5) .não. (C > 3) .ou. (C < 7) (A > B) .ou. (C > B) (X >=2) (X < 1) .e. (B >=D) (D < 0) .ou. (C > 5) .não. (D > 3) .ou. .não. (B < 7) (A > B) .ou. .não. (C > B)

Exercício 4 Elaborar um programa que efetue a leitura de dois valores numéricos e apresente a mensagem “Números Iguais” caso os valores sejam iguais. Se os valores forem diferentes deverá ser exibido o resultado da diferença do maior pelo menor. Faça também diagrama de blocos. Faça um algoritmo para efetuar a leitura de um valor inteiro positivo ou negativo e apresentar o número lido como sendo um valor positivo, ou seja, o programa deverá apresentar o módulo de um número fornecido. Lembre-se de verificar se o número fornecido é menor que zero; sendo, multiplique-o por -1. Faça um algoritmo para efetuar a leitura de três valores (variáveis A, B e C) e efetuar o cálculo da equação completa de segundo grau (AX2 + BX + C), apresentando as duas raízes, se para os valores informados for possível efetuar o referido cálculo. Lembre-se de que a variável A deve ser diferente de zero. Formulas: DELTA <- B ^ 2 - (4 * A * C) X1 <- (-B + sqrt(DELTA)) / 2 * A X2 <- (-B - sqrt(DELTA)) / 2 * A Efetuar a leitura de três números inteiros e identificar o maior e o menor valores.

Laços de Repetição Conceito Exemplo: Probabilidade Fatorial de 5! 5! = 5 x 4 x 3 x 2 x 1 Fatorial de 8450 8450! = 8450 x 8449 x 8448 x 8447 x 8446 x ... X 3 x 2 x 1 Probabilidade n = Total de números possíveis a se escolher. k = Quantidade de escolhas dentre o universo de números disponíveis.

Tipos de Laços de Repetição Laço de Repetição com Teste Lógico no Início do Looping Laço de Repetição com Teste Lógico no Fim do Looping Laço de Repetição com Variável de Controle

Laço de Repetição com Teste Lógico no Início do Looping algoritmo "Pede_Numero" var X: inteiro R: inteiro inicio leia (X) R <- X * 3 escreva (R) fimalgoritmo

Laço de Repetição com Teste Lógico no Início do Looping enquanto (condição) faca instruções executadas enquanto a condição for verdadeira fimenquanto

Laço de Repetição com Teste Lógico no Início do Looping

Laço de Repetição com Teste Lógico no Início do Looping algoritmo “Looping_1A” var X, R, CONT: inteiro inicio CONT <- 1 enquanto (CONT <= 5) faca leia (X ) R <- X * 3 escreval (R) CONT <- CONT + 1 fimenquanto fimalgoritmo

Laço de Repetição com Teste Lógico no Início do Looping algoritmo “FATORIAL _ENQUANTO” var CONT, FAT : inteiro inicio //isto é um contador CONT  1 //isto é um acumulador FAT  1 enquanto (CONT <= 5) faca FAT  FAT * CONT CONT  CONT + 1 fimenquanto escreval (“Fatorial de 5 é = ”, FAT) fimalgoritmo

Laço de Repetição com Teste Lógico no Início do Looping Contador: Variável que controla a contagem do número de vezes que o trecho de programa deverá ser executado. Acumulador: Variável usada para acumular valores. Deve ser inicializada sempre com um valor que é elemento nulo na operação a ser acumulada (se a operação for de multiplicação deve iniciada com valor=1 se for soma deve ser iniciada com valor=0)

Exercícios Elabore um algoritmo que solicite ao usuário um número e apresente os resultados da tabuada de multiplicar deste número, a qual deverá ser impressa no seguinte formato (considerando o fornecimento do número 2): 2 x 1 = 2 2 x 2 = 4 2 x 3 = 6 2 x 4 = 8 2 x 5 = 10 2 x 6 = 12 2 x 7 = 14 2 x 8 = 16 2 x 9 = 18 2 x 10 = 20

Exercícios Apresentar o total da soma obtida dos cem primeiros números inteiros (1+2+3+4+...+98+99+100). Elaborar um programa que apresente no final o somatório dos valores inteiros pares existentes na faixa de 1 até 50. Elaborar um programa que apresente os valores de conversão de graus Celsius em Fahrenheit, de 10 em 10 graus, iniciando a contagem em 10 graus Celsius e finalizando em 100 graus Celsius. O programa deve apresentar os valores das duas temperaturas. A fórmula de conversão F <- (9 * C + 160) / 5 Elaborar um programa que efetue a leitura de valores positivos inteiros até que um valor negativo seja informado. Ao final devem ser apresentados o maior e o menor valores informados pelo usuário.

Resposta – 1º algoritmo “TABUADA” var CONT,NUMERO:inteiro inicio escreva ("Digite um número: “) leia (NUMERO) CONT <- 1 enquanto (CONT <= 10) faca escreva (NUMERO," X",CONT," =",NUMERO*CONT) CONT <- CONT + 1 fimenquanto fimalgoritmo

Resposta – 2º algoritmo “ACUMULADOR” var CONTADOR,ACUMULADOR:inteiro inicio CONTADOR <-1 ACUMULADOR <-0 enquanto (CONTADOR<=100) faca ACUMULADOR <- ACUMULADOR + CONTADOR CONTADOR <- CONTADOR + 1 fimenquanto escreva (ACUMULADOR) fimalgoritmo

Resposta – 3º algoritmo “SOMA_PARES_DE_1_A_50” var CONTADOR,ACUMULADOR:inteiro inicio CONTADOR <- 1 ACUMULADOR <- 0 enquanto (CONTADOR <= 50) faca se (CONTADOR mod 2 = 0) entao ACUMULADOR <- ACUMULADOR + CONTADOR fimse CONTADOR <- CONTADOR + 1 fimenquanto escreva (ACUMULADOR) fimalgoritmo

Resposta – 4º algoritmo “TABELA_CELCIUS_FAHRENHEIT_10_A_10” var C,F:real inicio C <- 10 enquanto (C <= 100) faca F <- (9 * C + 160) / 5 escreva (C,"ºC"," são",F,"ºF“) C <- C + 10 fimenquanto fimalgoritmo

Resposta – 5º algoritmo “MAIOR_MENOR” var NUMERO,MAIOR,MENOR:inteiro inicio leia (NUMERO) MAIOR <- NUMERO MENOR <- NUMERO enquanto (NUMERO >= 0) faca se (NUMERO > MAIOR) entao fimse se (NUMERO < MENOR) entao leia NUMERO fimenquanto escreva ("Maior: ",MAIOR) escreva ("Menor: ",MENOR) fimalgoritmo

Laço de Repetição com Teste Lógico no Fim do Looping programa "Pede_Numero" var X: inteiro R: inteiro inicio leia (X) R <- X * 3 escreva (R) fim

Laço de Repetição com Teste Lógico no Fim do Looping repita instruções executadas até que a condição se torne verdadeira até_que (Condição)

Laço de Repetição com Teste Lógico no Fim do Looping algoritmo “LOOPING_2A” var X, R, CONT: inteiro inicio CONT <- 1 repita leia (X) R <- X * 3 escreva (R) CONT <- CONT + 1 ate (CONT > 5) fimalgoritmo

Exemplo Iniciar o programa e o modo de laço repita; Ler um valor para a variável X ; Efetuar a multiplicação do valor de X por 3, implicando o resultado em R; Apresentar o valor calculado contido na variável R; Solicitar do usuário se este deseja ou não continuar o programa; Repetir os passos 2, 3, 4 e 5 até que a resposta do usuário seja diferente de sim.

Exemplo algoritmo “LOOPING_2B” var X, R: inteiro RESP: caracter inicio RESP <- "sim" repita leia (X) R <- X * 3 escreva (R) escreva ("Deseja continuar? ") leia (RESP) ate (RESP <> "sim") fimalgoritmo

Laço de Repetição com Variável de Controle Conceito: Laço de repetição usado quando se sabe exatamente quantas repetições serão necessária para a execução de um programa. Português Estruturado para <variável> de <início> até <fim> passo <incremento> faça <instruções> fim_para

Laço de Repetição com Variável de Controle Diagrama de Blocos

Laço de Repetição com Variável de Controle algoritmo "Pede_Numero" var X: inteiro R: inteiro inicio leia (X) R <- X * 3 escreva (R) fimalgoritmo

Laço de Repetição com Variável de Controle Algoritmo “LOOPING_PARA “ var R, X, CONT : inteiro inicio para CONT de 1 ata 5 passo 1 faca leia (X) R  X * 3 escreva ® fimpara fimalgoritmo

Laço de Repetição com Variável de Controle Exemplo de algoritmo que não pode ser resolvido usando o laço de repetição com variável de controle: Faça um algoritmo que leia vários números e que informe quantos desses números entre 100 e 200 foram digitados. Quando o valor 0 (zero) for lido o algoritmo deverá cessar sua execução.