ALGORITMOS E LÓGICA DE PROGRAMAÇÃO Prof. Esp. Fabiano Taguchi http://fabianotaguchi.wordpress.com fabianotaguchi@gmail.com PRÉ AULA 01 Considere o seguinte comando: if (partefracionada >= 0.5). Refere-se a: Estrutura de repetição. Estrutura de decisão sequencial. Estrutura de seleção. Estrutura de decisão composta. Estrutura de decisão simples. PRÉ AULA 02 Assinale a alternativa que apresenta o cálculo de uma das raízes da equação de segundo grau, seguindo a linearização e a sintaxe para C: x1 = (-B +(sqrt*delta))/(2.*a) x1 = B +(sqrt(delta))/(2.*a) x1 = (-B + sqrtdelta)/2.*a x1 = (-A + sqrt(delta))/(2.*b) x1 = (-B + sqrt(delta))/(2.*a) 1
PRÉ AULA 03 A estrutura se-então-senão refere-se a uma estrutura: Transversal. Cartesiana. Simples. Adjacente. Composta. Conhecer os princípios e conceitos que envolvem o aprendizado em construção de algoritmos e programação e a sua importância para o universo do desenvolvimento de sistemas. Estrutura condicional simples CONCEITOS INICIAIS DE ALGORITMOS OBJETIVO DE APRENDIZAGEM Conhecer os conceitos e aplicações das estruturas de decisão SE; Conhecer como fazer uma estrutura condicional simples; Conhecer e aplicar as estruturas condicionais compostas Conhecer a aplicar estruturas condicionais encadeadas. 2
APRENDIZAGEM RESULTADO Pretende-se que o aluno esteja apto a aplicar os conhecimentos necessários ao desenvolvimento de soluções com estruturas de decisão simples e que, ainda, compreenda a estrutura a ponto de implementá-la em problemas mais complexos. APRENDIZAGEM CONHECIMENTO PRÉVIO Conhecer linearização de funções; Usar operadores lógicos e relacionais; Saber manipular e utilizar adequadamente o VisAlg e já ter desenvolvido noções na plataforma de desenvolvimento DevC++ ESTRUTURAS CONDICIONAIS se(idade >= 65 e sexo == feminino) entao escreva( Idade permitida recursos previdenciários! ) se(idade >= 65 ou tempotrabalho>=30) entao escreva( Idade permitida recursos previdenciários! ) 3
ANÁLISE DO FLUXOGRAMA Qual a possível solução em forma de pseudocódigo para este fluxograma? RESOLUÇÃO algoritmo Exibe Soma var x, y, soma: inteiro Inicio escreval( Informe o valor de dois números inteiros: ) leia (x, y) soma x + y se (soma >50) então escreval( O valor da soma é:, soma) fimalgoritmo EXERCÍCIO Desenvolva agora um algoritmo que recebe dois números inteiros, os exibe na tela e, ainda, verifica qual deles é maior,exibindo,porfim,oqueformaiorentreeles. Esse algoritmo deve primeiramente ser escrito na forma de um pseudocódigo e posteriormente fazendo uso da linguagem de programação C. 4
PSEUDOCÓDIGO Vamos desenvolver no VisuALG? LINGUAGEM C #include <stdio.h> main(){ floatx, y, maior; printf( Informe dois números: ); scanf( %f%f, &x, &y); maior = x; if(y > x) { maior = y; printf( Os valores informados foram %f%f, &x, &y); printf( O maior valor dentre os números digitados é: %f, &maior); EXERCÍCIO O algoritmo a ser desenvolvido consiste em solicitar a inserção de um número decimal qualquer para um usuário. A partir deste número faça o arredondamento ou não conforme a regra. Se a parte fracionário formaior ouigual a 5 Arredonda-se paraopróximointeiro,seapartefracionáriaformenorque 5 o número inteiro permanece. 5
PSEUDOCÓDIGO Vamos desenvolver no VisuALG? LINGUAGEM C #include <stdio.h> main() { float num, partefracionada; int Arredondamento; printf( Digite um número: ); scanf( %f, &num); arredondamento = num; partefracionada = num arredondamento; if(partefracionada >= 0.5){ arredondamento = arredondamento +1; printf( %f arredondado = %d, num, Arredondamento); EXERCÍCIO Nosso último exercício desta série, envolve a manipulação de caracteres. Você deve desenvolver um algoritmo que solicite ao usuário a inserção do nome, da idade e do sexo. Este algoritmo deverá verificar se o conteúdo informado pelo usuário referente à variável sexo é feminino ou masculino, e caso seja diferente de uma destas opções, o programa exibe uma mensagem ao usuário para que este escolha apenas uma das opções apresentadas. 6
PSEUDOCÓDIGO Vamos desenvolver no VisuALG? LINGUAGEM C #include <stdio.h> #include <stdlib.h> main() { char sexo, nome; intidade; system ("cls"); sexo = ' '; printf("\ninformeo seu nome: \n"); printf("\ninformea sua idade: \n"); printf("\ndigite F para o sexo feminino ou M para masculino:"\n); scanf("%c%d%c", &nome, &idade, &sexo); if (sexo!= 'F' && sexo!= 'M') { printf( Dado inválido."); printf("\n\n"); system("pause"); return(0); CONVITE AO ESTUDO Implementar um procedimento para verificação de login, que deverá solicitar ao usuário a indicação do tipo de usuário: se é comerciante ou se é cliente, uma única vez ao realizar o cadastro. 7
RESOLUÇÃO algoritmo Teste cadastro usuário var nome,email: caracter logarredesocial, comerciante: inteiro inicio escreval ( **Cadastro Usuário Gastronomia e Hotéis do Litoral Sul** ) escreval ( Informe o seu nome: ) leia(nome) escreval( Logar com uma rede social? Responda 1 para Sim ou 2 para Nao. ) leia(logarredesocial) se (logarredesocial=1) entao escreval( Aguarde enquanto o aplicativo configura o seu cadastro! ) senao escreval( Informe o seu e-mail! ) leia(email) escreval( Você é comerciante? ) escreval( Responda 1 para Sim ou 2 para Nao. ) leia(comerciante) se (comerciante=1)entao escreval( Prezado Parceiro de Negócios, finalize o seu cadastro! ) escreval( Cadastro realizado com sucesso! ) fimalgoritmo EXERCÍCIO Crie um algoritmo que resolva uma equação do segundo grau. Como dados de entrada o usuário deverá informar o valordea,bec. FÓRMULAS Delta = B² -4 * A * C Raizes= RESOLUÇÃO Algoritmo Segundo Grau var A, B, C: real delta, x1, x2: real Inicio escreva( Informe os valores de A, B e C: ) leia(a,b,c) delta B*B -4.*A*C Se (delta >= 0) entao x1 (-B + sqrt(delta))/(2.*a x2 (-B -sqrt(delta))/(2.*a) escreva( As raízes reais são:, X1, X2) senao escreva( Não existem raízes reais ) fimalgoritmo 8
PRÓXIMA AULA... Estrutura condicional composta 9