• Nenhum resultado encontrado

Algoritmos

N/A
N/A
Protected

Academic year: 2021

Share "Algoritmos"

Copied!
55
0
0

Texto

(1)

Algoritmos

Prof. Antonio Tadeu Pellison tadeupellison@gmail.com

(2)

COMANDOS DE I/O (INPUT/OUTPUT)

• LER() Comando de entrada que permite a leitura de Variáveis de Entrada.

• ESCREVER() Comando de saída que exibe uma informação na tela do monitor.

uma informação na tela do monitor.

• IMPRIMIR() Comando de saída que envia uma informação para a impressora.

(3)

SINAL DE ATRIBUIÇÃO

• Uma Variável nunca é eternamente igual a um valor, seu conteúdo pode ser alterado a

qualquer momento. Portanto para atribuir valores a variáveis devemos usar o sinal de “:=”. “:=”. • Exemplos: A := 2; B := 3; C := A + B;

(4)

SINAL DE IGUALDADE

• As constantes são eternamente iguais a determinados valores, portanto usamos o sinal de “=”.

• Exemplos:

• Exemplos:

PI = 3.1416;

Empresa = “Colégio de Informática L.T.D.A.” V = Verdadeiro

(5)

CORPO GERAL DE UM PROGRAMA

ALGORITMO <<identificador>>; CONST <<identificador>> = <<dado>>; VAR <<identificador>> : <<tipo>>; ÍNICIO ÍNICIO

COMANDOS DE ENTRADA,PROCESSAMENTO E SAÍDA <<comando1>>;

<<comandoN>>; FIM.

(6)

ESTRUTURAS SEQÜÊNCIAIS

• Como pode ser analisado no tópico anterior, todo programa possui uma estrutura

(7)

; PONTO E VÍRGULA ;

• O sinal de ponto e vírgula “;” indica a

existência de um próximo comando (passa para o próximo).

• Na estrutura ÍNICIO não se usa “;”.

(8)

PRIMEIRO ALGORITMO

• Criar um Algoritmo para ler o nome e as 4 notas bimestrais de um aluno. Em seguida o Algoritmo calcula e escreve a média obtida.

(9)

PRIMEIRO ALGORITMO

ALGORITMO MEDIA_FINAL; VAR

NOTA1, NOTA2, NOTA3, NOTA4, MEDIA: REAL; NOME : CARACTERE [35];

INICIO INICIO

LER (NOME);

LER (NOTA1, NOTA2, NOTA3, NOTA4);

MEDIA := (NOTA1 + NOTA2 + NOTA3 + NOTA4) / 4; ESCREVER (NOME, MEDIA);

(10)

“ASPAS”

• Quando queremos exibir uma mensagem para a tela ou impressora ela deve estar contida

entre aspas, caso contrário, o computador irá identificar a mensagem como Variável

identificar a mensagem como Variável Indefinida.

• Exemplo:

(11)

E1) Escreva um algoritmo que leia um número inteiro pelo teclado e exiba o seu sucessor.

ALGORITMO sucessor; VAR N, SUCN: inteiro; INICIO ESCREVER(“Digite um número”); ESCREVER(“Digite um número”); LER(N); SUCN := N + 1;

ESCREVER(“Sucessor do número digitado =“, SUCN); FIM.

(12)

E2) Escreva um algoritmo que calcule a área de um quadrado de lado L. ALGORITMO áreadeumquadrado; VAR AREA, L : REAL; INICIO

ESCREVER(“Digite o lado do quadrado”); ESCREVER(“Digite o lado do quadrado”); LER(L);

AREA := SQR(L);

ESCREVER(“Área calculada = ”, AREA); FIM.

(13)

E3) Criar um algoritmo para calcular a média de duas variáveis A e B. Mostre na tela o resultado obtido.

ALGORITMO médiaduas; VAR

A, B, media: real; INICIO

ESCREVER(“Digite valor de A”); ESCREVER(“Digite valor de A”); LER(A);

ESCREVER(“Digite valor de B”); LER(B);

media := A + B;

ESCREVER(“Média de A+B =”,media); FIM.

(14)

E4) Ler dois valores para as variáveis A e B, efetuar a troca dos valores de forma que a variável A passe a possuir o valor da variável B e que a variável B passe a possuir o valor da variável A. Apresentar os valores trocados.

ALGORITMO trocadevariaveis; VAR

A, B, C : real; INICIO

ESCREVER(“Digite o valor de A”); ESCREVER(“Digite o valor de A”); LER(A); ESCREVER(“Digite o valor de B”); LER(B); C := A; A := B; B := C;

ESCREVER(“Novo valor de A=”,A); ESCREVER(“Novo valor de B=”,B); FIM.

(15)

E5) Qual o significado de uma atribuição? Supondo A=3 e B=4, quais seriam os valores finais de A, B, e C na seguinte atribuição: C := A * B – 4?

O comando de atribuição é o comando para guardar um determinado valor em uma variável. C := A * B – 4 C := A * B – 4 C := 3 * 4 – 4 C := 12 – 4 C := 8

(16)

{LINHAS DE COMENTÁRIO}

• Podemos inserir em um Algoritmo

comentários para aumentar a compreensão do mesmo, para isso basta que o texto fique entre Chaves “{}”.

entre Chaves “{}”.

• Exemplo:

(17)

SEGUNDO ALGORITMO

• Criar um Algoritmo para ler o raio de uma circunferência e calcular sua área.

Dado: A =PI . R2 Dado: A =PI . R2

(18)

SEGUNDO ALGORITMO

ALGORITMO AREA_CIRCUNFERENCIA; CONST

PI = 3.1416; VAR

RAIO, AREA : REAL; RAIO, AREA : REAL; INICIO

ESCREVER(“Digite o valor do raio”); LER (RAIO); {ENTRADA}

AREA := PI * SQR(RAIO); {PROCESSAMENTO} ESCREVER (“AREA =”, AREA); {SAÍDA}

(19)

E6) A ordem das atribuições é importante? A:=B e C:=A tem o mesmo efeito de C:=A e A:=B?

Sim. Supondo: A:=3 e B:=4 Primeira situação: A:= B C:= A A:= 4 C:= 4 Segunda Situação: C:= A A:= B C:= 3 A:= 4

(20)

E7) Aponte os erros no algoritmo abaixo:

ALGORITMO %ntriplo; VAR

NUM, TRIPLO: inteiro; INICIO ESCREVER(“Digite um número”); Caractere especial Variável errada ESCREVER(“Digite um número”); LER(NUM); TRPLO:= NUM . 3; ESCREVER(“Triplo = ” TRIPLO); FIM. Operador errado Falta virgula

(21)

Algoritmos

Prof. Antonio Tadeu Pellison tadeupellison@gmail.com

(22)

ESTRUTURAS DE DECISÃO

(23)

ESTRUTURAS DE DECISÃO

• Executa uma seqüência de comandos de acordo com o resultado de um teste.

• A estrutura de decisão pode ser Simples ou Composta, baseada em um resultado lógico. Composta, baseada em um resultado lógico.

(24)

ESTRUTURAS DE DECISÃO

• Simples: SE (<<CONDIÇÃO>>) ENTÃO INICIO INICIO <<COMANDO1>>; FIM; 4

(25)

ESTRUTURAS DE DECISÃO

• Composta: SE (<<CONDIÇÃO>> ) ENTÃO INICIO <<COMANDO1>>; <<COMANDO1>>; FIM; SENÃO INICIO <<COMANDO2>>; FIM; 5

(26)

ALGORITMO TRÊS

• Escrever um Algoritmo para ler 2 números e escrever o maior.

(27)

ALGORITMO ACHA_MAIOR; VAR

A, B : INTEIRO; INICIO

ESCREVER(“Digite dois números:”); LER (A, B);

SE (A>B) ENTÃO

INICIO

ESCREVER (“Maior valor”,A); ESCREVER (“Maior valor”,A); FIM;

SENÃO INICIO

ESCREVER (“Maior valor”,B); FIM;

FIM.

(28)

ALGORITMO QUATRO

• Criar um Algoritmo que leia o nome e as 4 notas bimestrais de um aluno. Em seguida o Algoritmo calcule e escreve a média obtida

pelo aluno escrevendo também se o aluno foi pelo aluno escrevendo também se o aluno foi aprovado ou reprovado.

• Média para aprovação >= 6

(29)

ALGORITMO MEDIA_FINAL; VAR

NOTA1, NOTA2, NOTA3, NOTA4, MEDIA: REAL; NOME : CARACTERE [35];

INICIO

ESCREVER(“Digite nome e quatro notas bimestrais”); LER (NOME);

LER (NOTA1, NOTA2, NOTA3, NOTA4);

MEDIA := (NOTA1 + NOTA2 + NOTA3 + NOTA4) / 4; SE (MEDIA>=6) ENTÃO ENTÃO INICIO ESCREVER (“APROVADO”); FIM; SENÃO INICIO ESCREVER (“REPROVADO”); FIM;

ESCREVER (“Nome e média”,NOME, MEDIA);

(30)

E1) Ler dois valores numéricos, efetuar a adição e apresentar o ser resultado caso o valor somado seja maior que 10.

ALGORITMO adicaodedois; VAR A,B,soma:REAL; INICIO ESCREVER(“Digite valores de A e B”); LER(A,B); soma:=(A+B); soma:=(A+B); SE (soma>10) ENTAO INICIO ESCREVER(“Resultado =”,soma); FIM; FIM. 10

(31)

E2) Faça um algoritmo que leia a idade em anos de 3 pessoas e determine se a média das idades é ou não maior ou igual a 50 anos.

ALGORITMO idade50; VAR

idadep1,idadep2,idadep3,media:real; INICIO

ESCREVER(“Digite a idade de três pessoas”); LER(idadep1,idadep2,idadep3); media:=(idadep1+idadep2+idadep3)/3; media:=(idadep1+idadep2+idadep3)/3; SE(media>=50) ENTAO INICIO

ESCREVER(“Media das idades MAIOR ou igual a 50”, media); FIM;

SENAO INICIO

ESCREVER(“Media das idades MENOR que 50”, media); FIM;

FIM.

(32)

E3) Ler dois valores numéricos, efetuar a adição. Caso o valor somado seja maior ou igual a 10, este deverá ser apresentado somando-se a ele mais 5; caso o valor somado não seja maior ou igual a 10, este deverá ser apresentado subtraindo-se 7.

ALGORITMO somasub10; VAR A,B,SOMA:REAL; INICIO ESCREVER(“Digite valores de A e B”); LER(A,B); SOMA:=(A+B); SOMA:=(A+B); SE(SOMA>=10) ENTAO INICIO SOMA:=SOMA+5; FIM; SENAO INCIO SOMA:=SOMA-7; FIM; ESCREVER(“Resultado =”,SOMA); FIM. 12

(33)

E4) Ler dois valores numéricos e apresentar a diferença do maior para o menor. ALGORITMO valordif; VAR A,B,DIF:REAL; INICIO ESCREVER(“Digite valores de A e B”); LER(A,B); SE(A>B) ENTAO ENTAO INICIO DIF:=(A-B); FIM; SENAO INCIO DIF:=(B-A); FIM; ESCREVER(“Resultado = ”,DIF); FIM. 13

(34)

NINHOS DE SE

Usados para tomadas de decisões para mais de 2 opções. Forma Geral: SE (<<CONDIÇÃO>>) ENTÃO INICIO <<COMANDO1>>; FIM; SENÃO INICIO SE (<<CONDIÇÃO>>) SE (<<CONDIÇÃO>>) ENTÃO INICIO <<COMANDO1>>; FIM; SENÃO INCIO <<COMANDO1>>; FIM; FIM; 14

(35)

ALGORITMO CINCO

• Criar um Algoritmo para ler 3 números e escrever o maior.

(36)

ALGORITMO ACHA_MAIOR; VAR A, B, C : INTEIRO; INICIO ESCREVER(“Digite três números”); LER (A, B, C); SE (A>B) E (A>C) ENTÃO INCIO ESCREVER (A); FIM; SENÃO INICIO SE (B>A) E (B>C) SE (B>A) E (B>C) ENTÃO INICIO ESCREVER (B); FIM; SENÃO INICIO ESCREVER (C); FIM; FIM; FIM. 16

(37)

E5) Elabore um algoritmo que, dada a idade de um nadador, classifique-o em uma das seguintes categorias:

bebe - <= 4 anos;

infantil - 4 <infantil<= 10 anos; juvenil - 10 <juvenil<= 17 anos; sênior - maiores de 17 anos.

sênior - maiores de 17 anos.

(38)

ALGORITMO nadador; VAR

idade : REAL; INICIO

ESCREVER(“Digite idade do nadador”); LER(IDADE); SE(idade<=4) ENTAO INCIO ESCREVER(“bebe”); FIM; SENAO INICIO SE (idade>4) E (idade<=10) ENTAO INICIO INICIO ESCREVER(“infantill”); FIM; SENAO INCIO SE(idade>10) E (idade<=17) ENTAO INICIO ESCREVER(juvenil”); FIM; SENAO INICIO ESECREVER(“senior”); FIM; FIM; FIM; FIM. 18

(39)

E6) Efetuar a leitura de três valores (variáveis A, B e C) e, apresentar os valores dispostos em ordem decrescente.

(40)

ALGORITMO emordemdecrescente; VAR A,B,C: REAL; INICIO ESCREVER(“Digite três números”); LER(A,B,C); SE(A>B) E (A>C) ENTAO INICIO SE(B>C) ENTAO INCIO ESCREVER(A,B,C); FIM; INICIO SE (B>A)E(B>C) ENTAO INICIO SE(A>C) ENTAO INCIO ESCREVER(B,A,C); FIM; SENAO INCIO ESCREVER(B,C,A); FIM; FIM; SENAO INCIO FIM; SENAO INCIO ESCREVER(A,C,B); FIM; FIM: SENAO INCIO SE(A>B) ENTAO INICIO ESCREVER(C,A,B); FIM; SENAO INICIO ESECREVER(C,B,A); FIM; FIM; FIM; FIM. 20

(41)

ESTRUTURA DE REPETIÇÃO

INDETERMINADA COM VALIDAÇÃO

INICIAL

(42)

ESTRUTURA DE REPETIÇÃO INDETERMINADA COM VALIDAÇÃO INICIAL

• É usada para repetir N vezes uma ou mais instruções.

• Tendo como vantagem o fato de não ser

necessário o conhecimento prévio do número necessário o conhecimento prévio do número de repetições.

(43)

ESTRUTURA DE REPETIÇÃO INDETERMINADA COM VALIDAÇÃO INICIAL

• Forma Geral: ENQUANTO (<<CONDIÇÃO>>) ÍNICIO <<COMANDO1>>; <<COMANDO1>>; <<COMANDON>>; FIM; 23

(44)

ALGORITMO SEIS

• Desenvolver um algoritmo que calcule a soma dos salários dos funcionários de uma

empresa. O programa termina quando o usuário digitar um salário menor que 0. usuário digitar um salário menor que 0.

(45)

ALGORITMO SOMA_SALARIOS; VAR

SOMA, SALARIO : REAL; INICIO SOMA:=0; SALARIO:=1; ENQUANTO (SALARIO>=0) INICIO ESCREVER(“Digite salário”); LER (SALARIO); SE(SALARIO>0) SE(SALARIO>0) ENTAO INICIO SOMA:=SOMA+SALARIO; FIM; FIM; ESCREVER (SOMA); FIM. 25

(46)

Exercício

• Pedir a leitura de um valor para a variável X, multiplicar este valor por 3, implicando-o à variável R e apresentar o valor de R obtido, repetindo esta sequência por cinco vezes. repetindo esta sequência por cinco vezes.

(47)

ALGORITMO tresnumeros; VAR X,R,I: INTEIRO; INÍCIO I := 1; ENQUANTO (I<=5) INÍCIO ESCREVER(“Digite um número”); ESCREVER(“Digite um número”); LER(X); R: = X * 3; ESCREVER( R); I: = I + 1; FIM; FIM. 27

(48)

E7) Construir um algoritmo para gerar a seguinte série: 1, 3, 5, 7, 9, 11,... Para os vinte primeiros termos.

(49)

ALGORITMO serie; VAR

I, nov_t, t_ant : INTEIRO; INICIO I:=1; nov_t:=1; ENQUANTO (I<=20) INICIO INICIO ESCREVER(nov_t); t_ant := nov_t; nov_t := t_ant + 2; I := I + 1; FIM; FIM. 29

(50)

E8) Faça um algoritmo para gerar os 20

primeiros termos da sequencia: 1, 1, 2, 3, 5, 8, 13, 21,..

(51)

ALGORITMO seriefibo; VAR

I, ANT1, ANT2, NOV : INTEIRO; INICIO I := 0; ANT1 := 1; ANT2 := 2; ESCREVER(ANT1, ANT2); ENQUANTO (I<=20) INICIO INICIO

NOV := ANT1 + ANT2; ANT1 := ANT2; ANT2 := NOV; ESCREVER(NOV); I := I + 1; FIM; FIM. 31

(52)

E9) Apresentar o total da soma obtido dos cem primeiros números inteiros

(1+2+3+4+...+99+100).

(53)

ALGORITMO soma100; VAR SOMA, I : INTEIRO; INICIO I := 1; SOMA := 0; ENQUANTO (I<=100) INICIO SOMA := I + SOMA; I := I + 1; FIM; FIM. 33

(54)

E10) Apresentar os resultados de uma tabuada de um número qualquer. Esta deverá ser

mostrada no seguinte formato: 2 x 1 = 2 2 x 2 = 4 2 x 3 = 6 .. . 2 x 10 = 20 34

(55)

ALGORITMO tabuada; VAR T, R, I : INTEIRO; INICIO ESCREVER(“Qual tabuada?”); LER(T); I := 1; ENQUANTO (I<=10) INICIO INICIO R := T * I; ESCREVER(T); ESCREVER(“x”, I); ESCREVER(“=”,R) I := I + 1; FIM; FIM. 35

Referências

Documentos relacionados

Neste artigo caracteriza-se o PMAT, um teste estandardi- zado de conhecimentos de matemática, descreve-se o pro- cesso da sua construção e apresenta-se alguns resultados obtidos com

O hormônio da gravidez pode ter uma con- formação espacial (formato) muito semelhante ao da insulina. Dessa forma, o hormônio da gra- videz liga-se a receptores para insulina. Ocorre

No 1T19 o caixa gerado nas atividades operacionais de R$247,6 milhões foi destinado para: investimentos em imobilizados e intangíveis no valor de R$14,6

a) em 18 g de água existem 2 átomos de hidrogênio e um átomo de oxigênio. c) em 18 g de água existe um número de átomos igual ao de Avogadro. d) a partir de 18 g de água podem

Consulta as condições Desde Service Reparação no momento XIAOMI REDMI 6A Smartphone 1226380 Câmara 5 mpx Frontal 13 mpx Traseira Ecrã 5.45&#34; HD+ Memória RAM 2GB Capacidade

Portanto, a menor medida do ângulo possível em que se deve girar a tela para retornar à posição original é de 135º no sentido horário.. QUESTÃO 46:

Cartografia do grafite carioca : transgressão, cooptação e mercado na Zona Sul do Rio de Janeiro / Hely Geraldo Costa Júnior ; orientadora: Denise Berruezo Portinari.. Rio

João Camillo Penna apontou essa questão num texto no qual analisou o testemunho de Rigoberta Menchú, ativista política indígena guatemalteca que num procedimento semelhante