Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
eriovaldo.magalhaes@aedu.com
Contedo Programtico
1. CONCEITOS FUNDAMENTAIS DE PROGRAMAO 1.1.Noo de Algoritmos
Cronograma de Aulas Semana n. 1 2 3 4 5 Tema Conceitos Fundamentais de Programao Conceitos Fundamentais de Programao Conceitos Fundamentais de Programao Programao Estruturada Programao Estruturada
6
7 8 9 10 11 12 13 14 15 16 17 18 19 20
Programao Estruturada
Programao Estruturada Vetores e Matrizes Avaliao Vetores e Matrizes Vetores e Matrizes Modularizao Modularizao Strings e Funes de Manipulao Strings e Funes de Manipulao Tipos Estruturados (Registros) Tipos Estruturados (Registros) Avaliao Oficial Reviso e preparao para Avaliao Substitutiva Prova Substitutiva
Algoritmo Objetivo : Facilitar o entendimento da lgica de programao usando uma linguagem conhecida (portugus).
Lgica:
A lgica trata da correo do pensamento, isto , ela nos ensina a usar corretamente o raciocnio. Pensar com lgica significa ordenar o pensamento. Para resolver um determinado problema necessrio raciocinar de forma lgica ordenando o pensamento com o objetivo de atingir a soluo pretendida. A lgica est presente no nosso cotidiano, nas nossas aes, quando falamos, ou escrevemos, pois quando queremos falar, escrever ou agir corretamente precisamos ordenar nosso pensamento.
Algoritmo:
Algoritmo pode ser definido como uma sequncia lgica, e sem ambiguidade de passos que levam a soluo de um dado problema. uma sequncia de passos que visam atingir um objetivo bem definido. O algoritmo est presente em todas as aes do nosso dia dia como se fosse um plano para resoluo de problemas.
Os algoritmos so comuns em nosso cotidiano, como por exemplo, uma receita de bolo. Nela est descrita um srie de ingredientes necessrios, uma sequncia de passos a serem cumpridos para atingir o objetivo que ter um bolo pronto. Ou ento um mapa para chegar at um local, que descreve o caminho a ser percorrido atravs de uma sequncia de passos.
Podemos descrever atividades do cotidiano como por exemplo, trocar uma lmpada queimada. Apesar de aparentemente bvio demais, muitas vezes fazemos esse tipo de atividade sem percebermos determinados detalhes. De maneira simples podemos descrever:
pegue uma escada; posicione-a embaixo da lmpada queimada; pegue uma lmpada nova; suba na escada; retire a lmpada velha; coloque a lmpada nova desa e guarde a escada.
A sequncia descrita supe que a lmpada nova no esteja queimada e que se tenha apenas uma lmpada para ser trocada. Se tivermos uma outra situao: vrias lmpadas que precisam ser testadas e trocadas ou no, conforme sua condio, a sequncia de passos para a soluo do problema ser outra. Para resolvermos um problema atravs da construo de um algoritmo podemos especificar um mtodo que traduza uma sequncia lgica de passos:
1. Ler atentamente o enunciado - para resolver um problema necessria sua compreenso; 2. Retirar do enunciado a relao das entradas de dados - atravs do enunciado podemos descobrir quais so as informaes que devem ser fornecidas, a partir das quais desenvolveremos as aes; 3. Retirar do enunciado a relao das sadas de dados - atravs do enunciado podemos descobrir quais so os dados que devem ser emitidos para compor o resultado final, objetivo do algoritmo; 4. Determinar as aes que o levaro a atingir o resultado desejado - nesta etapa precisamos determinar qual sequncia de aes capaz de transformar um conjunto definido de dados nas informaes de resultado; 5. Construir o algoritmo - descrever os passos para resolver o problema; 6. Executar o algoritmo - implica em executar todas as aes descritas seguindo o fluxo de execuo estabelecido, verificando se os resultados obtidos correspondem ao esperado. Desta forma torna-se possvel detectar algum possvel erro no desenvolvimento do algoritmo. Essa atividade conhecida como TESTE DE MESA.
Exerccios: 1 - Um homem precisa atravessar um rio com um barco que possui capacidade de transportar apenas ele mesmo e mais uma de suas trs cargas, que so: um lobo, um bode e um mao de alfafa. O que o homem deve fazer para conseguir atravessar o rio sem perder suas cargas ?
Informaes: um barco um homem um lobo um bode um mao de alfafa Ficando sozinhos (sem o Homem) :
Algoritmo: incio atravessar homem e bode voltar homem atravessar homem e lobo voltar homem e bode atravessar homem e alfafa voltar homem atravessar homem e bode fim
2 - Elabore um algoritmo que mova trs discos de uma Torre de Hani, que consiste em trs hastes (a-b-c), uma das quais serve de suporte para trs discos de tamanhos diferentes (1-2-3), os menores sobre os maiores. Deve-se mover um disco de cada vez para qualquer haste, contanto que nunca seja colocado um disco maior sobre um menor. O objetivo transferir os trs discos para outra haste.
para outra
Algoritmo: incio mover o disco 1 para a haste b mover o disco 2 para a haste c mover o disco 1 para a haste c mover o disco 3 para a haste b mover o disco 1 para a haste a mover o disco 2 para a haste b mover o disco 1 para a haste b fim
3. Trs jesutas e trs canibais precisam atravessar um rio; para tal, dispem de um barco com capacidade para duas pessoas. Por medidas de segurana no se permite que em alguma margem a quantidade de jesutas seja inferior de canibais. Qual a sequncia de passos que permitiria a travessia com segurana ?
informaes:
3 jesutas 3 canibais 1 barco com capacidade para 2 pessoas
1. Atravessar um jesuta e um canibal para a margem B 2. Voltar o jesuta para a margem A 3. Atravessar dois canibais para a margem B 4. Voltar um canibal para a margem A 5. Atravessar dois jesutas para a margem B 6. Voltar um jesuta e um canibal para a margem A 7. Atravessar dois jesutas para a margem B 8. Voltar um canibal para a margem A 9. Atravessar dois canibais para a margem B 10. Voltar um canibal para a margem A 11. Atravessar dois canibais para a margem B
ALGORITMOS J vimos que para resolvermos um problema atravs da construo de algoritmos podemos seguir um mtodo, entre outros existentes, que traduza uma sequncia lgica de passos. Estes envolvem descobrir as informaes, aes e resultados.
Introduo Programao
Contedo
Representao Algortmica Fases Bsicas da Construo de Algoritmos
Programao Estruturada
Introduo a uma Linguagem Algortmica
Contextualizao
Abrangncia
Apresentar os primeiros conceitos relacionados construo de algoritmos estruturados.
Importncia
Os conceitos discutidos formam a parte mais elementar de qualquer algoritmo.
Objetivos
Apresentar as principais formas de representar um algoritmo. Discutir as 3 fases para construo de algoritmos. Contextualizar a importncia de Algoritmos Estruturados. Definir os seguintes conceitos: Identificadores e Palavras Reservadas Tipos de Dados Varivel e Constante Expresses Operadores
Exemplo:
= Incio e final do fluxograma = Operao de entrada de dados = Operao de sada de dados em impressora = Operao de sada de dados em vdeo = Operaes de processamento = Deciso = Seta de Fluxo de Dados = Conector de Fluxo de Dados
Incio do algoritmo
Entrada da temperatura (F) Clculo da temperatura (C)
Fahrenheit
Celsius
Apresentao do resultado
Fim do algoritmo
Fim
[<sub-algoritmos>]
Incio <corpo_do_algoritmo>
Fim.
LINGUAGEM ALGORTMICA (PSEUDO-CDIGO) Onde: Algoritmo Indica o incio da definio do algoritmo. <nome_do_algoritmo> Nome dado ao algoritmo para distingui-lo dos demais. [<declarao_de_variveis>] Parte opcional onde so declaradas as variveis globais usadas no algoritmo principal e, eventualmente, nos sub-algoritmos.
Pseudo-cdigo do algoritmo Fahrenheit-Celsius Algoritmo Fahrenheit-Celsius Real: Fahrenheit, Celsius; Incio Ler (Fahrenheit); Celsius 5/9 * (Fahrenheit 32); Escrever (Celsius); Fim
Desc. Narrativa Solicite a temperatura em Fahrenheit. Transforme de Fahrenheit para Celsius. Informe a temperatura em Celsius.
Fluxograma Incio
Ling. Algortmica
Algoritmo Fahrenheit-Celsius Real: Fahrenheit, Celsius; Incio Ler (Fahrenheit); Celsius 5/9 * (Fahrenheit 32); Escrever (Celsius); Fim
Fahrenheit
Celsius
Fim
Desvantagens
Pouca confiabilidade (a impreciso acarreta a desconfiana). Extenso (normalmente, escreve-se muito para dizer pouca coisa). Complica-se medida que o algoritmo cresce. Pouca ateno aos dados, no oferecendo recursos para declar-los. Exige a definio de uma linguagem no real para trabalho. No padronizada.
Fluxograma
Linguagem Algortmica
Padro mundial. Ferramenta bem conhecida. Figuras dizem muito mais que palavras. Independncia de linguagem de programao. Usa o portugus como base. Define-se melhor quais e como os dados vo estar estruturados. Passagem quase imediata do algoritmo para uma linguagem de programao qualquer.
Construindo algoritmos
Uma boa prtica para construir algoritmos dividir o problema em 3 fases (Entrada, Processamento e Sada). Lembra-se do seu primeiro mantra de programao? Entrada Processamento Sada
ENTRADA: So os dados de entrada do algoritmo. PROCESSAMENTO: So os procedimentos utilizados para chegar ao resultado final. SADA: So os dados j processados.
Construindo algoritmos
No algoritmo Fahrenheit-Celsius temos:
SADA: rea
Construindo algoritmos
Dividir o problema em Entrada, Processamento e Sada ir ajud-lo a ordenar corretamente as instrues do seus algoritmos.
Construindo algoritmos
Atividade 1
Identifique a entrada, o processamento e a sada dos problemas abaixo: 1. Calcular e exibir a mdia ponderada de 2 notas dadas. (nota1= peso 6 e nota2= peso 4) 2. Reajustar um salrio em 17,75%.
Atividade 1 Respostas
1. Calcular e exibir a mdia ponderada de 2 notas dadas. (nota1= peso 6 e nota2= peso 4) ENTRADA: nota1 e nota2 PROCESSAMENTO: mdiaP=((nota1 * 6)+(nota2 *
4))/(6+4)
SADA: mdiaP
Atividade 1 Respostas
2. Reajustar um salrio em 7,75%.
ENTRADA: salrio PROCESSAMENTO: salrioR = salrio+(salrio*0,0775)
SADA: salrioR
3. Calcular o desconto de 23% sobre o preo de um produto. ENTRADA: preo PROCESSAMENTO: desconto = preo*0,23 SADA: desconto
Atividade 1 Respostas
4. Dada uma taxa de cmbio, transformar um valor em Dlar para Reais.
Atividade 2
1.) Imagine o seguinte problema: Calcular a mdia final dos alunos da 3 Srie. Os alunos realizaro quatro provas: P1, P2, P3 e P4. Onde: Mdia Final = P1 + P2 + P3 + P4
-------------------------4
Atividade 2
2.) Imagine o seguinte problema: acrescentar os pesos para cada prova que so respectivamente : P1= PESO 4 , P2= PESO 6 , P3= PESO 4 e P4 = PESO 6 - Calcular e mostrar a media_final
FIM