002 - Algoritmos - Aula 5.1 - Revisao AV1 - Web

31
AULA REVISÃO AV1 – Prof. LUIZ DI MARCELLO ALGORITMOS – REVISÃO AV1 Prof. LUIZ DI MARCELLO Rio de Janeiro, 17 de Maio de 2011

Transcript of 002 - Algoritmos - Aula 5.1 - Revisao AV1 - Web

AULA REVISÃO AV1 – Prof. LUIZ DI MARCELLO

ALGORITMOS – REVISÃO AV1

Prof. LUIZ DI MARCELLO

Rio de Janeiro, 17 de Maio de 2011

AULA REVISÃO AV1 – Prof. LUIZ DI MARCELLO

• LÓGICA DE PROGRAMAÇÃO

“É a técnica de desenvolver algoritmos (sequências lógicas) para atingir determinados objetivos dentro de certas regras baseadas na Lógica Matemática e que, depois, são adaptados para a Linguagem de Programação utilizada pelo programador para construir seu software“

• PROGRAMA

Um programa é um algoritmo codificado em uma linguagem de programação, isto é, um conjunto de instruções/funções que representam tarefas que serão interpretadas e executadas por um computador

AULA 1

AULA REVISÃO AV1 – Prof. LUIZ DI MARCELLO

• UMA SEQUÊNCIA DE PASSOS (INSTRUÇÕES) BEM DEFINIDAS

• UM ALGORITMO NÃO REPRESENTA NECESSARIAMENTE UM PROGRAMA DE COMPUTADOR, MAS OS PASSOS NECESSÁRIOS PARA REALIZAÇÃO DE UM TAREFA

• PODEM HAVER REPETIÇÃO DE PASSOS, COMPARAÇÕES OU NECESSITAR DE DECISÕES

• DIFERENTES ALGORITMOS PODEM REALIZAR A MESMA TAREFA. POR EXEMPLO, DE QUANTAS FORMAS POSSO ME VESTIR?

ALGORITMO: O QUE É E PARA QUE SERVE? AULA 1

AULA REVISÃO AV1 – Prof. LUIZ DI MARCELLO

• ENTENDER O ENUNCIADO

• IDENTIFICAR OPERAÇÕES NECESSÁRIAS

• ORGANIZAR EM SEQUÊNCIA

• REFLETIR SOBRE A SOLUÇÃO

ETAPAS PARA CONSTRUÇÃO DE UM ALGORITMO

AULA 1

AULA REVISÃO AV1 – Prof. LUIZ DI MARCELLO

• VESTIR_HOMEM_21. Colocar cordão e relógio

2. Vestir cueca

3. Vestir calça

4. Afivelar cinto

5. Vestir camisa e colocá-la

por dentro da calça

6. Calçar meia

7. Calçar sapatos

ALGORITMOS PARA VESTIR

• VESTIR_HOMEM_11. Vestir cueca

2. Calçar meia

3. Vestir camisa

4. Vestir calça

5. Afivelar cinto (camisa por

dentro da calça)

6. Calçar sapatos

7. Colocar cordão e relógio

AULA 1

AULA REVISÃO AV1 – Prof. LUIZ DI MARCELLO

• LINGUAGEM NATURAL depende de quem escreve e de quem lê

• LINGUAGEM GRÁFICA símbolos padronizados

• PSEUDOLINGUAGEM mais próxima de uma linguagem de programação

ALGORITMO: COMO REPRESENTAR?

AULA 1

AULA REVISÃO AV1 – Prof. LUIZ DI MARCELLO

REGISTRO DE FREQUÊNCIA

Assinale a resposta errada:

1) Um algoritmo escrito em linguagem natural não gera ambiguidade2) Um algoritmo escrito em linguagem gráfica independe da língua nativa3) Um algoritmo escrito em pseudolinguagem está mais próximo de uma linguagem de programação

AULA 1

AULA REVISÃO AV1 – Prof. LUIZ DI MARCELLO

Nas linguagens UAL (Unesa Algoritmic Language) , C, C++ e outras, algumas palavras são escritas em minúsculo e não podem ser utilizadas para outro propósito. São palavras que têm significado especial na linguagem. Cada palavra quer dizer alguma coisa e as instruções são executadas através do uso de palavras chaves previamente determinadas. Assinale a opção CORRETA que define tais palavras.

1) Palavras reservadas2) Palavras em formato natural3) Palavras compiladas4) Palavras em formato gráfico

QUESTÕES DE PROVA – AULA 1

AULA REVISÃO AV1 – Prof. LUIZ DI MARCELLO

Um algoritmo pode ser representado de várias maneiras. Assinale a opção CORRETA que representa a linguagem do cotidiano onde a escolha das palavras depende de quem escreve e sua compreensão depende de quem lê.

1) Linguagem natural2) Linguagem gráfica3) Pseudolinguagem4) Linguagem computacional

QUESTÕES DE PROVA – AULA 1

AULA REVISÃO AV1 – Prof. LUIZ DI MARCELLO

prog nome_do_programa

        declaração de variáveis

        código

fimprog

AS LINHAS QUE NÃO DELIMITAM BLOCOS TERMINAM COM PONTO-E-VIRGULA (;)

ESTRUTURA DE UM PROGRAMA UALAULA 2

AULA REVISÃO AV1 – Prof. LUIZ DI MARCELLO

• Declaração:

tipo nome_da_variável;

tipos: int, real, string e lógico;

• Atribuição:

nome_da_variável <- valor;

VARIÁVEISAULA 2

AULA REVISÃO AV1 – Prof. LUIZ DI MARCELLO

+ soma

- subtração

* multiplicação

div divisão inteira

/ divisão real

% resto da divisão inteira

** potenciação

OPERADORESAULA 2

AULA REVISÃO AV1 – Prof. LUIZ DI MARCELLO

• {, [  e ( serão todos parênteses: ( ( (.

• Frações com numeradores ou denominadores com mais de um elemento precisam fazer uso de parênteses

• Operadores sempre estarão presentes, isto é: 2(a + b) não será permitido. Use: 2*(a + b)

• Atenção para a hierarquia das operações matemáticas

LEMBRETES IMPORTANTES AULA 2

AULA REVISÃO AV1 – Prof. LUIZ DI MARCELLO

INTERFACE UAL

NOVO ABRIR SALVAR EXECUTAR

AULA 2

AULA REVISÃO AV1 – Prof. LUIZ DI MARCELLO

REGISTRO DE FREQUÊNCIA

1. Sendo P, Q e R respectivamente 2, 3 e 12, qual o valor de T? T <- 100 * (Q div P) + R;1) 27 2) 112 3) 113 2. Sendo P, Q e R respectivamente 2, 3 e 12, qual o valor de T ? T <- P * R % 5 + R;1) 16 2) 6 3) NRA

AULA 2

AULA REVISÃO AV1 – Prof. LUIZ DI MARCELLO

AULA 2

REGISTRO DE FREQUÊNCIA

3. Tendo em vista os comando da linguagem UAL, responda: Observe os comandos abaixo e assinale a afirmativa correta.imprima "teste";imprima "\nteste";1) Todos os dois produzem a mesma saída. 2) O segundo escreve teste e desce o cursor. 3) O segundo desce o cursor e escreve teste. 4. Tendo em vista os comando da linguagem UAL, responda: Qual dos comandos abaixo desce o cursor e escreve 5? Assinale a afirmativa correta.imprima "\n",2 + 3;imprima "\n2 + 3";1) os dois. 2) o segundo. 3) o primeiro.

AULA REVISÃO AV1 – Prof. LUIZ DI MARCELLO

AULA 2

REGISTRO DE FREQUÊNCIA

5. Tendo em vista os comando da linguagem UAL, responda: Acompanhe no teste de mesa o trecho abaixo e escolha a opção que corresponda aos valores das variáveis depois da execução dos comandos.

int x , y, a, b; real z;a <- 14:b <- 3;x <- a div b;y <- a % b;z <- y / x;

1) x = 4.66666, y = 2, z = 0.4286 2) x = 5, y =2, z = 0.4 3) x = 5, y = 2, z = 0 4) x = 4, y = 2, z = 0.5 5) x = 4, y =2, z = 0 6) Nenhuma das opções anteriores.

AULA REVISÃO AV1 – Prof. LUIZ DI MARCELLO

AULA 3

REGISTRO DE FREQUÊNCIA

1. Qual a solução correta para o enunciado: ler um número inteiro e exibí-lo.a)prog ex int x; imprima x, "\n"; leia x;fimprog 1) A letra b. 2) A letra a. 3) As duas estão corretas. 4) As duas estão erradas.

b) prog ex int x; leia x; imprima x, "\n"; fimprog

AULA REVISÃO AV1 – Prof. LUIZ DI MARCELLO

AULA 3

REGISTRO DE FREQUÊNCIA

2. Acompanhe no teste de mesa o algoritmo abaixo, supondo que o usuário digitou o número 89 e assinale a afirmativa correta.

prog ex int i; leia i; imprima ”O valor de i= i”; fimprog

1) Nada. 2) Imprime: O valor de i = 89 3) Imprime: O valor de i = i

AULA REVISÃO AV1 – Prof. LUIZ DI MARCELLO

AULA 3

REGISTRO DE FREQUÊNCIA

3. Acompanhe no teste de mesa o algoritmo abaixo, supondo que o usuário digitou o número 3 e assinale a afirmativa correta.

prog ex int i, m; leia i; m <- 3 * i; imprima "\n",m; imprima "\n",i*3; fimprog

1) Exibe o número 9 duas vezes. 2) Exibe o número 9 e para com mensagem de erro. 3) NRA.

AULA REVISÃO AV1 – Prof. LUIZ DI MARCELLO

AULA 3

REGISTRO DE FREQUÊNCIA

4. Acompanhe no teste de mesa o algoritmo abaixo, supondo que você digitou 10 para x e 10 para y, e assinale a afirmativa correta.

prog ex int x,y,z; leia x; leia y; x <- x+1; z <- x; z <-z+1; x <- -x; y <- y+1; z <- z-1; x <- x + y-z; imprima "\nx= ",x,"\ty= ", y,"\tz= ",z, "\n";fimprog

1) x = 11, y = 11, z = 11 2) x = -11, y = 11, z = 11 3) x = -10, y = 11, z = 10 4) x = -10, y = 10, z = 10 5) Nenhuma das opções anteriores

AULA REVISÃO AV1 – Prof. LUIZ DI MARCELLO

QUESTÕES DE PROVA – AULAS 2 e 3

Observe o trecho de programa em UAL abaixo. Se entrarmos com os valores a=13 e b=5, os valores das variáveis quociente, resto e divisão serão, respectivamente:

prog operadoresint a,b,quociente,resto;real divisao;leia a;leia b;quociente<- a div b;resto<- a % b;divisao<- a/b;imprima "\n", quociente, "\n", resto, "\n", divisao, "\n";

fimprog

1) 2; 3; 2.62) 3; 2; 2.53) 2; 3; 24) 2.6; 3; 4

AULA REVISÃO AV1 – Prof. LUIZ DI MARCELLO

A UAL (Unesa Algorithmic Language) proporciona algumas facilidades para quem está iniciando na programação, permitindo a escrita de algoritmos. São características básicas dessa linguagem:

1) Os comandos são colocados após o comando prog e antes do fimprog; O nome do algoritmo é obrigatório e só poderá ter letras e números2) Os comandos são colocados antes do comando prog e após o fimprog; O nome do algoritmo é obrigatório e só poderá ter letras e números3) Os comandos são colocados após o comando prog e antes do fimprog; O nome do algoritmo não é obrigatório e poderá ter letras, números e símbolos4) Os comandos são colocados antes do comando prog e abaixo do fimprog; O nome do algoritmo não é obrigatório e só poderá ter letras e números

QUESTÕES DE PROVA – AULAS 2 e 3

AULA REVISÃO AV1 – Prof. LUIZ DI MARCELLO

OH, DÚVIDA CRUEL!!!

Chegou a hora da decisão,

vamos fazer nossas escolhas!

Vamos apresentar a estrutura de decisão:

SE condição

ENTÄO faça isso se condição for Verdadeira

SENÄO ou faça isso se a condição for Falsa

AULA 4

AULA REVISÃO AV1 – Prof. LUIZ DI MARCELLO

EXEMPLOS DE DECISÕES

SE fizer sol ENTÃO vou a praia

SE NÃO chover ENTÃO vou a praia

SE chover ENTÃO vou ao cinema SENÃO vou a praia

SE NÃO chover E eu acordar cedo ENTÃO vou a praia

SE chover OU eu acordar tarde ENTÃO vou ao cinema

AULA 4

AULA REVISÃO AV1 – Prof. LUIZ DI MARCELLO

OPERADORES RELACIONAISPARA AS CONDIÇÕES

== igual

<> diferente

>= maior ou igual

> maior

<= menor ou igual

< menor

&& AND (E)

|| OR (OU)

! NOT (NÃO)

AULA 4

AULA REVISÃO AV1 – Prof. LUIZ DI MARCELLO

REPRESENTAÇÕESLinguagem natural: SE condição ENTÃO ação SENÃO ação

Fluxograma:

No UAL: se (teste_condicional)

{

  ações

}

senao

{

 . ações

}

condiçãocondição

AULA 4

AULA REVISÃO AV1 – Prof. LUIZ DI MARCELLO

EXERCITANDO PARA APRENDER

1) Construa um algoritmo que leia dois números, faça o produto entre eles, compare o resultado com o número 20 e imprima se o “produto é menor ou igual a 100” ou “o produto é maior que 100”

2) Construa um algoritmo que leia o salário bruto de uma pessoa. Se o salário for maior do que R$ 2.500,00, então, o desconto do IR será de 25%, caso contrário o desconto será de 10%. Mostre o salário liquido.

3) Construa um algoritmo que leia três notas de um aluno, calcule a média entre as duas maiores e mostre se o aluno foi ou não aprovado (média maior ou igual a 5 para aprovação).

AULA 4

AULA REVISÃO AV1 – Prof. LUIZ DI MARCELLO

1. Acompanhe no teste de mesa o algoritmo abaixo, supondo que o usuário digitou o número 23 e assinale a afirmativa correta.prog ex int i; imprima "\nNumero inteiro:"; leia i; se( !( i % 5 == 0) ) { imprima "\nAcertou\n"; } senao { imprima "\nErrou\n"; }fimprog

1) Exibiu: Errou 2) Exibiu: Acertou 3) Nada foi exibido

AULA 4

REGISTRO DE FREQUÊNCIA

AULA REVISÃO AV1 – Prof. LUIZ DI MARCELLO

QUESTÕES DE PROVA – AULA 4

Indique a saída do programa UAL mostrado abaixo. Para a saída considere os seguintes valores:

prog prova real A,B,C,D;real X;A<-5.0;B<-3.0;C<-2.0;D<-9.0;se ((A > 2.0) && (B < 7.0)){ X<-((A + 2.0)*(B-2.0));} senao { X <-((A * B) / D * (C + D));} imprima "\nX= ",X;

fimprog

1) 42) 133) 84) 7

AULA REVISÃO AV1 – Prof. LUIZ DI MARCELLO

Com base no algoritmo abaixo, e supondo que os valores entrados para as variáveis a, b, c sejam, respectivamente, 10, 7, 4, pode-se afirmar que o valor impresso da variável d na última linha de comando será:prog prova

real a,b,c,d;leia a;leia b;leia c;d <- 0.0;se (a < b && a < c){d <- a;}senao

{se ( b < c ){d <- b; }senao {d <- c;}}

imprima “\nd = “, d;fimprog

1) 02) 43) 74) 10

QUESTÕES DE PROVA – AULA 4