Você está na página 1de 109

1

1
APLICAES INFORMTICAS B
4/28/12 p755h@espf.edu.pt

Faa clique para editar o DE PAOS DE ESCOLA SECUNDRIA estilo


FERREIRA

INTRODUO PROGRAMAO
22

1
p755h@espf.edu.pt p755h@espf.edu.pt

UNIDAD E

APLICAES INFORMTICAS B

4/28/12 INTRODUO PROGRAMAO

INTRODUO PROGRAMAO
33

APLICAES INFORMTICAS B

OBJETIVOS

p755h@espf.edu.pt p755h@espf.edu.pt

4/28/12

INTRODUO PROGRAMAO
44

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.

p755h@espf.edu.pt p755h@espf.edu.pt

4/28/12

INTRODUO PROGRAMAO
55

APLICAES INTRODU INFORMTICAS B O


Linguagem 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

p755h@espf.edu.pt p755h@espf.edu.pt

4/28/12

INTRODUO PROGRAMAO
66

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 p755h@espf.edu.pt definir p755h@espf.edu.pt 4/28/12 desenvolvimento.

INTRODUO PROGRAMAO
77

APLICAES INTRODU INFORMTICAS B O


Linguagem 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

p755h@espf.edu.pt p755h@espf.edu.pt

4/28/12

INTRODUO PROGRAMAO
88

Nvel

Gerao 1

Descrio

APLICAES INTRODU INFORMTICAS B O


Exemplo

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 geraes


p755h@espf.edu.pt p755h@espf.edu.pt

4/28/12

INTRODUO PROGRAMAO
99

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 correta.
p755h@espf.edu.pt p755h@espf.edu.pt

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 PROGRAMAO
10 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.

p755h@espf.edu.pt p755h@espf.edu.pt

4/28/12

INTRODUO PROGRAMAO
11 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.

p755h@espf.edu.pt p755h@espf.edu.pt

4/28/12

INTRODUO PROGRAMAO
12 12

APLICAES ALGORITMOS E INFORMTICAS B PSEUDOCDIGO

p755h@espf.edu.pt p755h@espf.edu.pt

4/28/12

INTRODUO PROGRAMAO
13 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).

p755h@espf.edu.pt p755h@espf.edu.pt

4/28/12

INTRODUO PROGRAMAO
14 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 um
Pegar no rebuado Retirar o papel Chupar o rebuado Deitar o papel no lixo

p755h@espf.edu.pt p755h@espf.edu.pt

4/28/12

INTRODUO PROGRAMAO
15 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 exerccios.


p755h@espf.edu.pt p755h@espf.edu.pt

4/28/12

INTRODUO PROGRAMAO
16 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

p755h@espf.edu.pt p755h@espf.edu.pt

4/28/12

INTRODUO PROGRAMAO
17 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.

p755h@espf.edu.pt p755h@espf.edu.pt

4/28/12

INTRODUO PROGRAMAO
18 18

APLICAES ALGORITMOS E INFORMTICAS B PSEUDOCDIGO


Estrutura
Dados 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

p755h@espf.edu.pt p755h@espf.edu.pt

4/28/12

INTRODUO PROGRAMAO
19 19

APLICAES ALGORITMOS E INFORMTICAS B PSEUDOCDIGO


Entretanto 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 processados.
p755h@espf.edu.pt p755h@espf.edu.pt

4/28/12

INTRODUO PROGRAMAO
20 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 algoritmo.
p755h@espf.edu.pt p755h@espf.edu.pt

APLICAES ALGORITMOS E INFORMTICAS B PSEUDOCDIGO

4/28/12

INTRODUO PROGRAMAO
21 21

APLICAES ALGORITMOS E INFORMTICAS B PSEUDOCDIGO

Abordagem estruturada
p755h@espf.edu.pt p755h@espf.edu.pt

4/28/12

INTRODUO PROGRAMAO
22 22

APLICAES ALGORITMOS E INFORMTICAS B PSEUDOCDIGO


Fluxograma Pseudocdigo
Algoritmo 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 Pascal
Program 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 NMEROS
a+b
Fim.

1.

1.

Escrever (c)

Fim Diferentes formas de descrever a resoluo do problema.


p755h@espf.edu.pt p755h@espf.edu.pt

4/28/12

INTRODUO PROGRAMAO
23 23

APLICAES ALGORITMOS E INFORMTICAS B PSEUDOCDIGO


Fluxograma Pseudocdigo
Algoritmo 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 Pascal
Program 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 problema.


p755h@espf.edu.pt p755h@espf.edu.pt

4/28/12

INTRODUO PROGRAMAO
24 24

APLICAES ALGORITMOS E INFORMTICAS B PSEUDOCDIGO


Fluxograma Pseudocdigo
Algoritmo 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 Pascal
Program 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 problema.


p755h@espf.edu.pt p755h@espf.edu.pt

4/28/12

INTRODUO PROGRAMAO
25 25

APLICAES ALGORITMOS E INFORMTICAS B PSEUDOCDIGO


Fluxograma Pseudocdigo
Algoritmo 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 Pascal
Program 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 problema.


p755h@espf.edu.pt p755h@espf.edu.pt

4/28/12

INTRODUO PROGRAMAO
26 26

APLICAES ALGORITMOS E INFORMTICAS B PSEUDOCDIGO


Fluxograma Pseudocdigo
Algoritmo 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 Pascal
Program 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 problema.


p755h@espf.edu.pt p755h@espf.edu.pt

4/28/12

INTRODUO PROGRAMAO
27 27

APLICAES ALGORITMOS E INFORMTICAS B PSEUDOCDIGO


Descrio narrativa - Algoritmo Fluxograma Pseudocdigo
Independncia 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 algoritmos.


p755h@espf.edu.pt p755h@espf.edu.pt

4/28/12

INTRODUO PROGRAMAO
28 28

APLICAES ALGORITMOS E INFORMTICAS B PSEUDOCDIGO

PROBLEMA
Apanhar o autocarro para ir a um determinado local.
p755h@espf.edu.pt p755h@espf.edu.pt

4/28/12

INTRODUO PROGRAMAO
29 29

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

p755h@espf.edu.pt p755h@espf.edu.pt

4/28/12

INTRODUO PROGRAMAO
30 30

APLICAES ALGORITMOS E INFORMTICAS B PSEUDOCDIGO


Se 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. p755h@espf.edu.pt
p755h@espf.edu.pt 4/28/12

INTRODUO PROGRAMAO
31 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

p755h@espf.edu.pt p755h@espf.edu.pt

4/28/12

INTRODUO PROGRAMAO
32 32

APLICAES ALGORITMOS E INFORMTICAS B PSEUDOCDIGO

EXERCCIO S
p755h@espf.edu.pt p755h@espf.edu.pt

4/28/12

INTRODUO PROGRAMAO
33 33

APLICAES ALGORITMOS E INFORMTICAS B PSEUDOCDIGO


1.

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.

EXERCCIOS
p755h@espf.edu.pt p755h@espf.edu.pt

4/28/12

INTRODUO PROGRAMAO
34 34

APLICAES ALGORITMOS E INFORMTICAS B PSEUDOCDIGO


1.

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

EXERCCIOS
4/28/12

p755h@espf.edu.pt p755h@espf.edu.pt

INTRODUO PROGRAMAO
35 35

APLICAES ALGORITMOS E INFORMTICAS B PSEUDOCDIGO


2. 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

EXERCCIOS
p755h@espf.edu.pt p755h@espf.edu.pt

4/28/12

INTRODUO PROGRAMAO
36 36

APLICAES ALGORITMOS E INFORMTICAS B PSEUDOCDIGO


3.

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

EXERCCIOS
p755h@espf.edu.pt p755h@espf.edu.pt

4/28/12

INTRODUO PROGRAMAO
37 37

APLICAES ALGORITMOS E INFORMTICAS B PSEUDOCDIGO


4. 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

EXERCCIOS
p755h@espf.edu.pt p755h@espf.edu.pt

4/28/12

INTRODUO PROGRAMAO
38 38

APLICAES ALGORITMOS E INFORMTICAS B PSEUDOCDIGO


5. 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 <nome_do_algoritmo>; <declarao_de_variveis>; Incio <corpo do algoritmo> Fim

EXERCCIOS
4/28/12

p755h@espf.edu.pt p755h@espf.edu.pt

INTRODUO PROGRAMAO
39 39

39
Incio

APLICAES ALGORITMOS E INFORMTICAS B PSEUDOCDIGO


Algoritmo 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

EXERCCIOS
4/28/12

p755h@espf.edu.pt p755h@espf.edu.pt p755h@espf.edu.pt

INTRODUO PROGRAMAO
40 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 Software
Conjunto de componentes fsicos. Conjunto de instrues (programas) que fazem funcionar o hardware.

p755h@espf.edu.pt p755h@espf.edu.pt

4/28/12

INTRODUO PROGRAMAO
41 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.

p755h@espf.edu.pt p755h@espf.edu.pt

4/28/12

INTRODUO PROGRAMAO
42 42

APLICAES DADOS E TIPOS DE INFORMTICAS B DADOS

Integer (inteiro) Longint (inteiro longo) Shortint (inteiro curto) Byte (inteiro)
p755h@espf.edu.pt p755h@espf.edu.pt

Bytes ocupados 2 4 1 1 6

Intervalo de valores -32768 a 32767 -2147483648 a 2147483647 -128 a 127


Tipo 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 PROGRAMAO
43 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. ASCII
4/28/12

Char (Carcter)

1 Bytes

String (Cadeia de Carcter)


p755h@espf.edu.pt p755h@espf.edu.pt

INTRODUO PROGRAMAO
44 44

APLICAES DADOS E TIPOS DE INFORMTICAS B DADOS


Descrio

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 disco
Tipo de dados estruturado.

p755h@espf.edu.pt p755h@espf.edu.pt

4/28/12

INTRODUO PROGRAMAO
45 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.

p755h@espf.edu.pt p755h@espf.edu.pt

4/28/12

INTRODUO PROGRAMAO
46 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 ( ) * & $ # @ ! + -=/?><
p755h@espf.edu.pt p755h@espf.edu.pt

4/28/12

INTRODUO PROGRAMAO
47 47

APLICAES VARIVEIS E INFORMTICAS B CONSTANTES Sintaxe e exemplo da declarao de variveis

Sintaxe
Var <id1, id2,...>: <tipo de dado>;

Exemplo
Var peso, altura: real; Soma: integer; nome_1: string;

p755h@espf.edu.pt p755h@espf.edu.pt

4/28/12

INTRODUO PROGRAMAO
48 48

APLICAES VARIVEIS E INFORMTICAS B CONSTANTES As constantes so identificadores para designar valores que no variam ao longo da execuo do programa. As constantes so, tambm, declaradas na parte declarativa, mas preenchida pela palavra Const.

p755h@espf.edu.pt p755h@espf.edu.pt

4/28/12

INTRODUO PROGRAMAO
49 49

APLICAES VARIVEIS E INFORMTICAS B CONSTANTES Sintaxe e exemplo da declarao de variveis

Sintaxe
Const <id1>=<valor>;

Exemplo
Const PI = 3.1415926; A = 3;

p755h@espf.edu.pt p755h@espf.edu.pt

4/28/12

INTRODUO PROGRAMAO
50 50

APLICAES INSTRUES DE INFORMTICAS B ATRIBUIO Uma instruo de atribuio tem por finalidade associar um determinado valor a uma varivel. Em Pascal, para implementar esta operao, utiliza-se o sinal :=, que o operador de atribuio.
Sintaxe
<id> := <valor>

Exemplo
Quantidade := 10; Preco :=5; a := a+1;

p755h@espf.edu.pt p755h@espf.edu.pt

4/28/12

INTRODUO PROGRAMAO
51 51

APLICAES INSTRUES DE ENTRADA E DE INFORMTICAS B SADA Uma instruo de entrada servem para ler dados exteriores ao programa (input), que so armazenados em variveis. Em Pascal, para a leitura de dados utilizam-se as instrues Read ou Readln.
Sintaxe
Ler (<id>);

Exemplo
Read (valor); Readln (a,b);

p755h@espf.edu.pt p755h@espf.edu.pt

4/28/12

INTRODUO PROGRAMAO
52 52

APLICAES INSTRUES DE ENTRADA E DE INFORMTICAS B SADA Uma instruo de sada servem para escrever dados para o exterior do programa (output). Em Pascal, para a escrita de dados utilizam-se as instrues Write ou Writeln.
Sintaxe
Escrever (<id>);

Exemplo
Write (valor); Writeln (a,b);

p755h@espf.edu.pt p755h@espf.edu.pt

4/28/12

INTRODUO PROGRAMAO
53 53

APLICAES OPERADORES E INFORMTICAS B EXPRESSES Os operadores so elementos matemticos que atuam sobre os operandos (variveis e constantes), numa determinada expresso. As expresses, por sua vez, so uma combinao de operandos e operadores, e que, uma vez resolvidas, resultam num determinada valor.

p755h@espf.edu.pt p755h@espf.edu.pt

4/28/12

INTRODUO PROGRAMAO
54 54

APLICAES OPERADORES E INFORMTICAS B EXPRESSES Operadores aritmticos


Operador + * / DIV MOD Operao Adio Subtrao Multiplicao Diviso Exemplo a := 5+3; b := a-4; c := b*a; n := c/2; a=8 b=4 c = 32 n = 16 y=7 (quociente da diviso inteira de 15 por 2) z=1 (resto da diviso inteira de 15 por 2) Resultado

Diviso inteira Y := 15 DIV 2; Mdulo Z := 15 MOD 2;

p755h@espf.edu.pt p755h@espf.edu.pt

4/28/12

INTRODUO PROGRAMAO
55 55

APLICAES OPERADORES E INFORMTICAS B EXPRESSES Operadores relacionais


Operador = <> < > <= >= 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 a<>b a<b a>b a<=b a>=b False True False True False True Resultado

p755h@espf.edu.pt p755h@espf.edu.pt

4/28/12

INTRODUO PROGRAMAO
56 56

APLICAES OPERADORES E INFORMTICAS B EXPRESSES Operadores lgicos


Operador 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) (a<b) OR (c>a) (c>a) XOR (b>c) False True False True Resultado

Ver tabelas de verdade.


p755h@espf.edu.pt p755h@espf.edu.pt

4/28/12

INTRODUO PROGRAMAO
57 57

APLICAES OPERADORES E INFORMTICAS B EXPRESSES Prioridade dos operadores


Prioridade 1 2 3 4 = <> Operador NOT * / DIV MOD AND + - OR XOR < <= >= >

Nota: Os parntesis alteram a ordem das prioridades.


p755h@espf.edu.pt p755h@espf.edu.pt

4/28/12

INTRODUO PROGRAMAO
58 58

TESTE E CONTROLO DE ERROS EM ALGORITMIA

APLICAES INFORMTICAS B

Teste 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 erros.

p755h@espf.edu.pt p755h@espf.edu.pt

4/28/12

INTRODUO PROGRAMAO
59 59

59

TESTE E CONTROLO DE ERROS EM ALGORITMIA

Exemplo de traagem.
Algoritmo soma; Var a, b, c: inteiro; Incio Ler (a); Ler (b); c a+b; Escrever (c); Fim

um

algoritmo
a 1 passo 2 passo 3 passo 4 passo 4 4 4 4

APLICAES INFORMTICAS B e a respetiva


b c a+b Sada

5 5 5 9 9 9

p755h@espf.edu.pt p755h@espf.edu.pt p755h@espf.edu.pt

4/28/12

INTRODUO PROGRAMAO
60 60

Incio
RECEBE (SALRIO)

APLICAES ESTRUTURAS DE INFORMTICAS B CONTROLO


Faz 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 + ABONO

RECEBE (ABONO)

SALRIO

ABONO

SALNOVO

SALNOVO = SALARIO+ABON O

ESCREVER (SALNOVO)

Fim
p755h@espf.edu.pt p755h@espf.edu.pt

EXERCCIOS
4/28/12

INTRODUO PROGRAMAO
61 61

Incio
NOME=JOS

APLICAES ESTRUTURAS DE INFORMTICAS B CONTROLO


Sabendo-se que Jose tem direito a 15% de reajuste de salrio, completa o diagrama:
NOME SALARIOATUAL REAJUSTE VALORREAJUSTE SALNOVO SALNOVO

SALARIOATUAL = 1200 REAJUSTE=

VALORREAJUSTE = SALNOVO =

ESCREVER (SALNOVO) p755h@espf.edu.pt p755h@espf.edu.pt

Fim

EXERCCIOS
4/28/12

INTRODUO PROGRAMAO
62 62

APLICAES 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 ciclos.

p755h@espf.edu.pt p755h@espf.edu.pt

4/28/12

INTRODUO PROGRAMAO
63 63

APLICAES 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 produto.


p755h@espf.edu.pt p755h@espf.edu.pt

4/28/12

INTRODUO PROGRAMAO
64 64

FLUXOGR AMA
Algoritmo 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 CONTROLO


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)

p755h@espf.edu.pt p755h@espf.edu.pt

PSEUDOCD IGO

Fim

4/28/12

INTRODUO PROGRAMAO
65 65

APLICAES ESTRUTURAS DE INFORMTICAS B CONTROLO


Program 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 PASCAL
p755h@espf.edu.pt p755h@espf.edu.pt

4/28/12

INTRODUO PROGRAMAO
66 66

APLICAES 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,50
1 passo 2 passo 3 passo 4 passo 5 passo p755h@espf.edu.pt p755h@espf.edu.pt

4/28/12

INTRODUO PROGRAMAO
67 67

APLICAES ESTRUTURAS DE INFORMTICAS B CONTROLO Estrutura de deciso ou seleo


As 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 mltipla.

p755h@espf.edu.pt p755h@espf.edu.pt

4/28/12

INTRODUO PROGRAMAO
68 68

APLICAES ESTRUTURAS DE INFORMTICAS B CONTROLO Estrutura de seleo simples


Atravs 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. Sintaxe

Exerccio: Calcular a diferena entre dois pesos, se o peso introduzido pelo utilizador for inferior a 70 kg.
p755h@espf.edu.pt p755h@espf.edu.pt

... Se <expresso> Ento ... FimSe ...

4/28/12

INTRODUO PROGRAMAO
69 69

PSEUDOCD Algoritmo peso_inf_70; IGO dif, peso: real; Varivel


nome: 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 AMA

APLICAES ESTRUTURAS DE Incio INFORMTICAS B CONTROLO


Escrever (Digita o seu nome)

Ler (nome)
Escrever (Digita o seu peso)

Ler (peso)
Peso < 70 ento Tru

Fals e

e 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)

p755h@espf.edu.pt p755h@espf.edu.pt

Fim

4/28/12

INTRODUO PROGRAMAO
70 70

APLICAES ESTRUTURAS DE INFORMTICAS B CONTROLO


Program 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; End.

p755h@espf.edu.pt p755h@espf.edu.pt

PROGRAMA PASCAL 4/28/12

INTRODUO PROGRAMAO
71 71

APLICAES ESTRUTURAS DE INFORMTICAS B CONTROLO Considerando os seguintes valores de entrada, faz o teste ao algoritmo: Nome igual a Rui Peso igual a 67
nome peso Peso<70 Dif 70-peso Sada

1 passo 2 passo 3 passo 4 passo 5 passo 6 passo p755h@espf.edu.pt p755h@espf.edu.pt

4/28/12

INTRODUO PROGRAMAO
72 72

APLICAES ESTRUTURAS DE INFORMTICAS B CONTROLO Estrutura de seleo composta


Atravs da utilizao da estrutura de seleo composta, podem existir duas opes possveis para o desenrolar das instrues do programa e que so selecionadas de acordo com o valor lgico resultante da avaliao de uma condio ou expresso. Sintaxe
... Se <expresso> Ento ... Seno ... FimSe ...

Exerccio: Inserir dois nmeros e determinar o maior dos dois.

p755h@espf.edu.pt p755h@espf.edu.pt

4/28/12

INTRODUO PROGRAMAO
73 73

PSEUDOCD Algoritmo maior_de_2; IGO maior, num1, num2: inteiro; Varivel


Incio Ler (num1);

FLUXOGR AMA

APLICAES ESTRUTURAS DE Incio INFORMTICAS B CONTROLO


Escrever (Digita um nmero inteiro)

Ler (num1)
Escrever (Digita um num. Int. Diferente do anterior)

Escrever (Digite um nmero inteiro); Escrever (Digite um nmero inteiro diferente do anterior); Ler (num2); Se num1> num2 ento maior num1; Seno maior num2; FimSe; Escrever (O maior dos dois nmero , maior); Fim.

Ler (num2)
num1 > num2

Fals e Maior num2

Tru e Maior num1

Escrever (O maior dos dois nmero , maior)

p755h@espf.edu.pt p755h@espf.edu.pt

Fim

4/28/12

INTRODUO PROGRAMAO
74 74

APLICAES ESTRUTURAS DE INFORMTICAS B CONTROLO


Program 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; End.

p755h@espf.edu.pt p755h@espf.edu.pt

PROGRAMA PASCAL 4/28/12

INTRODUO PROGRAMAO
75 75

APLICAES 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 5
num2 igual a 2
num1>num2

num2 igual a 6
Sada

num1

num2

maiornum1

maiornum2

1 passo 2 passo 3 passo 4 passo 5 passo 1 passo 2 passo

7 7 7 7
num1

2 2 2
num2

(7>2) TRUE num1>num2

7
maiornum1

maiornum2

7 5 5

O maior dos dois nmero 7

Sada

6 (5>6) FALSE -

3 p755h@espf.edu.pt passo 5 4 passo 5

6 p755h@espf.edu.pt 6

4/28/12
6

INTRODUO PROGRAMAO
76 76

APLICAES ESTRUTURAS DE INFORMTICAS B CONTROLO Estrutura de seleo encadeada


Numa 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 <expresso> Ento ... Seno Se <expresso> Ento ... Seno ... FimSe FimSe p755h@espf.edu.pt p755h@espf.edu.pt ...

Exerccio: Inserir dois nmeros e determinar se os dois so iguais entre si ou qual o maior deles.
4/28/12

INTRODUO PROGRAMAO
77 77

APLICAES ESTRUTURAS DE INFORMTICAS B CONTROLO PSEUDOCD Algoritmo maior_igual_2; IGO num1, num2: inteiro; Varivel
Incio 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; Fim.

p755h@espf.edu.pt p755h@espf.edu.pt

4/28/12

INTRODUO PROGRAMAO
78 78

FLUXOGR AMA

Incio

APLICAES ESTRUTURAS DE INFORMTICAS B CONTROLO Escrever (Digita um nmero


inteiro)

Ler (num1)
Escrever (Digita outro nmero inteiro)

Ler (num2) Tru e Escrever (Os dois nmeros so iguais

Num1 = num2

Escrever (Os dois nmeros so iguais

F a Num1 > num2 l Fs ae Escrever (O maior dos dois numeros , num2) l s e Tr ue

p755h@espf.edu.pt p755h@espf.edu.pt

Fim

4/28/12

INTRODUO PROGRAMAO
79 79

APLICAES ESTRUTURAS DE INFORMTICAS B CONTROLO


Program 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); End

p755h@espf.edu.pt p755h@espf.edu.pt

PROGRAMA PASCAL 4/28/12

INTRODUO PROGRAMAO
80 80

APLICAES 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 13
num2 igual a 16 num2 igual a 19
Sada num1 num2 Num1=num2 num1>num2

1 passo 2 passo 3 passo 4 passo 1 passo 2 passo 3 passo

16 16 16
num1

16 16
num2

(16=16) TRUE
Num1=num2

16

16

num1>num2

Os nmeros so iguais

Sada

13 13 13 19 19 (13=19) FALSE . . (13>19) FALSE FALSE

4 passo 13 p755h@espf.edu.pt p755h@espf.edu.pt 19 5 passo 13 19

4/28/12
O maior dos nmeros 19

INTRODUO PROGRAMAO
81 81

APLICAES ESTRUTURAS DE INFORMTICAS B CONTROLO Estrutura de seleo mltipla


Numa 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 <varivel> <valor1>: ... ... <valorn>: ... Seno ... FimSelecionarCaso ...
p755h@espf.edu.pt p755h@espf.edu.pt

Exerccio: determina o dia da semana de acordo com o valor inserido.

4/28/12

INTRODUO PROGRAMAO
82 82

APLICAES ESTRUTURAS DE INFORMTICAS B CONTROLO PSEUDOCD Algoritmo Designa_dias; IGO dia: inteiro; Varivel
Incio 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 Fim.

p755h@espf.edu.pt p755h@espf.edu.pt

4/28/12

INTRODUO PROGRAMAO
83 83

APLICAES 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; Fim.

p755h@espf.edu.pt p755h@espf.edu.pt

4/28/12

INTRODUO PROGRAMAO
84 84

APLICAES ESTRUTURAS DE INFORMTICAS B CONTROLO Estrutura de repetio ou ciclos


Numa estrutura de repetio ou ciclos permitem repetir um conjunto de instrues de um programa, controlado pelo resultado lgico da avaliao de uma condio ou expresso.

p755h@espf.edu.pt p755h@espf.edu.pt

4/28/12

INTRODUO PROGRAMAO
85 85

APLICAES ESTRUTURAS DE INFORMTICAS B CONTROLO Contadores


Utilizamos 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)

p755h@espf.edu.pt p755h@espf.edu.pt

EXERCCIO S4/28/12

INTRODUO PROGRAMAO
86 86

APLICAES 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 ciclo.

p755h@espf.edu.pt p755h@espf.edu.pt

4/28/12

INTRODUO PROGRAMAO
87 87

APLICAES ESTRUTURAS DE INFORMTICAS B CONTROLO Ciclo For (Para)


Sintaxe
... Para varivelcontador:= valorinicial> At <valorfinal> Fazer <Bloco de instrues> FimPara ...

Exerccio: calcula a mdia de n nmeros inteiros.

p755h@espf.edu.pt p755h@espf.edu.pt

4/28/12

INTRODUO PROGRAMAO
88 88

FLUXOGR AMA

Incio

APLICAES ESTRUTURAS DE INFORMTICAS B Escrever (Indique quantosCONTROLO inteiros


quer digitar)

Ler (n) soma 0

i1

Mdia soma /num

Fals e

i<=n Tru e

Escrever (Indique um nmero inteiro) Escrever (A mdia dos nmeros indicados , mdia

Ler (num) soma soma + num

p755h@espf.edu.pt p755h@espf.edu.pt Fim

4/28/12
ii+1

INTRODUO PROGRAMAO
89 89

APLICAES ESTRUTURAS DE INFORMTICAS B CONTROLO PSEUDOCD Algoritmo med_num; IGO i, n, soma, num: inteiros; Varivel
med: real; Incio Escrever (Indique quantos nmero quer digitar); Ler (n); soma 0; Para i 1 At n Fazer Escrever (Indique um nmero inteiro); Ler (num); soma soma + num; FimPara; med soma/n; Escrever (A mdia dos nmeros indicados , med); Fim.

p755h@espf.edu.pt p755h@espf.edu.pt

4/28/12

INTRODUO PROGRAMAO
90 90

APLICAES ESTRUTURAS DE INFORMTICAS B CONTROLO PROGRAMA Program med_num; PASCAL num: integer; Vari, n, soma,
med: real; Begin Writeln(Indique quantos nmero quer digitar); Readln (n); soma:=0; For i :=1 to n do Writeln (Indique um nmero inteiro); Readln (num); soma:=soma + num; End; med:=soma/n; Writeln (A mdia dos nmeros indicados +, med); End.

p755h@espf.edu.pt p755h@espf.edu.pt

4/28/12

INTRODUO PROGRAMAO
91 91

n TRAAGEM igual a 2
n soma 0 I1

num igual a 10 e a 12
i<=n num

APLICAES ESTRUTURAS DE INFORMTICAS B CONTROLO


I 1+1 media doma/n Sada

soma soma + num

1 passo 2 passo 3 passo

2 2 2 2 2 2 2 2 0 0 0 0 1 1 1 1 (1<=2) True (2<=2) True 10 10 10 10 12 10 10 10 10 2 2 2

4 passo

5 passo 6 passo 7 passo

8 passo

p755h@espf.edu.pt 9 passo 2 -

p755h@espf.edu.pt

4/28/12

INTRODUO PROGRAMAO
92 92

APLICAES ESTRUTURAS DE INFORMTICAS B CONTROLO Ciclo While (Enquanto)


O Ciclo While um tipo de estrutura de repetio em que i nmero de vezes a repetir o bloco de instrues controlado pelo resultado da avaliao de uma condio ou expresso lgica. Enquanto o resultado da avaliao for True o bloco de instrues executado. Uma vez que a condio ou expresso lgica avaliada no incio da estrutura, se na primeira avaliao o resultado for False, o bloco de instrues no chega a ser executado uma nica vez. Este ciclo pode, tambm, ser implementado sabendo, inicialmente , o nmero de vezes que o bloco instrues vai ser repetido. Neste caso, utilizada uma varivel contador destinada a controlar a execuo do ciclo.
p755h@espf.edu.pt p755h@espf.edu.pt

4/28/12

INTRODUO PROGRAMAO
93 93

APLICAES ESTRUTURAS DE INFORMTICAS B CONTROLO Ciclo While (Enquanto)


Sintaxe
... Enquanto <expresso> Fazer <bloco de instrues> FimEnquanto ...

Exerccio: calcula o nmero de nomes inseridos pelo utilizador.

p755h@espf.edu.pt p755h@espf.edu.pt

4/28/12

INTRODUO PROGRAMAO
94 94

APLICAES ESTRUTURAS DE INFORMTICAS B CONTROLO PSEUDOCD Algoritmo Conta_nomes; IGO conta: inteiro; Varivel
nome: caracter; Incio conta 0; Escrever (Digite um nome); Ler (nome); Enquanto nome <> Fim Fazer conta conta + 1; Escrever (Digite um nome); Ler (nome); FimEnquanto; Escrever (Foram digitados , conta, nome); Fim.

p755h@espf.edu.pt p755h@espf.edu.pt

4/28/12

INTRODUO PROGRAMAO
95 95

APLICAES ESTRUTURAS DE INFORMTICAS B CONTROLO PROGRAMA Program Conta_nomes; PASCAL Var conta: integer;
nome: string; Begin conta := 0; Escrever (Digite um nome); Ler (nome); While nome <> Fim do conta := conta + 1; Writeln (Digite um nome); readln (nome); End; Writeln(Foram digitados , conta, nome); End.

p755h@espf.edu.pt p755h@espf.edu.pt

4/28/12

INTRODUO PROGRAMAO
96 96

APLICAES ESTRUTURAS DE INFORMTICAS B CONTROLO Ciclo Repeat (Repetir)


O Ciclo Repeat um tipo de estrutura de repetio em que o nmero de vezes a repetir o bloco de instrues controlado pelo resultado da avaliao de uma condio ou expresso lgica. At que (Until) o resultado da avaliao seja True o bloco de instrues continua a ser executado. Como a condio ou expresso lgica avaliada no fim da estrutura, sempre executado, pelo menos uma vez, o bloco de instrues. Este ciclo pode, tambm, ser implementado sabendo, inicialmente , o nmero de vezes que o bloco instrues vai ser repetido. Neste caso, utilizada uma varivel contador destinada a controlar a execuo do ciclo.
p755h@espf.edu.pt p755h@espf.edu.pt

4/28/12

INTRODUO PROGRAMAO
97 97

APLICAES ESTRUTURAS DE INFORMTICAS B CONTROLO Ciclo Repeat (Repetir)


Sintaxe
... Repetir ... At que <Expresso>; ...

Exerccio: calcula o permetro de um rectngulo at que o utilizador escolha terminar este clculo.

p755h@espf.edu.pt p755h@espf.edu.pt

4/28/12

INTRODUO PROGRAMAO
98 98

APLICAES ESTRUTURAS DE INFORMTICAS B CONTROLO PSEUDOCD Algoritmo retangulo; IGO area, perimetro, comp, larg: real; Varivel
resp: caracter; Incio Repetir Escrever (Medidas do retngulo); Escrever (Indique a largura em metro ); Ler (larg); Escrever (Indique o comprimento em metro ); Ler (comp); perimetro 2* (larg+comp); Escrever (Permetro = , perimetro, metro); Escrever (Pretende efetuar mais clculos (s/n)); Ler (resp); At que (resp<>s); Fim.

p755h@espf.edu.pt p755h@espf.edu.pt

4/28/12

INTRODUO PROGRAMAO
99 99

APLICAES ESTRUTURAS DE INFORMTICAS B CONTROLO PROGRAMA Program retangulo; PASCAL Var area, perimetro, comp, larg: real;
resp: string; Begin Repeat Writeln(Medidas do retngulo); Writeln (Indique a largura em metro ); Readln (larg); Writeln (Indique o comprimento em metro ); Readln (comp); perimetro := 2* (larg+comp); Writeln (Permetro = , perimetro, metro); Writeln (Pretende efetuar mais clculos (s/n)); Readln (resp); Until (resp<>s); End.

p755h@espf.edu.pt p755h@espf.edu.pt

4/28/12

INTRODUO PROGRAMAO
100 100

APLICAES ESTRUTURAS DE INFORMTICAS B CONTROLO Unidade CRT


A unidade CRT consiste de um conjunto de comandos adicionais que sao oferecidos no Turbo Pascal. Como esses comandos nao fazem parte da linguagem Pascal padrao, para utiliza-los, precisamos incluir a seguinte instruo no programa: uses crt; Essa instruc ao indica ao compilador que iremos usar os comandos adicionais contidos na unidade CRT. Sem ela, os comandos adicionais nao podem ser reconhecidos pelo compilador.

p755h@espf.edu.pt p755h@espf.edu.pt

4/28/12

INTRODUO PROGRAMAO
101 101

APLICAES ESTRUTURAS DE INFORMTICAS B CONTROLO Unidade CRT


Temos a seguir a descricao dos comandos definidos em CRT que sao mais utilizados em Turbo Pascal: clrscr: limpa a tela e posiciona o cursor no inicio da primeira linha; textcolor(cor): seleciona a cor na qual os textos serao exibidos no video. As cores sao representa- das por numeros de 0 a 15 ou, entao, por palavras em ingles (red, blue, ...). Para exibir texto a piscar, adicione a palavra blink a cor selecionada; por exemplo, red+blink; textbackground(cor): seleciona a cor do fundo so bre o qual os textos serao exibidos. As cores sao representadas da mesma maneira que no comando anterior. Para que a tela toda apareca na cor de fundo selecionada, execute o comando clrscr logo apos o textbackground; gotoxy(col, lin): posiciona o cursor na posicao de tela indicada. Caso o valor de col (1 a 80) ou lin (1 a 25) esteja fora do intervalo permitido, o cursor nao e movimentado.
p755h@espf.edu.pt p755h@espf.edu.pt

4/28/12

INTRODUO PROGRAMAO
102 102

APLICAES ESTRUTURAS DE INFORMTICAS B CONTROLO

EXERCCIO S
p755h@espf.edu.pt p755h@espf.edu.pt

4/28/12

INTRODUO PROGRAMAO
103 103

APLICAES ESTRUTURAS DE INFORMTICAS B CONTROLO

Programa para fazer a tabuada de multiplicao do nmero 7.


EXERCCIO S4/28/12

p755h@espf.edu.pt p755h@espf.edu.pt

INTRODUO PROGRAMAO
104 104

APLICAES ESTRUTURAS DE INFORMTICAS B CONTROLO


program tabuada; uses CRT; var contad:integer; begin clrscr; contad:=0; {iniciamos o contador declarando seu primeiro valor} while contad<10 do {Enquanto cont<10, condio testada a cada repetio} begin writeln('7 x ',contad,' = ',7*contad); contad:=contad+1; {incrementamos o contador a cada repetio} end; readkey; end.
p755h@espf.edu.pt p755h@espf.edu.pt

EXERCCIO S4/28/12

INTRODUO PROGRAMAO
105 105

APLICAES ESTRUTURAS DE INFORMTICAS B CONTROLO

Faa um programa para pedir um nmero, em seguida escrever uma tabuada de multiplicao deste nmero, caso for digitado o nmero 0, parar o programa EXERCCIO S4/28/12

p755h@espf.edu.pt p755h@espf.edu.pt

INTRODUO PROGRAMAO
106 106

APLICAES ESTRUTURAS DE INFORMTICAS B CONTROLO


program tabuada; uses CRT; var num:real; cont:integer; Begin Repeat clrscr; write('Digite um nmero para fazer a tabuada '); read(num); cont:=0; while cont<10 do {temos aqui uma repetio dentro de outra} Begin writeln(num:4:2,' x ',cont,' = ',(num*cont):6:2); cont:=cont+1; {a cada repetio o cont aumenta +1} end; readkey; {parada para ver o resultado at ser teclado algo} until num=0; {condio para parar a repetio principal} clrscr; write('Foi digitado o nmero 0! programa encerrado!'); readkey; end .

p755h@espf.edu.pt p755h@espf.edu.pt

EXERCCIO S4/28/12

INTRODUO PROGRAMAO
107 107

APLICAES ESTRUTURAS DE INFORMTICAS B CONTROLO

Programa para calcular a mdia de 3 notas de 10 alunos


EXERCCIO S4/28/12

p755h@espf.edu.pt p755h@espf.edu.pt

INTRODUO PROGRAMAO
108 108

APLICAES ESTRUTURAS DE INFORMTICAS B CONTROLO


program media_notas; var NOME:string; N1,N2,N3,MEDIA:real; CONT:integer; begin clrscr; FOR CONT:=1 to 10 do begin write('Digite o nome e as 3 notas do ',cont,'o aluno '); readln(NOME,N1,N2,N3); while (N1<0) or (n1>10) or (N2<0) or (N2>10) or (N3<0) or (N3>10) do begin {repete enquanto as notas forem menores que 0 ou maiores que 10!} writeln('Notas invlidas! Digite notas de 0 a 10!'); readln(N1,N2,N3); end; MEDIA:=(N1+N2+N3)/3; writeln('A mdia do aluno ',NOME,' : ',MEDIA:2:2); end; readkey; End.

p755h@espf.edu.pt p755h@espf.edu.pt

EXERCCIO S4/28/12

INTRODUO PROGRAMAO
109 109

APLICAES ESTRUTURAS DE INFORMTICAS B CONTROLO Construa um programa que leia um conjunto de dados contendo altura e sexo (MASCULINO ou FEMININO) de N pessoas e calcule e escreva:

a maior e a menor altura do grupo e de quem esta altura ( Se HOMEM ou MULHER ) a mdia de altura entre as mulheres O nmero de homens e a diferena percentual entre estes e as mulheres Critique as variveis onde for necessrio EXERCCIO
p755h@espf.edu.pt p755h@espf.edu.pt

S4/28/12