AIB - Unidade 1_V16.10

Embed Size (px)

Citation preview

1

0

1APLICAES INFORMTICAS B4/28/12 [email protected]

Faa clique para editar o DE PAOS DE ESCOLA SECUNDRIA estiloFERREIRA

INTRODUO PROGRAMAO22

[email protected] [email protected]

UNIDAD E

APLICAES INFORMTICAS B

4/28/12 INTRODUO PROGRAMAO

INTRODUO PROGRAMAO33

APLICAES INFORMTICAS B

OBJETIVOS

[email protected] [email protected]

4/28/12

INTRODUO PROGRAMAO44

APLICAES OBJETIV INFORMTICAS B OS Compreender e desenvolver algoritmos. Conhecer os conceitos fundamentais relacionados com algoritmia e programao. Utilizar a programao estruturada desenvolvimento de programas. no

Utilizar a programao orientada aos eventos no desenvolvimento de programas.

[email protected] [email protected]

4/28/12

INTRODUO PROGRAMAO55

APLICAES INTRODU INFORMTICAS B OLinguagem natural No projetada pelas pessoas. Passvel de vrias interpretaes. Previamente projetada para determinados fins. Evita ambiguidade e redundncia.Linguagens naturais e linguagens formais

Linguagem formal

[email protected] [email protected]

4/28/12

INTRODUO PROGRAMAO66

APLICAES INTRODU INFORMTICAS B O

Lgica

Sequncia Lgica

Lgica de programao a tcnica de encadear pensamentos para atingir determinado objetivo.

Sequncia Lgica so passos executados at atingir um objetivo ou soluo de um problema.

A lgica de programao necessria para pessoas que desejam trabalhar com desenvolvimento de sistemas e programas, ela permite a sequncia lgica para o [email protected] definir [email protected] 4/28/12 desenvolvimento.

INTRODUO PROGRAMAO77

APLICAES INTRODU INFORMTICAS B OLinguagem de programao Programa (cdigo) Instruo Sistema de escrita formal, constitudo por um conjunto de regras para a escrita de programas de computador. Conjunto de instrues numa linguagem de programao. Especificao ao processador da ao a executar.Linguagens de programao Tipo formal

[email protected] [email protected]

4/28/12

INTRODUO PROGRAMAO88

Nvel

Gerao 1

Descrio

APLICAES INTRODU INFORMTICAS B OExemplo

Linguagem diretamente executvel pelo processador Linguagem mquina ou binria do computador. Usa apenas 0 e 1 Linguagem de baixo nvel que utiliza uma notao simblica compreensvel pelo ser humano com uma correspondncia direta com o cdigo de uma determinada mquina. Primeiras linguagem de alto nvel projetadas para serem facilmente entendidas e escritas pelo ser humano. Linguagens capazes de gerarem cdigo por si ss. Linguagens inteligentes, ainda pouco desenvolvidas, que tendem a uma maior aproximao com a linguagem natural.Linguagem Assembly Fortran, ALGOL, BASIC, Visual basic, C, C++, Pascal, Java. MATLAB, SQL, Clipper, DBase LISP, Prolog

Baixo 2

3 Alto

4 5

Linguagens de programao Classificao das [email protected] [email protected]

4/28/12

INTRODUO PROGRAMAO99

etc... Essas instrues tem que ser executadas numa ordem adequada; no se pode descascar as batatas depois de frit-las. Uma instruo tomada em separado no tem muito sentido; para obtermos o resultado, precisamos colocar em prtica o conjunto de todas as instrues, na ordem [email protected] [email protected]

APLICAES INTRODU INFORMTICAS B O Instrues so um conjunto de regras ou normas definidas para a realizao ou emprego de algo. Em informtica, o que indica a um computador uma ao elementar se quisermos Por exemplo, a executar. fazer uma omelete de batatas, temos que colocar em prtica uma srie descascar as batatas, bater os ovos, fritar as batatas, de instrues:

4/28/12

INTRODUO PROGRAMAO10 10

APLICAES ALGORITMOS E INFORMTICAS B PSEUDOCDIGO Uma linguagem de programao LP tem como objetivo expressar um processo que, com o auxlio de um computador, tende a resolver um problema. Para resolver o problema preciso criar um programa numa linguagem escolhida. Mas, para efetuar a passagem do problema para o programa, convm elaborar um algoritmo que possibilite a compreenso e a descrio do problema e que seja de fcil converso para qualquer LP.

[email protected] [email protected]

4/28/12

INTRODUO PROGRAMAO11 11

APLICAES ALGORITMOS E INFORMTICAS B PSEUDOCDIGO

Sendo assim, um algoritmo uma sequncia finita de instrues descritas de forma lgica, ordenada, clara e precisa a fim de resolver o problema. Os algoritmos so ainda usados na fase inicial de preparao de um programa.

[email protected] [email protected]

4/28/12

INTRODUO PROGRAMAO12 12

APLICAES ALGORITMOS E INFORMTICAS B PSEUDOCDIGO

[email protected] [email protected]

4/28/12

INTRODUO PROGRAMAO13 13

APLICAES ALGORITMOS E INFORMTICAS B PSEUDOCDIGO Um algoritmo pode ser escrito com auxilio de uma linguagem natural, utilizando expresses precisas. Mas existem outros modos de especificao que so o fluxograma e o pseudocdigo. Nos fluxogramas utiliza-se uma representao grfica e nos pseudocdigos, uma representao textual (portugus estruturado).

[email protected] [email protected]

4/28/12

INTRODUO PROGRAMAO14 14

APLICAES ALGORITMOS E INFORMTICAS B PSEUDOCDIGO Em informtica, a formulao de um algoritmo no mais do que a descrio, de forma ordenada, com clareza e rigor, das operaes que se pretende realizar em computador para resolver um problema ou atingir determinados objetivos. Exemplos de algoritmo no computacional: rebuado: Chupar umPegar no rebuado Retirar o papel Chupar o rebuado Deitar o papel no lixo

[email protected] [email protected]

4/28/12

INTRODUO PROGRAMAO15 15

APLICAES ALGORITMOS E INFORMTICAS B PSEUDOCDIGO Algoritmo no a soluo de um problema, pois, se assim fosse, cada problema teria um nico algoritmo. Algoritmo um caminho para a soluo de um problema, e em geral, os caminhos que levam a uma soluo so muitos.Algoritmos no se aprende: Copiando Algoritmos Estudando Algoritmos Algoritmos s se aprendem: Construindo Algoritmos Testando Algoritmos

Aprender algoritmos no se consegue a no ser atravs de muitos [email protected] [email protected]

4/28/12

INTRODUO PROGRAMAO16 16

APLICAES ALGORITMOS E INFORMTICAS B PSEUDOCDIGO

Smbolo

Descrio Incio ou fim

Entrada ou Processo/Op Deciso/Compa sada de Conexo do algoritmo erao rao dados

Linha de fluxo

Subrotina

Smbolos grficos - fluxogramas

[email protected] [email protected]

4/28/12

INTRODUO PROGRAMAO17 17

APLICAES ALGORITMOS E INFORMTICAS B PSEUDOCDIGO Os pseudocdigos utilizam uma representao textual (narrativa) constituda por palavras da linguagem natural e pela sintaxe caracterstica das linguagens de programao estruturadas LPE. No existe uma notao standard do pseudocdigo, mas a prxima tabela apresenta alguns elementos presentes numa LPE e que servem de base tambm s notaes do pseudocdigo.

[email protected] [email protected]

4/28/12

INTRODUO PROGRAMAO18 18

APLICAES ALGORITMOS E INFORMTICAS B PSEUDOCDIGOEstruturaDados Tipos de dados Operadores Instrues bsicas Variveis Constantes Numricos, lgicos, caracteres, cadeia de caracteres, estruturados (array, record, string, set, file) Aritmticos, relacionais, lgicos e cadeia de caracteres Atribuio De entrada De sada Sequencial Deciso ou seleo Repetio ou de ciclos Pseudocdigos representao textual/notaes

Elemento

Estruturas de controlo

[email protected] [email protected]

4/28/12

INTRODUO PROGRAMAO19 19

APLICAES ALGORITMOS E INFORMTICAS B PSEUDOCDIGOEntretanto ao montar um algoritmo, precisamos primeiro dividir o problema apresentado em trs fases fundamentais.

ENTRAD A

PROCESSAMEN TO

SAD A

ENTRADA: So os dados de entrada do algoritmo. PROCESSAMENTO: So os procedimentos utilizados para chegar ao resultado final. SADA: So os dados j [email protected] [email protected]

4/28/12

INTRODUO PROGRAMAO20 20

Para construir um algoritmo necessrio: 1. Compreender problema (o que se pretende). 2. Identificar os dados de entrada (os dados fornecidos e a sua situao inicial). 3. Identificar os dados de sada (os dados resultantes do processamento). 4. Identificar as operaes de processamento (os clculos e as restries para a obteno dos dados de sada a partir dos dados de entrada). 5. Elaborar o algoritmo, definindo: As variveis necessrias para armazenar as entradas a efetuar o processamento; As instrues necessrias. 6. Testar o [email protected] [email protected]

APLICAES ALGORITMOS E INFORMTICAS B PSEUDOCDIGO

4/28/12

INTRODUO PROGRAMAO21 21

APLICAES ALGORITMOS E INFORMTICAS B PSEUDOCDIGO

Abordagem [email protected] [email protected]

4/28/12

INTRODUO PROGRAMAO22 22

APLICAES ALGORITMOS E INFORMTICAS B PSEUDOCDIGOFluxograma PseudocdigoAlgoritmo soma; Variveis a,b,c: real; Incio Ler (a,b); ca+b Escrever (c);

Linguagem natural (Algoritmo descrio narrativa)Incio Ler dois valores reais (a,b) Efetuar o clculo da soma dos dois valores reais (c=a+b) Escrever o resultado da soma (c) Fim

Cdigo em LP PascalProgram soma; Var a,b,c: real; Begin Readln(a,b); c := a+b; Writeln(c); End.

Incio Ler (a,b) c

1.

1.

1.

SOMAR 2 NMEROSa+bFim.

1.

1.

Escrever (c)

Fim Diferentes formas de descrever a resoluo do [email protected] [email protected]

4/28/12

INTRODUO PROGRAMAO23 23

APLICAES ALGORITMOS E INFORMTICAS B PSEUDOCDIGOFluxograma PseudocdigoAlgoritmo soma; Variveis a,b,c: real; Incio Ler (a,b); ca+b Escrever (c); Fim. End.

Linguagem natural (Algoritmo descrio narrativa)Incio Ler dois valores reais (a,b) Efetuar o clculo da soma dos dois valores reais (c=a+b) Escrever o resultado da soma (c) Fim

Cdigo em LP PascalProgram soma; Var a,b,c: real; Begin Readln(a,b); c := a+b; Writeln(c);

Incio Ler (a,b) c

1.

1.

1.

a+b

1.

1.

Escrever (c)

Fim Diferentes formas de descrever a resoluo do [email protected] [email protected]

4/28/12

INTRODUO PROGRAMAO24 24

APLICAES ALGORITMOS E INFORMTICAS B PSEUDOCDIGOFluxograma PseudocdigoAlgoritmo soma; Variveis a,b,c: real; Incio Ler (a,b); ca+b Escrever (c); Fim. End.

Linguagem natural (Algoritmo descrio narrativa)Incio Ler dois valores reais (a,b) Efetuar o clculo da soma dos dois valores reais (c=a+b) Escrever o resultado da soma (c) Fim

Cdigo em LP PascalProgram soma; Var a,b,c: real; Begin Readln(a,b); c := a+b; Writeln(c);

Incio Ler (a,b) c

1.

1.

1.

a+b

1.

1.

Escrever (c)

Fim Diferentes formas de descrever a resoluo do [email protected] [email protected]

4/28/12

INTRODUO PROGRAMAO25 25

APLICAES ALGORITMOS E INFORMTICAS B PSEUDOCDIGOFluxograma PseudocdigoAlgoritmo soma; Variveis a,b,c: real; Incio Ler (a,b); ca+b Escrever (c); Fim. End.

Linguagem natural (Algoritmo descrio narrativa)Incio Ler dois valores reais (a,b) Efetuar o clculo da soma dos dois valores reais (c=a+b) Escrever o resultado da soma (c) Fim

Cdigo em LP PascalProgram soma; Var a,b,c: real; Begin Readln(a,b); c := a+b; Writeln(c);

Incio Ler (a,b) c

1.

1.

1.

a+b

1.

1.

Escrever (c)

Fim Diferentes formas de descrever a resoluo do [email protected] [email protected]

4/28/12

INTRODUO PROGRAMAO26 26

APLICAES ALGORITMOS E INFORMTICAS B PSEUDOCDIGOFluxograma PseudocdigoAlgoritmo soma; Variveis a,b,c: real; Incio Ler (a,b); ca+b Escrever (c); Fim. End.

Linguagem natural (Algoritmo descrio narrativa)Incio Ler dois valores reais (a,b) Efetuar o clculo da soma dos dois valores reais (c=a+b) Escrever o resultado da soma (c) Fim

Cdigo em LP PascalProgram soma; Var a,b,c: real; Begin Readln(a,b); c := a+b; Writeln(c);

Incio Ler (a,b) c

1.

1.

1.

a+b

1.

1.

Escrever (c)

Fim Diferentes formas de descrever a resoluo do [email protected] [email protected]

4/28/12

INTRODUO PROGRAMAO27 27

APLICAES ALGORITMOS E INFORMTICAS B PSEUDOCDIGODescrio narrativa - Algoritmo Fluxograma PseudocdigoIndependncia de linguagem de programao. Padro mundial. Usa o portugus como base. Ferramenta bem Define-se melhor quais e como os dados conhecida. vo estar estruturados. Figuras dizem muito mais Passagem quase imediata do algoritmo que palavras. para uma linguagem de programao qualquer. Complica-se medida que o algoritmo cresce. Exige a definio de uma linguagem no Pouca ateno aos dados, real para trabalho. no oferecendo recursos No padronizada. para declar-los.

VANTA O portugus bastante GENS conhecido por ns.

Impreciso. Pouca confiabilidade (a DESVA impreciso acarreta a NTAGE desconfiana). NS Extenso (normalmente, escreve-se muito para dizer pouca coisa).

Vantagens e desvantagens dos [email protected] [email protected]

4/28/12

INTRODUO PROGRAMAO28 28

APLICAES ALGORITMOS E INFORMTICAS B PSEUDOCDIGO

PROBLEMAApanhar o autocarro para ir a um determinado [email protected] [email protected]

4/28/12

INTRODUO PROGRAMAO29 29

APLICAES ALGORITMOS E INFORMTICAS B PSEUDOCDIGO Incio Saia de casa vire esquerda atravesse a rua apanhe o autocarro desa do autocarro

[email protected] [email protected]

4/28/12

INTRODUO PROGRAMAO30 30

APLICAES ALGORITMOS E INFORMTICAS B PSEUDOCDIGOSe a pessoa seguir os passos, certamente conseguir chegar ao local desejado. A sequncia de instrues acima, porm, no est suficientemente detalhada, a ponto de no dar margem a erros. A execuo da sequncia acima depende do bom senso de que for executa-l. Se por exemplo, quando a pessoa for executar a instruo atravesse a rua, estiver a passar um carro, ela esperar o carro passar, ainda que isto no esteja explicado numa sequncia. Como o computador no tem essa capacidade de tirar concluses prprias, ele poder ter problemas. Uma sequncia mais detalhada poder ser a soluo para o problema. [email protected]@espf.edu.pt 4/28/12

INTRODUO PROGRAMAO31 31

APLICAES ALGORITMOS E INFORMTICAS B PSEUDOCDIGO Incio Saia de casa vire esquerda enquanto estiver a passar um carro espere atravesse a rua apanhe o autocarro desa do autocarro

[email protected] [email protected]

4/28/12

INTRODUO PROGRAMAO32 32

APLICAES ALGORITMOS E INFORMTICAS B PSEUDOCDIGO

EXERCCIO [email protected] [email protected]

4/28/12

INTRODUO PROGRAMAO33 33

APLICAES ALGORITMOS E INFORMTICAS B PSEUDOCDIGO1.

Montar um algoritmo que permite acender um cigarro. Selecionar uma lmpada da mesma potncia da que est queimada e troc-la. Criar um algoritmo para trocar o pneu furado de um carro. Crie a sequncia lgica de tomar banho. Representao do algoritmo do clculo da mdia (4 notas) de um aluno, na forma de um pseudocdigo e de fluxograma.

1.

1.

1.

1.

[email protected] [email protected]

4/28/12

INTRODUO PROGRAMAO34 34

APLICAES ALGORITMOS E INFORMTICAS B PSEUDOCDIGO1.

Montar um algoritmo que permite acender um cigarro. 1. Inicio 2. Levar a mo ao bolso 3. Retirar o mao do bolso 4. Abrir o Mao 5. Retirar 1 cigarro 6. Levar o cigarro a boca 7. Guardar o mao no bolso 8. Retirar a caixa de fsforo do bolso 9. Abrir a caixa 10.Retirar o palito da caixa 11.Provocar o atrito entre a lateral da caixa at causar fogo 12.Levar a chama at o cigarro 13.Apagar a chama do fsforo 14.Guardar a caixa

EXERCCIOS4/28/12

[email protected] [email protected]

INTRODUO PROGRAMAO35 35

APLICAES ALGORITMOS E INFORMTICAS B PSEUDOCDIGO2. Selecionar uma lmpada da mesma potncia da que est queimada e trocla. 1. Inicio 2. Selecionar uma lmpada 3. Verificar potncia 4. Retornar ao itens 1. ou 2. se a potncia no for a mesma 5. Posicione a escada de baixo da lmpada a ser trocada 6. Suba os degraus 7. Se no alcanou a lmpada, retorne ao item 6. 8. Desrosque a lmpada queimada 9. Enrosque a lmpada nova 10.Desa a escada

[email protected] [email protected]

4/28/12

INTRODUO PROGRAMAO36 36

APLICAES ALGORITMOS E INFORMTICAS B PSEUDOCDIGO3.

Criar um algoritmo para trocar o pneu furado de um carro 1. Incio 2. Desapertar ligeiramente as porcas 3. Suspender o carro 4. Retirar as porcas e o pneu 5. Colocar o pneu de reserva 6. Apertar as porcas 7. Baixar o carro 8. Dar o aperto final nas porcas 9. Guardar o pneu velho

[email protected] [email protected]

4/28/12

INTRODUO PROGRAMAO37 37

APLICAES ALGORITMOS E INFORMTICAS B PSEUDOCDIGO4. Crie a sequncia lgica de tomar banho. 1. Incio 2. Entrar na casa de banho e tirar a roupa 3. Abrir a torneira do chuveiro 4. Entrar na gua 5. Ensaboar-se 6. Sair da gua 7. Fechar a torneira 8. Enxugar-se 9. Vestir-se

[email protected] [email protected]

4/28/12

INTRODUO PROGRAMAO38 38

APLICAES ALGORITMOS E INFORMTICAS B PSEUDOCDIGO5. Representao do algoritmo do clculo da mdia de um aluno, na forma de um pseudocdigo.Algoritmo Calculo_Media; Var N1, N2, MEDIA: real; Incio Ler (N1, N2); MEDIA (N1 + N2) / 2; Se MEDIA >= 10 ento Escrever Aprovado Seno Escrever Reprovado; Fim_Se Fim Algoritmo ; ; Incio Fim

EXERCCIOS4/28/12

[email protected] [email protected]

INTRODUO PROGRAMAO39 39

39Incio

APLICAES ALGORITMOS E INFORMTICAS B PSEUDOCDIGOAlgoritmo Calculo_Media; Var N1, N2, N3, N4, MEDIA: Algoritmo Calculo_Media; Var N1, N2, N3, N4, M: real; Incio Ler (N1, N2, N3,N4); MEDIA (N1 + N2 + N3 +N4) / 4; Escrever (M); Fim real; Incio Ler (N1, N2); MEDIA (N1 + N2 + N3 + N4) / 2; Se MEDIA >= 10 ento Escrever Aprovado ; Escrever (MEDIA); Seno Escrever Reprovado; Escrever (MEDIA); Fim_Se Fim

LER (N1,N2,N 3,N4)

M=(N1+N2+N3 +N4)/4

ESCREVE R (MEDIA)

Fim

EXERCCIOS4/28/12

[email protected] [email protected] [email protected]

INTRODUO PROGRAMAO40 40

APLICAES CONCEITOS INFORMTICAS B FUNDAMENTAIS O computador uma mquina constituda por hardware e software, que tem capacidade de receber, armazenar e fornecer dados, depois de processados de forma autnoma, rpida e precisa. Hardware SoftwareConjunto de componentes fsicos. Conjunto de instrues (programas) que fazem funcionar o hardware.

[email protected] [email protected]

4/28/12

INTRODUO PROGRAMAO41 41

APLICAES DADOS E TIPOS DE INFORMTICAS B DADOS Podemos definir dados como sendo elementos sobre os quais sero efetuadas operaes. Os dados so inseridos atravs do hardware, como, por exemplo, o teclado, para serem usados na realizao de determinadas operaes. Um determinado tipo de dados est associado a um conjunto de valores, que definem o formato especfico dos elementos desse tipo.

[email protected] [email protected]

4/28/12

INTRODUO PROGRAMAO42 42

APLICAES DADOS E TIPOS DE INFORMTICAS B DADOS

Integer (inteiro) Longint (inteiro longo) Shortint (inteiro curto) Byte (inteiro)[email protected] [email protected]

Bytes ocupados 2 4 1 1 6

Intervalo de valores -32768 a 32767 -2147483648 a 2147483647 -128 a 127Tipo 255 0 a de dados numricos. 2,9 x 10 E -39 a 1,7 x 10 E 4/28/12 +38

Real (real)

INTRODUO PROGRAMAO43 43

APLICAES DADOS E TIPOS DE INFORMTICAS B DADOS Bytes Boolean (booleano) 1 Bytes Valores True ou False (Verdadeiro ou Tipo de dados lgico. Falso) Valores Qualquer elemento da tabela ASCII de dados carcter. Tipo Valores At 256 elementos da tabela Tipo de dados cadeia de carcter. ASCII4/28/12

Char (Carcter)

1 Bytes

String (Cadeia de Carcter)[email protected] [email protected]

1

INTRODUO PROGRAMAO44 44

APLICAES DADOS E TIPOS DE INFORMTICAS B DADOSDescrio

Array (vetor) Record (registo) Set (conjunto) File (ficheiro)

Tipo de dados estruturado que identificado por um nico nome. A sua estrutura definida por vrios elementos do mesmo tipo. Tipo de dados estruturado constitudo por um conjunto de dados logicamente relacionados, podendo, estes, ser de tipos diferentes. Tipo de dados estruturado constitudo por um conjunto de dados semelhantes inter-relacionados. Tipo de dado estruturado formado por elementos do mesmo tipo de dados ou diferente. O file um tipo de dados que armazenado em discoTipo de dados estruturado.

[email protected] [email protected]

4/28/12

INTRODUO PROGRAMAO45 45

APLICAES VARIVEIS E INFORMTICAS B CONSTANTES As variveis so identificadores para designar valores que podem variar ao longo da execuo do programa. Em Pascal as variveis tm de ser declaradas na parte declarativa dos programas, sendo procedidas pela palavra var.

[email protected] [email protected]

4/28/12

INTRODUO PROGRAMAO46 46

APLICAES VARIVEIS E INFORMTICAS B CONSTANTES O nome de uma varivel ou identificador, aquando da sua construo, tem de obedecer s seguintes regras:

No deve ser o nome de uma palavra reservada do Pascal, como, por exemplo, begin, end, var, program, read, const, entre outras; Pode ser constitudo por um ou mais caracteres; No deve possuir espaos em branco; O primeiro carcter deve ser sempre uma letra; No deve possuir os caracteres especiais ( ) * & $ # @ ! + -=/?> = Operao Igual a Diferente de Menor que Maior que Menor ou igual a Maior ou igual a Exemplo (a=13 e b=5) a=b ab ab a=b False True False True False True [email protected] [email protected]/28/12INTRODUO PROGRAMAO56 56APLICAES OPERADORES E INFORMTICAS B EXPRESSES Operadores lgicosOperador NOT AND OR XOR Operao No (negao) E (conjuno) Ou (disjuno inclusiva) Disjuno exclusiva (Ou Exclusivo) Exemplo (a=13, b=5 e c=2) NOT (a>b) (a>b) AND (b>c) (aa) (c>a) XOR (b>c) False True False True ResultadoVer tabelas de [email protected] [email protected]/28/12INTRODUO PROGRAMAO57 57APLICAES OPERADORES E INFORMTICAS B EXPRESSES Prioridade dos operadoresPrioridade 1 2 3 4 = Operador NOT * / DIV MOD AND + - OR XOR < = >Nota: Os parntesis alteram a ordem das [email protected] [email protected]/28/12INTRODUO PROGRAMAO58 58TESTE E CONTROLO DE ERROS EM ALGORITMIAAPLICAES INFORMTICAS BTeste e controlo de erros O Teste e o controlo de erros num algoritmo permite verificar se este resolve o problema pretendido. Para isso, utiliza-se a tcnica do tracing, que permite acompanhar passo a passo a execuo de um algoritmo, eliminando, desta forma, a possibilidade de ocorrncia de [email protected] [email protected]/28/12INTRODUO PROGRAMAO59 5959TESTE E CONTROLO DE ERROS EM ALGORITMIAExemplo de traagem.Algoritmo soma; Var a, b, c: inteiro; Incio Ler (a); Ler (b); c a+b; Escrever (c); Fimumalgoritmoa 1 passo 2 passo 3 passo 4 passo 4 4 4 4APLICAES INFORMTICAS B e a respetivab c a+b Sada5 5 5 9 9 [email protected] [email protected] [email protected]/28/12INTRODUO PROGRAMAO60 60IncioRECEBE (SALRIO)APLICAES ESTRUTURAS DE INFORMTICAS B CONTROLOFaz um teste de mesa no diagrama de bloco abaixo e preencha a tabela ao lado com os dados do teste (Salrio=600 e abono=60):SALNOVO SALARIO + ABONORECEBE (ABONO)SALRIOABONOSALNOVOSALNOVO = SALARIO+ABON OESCREVER (SALNOVO)[email protected] [email protected]/28/12INTRODUO PROGRAMAO61 61IncioNOME=JOSAPLICAES ESTRUTURAS DE INFORMTICAS B CONTROLOSabendo-se que Jose tem direito a 15% de reajuste de salrio, completa o diagrama:NOME SALARIOATUAL REAJUSTE VALORREAJUSTE SALNOVO SALNOVOSALARIOATUAL = 1200 REAJUSTE=VALORREAJUSTE = SALNOVO =ESCREVER (SALNOVO) [email protected] [email protected]/28/12INTRODUO PROGRAMAO62 62APLICAES ESTRUTURAS DE INFORMTICAS B CONTROLO Estruturas de controlo As estruturas de controlo avaliam o desenrolar das instrues de um programa. Estas subdividem-se em: Sequencial; Deciso ou seleo; Repetio ou [email protected] [email protected]/28/12INTRODUO PROGRAMAO63 63APLICAES ESTRUTURAS DE INFORMTICAS B CONTROLO Estrutura sequencial Neste tipo de estruturas as instrues de um programa so executadas nume determinada sequncia sem que esta possa sofrer alteraes atravs dos dados de entrada.Exerccio: Calcular o valor total de um [email protected] [email protected]/28/12INTRODUO PROGRAMAO64 64FLUXOGR AMAAlgoritmo Total_produto; Varivel quantidade: inteiro; total, preco: real; designa: texto; Incio Escrever (Digita a designao do produto); Ler (designa); Escrever (Digita a quantidade do produto); Ler (quantidade); Escrever (Digita o preo por unidade do produto); Ler (preco); total quantidade * produto; Escrever (O valor total do produto , designa, , total); Fim.APLICAES ESTRUTURAS DE Incio INFORMTICAS B CONTROLOEscrever (Digita a designao do produto)Ler (designa)Escrever (Digita a quantidade do produto)Ler (quantidade)Escrever (Digita o preo por unidade do produto)Ler (preco) total quantidade * produtoEscrever (O valor total do produto , designa, , total)[email protected] [email protected] IGOFim4/28/12INTRODUO PROGRAMAO65 65APLICAES ESTRUTURAS DE INFORMTICAS B CONTROLOProgram Total_produto; Var quantidade: integer; total, preco: real; designa: string; Begin Writeln (Digita a designao do produto); Readln (designa); Writeln (Digita a quantidade do produto); Readln (quantidade); Writeln (Digita o preo por unidade do produto); Readln (preco); total := quantidade * produto; Writeln (O valor total do produto , designa, , total); Readln; End.A instruo Readln utilizada isoladamente antes da instruo End permite ao utilizador observar o resultado do programa quando este escrito numa verso do Turbo Pascal.PROGRAMA [email protected] [email protected]/28/12INTRODUO PROGRAMAO66 66APLICAES ESTRUTURAS DE INFORMTICAS B CONTROLO Considerando os seguintes valores de entrada, faz o teste ao algoritmo: designa igual a Lpis quantidade igual a 10 quantidade Sada precodesigna quantidade preco total*produto; igual a 0,501 passo 2 passo 3 passo 4 passo 5 passo [email protected] [email protected]/28/12INTRODUO PROGRAMAO67 67APLICAES ESTRUTURAS DE INFORMTICAS B CONTROLO Estrutura de deciso ou seleoAs estruturas de deciso ou seleo permitem escolher uma opo, de entre as existentes, para o desenvolvimento de um programa, executando sequncias alternativas de acordo com os dados de entrada. Este tipo de estrutura subdivide-se em estruturas de: Seleo simples; Seleo composta; Seleo encadeada; Seleo [email protected] [email protected]/28/12INTRODUO PROGRAMAO68 68APLICAES ESTRUTURAS DE INFORMTICAS B CONTROLO Estrutura de seleo simplesAtravs da utilizao da estrutura de seleo simples apenas so executadas as instrues quando a condio de seleo for avaliada com o valor lgico True, caso contrrio, com o valor lgico False, o programa continua a execuo das instrues fora desta estrutura de seleo simples. SintaxeExerccio: Calcular a diferena entre dois pesos, se o peso introduzido pelo utilizador for inferior a 70 [email protected] [email protected]... Se Ento ... FimSe ...4/28/12INTRODUO PROGRAMAO69 69PSEUDOCD Algoritmo peso_inf_70; IGO dif, peso: real; Varivelnome: texto; Incio Escrever (Digite o seu nome); Ler (nome); Escrever (Digite o seu peso); Ler (peso); Se peso < 70 ento Incio dif 70-peso;FLUXOGR AMAAPLICAES ESTRUTURAS DE Incio INFORMTICAS B CONTROLOEscrever (Digita o seu nome)Ler (nome)Escrever (Digita o seu peso)Ler (peso)Peso < 70 ento TruFals ee dif 70-peso;Escrever Falta ao , nome, , dif, kg para atingir os 70 kg)Escrever (Falta ao , nome, , dif, kg para atingir os 70 kg); Fim; FimSe; Escrever (O programa vai terminar); Fim.Escrever (O programa vai terminar)[email protected] [email protected]/28/12INTRODUO PROGRAMAO70 70APLICAES ESTRUTURAS DE INFORMTICAS B CONTROLOProgram peso_inf_70; Var dif, peso: real; nome: string; Begin Writeln (Digite o seu nome); Readln (nome); Writeln (Digite o seu peso); Readln (peso); If peso < 70 Then Begin dif:= 70-peso; Writeln (Falta ao , nome, , dif, kg para atingir os 70 kg); End; Writeln (O programa vai terminar); Readln; [email protected] [email protected] PASCAL 4/28/12INTRODUO PROGRAMAO71 71APLICAES ESTRUTURAS DE INFORMTICAS B CONTROLO Considerando os seguintes valores de entrada, faz o teste ao algoritmo: Nome igual a Rui Peso igual a 67nome peso Peso num2 ento maior num1; Seno maior num2; FimSe; Escrever (O maior dos dois nmero , maior); Fim.Ler (num2)num1 > num2Fals e Maior num2Tru e Maior num1Escrever (O maior dos dois nmero , maior)[email protected] [email protected]/28/12INTRODUO PROGRAMAO74 74APLICAES ESTRUTURAS DE INFORMTICAS B CONTROLOProgram maior_de_2; Var maior, num1, num2: integer; Begin Writeln (Digite um nmero inteiro); Readln (num1); Writeln (Digite um nmero inteiro diferente do anterior); Readln (num2); If num1 > num2 Then maior :=num1; Else maior :=num2; Writeln (O maior dos dois nmero , maior); Readln; [email protected] [email protected] PASCAL 4/28/12INTRODUO PROGRAMAO75 75APLICAES ESTRUTURAS DE INFORMTICAS B CONTROLO Considerando os seguintes valores relativos a duas Primeira Segunda entrada, faz o teste ao algoritmo: num1 igual a 7 num1 igual a 5num2 igual a 2num1>num2num2 igual a 6Sadanum1num2maiornum1maiornum21 passo 2 passo 3 passo 4 passo 5 passo 1 passo 2 passo7 7 7 7num12 2 2num2(7>2) TRUE num1>num27maiornum1maiornum27 5 52-7-O maior dos dois nmero 7Sada6 (5>6) FALSE -3 [email protected] passo 5 4 passo 56 [email protected] 64/28/126INTRODUO PROGRAMAO76 76APLICAES ESTRUTURAS DE INFORMTICAS B CONTROLO Estrutura de seleo encadeadaNuma estrutura de seleo encadeada podem existir vrias opes encadeadas para o desenrolar das instrues do programa. Cada uma destas opes pode ser selecionada de acordo com o valor lgico resultante da avaliao da sua condio ou expresso. Sintaxe... Se Ento ... Seno Se Ento ... Seno ... FimSe FimSe [email protected] [email protected] ...Exerccio: Inserir dois nmeros e determinar se os dois so iguais entre si ou qual o maior deles.4/28/12INTRODUO PROGRAMAO77 77APLICAES ESTRUTURAS DE INFORMTICAS B CONTROLO PSEUDOCD Algoritmo maior_igual_2; IGO num1, num2: inteiro; VarivelIncio Escrever (Digite um nmero inteiro); Ler (num1); Escrever (Digite outro nmero inteiro); Ler (num2); Se num1= num2 ento Escrever (Os nmeros so iguais Seno Se num1>num2 Escrever (O maior dos dois nmero , num1); Seno Escrever (O maior dos dois nmero , num2); FimSe; FimSe; [email protected] [email protected]/28/12INTRODUO PROGRAMAO78 78FLUXOGR AMAIncioAPLICAES ESTRUTURAS DE INFORMTICAS B CONTROLO Escrever (Digita um nmerointeiro)Ler (num1)Escrever (Digita outro nmero inteiro)Ler (num2) Tru e Escrever (Os dois nmeros so iguaisNum1 = num2Escrever (Os dois nmeros so iguaisF a Num1 > num2 l Fs ae Escrever (O maior dos dois numeros , num2) l s e Tr [email protected] [email protected]/28/12INTRODUO PROGRAMAO79 79APLICAES ESTRUTURAS DE INFORMTICAS B CONTROLOProgram maior_igual_2; Var num1, num2: integer; Begin Writeln (Digite um nmero inteiro); Readln (num1); Writeln (Digite outo nmero inteiro); Readln (num2); If num1 = num2 Then Writeln (Os dois nmeros so iguais); Else If num1>num2 Then Writeln (O maior dos nmeros , num1); Else Writeln(O maior dos dois nmero , num2); [email protected] [email protected] PASCAL 4/28/12INTRODUO PROGRAMAO80 80APLICAES ESTRUTURAS DE INFORMTICAS B CONTROLO Considerando os seguintes valores relativos a duas Primeira Segunda entrada, faz o teste ao algoritmo: num1 igual a 16 num1 igual a 13num2 igual a 16 num2 igual a 19Sada num1 num2 Num1=num2 num1>num21 passo 2 passo 3 passo 4 passo 1 passo 2 passo 3 passo16 16 16num116 16num2(16=16) TRUENum1=num21616-num1>num2-Os nmeros so iguaisSada13 13 13 19 19 (13=19) FALSE . . (13>19) FALSE FALSE4 passo 13 [email protected] [email protected] 19 5 passo 13 194/28/12O maior dos nmeros 19INTRODUO PROGRAMAO81 81APLICAES ESTRUTURAS DE INFORMTICAS B CONTROLO Estrutura de seleo mltiplaNuma estrutura de seleo mltipla possvel selecionar uma de mltiplas opes para o desenrolar das instrues do programa, sendo selecionada de acordo com o valor de uma varivel. Sintaxe... Selecionar Caso : ... ... : ... Seno ... FimSelecionarCaso [email protected] [email protected]: determina o dia da semana de acordo com o valor inserido.4/28/12INTRODUO PROGRAMAO82 82APLICAES ESTRUTURAS DE INFORMTICAS B CONTROLO PSEUDOCD Algoritmo Designa_dias; IGO dia: inteiro; VarivelIncio Escrever (Insira um nmero inteiro de 1 a 7); Ler (dia); Selecionar Caso dia 1: Escrever (Segunda-feira); 2: Escrever (Tera-feira); 3: Escrever (Quarta-feira); 4: Escrever (Quinta-feira); 5: Escrever (Sexta-feira); 6: Escrever (Sbado); 7: Escrever (Domingo); Seno Escrever (Inseriu um nmero invlido); FimSelecionarCaso [email protected] [email protected]/28/12INTRODUO PROGRAMAO83 83APLICAES ESTRUTURAS DE INFORMTICAS B CONTROLO PROGRAMA Program Designa_dias; PASCAL Var dia: integer;Begin Writeln (Insira um nmero inteiro de 1 a 7); Readln (dia); Case dia 1: Writeln (Segunda-feira); 2: Writeln (Tera-feira); 3: Writeln (Quarta-feira); 4: Writeln (Quinta-feira); 5: Writeln (Sexta-feira); 6: Writeln (Sbado); 7: Writeln (Domingo); Else Writeln (Inseriu um nmero invlido); End; [email protected] [email protected]/28/12INTRODUO PROGRAMAO84 84APLICAES ESTRUTURAS DE INFORMTICAS B CONTROLO Estrutura de repetio ou ciclosNuma estrutura de repetio ou ciclos permitem repetir um conjunto de instrues de um programa, controlado pelo resultado lgico da avaliao de uma condio ou [email protected] [email protected]/28/12INTRODUO PROGRAMAO85 85APLICAES ESTRUTURAS DE INFORMTICAS B CONTROLO ContadoresUtilizamos uma varivel que ser incrementada a cada repetio, isto , a cada repetio contamos +1 na varivel, at um valor de acordo com o nmero de vezes que queremos repetir Sintaxe:CONT:integer; ( Varivel inteira que ir contar o nmero de repeties ) CONT:=1; ( Iniciao do contador, ele deve comear com algum valor ) CONT:= CONT+1; ( Incrementar o contador em +1, repare que em cada repetio ele ir aumentar +1)[email protected] [email protected] S4/28/12INTRODUO PROGRAMAO86 86APLICAES ESTRUTURAS DE INFORMTICAS B CONTROLO Ciclo For (Para)O Ciclo For um tipo de estrutura de repetio em que inicialmente conhecido o nmero de vezes que o bloco de instrues ser repetido. Para tal, utiliza um contador automtico implementado atravs de uma varivel do tipo inteiro. O Valor desta varivel vai ser incrementado (To) u decrementado (DownTo), resultando a realizao de uma contagem crescente ou decrescente do nmero de repeties indicadas na estrutura do [email protected] [email protected]/28/12INTRODUO PROGRAMAO87 87APLICAES ESTRUTURAS DE INFORMTICAS B CONTROLO Ciclo For (Para)Sintaxe... Para varivelcontador:= valorinicial> At Fazer FimPara ...Exerccio: calcula a mdia de n nmeros [email protected] [email protected]/28/12INTRODUO PROGRAMAO88 88FLUXOGR AMAIncioAPLICAES ESTRUTURAS DE INFORMTICAS B Escrever (Indique quantosCONTROLO inteirosquer digitar)Ler (n) soma 0i1Mdia soma /numFals ei