002 - Algoritmos - Aula 5.1 - Revisao AV1 - Web
-
Upload
leoskinner -
Category
Documents
-
view
371 -
download
18
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
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