Académique Documents
Professionnel Documents
Culture Documents
UFRPE
Introduo Programao
Tema 4 Conceitos Bsicos sobre Construo de Algoritmos
Por: Prof. Robson Fidalgo
Contedo
UFRPE
Sintaxe e Semntica
Instrues Primitivas
Entrada Sada
Estrutura seqencial
Incio/Fim
Contextualizao
UFRPE
Abrangncia
relacionados
Importncia
Objetivos
UFRPE
Contextualizar sintaxe e semntica em programao. Introduzir e exemplificar as instrues primitivas de entrada e sada de dados. Apresentar e ilustrar a estrutura de seqncia incio/fim.
Iniciando . . .
UFRPE
Sintaxe e Semntica
UFRPE
Sintaxe e Semntica
UFRPE
Conjunto de regras formais que especificam a composio dos algoritmos a partir de letras, dgitos e outros smbolos.
Sintaxe e Semntica
UFRPE
Semntica diz respeito ao significado lgico das instrues que sero executadas pelo computador.
Sintaxe e Semntica
UFRPE
Inteiro : mdia; mdia 25/5 {pois toda diviso retorna um no Real} mdia >= 7 {pois no se pode comparar tipos diferentes}
Escreva (REPROVADO);
Escreva (APROVADO);
Seno
Sintaxe e Semntica
UFRPE
Os erros sintticos so identificados pelos tradutores, enquanto que os erros semnticos no o so. Por isso que os erros semnticos exigem mais ateno para corrigi-los.
Introduo Programao - Prof. Robson Fidalgo 10
Instrues Primitivas
UFRPE
So os instrues bsicas que efetuam tarefas essenciais para o recebimento e apresentao de dados. Estas so:
entrada; sada.
11
Instrues Primitivas
UFRPE
A instruo de entrada de dados permite que informaes dos usurios sejam transferidas para a memria do computador (variveis). Sua sintaxe pode ser:
Leia (var1);
A semntica: os dados so fornecidos ao computador por meio de um dispositivo de entrada (ex: teclado e mouse ) e armazenados nas posies de memria das variveis.
12
Instrues Primitivas
UFRPE
Ex:
Algoritmo ExemploInstruoEntrada Real: preoUnit, preoTot; Incio Inteiro: qtd ; Incio preoUnit, qtd Leia(preoUnit, qtd); preoTot preoUnit * qtd; preoTot Fim.
Fim
qtd * preoUnit
13
Instrues Primitivas
UFRPE
Note I
Quando uma varivel declarada, esta apenas reserva uma posio na RAM. Ou seja, o contedo dessa posio vazio. Assim, a cada varivel criada deve-se ler ou atribuir um valor a ela.
Introduo Programao - Prof. Robson Fidalgo 14
Instrues Primitivas
UFRPE
Note II
Diferente do operador , que s atribui valores pr-definidos, a instruo LEIA permite qualquer entrada de dados vlida. Ou seja, os valores das variveis no so mais fixos.
Introduo Programao - Prof. Robson Fidalgo 15
Instrues Primitivas
UFRPE
A instruo de sada de dados o meio pelo qual variveis, constantes e expresses tm seus dados exibidos pelos dispositivos de sada de um computador (ex: vdeo e impressora). Sua sintaxe pode ser:
Escreva (var1);
Escreva (texto);
Instrues Primitivas
UFRPE
Usa-se , (vrgula) para concatenar (juntar) o valor de uma varivel com um texto explicativo. Exemplo: mdia 15/2; Escreva (Mdia = ,mdia); Mdia = 7,5
Introduo Programao - Prof. Robson Fidalgo 17
Ateno:
Instrues Primitivas
UFRPE
No caso de uma lista de variveis, o contedo de cada uma delas pesquisado na memria e enviado para um dispositivo de sada.
No caso de argumentos constantes (ex: texto), estes so enviados diretamente para o dispositivo de sada.
18
Instrues Primitivas
UFRPE
Ex:
Algoritmo ExemploInstruesEntradaSada Real : preoUnit, preoTot; Incio Inteiro : qtd; Incio preoUnit, qtd Leia(preoUnit, qtd); preoTot preoUnit * qtd; preoTot Escreva(preoTot); qtd * preoUnit Fim.
preoTot
Fim
19
Instrues Primitivas
UFRPE
Note III
Incio Leia(preoUnit, qtd); preoTot preoUnit * qtd; Escreva(preoTot); Fim
Introduo Programao - Prof. Robson Fidalgo 20
Instrues Primitivas
UFRPE
Toda operao de leitura deve antes enviar uma mensagem ao usurio informando que dados ele deve entrar. Todo resultado enviado ao usurio deve ser precedido de uma mensagem explicativa.
21
Instrues Primitivas
UFRPE
Inteiro : qtd;
Incio Escreva(informe preo unitrio e quantidade);
Leia(preoUnit, qtd);
preoTot preoUnit * qtd; Escrever(Preo total = , preoTot);
Fim.
22
Estrutura de seqncia
UFRPE
Na estrutura de seqncia os comandos de um algoritmo so executados na ordem em que aparecem. Uma estrutura de seqncia delimitada pelas palavrasreservadas Incio e Fim e contm basicamente comandos de atribuio, de entrada e de sada. Todos os algoritmos vistos at agora utilizam uma nica estrutura seqencial (Incio-Fim).
23
Dica Geral: Todo algoritmo deve ser feito visando a sua eficincia, clareza e manuteno. Dicas especficas: 1 Pense de forma incremental (Tc. de refinamentos sucessivos) e detalhada no problema a ser resolvido.
Quais so os dados de entrada? Como estes dados devem ser processados? Quais so os dados de sada?
A leitura do algoritmo por outras pessoas. A correo de erros quando estes existem.
24
3 - Escreva comentrios claros e objetivos no momento em que estiver escrevendo o algoritmo. Isto tambm facilita o entendimento do mesmo.
Comentrios podem ocorrer em qualquer parte do algoritmo e devem estar entre chaves.
Instrues dizem o que est sendo feito. Comentrios dizem o porqu de estar sendo feito. EX: lucro venda custo; {Atribui a lucro o valor de venda menos o valor de custo} {Calcula o lucro obtido}
25
4 - Use comentrios no incio do algoritmo. Estes podem ser: a descrio do que o algoritmo faz; como utiliz-lo; qual o significado das variveis mais importantes; as estruturas de dados e mtodos especiais utilizados; o autor; a data de escrita.
Algoritimo Soma {esse algoritmo soma as variveis num1 e num2. Autor: Meu Nome; Data: 99/99/9999} Inteiro : num1,num2,soma; Incio Escreva (Digite dois nmeros inteiros) Leia(num1, num2); soma num1 + num2; Escreva(A soma :,soma); Fim
26
6 - Utilize espaos e/ou linhas em branco para melhorar a legibilidade do algoritmo. 7 - Utilize parnteses para aumentar a legibilidade e prevenir erros.
Exemplos:
sem parnteses 5>7e3=5 com parnteses extras (5>7) e (3=5)
8 Escreva apenas um comando por linha. Isto tambm facilita a legibilidade do algoritmo.
27
9 - Procure alinhar os comandos de acordo com o nvel a que pertenam, isto , destaque a estrutura na qual esto contidos. Este alinhamento chamado de identao.
Exemplo genrico: Incio comando do algoritmo no nvel 1; subcomando dentro do nvel 2; subcomando dentro do nvel 3; comando do algoritmo no nvel 1 Incio subcomando dentro do nvel 2; subcomando dentro do nvel 2; Fim Fim
28
10 - Toda vez que for feita uma modificao no algoritmo, os comentrios associados devem ser alterados. prefervel no comentar do que deixar um comentrio errado.
Agora s exercitar!
29
1) leia nome, idade e salrio de um funcionrio e exiba os mesmos dados, devendo ser o salrio reajustado em 12%. 2) leia a base e a altura de um tringulo. Em seguida, escreva a rea do mesmo. BASE ALTURA
REA 2
F 32
4) leia 2 notas, calcule e exiba a mdia ponderada dessas notas. Considere nota1= peso 6 e nota2= peso 4.
30
5) transforme de um valor em dlar para reais. 6) leia o nome, nmero de horas trabalhadas e nmero de dependentes de um funcionrio. Aps a leitura, escreva qual o nome, salrio bruto, os valores descontados para cada tipo de imposto e, finalmente, qual o salrio lquido do funcionrio, considerando que:
a) A empresa paga $12 por hora e $40 por dependentes. b) Sobre o salrio so descontados 8,5% p/ o INSS e 5% p/ IR.
7) leia uma distncia em km, o preo da gasolina em reais e exiba quantos litros de gasolina o carro ir consumir e quanto ser gasto em reais. Considere que o carro faz 12 km/l de gasolina.
Introduo Programao - Prof. Robson Fidalgo 31
8) leia o preo de fbrica de um automvel e exiba seu preo final. Considere que o preo final igual ao preo de fbrica mais o preo dos impostos (45% do preo de fbrica), mais a percentagem do revendedor (28% do preo de fbrica).
9) leia um valor inteiro em segundos e, depois de convert-lo, mostre-o no formato hh:mm:ss. 10) leia as variveis inteiras n1 e n2 e troque o valor destas variveis. Isto , n1 deve ficar com o valor de n2 e n2 deve ficar com o valor de n1.
32
33