Engenharia)de)resolução)de)problemas) O) processo) de) resolução) de) um) problema) pode) ser) visto) como) uma) seqüência) de) passos) que) devem) ser) definidos) e) aprimorados,) até) que) o) modelo)escolhido)para)sua)representação)forneça)resultados)sa?sfatórios.) I )etapas) I )métodos) Uma) boa) modelagem) exige) alto) nível) de) abstração) e) conhecimentos) acadêmicos)(teoria))e/ou)empíricos)(prá?ca))sobre)o)problema)em)questão.) 25% Algoritmo)(definição)for$dummies)) Receita )para)resolver)um)problema.) Como)fazer)arroz)(versão)du$chef)) 1. Lave)uma)medida)de)arroz.) 2. Ferva)duas)medidas)de)água.) 3. Adicione)óleo)na)panela.) 4. Frite)os)temperos.) 5. Adicione)o)arroz.) 6. Adicione)a)água.) 7. Adicione)o)sal.) 8. Deixe)cozinhar)até)secar.) Como)fazer)arroz)(versão)preguiça)) 1. Junte)numa)panela)uma)medida)de)arroz,)duas)medidas)de)água,)óleo,)temperos)e)sal.) 2. Deixe)cozinhar)até)secar.) 26%
Algoritmo)(outro)exemplo)) Preparação)para)a)balada) 1.))Escove)os)dentes.) 2.))Se)for)homem,)faça)a)barba.) )))))Senão,)depile)as)pernas.) 3.))Tome)banho.) 4.))Aplique)desodorante.) 5.))Se)for)mulher,)aplique)perfume.) )))))Senão,)aplique)colônia.) 6.))Vista)uma)roupa)adequada.) Escovar)os)dentes) 1.))Pegue)a)escova)de)dentes.) 2.))Coloque)creme)dental)na)escova.) 3.))Enxague)a)boca.) 4.))Escove)os)dentes.) 5.))Escove)a)língua.) 6.))Lave)a)escova.) 7.))Enxague)a)boca.) 8.))Seque)o)rosto.) 27% Algoritmo)(definição)formal)) Um)algoritmo)é)uma)seqüência)finita)de)instruções,)com)uma)ou)mais) operações)capazes)de)serem)executadas)por)um)computador)em)tempo) finito,)para)a)realização)de)uma)tarefa)específica.) Caracterís?cas)de)um)bom)algoritmo:) )Finitude) )Exa?dão) )Entradas)e)saídas)bem)determinadas) )Efe?vidade) 28%
Algoritmo:)finitude) o Um)algoritmo)sempre)deve)terminar)após)um)número)finito)de)passos.) o Um)algoritmo)sempre)deve)terminar)após)uma)quan?dade)finita)de) tempo.) o Um)algoritmo)deve)ser)executado)com)uma)quan?dade)finita)de) recursos.) 29% Algoritmo:)exa?dão) o Cada)passo)de)um)algoritmo)deve)ser)definido)com)precisão.) o A)seqüência)dos)passos)deve)ser)claramente)determinada.) o As)instruções)não)podem)admi?r)ambigüidade.) O)homem)viu)o)menino)com)o)telescópio.) )(quem)está)com)o)telescópio?)) João)e)Maria)moram)juntos.) )(podem)ser)casados)ou)apenas)vivem)sob)o)mesmo)teto.)) 30%
Algoritmo:)entradas)e)saídas) Entradas% o Um)algoritmo)deve)operar)sobre)um)ou)mais)valores)externos.) Os)valores)correspondem)aos)dados)necessários)para)iniciar)a)execução)do) algoritmo.) o Em)alguns)casos,)os)dados)de)entrada)são)parte)integrante)do)algoritmo.) Saídas% o Um)algoritmo)deve)produzir)alguma)informação.) Algum)resultado)deve)ser)produzido)até)a)execução)da)úl?ma)instrução)do) algoritmo,)de)acordo)com)a)entrada)fornecida.) 31% Algoritmo:)efe?vidade) o Um)algoritmo)deve)ser)realizável.) o Todas)as)instruções)devem)ser:) Tão)simples)quanto)possível.) Suficientes)para)resolver)o)problema.) Executáveis)com)lápis)e)papel.) 32%
Fluxograma) Representação)gráfica,) estruturada)e)simplificada.) Ilustra)o)fluxo)(seqüência))de) operações.) Símbolos)padronizados.) Sintaxe)e)semân?ca)bem) definidos.) Fácil)de)traduzir)para)qualquer) linguagem)de)programação.) 33% Fluxograma:)semân?ca)e)sintaxe) o A)semân?ca)de)um)fluxograma)corresponde)ao)significado)dos)símbolos) u?lizados.) Cada)instrução)possui)um)símbolo)gráfico)específico.) A)instrução)deve)ser)escrita)dentro)do)símbolo)de)forma)clara.) o A)sintaxe)de)um)fluxograma)corresponde)ao)emprego)correto)de)seus) elementos.) Cada)símbolo)admite)um)conjunto)de)expressões)próprias.) As)expressões)descrevem)as)operações)a)serem)realizadas)com)os)dados.) 34%
Fluxograma:)principais)símbolos)usados)em)Computação) Símbolo% Nome% Função% terminador) fluxo) conector)!) atribuição)) processo) leitura) exibição) decisão) subiro?na) Determina)o)início)ou)o)fim)do) processamento.) Indica)o)sen?do)da)execução)do) algoritmo.) Indica)ligações)com)outras)partes) de)um)fluxograma.) Armazenamento)temporário)do) resultado)de)um)processamento.) Realiza)o)cálculo)de)expressões)e/ ou)a)execução)de)funções.) Entrada)manual)de)dados,)em) tempo)de)execução.) Apresentação)dos)resultados)do) processamento.) Avaliação)de)uma)expressão) relacional)ou)lógica.) Processamento)de)funções)ou) chamada)a)procedimentos.) 35% Fluxograma:)regras) o Um)fluxograma)deve)ser)claro,)simples)e)de)fácil)leitura.)Não)deve)haver) ambigüidade)na)interpretação)de)um)fluxograma.) o A)direção)de)descrição)do)fluxo)de)um)sistema)é)de)cima)para)baixo)ou) da)esquerda)para)a)direita.) o Apenas)uma)linha)de)fluxo)deve)par?r)de)ou)chegar)a)um)terminador.) 36%
Fluxograma:)regras) o O)símbolo)de)processo)admite)apenas)uma)linha)de)saída)de)fluxo.) o O)símbolo)de)decisão)admite)apenas)uma)linha)de)entrada)de)fluxo,)mas) duas)ou)três)linhas)de)saída)são)possíveis:) 37% Fluxograma:)regras) o O)texto)dentro)de)cada)símbolo)deve)ser)adequado)à)instrução)a)ser) executada.) o Use)conectores)para)reduzir)o)número)de)linhas)do)fluxograma.) o Evite)cruzar)linhas,)para)não)comprometer)o)entendimento)do) fluxograma.) o A)validação)de)um)algoritmo)descrito)por)um)fluxograma)pode)ser)feita) através)da)execução)de)um)conjunto)de)dados)de)teste.) 38%
Operadores) Os)seguintes)símbolos)são)u?lizados)como)operadores)na)linguagem)C:) AritméNcos% Símbolo% Operação% + adição) subtração) * mul?plicação) / divisão) % módulo) Relacionais% Símbolo% Significado% < menor)que) > maior)que) <= menor)ou)igual)à) >= maior)ou)igual)à) == igual)!= diferente) Lógicos% Símbolo% Operação% && AND) OR)! NOT) 39% Atribuição) A)atribuição)é)um)comando)u?lizado)para)armazenamento)temporário)de) valores.) O)resultado)do)processamento)descrito)no)lado)direito)do)símbolo) )será) atribuído)para)a)variável)discriminada)no)lado)esquerdo.) A! 100 A! 100 B! 3.14*A A! 100 B! 3.14*A A! sin(b) Atenção) A)atribuição)é)um)comando)destru?vo,)ou)seja,)o)valor)anterior)será)subs?tuído)pelo)novo) valor.) 40%
Estruturas)básicas)de)programação) No)paradigma)de)programação)estruturada,)os)programas)são)escritos) considerando)apenas)combinações)adequadas)de)três)estruturas)básicas:) )seqüência) )seleção) )repe?ção.) Cada)estrutura)tem)um)único)ponto)de)entrada)e)um)único)ponto)de)saída,) representado)pelo)símbolo)conector.) Nessas)estruturas,)o)símbolo)de)processo)(retângulo))pode)ser)u?lizado) para)representar)qualquer)ação,)incluindo)leitura)de)dados)e)exibição)de) resultados.) 41% Estruturas)básicas)de)programação:)seqüência) Seqüência:)o)fluxo)de)execução)das)instruções)ocorre)de)modo)linear,)uma) após)a)outra.) Deve)exis?r)apenas)um)caminho)possível)no)conjunto)de)instruções)de)um) algoritmo.) 42%
Exemplo:)seqüência) Ler)e)exibir)dois)valores)numéricos)A)e)B.)Depois,)trocar)o)valores)entre)si)e) exibir)novamente.) Sejam:) A:)o)primeiro)valor)numérico.) B:)o)segundo)valor)numérico.) 43% Exemplo:)seqüência) Determinar)o)saldo)de)uma)aplicação)financeira,)com)inves?mento)inicial) de)r$)100,00)e)juros)de)1%)ao)mês,)ao)final)do)3º)mês.) Sejam:) I:)o)valor)do)inves?mento)inicial.) J:)a)taxa)de)juros.) P:)o)saldo)ao)final)do)primeiro)mês.) S:)o)saldo)ao)final)do)segundo)mês.) T:)o)saldo)ao)final)do)terceiro)mês.) 44%
Estruturas)básicas)de)programação:)seleção) Seleção:)execução)sele?va)de)um)grupo)de)instruções)baseada)em)alguma) condição,)representada)por)uma)expressão)lógica)ou)relacional.) Criam)alterna?vas)no)fluxo)de)execução)das)instruções)do)algoritmo.)Em) tempo)de)execução,)apenas)uma)das)alterna?vas)será)escolhida.) 45% Exemplo:)seleção) Ler)dois)valores)numéricos,)comparáIlos)e)exibir)o)maior)valor.) Sejam:) A:)o)primeiro)valor)numérico.) B:)o)segundo)valor)numérico.) 46%
Estruturas)básicas)de)programação:)repe?ção) RepeNção:)execução)sele?va)de)um)grupo)de)instruções)até)que)alguma) condição)seja)sa?sfeita.)o)fluxo)da)execução)pode)realizar)várias)repe?ções) de)um)mesmo)conjunto)de)comandos,)antes)de)prosseguir)para)a)etapa) seguinte.) 47% Exemplo:)iteração) Calcular)o)resto)da)divisão)inteira)entre)dois)números)inteiros)posi?vos.) Sejam:) A:)o)valor)do)dividendo.) B:)o)valor)do)divisor.) Q:)o)valor)do)quociente.) R:)o)valor)do)resto.) 48%
Fluxogramas)estruturados) As)estruturas)básicas)podem)ser)combinadas)entre)si,)u?lizando)apenas) duas)regras:) Regra)do)empilhamento:)o)ponto)de)saída)de)uma)estrutura)pode)ser) conectado)ao)ponto)de)entrada)de)outra)estrutura.) Regra)do)aninhamento:)Um)retângulo)de)uma)estrutura)pode)ser) subs?tuído)por)uma)outra)estrutura)qualquer.) Essas)regras)podem)ser)aplicadas)quantas)vezes)forem)necessárias,)e)em) qualquer)ordem.) Os)fluxogramas)resultantes)da)aplicação)dessas)regras)cons?tuem)o) conjunto)de)todos)os)fluxogramas)estruturados)possíveis.) 49% Próxima)aula:) 50%