Escolar Documentos
Profissional Documentos
Cultura Documentos
F
INSTITUTO MÉDIO POLITÉCNICO “O PENSADOR DO FUTURO”
Conteúdo
1.1 Conceitos básicos sobre Software
1.2 Tipos de linguagens de programação
1.2.1 Linguagem de baixo nível
1.2.2 Linguagem de alto nível
1.3 Conceitos sobre compilador e interpretador
Objectivos
Dar a conhecer aos alunos os objectivos da disciplina.
Introduzir aos alunos as noções globais sobre softwares, os
conceitos sobre linguagens de baixo níveis e linguagens de altos
níveis.
Ensinar aos alunos os principais conceitos sobre programas
tradutores e as ferramentas e componentes de desenvolvimento
de softwares.
Recursos.
Manual do Aluno
Gravuras/Fotografias
Vídeos
Linguagem Natural
Além do fato de o computador necessitar que lhe instruam com ações bem
específicas, estas ações devem ser passadas para o computador numa
linguagem que ele possa entendê-las, chamada linguagem de máquina. Esta
linguagem é composta somente por números, representados de forma
binária, que, sob o ponto de vista do computador, representam as
operações e os operandos que serão usados no processamento do
programa. Para um ser humano, a linguagem de máquina é dificílima de se
compreender. Assim, existe uma linguagem representada por comandos mas
que reproduz as tarefas que serão executadas dentro do computador, a
linguagem de montagem (assembly). Entretando, mesmo a linguagem de
montagem é difícil de programar e os programas feitos para um determinado
processador, por conterem instruções específicas deste, não funcionarão em um
processador de outro tipo.
00000000 7F 45 4C 46 01 01 01 00 00 00 00 00 00 00 00 00 .ELF............
00000010 02 00 03 00 01 00 00 00 D0 82 04 08 34 00 00 00 ............4...
00000020 BC 0C 00 00 00 00 00 00 34 00 20 00 07 00 28 00 ........4. ...(.
00000030 24 00 21 00 06 00 00 00 34 00 00 00 34 80 04 08 ..!.....4...4...
00000040 34 80 04 08 E0 00 00 00 E0 00 00 00 05 00 00 00 4...............
Figura 2 Compilação: o programa em linguagem de programação é transformado em instruções em linguagem de máquina (que o
processador pode executar).
Linguagens de Programação
Por exemplo, o código de máquina da seção passada foi gerado pelo programa
a seguir, escrito na linguagem de programação C. Esse programa, depois de
compilado, escreve frase “Olá Mundo” no monitor. A compilação, isto é, a
tradução do programa em C para linguagem de máquina, produz algo parecido
com o que foi é mostrado na seção anterior, para o caso de um processador da
família 80386, usados em PCs.
#include <stdio.h>
int main(){ printf("Olá
Mundo\n");
}
Pseudocódigo
#include <stdio.h>
int main(){
int x, y; // isto é um cometário de linha
/* isto é um comentário de bloco
*/
printf("\ndigite x:"); scanf("%i",&x);
printf("\ndigite y:"); scanf("%i",&y);
if (x>y) {
printf("x é maior\n");
} else if (x<y) { printf("y é
maior\n");
} else { printf("x e y são iguais\n");
2 Os textos escritos dentro de linhas e/ou blocos de comentários são ignoradoas pelo compilador e
servem para que o programador mantenha o código documentado
}
}
Objetivos:
• Compreender os conceitos relacionados aos algorítmos
• Estruturar a codificação básica de um Algoritmo
• Reconhecer os elementos da estrutura de um Algoritmo
• Elaborar de forma autónoma um algorítmo de forma correta.
Recursos:
• Computador com o Interpretador instalado
• Vídeos
• Manual do Aluno
• Atividades de consolidação
Aula # 2 ALGORITMOS
O que é um algoritmo?
Um Algoritmo é...
É uma linguagem intermediária entre a linguagem humana e as
linguagens de programação;
É utilizado para representar a solução de um problema;
Descrevem instruções a serem executadas pelos computadores.
Nota bem: É a especificação de uma sequência ordenada de instruções, finitas e
não-ambíguas, que deve ser seguida para a solução de um determinado problema,
garantindo a sua repetibilidade.
▪ Manuais de instrução;
▪ Roteiros de realização de tarefas específicas.
Um dos vários exemplos do uso de algoritmos no nosso dia a dia são as
receitas culinárias, pois estas possuem um conjunto de passos que devem ser
seguidos para obter o resultado esperado.
Algoritmo computacional
Para que um computador possa desempenhar uma tarefa é necessário que esta
seja detalhada, passo a passo, em uma linguagem compreensível pela máquina,
por meio de um... Programa.
Propriedades essenciais
Um Algoritmo deve ser:
ATIVIDADES 2
Individual (A contar como avaliação e deve ser entregue no dia seguinte)
1. O que entendes por algorítmo?
2. Qual é a sua utilidade no seu dia à dia?
3. Quais são as características de um algorítmo?
4. Qual é a relação entre um computador, um progrma e um algorítmo?
5. Faça um algorítmo para fazer deposito no banco.
6. Faça um algorítmo para desmontar o peneu de um carro.
FORMAS DE REPRESENTAÇÃO
Fluxograma
Algoritmo Calculo_Media
Início
Escreva “Aprovado”;
Senão
Escreva “Reprovado”;
Fim_se
Fim
Aspecto positivo Aspecto negativo
Representação clara sem as As regras do pseudocódigo devem ser
especificações de linguagem de aprendidas.
programação.
Instruções e Dados
Instruções Dados
Coordenam o funcionamento do São as informações a serem
computador, determinando a processadas pelo computador.
maneira como os dados devem ser
tratados.
Tipos de Dados
Os dados podem ser do tipo:
Numérico;
Literal;
Lógico.
Dados Numéricos
Dados Literais
Os dados literais são sequência de caracteres que podem ser letras, dígitos e
símbolos especiais.
São representados nos algoritmos, pelo delimitador aspas (“) no seu início e
término.
Exemplos:
Dados Lógicos
Os dados lógicos são usados para representar os dois únicos valores lógicos
possíveis: Verdadeiro e Falso. o Seus pares valores podem representados por
meio de outros tipos, como: sim/ não, 1/0, true/false.
Conteúdos:
• Conceitos de Constantes e Variáveis
• Comandos de Entrada e Saída de Dados
• Conceitos de Tipos de Operadores
Recursos:
• Computador com o Interpretador instalado
• Vídeos
• Manual do Aluno
• Atividades de consolidação
CONSTANTES E VARIÁVEIS
pi (π): 3,1415926
Nome Deve começar com uma letra e não deve conter nenhum
carácter especial, exceto o underline (_).
Tipo de dados Pode ser do tipo numérico, literal ou lógico.
Informação De acordo com o tipo de dado definido.
Exemplos:
Atribuição de valores
É utilizada para atribuir um valor a uma variável, ou seja, para armazenar um
determinado conteúdo em uma variável;
A operação de atribuição, geralmente, é representada, nos algoritmos, por uma
seta apontando para a esquerda.
Exemplos:
19
Aula # 05 - ENTRADA E SAÍDA DE DADOS
Leia Escreva
A instrução Leia é utilizada quando se A instrução Escreva é utilizada para
deseja obter informações do usuário por mostrar informações na tela do
meio do teclado, ou seja, é um computador, ou seja, é um Comando de
Comando de Entrada de Dados. Saída de Dados.
Lendo instruções
Sintaxe:
leia (variável);
Escrevendo instruções
Sintaxe:
escreva (variável);
Comentários
Aula # 06 OPERADORES
Tipos de Operadores?
Exemplos:
Unário:
21
-x (o valor armazenado no operando x passa a ser negativo) x++
Obs.:
++ significa adicionar +1 ao valor da variável
-- significa diminuir -1 do valor da variável
Operadores Aritméticos
Operadores Aritméticos
+ / -
Subtração Restou ou módulo Incremento
- % ++
Multiplicação Positivo unário Decremento
* + --
Exemplo:
Algoritmo Calculo_Area_Quadrado
var lado, area :real;
Início Leia lado;
Operadores de Atribuição
Operadores de Atribuição
Atribuição simples Atribuição com subtração Atribuição com divisão
= -= /=
Atribuição com adição Atribuição com Atribuição com módulo
+= multiplicação %=
*=
23
Exemplo:
Algoritmo Calculo_Area_Circulo
var raio, area :real;
real PI = 3.14; Início
Leia raio; area ← (pi)
* (raio)**2;
Escreva “A área do círculo é” + area;
Fim
Operadores Lógicos
Operadores Lógicos
Conjunção Disjunção Negação
e/and/&& ou/or/|| não/not
Exemplo:
Algoritmo Verifica_Aluno_Aprovado
var nota, frequencia :real;
Início
Leia nota, frequencia;
Operadores Relacionais
Operadores Relacionais
== > >=
Diferente Menor Menor ou Igual
Exemplo:
Algoritmo Pode_Tirar_Carteira_de_Motorista
var idade :inteiro;
Início
Leia idade;
if idade >= 18
Escreva “Pode tirar carteira de motorista.";
else
Escreva “Não pode tirar carteira de motorista.";
Fim
25
• Utilizar as Estruturas de Seleção If/Else e Switch/Case
Recursos:
• Computador com o Interpretador instalado
• Vídeos
• Manual do Aluno
• Atividades de consolidação
ESTRUTURAS DE SELEÇÃO
Algoritmo condicional
Funcionamento
If/Else (Se/Então);
Switch/Case (Escolha/Caso)
ESTRUTURA DE SELEÇÃO IF/ELSE
Classificação
Sintaxe no Algoritmo:
Se <comandos>
Então <instruções>;
FimSe
Como funciona?
A condição é verificada a cada passagem pela estrutura IF/SE;
Se a condição for satisfeita (verdadeira), são executadas as instruções entre
chaves (então);
Se a condição NÃO for satisfeita (falso), as instruções entre chaves não são
executadas, sendo executado o código logo após as chaves;
O IF/SE sempre executará o bloco de comando ou instrução única se a
condição entre parênteses retornar um resultado booleano verdadeiro. Caso
contrário, o bloco de comando ou a instrução única não serão executadas.
Exemplo:
Algoritmo
verifica_numero Início
var x, y :inteiro x ← 10
27
y ← 20
Se (x < y) Então
Escreva "X é menor que Y.";
FimSe
Fim
Se <condição> Então
{
<instruções>;
}
Senão
{
<instruções>
}
FimSe
Como funciona?
A condição é verificada a cada passagem pela estrutura IF/SE;
Se a condição for satisfeita (verdadeira), são executadas as instruções entre
chaves do IF/SE;
Se a condição NÃO for satisfeita (falso), são executadas as instruções dentro
das chaves do ELSE/SENÃO;
As instruções do ELSE/SENÃO serão executadas somente quando o valor da
condição do IF/SE for falso.
Exemplo:
Algoritmo
verifica_numero Início
var x, y :inteiro x ← 30
y ← 20
Se (x < y) Então
Senão
Fim
Sintaxe no Algoritmo:
Se <condição> Então
Se <condição> Então
<instruções>;
FimSe
Senão
<instruções>;
FimSe
Exemplo:
Algoritmo novo_salario Início
var salario, novo_salario :real
Se (salario < 500) Então
novo_salario < -- salario 1.20;
Senão
Se (salario <= 1000) Então
novo_salario ← salario 1.10;
Senão
novo_salario ← salario 1.05;
FimSe
FimSe
Fim
29
ESTRUTURA DE SELEÇÃO SWITCH/CASE
Estrutura padrão
Sintaxe no Algoritmo:
Escolha <condição>
Caso1: <expressão>
<instruções>;
Pare;
Caso2: <expressão>
<instruções>;
Pare;
Senão:
<instruções>;
Pare;
FimEscolha
Como funciona?
A variável a ser testada deve ser sempre do tipo inteiro ou literal; o É utilizado
para oferecer várias opções ao usuário, deixando que escolha um valor dentre
vários;
A principal vantagem desse comando é que ele evita uma série de testes com
o comando IF/SE;
Funciona de maneira semelhante ao IF/SE encadeado; o A condição após o
SWITCH/ESCOLHA informa o valor que será
Exemplo:
Algoritmo informa_sexo
Início
var sexo:literal
Escolha (sexo)
Caso ("F"):
Escreva "Sexo feminino";
Pare;
Caso ("M"):
Escreva "Sexo masculino";
Pare;
FimEscolha
Fim
Aula # 08 – Estruturas de Repetição
Conteúdos:
• Conceitos de Estruturas de Repetição
• Funcionamento das Estruturas de Repetição For, While e Do/While
Ao final deste módulo, você será capaz de:
• Identificar a necessidade de utilizar Estruturas de Repetição
• Utilizar as Estruturas de Repetição For, While e Do/While
Recursos:
• Computador com o Interpretador instalado
• Vídeos
31
• Manual do Aluno
• Atividades de consolidação
4.1 ESTRUTURAS DE REPETIÇÃO
Funcionamento
Características
Estrutura padrão
Sintaxe no Algoritmo:
<instruções>
FimPara
Como funciona?
33
o Condição: determina o final do laço (repetição). Normalmente é uma
expressão lógica. É verificada antes da execução do laço. Se for
Verdadeira, as instruções dentro do laço são executadas. Se for Falsa
o laço é finalizado;
o Incremento/decremento: é executado sempre no final do laço,
mudando o valor da variável de controle a cada repetição do laço.
Exemplo:
Algoritmo Imprimir_numeros_de_1_a_100
Início var
contador :inteiro;
Escreva (contador);
FimPara
Fim
Características
Estrutura padrão
Sintaxe no Algoritmo:
Enquanto <condição> Faça
<instruções>
FimEnquanto
Como funciona?
Exemplo:
Algoritmo Imprimir_numeros_de_1_a_10
Início var
contador :inteiro;
contador← 1
← contador +1
FimEnquanto
Fim
35
ESTRUTURA DE REPETIÇÃO DO/WHILE
Características
Estrutura padrão
Sintaxe no Algoritmo:
Faça
<instruções>
} Enquanto <condição>;
Como funciona?
Na primeira vez que o laço for executado todas as instruções dentro deste
serão executadas, independente da condição estabelecida;
Somente após a primeira execução das instruções do laço é que a
expressão será testada;
Depois da primeira execução, as instruções dentro do laço só são executadas
novamente se a condição de validação for Verdadeira.
Exemplo:
Algoritmo Imprimir_numeros_de_1_a_10
Início var
contador :inteiro;
contador ← 1
Faz
Escreva contador;
contador ← contador +1
Enquanto (contador < 10);
Fim
Lista de Exercícios
1 Exercícios de Lógica de Programação (Consulte as aulas 01 e 02)
a) b)
A 10 A 30
B 20 B 20
Escrever B C A+B
B 5 Escrever C
Escrever A, B B 10
Escrever B, C
C A+B
Escrever A, B, C
c) d)
A 10 A 10
B 20 B A+1
C A A B+1
B C B A+1
A B Escrever A
Escrever A, B, C A B+1
Escrever A, B
e) f)
A 10 X 1
B 5 Y 2
C A+B Z Y–X
B 20 Escrever Z
37
A 10 X 5
Escrever A, B, C Y X+Z
Escrever X, Y, Z
A (4/2)+(2/4) e A 4/2+2/4
B 4/(2+2)/4 e B 4/2+2/4
C (4+2)*2-4 e C 4+2*2-4
B 2+(6*(3+2)) G ((3+(8/2))*4)+(3*2)
C 2+(3*6)/(2+4) H (6*(3*3)+6)-10
D 2*(8/(3+1)) I (((10*8)+3)*9)
E 3+(16-2)/(2*(9-2)) J ((-12)*(-4))+(3*(-4))
5) Escreva um algoritmo para ler um valor (do teclado) e escrever (na tela) o
seu antecessor.
C F - 32
---------- = -----------
5 9
Observação: Para testar se a sua resposta está correta saiba que 100oC = 212F
13) Faça um algoritmo que leia três notas de um aluno, calcule e escreva a
média final deste aluno. Considerar que a média é ponderada e que o peso
das notas é 2, 3 e 5. Fórmula para o cálculo da média final é:
n1 * 2 + n2 * 3 + n3 * 5
mediafinal = -----------------------------------
10
14) Ler um valor e escrever a mensagem É MAIOR QUE 10! se o valor lido for
maior que 10, caso contrário escrever NÃO É MAIOR QUE 10!
16) As maçãs custam R$ 1,30 cada se forem compradas menos de uma dúzia,
e R$ 1,00 se forem compradas pelo menos 12. Escreva um programa que
39
leia o número de maçãs compradas, calcule e escreva o custo total da
compra.
18) Ler o ano atual e o ano de nascimento de uma pessoa. Escrever uma
mensagem que diga se ela poderá ou não votar este ano (não é necessário
considerar o mês em que a pessoa nasceu).
19) Ler dois valores (considere que não serão lidos valores iguais) e escrever o
maior deles.
20) Ler dois valores (considere que não serão lidos valores iguais) e escrevê-los em
ordem crescente.
21) Ler a hora de início e a hora de fim de um jogo de Xadrez (considere apenas
horas inteiras, sem os minutos) e calcule a duração do jogo em horas,
sabendo-se que o tempo máximo de duração do jogo é de 24 horas e que o
jogo pode iniciar em um dia e terminar no dia seguinte.
24) Ler o salário fixo e o valor das vendas efetuadas pelo vendedor de uma
empresa. Sabendo-se que ele recebe uma comissão de 3% sobre o total
das vendas até R$ 1.500,00 mais 5% sobre o que ultrapassar este valor,
calcular e escrever o seu salário total.
25) Faça um algoritmo para ler: número da conta do cliente, saldo, débito e
crédito. Após, calcular e escrever o saldo atual (saldo atual = saldo - débito
+ crédito). Também testar se saldo atual for maior ou igual a zero escrever
a mensagem 'Saldo Positivo', senão escrever a mensagem 'Saldo
Negativo'.
28) Ler 3 valores (considere que não serão informados valores iguais) e escrever o
maior deles.
29) Ler 3 valores (considere que não serão informados valores iguais) e escrever a
soma dos 2 maiores.
30) Ler 3 valores (considere que não serão informados valores iguais) e escrevê-los
em ordem crescente.
32) Ler o nome de 2 times e o número de gols marcados na partida (para cada
time). Escrever o nome do vencedor. Caso não haja vencedor deverá ser
impressa a palavra EMPATE.
33) Ler dois valores e imprimir uma das três mensagens a seguir:
41
‘Números iguais’, caso os números sejam iguais
‘Primeiro é maior’, caso o primeiro seja maior que o
segundo; ‘Segundo maior’, caso o segundo seja
maior que o primeiro.
37) Uma fruteira está vendendo frutas com a seguinte tabela de preços:
Até 5 Kg Acima de 5 Kg
Morango R$ 2,50 por Kg R$ 2,20 por Kg
Maçã R$ 1,80 por Kg R$ 1,50 por Kg
Se o cliente comprar mais de 8 Kg em frutas ou o valor total da compra
ultrapassar R$ 25,00, receberá ainda um desconto de 10% sobre este total.
Escreva um algoritmo para ler a quantidade (em Kg) de morangos e a
quantidade (em Kg) de maças adquiridas e escreva o valor a ser pago pelo
cliente.
38) Faça um algoritmo para ler um número que é um código de usuário. Caso
este código seja diferente de um código armazenado internamente no
algoritmo (igual a 1234) deve ser apresentada a mensagem ‘Usuário
inválido!’. Caso o Código seja correto, deve ser lido outro valor que é a
senha. Se esta senha estiver incorreta (a certa é 9999) deve ser mostrada a
mensagem ‘senha incorreta’. Caso a senha esteja correta, deve ser
mostrada a mensagem ‘Acesso permitido’.
a) (A e B) ou (A xou B)
b) (A ou B) e (A e C)
c) A ou C e B xou A e não B
43
- Se quantidade > 5 e quantidade <=10 o desconto será de 3%
- Se quantidade > 10 o desconto será de 5%
41) Faça um algoritmo para ler as 3 notas obtidas por um aluno nas 3
verificações e a média dos exercícios que fazem parte da avaliação.
Calcular a média de aproveitamento, usando a fórmula abaixo e escrever o
conceito do aluno de acordo com a tabela de conceitos mais abaixo:
N1 + N2 * 2 + N3 * 3 + Média_dos_Exercícios
Média_de_Aproveitamento =
---------------------------------------------------------
7
A atribuição de conceitos obedece a tabela abaixo:
Média de Aproveitamento Conceito
> = 9,0 A
> = 7,5 e < 9,0 B
> = 6,0 e < 7,5 C
< 6,0 D
Com base nas informações acima, faça um algoritmo que leia: o número do
empregado (código), o ano de seu nascimento e o ano de seu ingresso na
empresa. O programa deverá escrever a idade e o tempo de trabalho do
empregado e a mensagem 'Requerer aposentadoria' ou 'Não requerer'.
43) Seja o seguinte algoritmo:
inicio ler a, b, c se (a < b+c) e
(b <a+c) e (c <a+b) então se
(a=b) e (b=c) então mens
'Triângulo Equilátero'
senão se (a=b) ou (b=c) ou
(a=c) então mens
'Triângulo Isósceles'
senão mens
'Triângulo
Escaleno'
fim_se
fim_se
senão mens 'Não e possível formar um
triângulo'
fim
_se
esc
rev
er
men
s
fim
a b C Mens
1 2 3
3 4 5
2 2 4
4 4 4
5 3 3
44) Escreva um algoritmo para ler 2 valores e se o segundo valor informado for
ZERO, deve ser lido um novo valor, ou seja, para o segundo valor não pode ser
aceito o valor zero e imprimir o resultado da divisão do primeiro valor lido
pelo segundo valor lido. (utilizar a estrutura REPITA).
45
48) Escreva um algoritmo para ler as notas da 1a. e 2a. avaliações de um
aluno, calcule e imprima a média (simples) desse aluno. Só devem ser
aceitos valores válidos durante a leitura (0 a 10) para cada nota.
54) Modifique o exercício anterior para aceitar somente valores maiores que 0 para
N. Caso o valor informado (para N) não seja maior que 0, deverá ser lido
um novo valor para N.
56) Ler um valor inteiro (aceitar somente valores entre 1 e 10) e escrever a
tabuada de 1 a 10 do valor lido.
59) Ler 10 valores e escrever quantos desses valores lidos são NEGATIVOS.
60) Ler 10 valores e escrever quantos desses valores lidos estão no intervalo
[10,20] (inlcuindo os valores 10 e 20 no intervalo) e quantos deles estão
fora deste intervalo.
61) Ler 10 valores, calcular e escrever a média aritmética desses valores lidos.
62) Ler o número de alunos existentes em uma turma e, após isto, ler as notas
destes alunos, calcular e escrever a média aritmética dessas notas lidas.
64) Escreva um algoritmo para ler 10 números. Todos os números lidos com
valor inferior a 40 devem ser somados. Escreva o valor final da soma
efetuada.
65) Ler 2 valores, calcular e escrever a soma dos inteiros existentes entre os 2
valores lidos (incluindo os valores lidos na soma). Considere que o
segundo valor lido será sempre maior que o primeiro valor lido.
66) O mesmo exercício anterior, mas agora, considere que o segundo valor
lido poderá ser maior ou menor que o primeiro valor lido, ou seja, deve-se
testá-los.
67) Faça um algoritmo que calcule e escreva a média aritmética dos números
inteiros entre 15
69) O mesmo exercício anterior, mas agora não será informado o número de
mercadorias em estoque.
Então o funcionamento deverá ser da seguinte forma: ler o valor da mercadoria
e perguntar ‘MAIS MERCADORIAS (S/N)?’. Ao final, imprimir o valor total em
estoque e a média de valor das mercadorias em estoque.
70) Faça um programa que leia 100 valores e no final, escreva o maior e o
menor valor lido.
47
71) Faça um algoritmo para ler uma quantidade e a seguir ler esta quantidade
de números. Depois de ler todos os números o algoritmo deve apresentar
na tela o maior dos números lidos e a média dos números lidos.
73) A prefeitura de uma cidade deseja fazer uma pesquisa entre seus
habitantes. Faça um algoritmos para coletar dados sobre o salário e
número de filhos de cada habitante e após as leituras, escrever: a) Média
de salário da população
b) Média do número de filhos
c) Maior salário dos habitantes
d) Percentual de pessoas com salário menor que R$ 150,00
Obs.: O final da leituras dos dados se dará com a entrada de um “salário
negativo”.
74) Escreva um algoritmo que imprima a tabuada (de 1 a 10) para os números
de 1 a 10.
49