Académique Documents
Professionnel Documents
Culture Documents
Captulo I
Conceitos Iniciais
1
Professora Luclia Alves de Oliveira
Cada linha do algoritmo podemos chamar de uma instruo, logo, podemos dizer que
um algoritmo um conjunto de instrues.
Assim como fritar um ovo, nos algoritmos computacionais no podemos trocar ou omitir
certas instrues, caso contrrio no obteremos o resultado esperado. Por exemplo, se
omitirmos a instruo acender o fogo, no teremos ao final do algoritmo um ovo frito.
At as coisas mais simples podem ser descritas por um algoritmo. Por exemplo:
2
Professora Luclia Alves de Oliveira
2 se fizer sol
vou praia;
seno
vou estudar;
3 almoar;
4 ver televiso;
5 dormir.
EXERCCIOS
3
Professora Luclia Alves de Oliveira
FASES
4
Professora Luclia Alves de Oliveira
Onde:
ENTRADA: So os dados de entrada do algoritmo.
PROCESSAMENTO: So os procedimentos utilizados para chegar ao resultado final.
SADA: So os dados j processados, os resultados, mostrados na tela do computador
(monitor de vdeo) ou impressora.
Diagrama de Blocos
Processamento em geral
Exemplo: x<- 2+3
PROCESSAMENTO
5
Professora Luclia Alves de Oliveira
EXERCCIOS
6
Professora Luclia Alves de Oliveira
Captulo II
Variveis
Exemplos:
A: inteiro;
X: real;
Nome: string (ou cadeia);
7
Professora Luclia Alves de Oliveira
Tipos de Variveis
Numricas
8
Professora Luclia Alves de Oliveira
Caractere: aquele que armazena apenas uma letra ou dgito, uma string de
comprimento 1. Se usado para armazenar nmero no poder ser utilizado para operaes
matemticas.
Exemplos:
A caractere que armazena uma letra
5 caractere que armazena um nmero
Lgico
Constantes
9
Professora Luclia Alves de Oliveira
Expresses
Operador Funo
+ Somar
- Subtrair
* Multiplicar
/ Dividir
Div Quociente inteiro
Mod Resto da diviso
10
Professora Luclia Alves de Oliveira
Expresso Relacional
Uma expresso relacional uma comparao realizada entre dois valores de mesmo
tipo, tendo como resposta sempre um valor booleano (verdadeiro ou falso). Estes valores so
representados na relao atravs de constantes, variveis ou expresses aritmticas.
Os operadores matemticos so:
Smbolo Descrio
= Igual
<> Diferente
<= Menor ou igual
>= Maior ou igual
> Maior que
< Menor que
Exemplo de relaes:
X=1 y=2 z=5
X *X+Y>Z
1 * 1 +2>5
1 + 2 >5
3 > 5
Resultado desta expresso: FALSO
Expresso Lgica
Uma expresso lgica serve para combinar resultados de expresses aritmticas e/ou
relacionais, variveis e/ou constantes, retornando verdadeiro ou falso.
Como exemplo de operadores lgicos, matematicamente conhecidos temos:
11
Professora Luclia Alves de Oliveira
E And
Ou Or
No Not
E / AND Uma expresso AND (E) verdadeira se todas as condies forem verdadeiras.
12
Professora Luclia Alves de Oliveira
EXERCCIOS
13
Professora Luclia Alves de Oliveira
14
Professora Luclia Alves de Oliveira
CAPTULO III
Comandos Bsicos
Comando de Atribuio
Comando de Entrada
Exemplo:
Leia (n);
Comando de Sada
15
Professora Luclia Alves de Oliveira
desse comando o computador pode emitir os resultados e outras mensagens para o usurio
atravs da tela do computador (monitor) ou uma impressora.
Sintaxe:
Escreva (expresso ou varivel ou constantes);
Exemplos:
Escreva ( Aprender lgica com esta apostila ficou bem mais fcil!);
Escreva ( Digite o seu nome: );
Escreva ( A + B );
Escreva (A mdia das notas = , media);
Exemplo: Algoritmo que l um nome digitado pelo usurio e mostra uma mensagem.
1. Faa um algoritmo que leia dois nmeros, calcule e imprima a soma desses dois
nmeros.
2. Faa um programa que receba dois nmeros reais, calcule e mostre a subtrao do
primeiro nmero pelo segundo.
16
Professora Luclia Alves de Oliveira
3. Faa um programa que receba dois nmeros inteiros, calcule e imprima a diviso do
primeiro nmero pelo segundo.
4. Faa um programa que leia um nmero e informe a metade e o dobro desse nmero.
7. Faa um programa que leia trs notas de um aluno, calcule e imprima a mdia
aritmtica entre essas notas.
9. Faa um programa que receba quatro nmeros inteiros, calcule e mostre a soma
desses nmeros.
10. Faa um programa que receba trs notas e seus respectivos pesos. Calcule e mostre a
mdia ponderada dessas notas.
11. Faa um programa que receba o valor do salrio de um funcionrio. Calcule e mostre o
novo salrio, sabendo-se que este sofreu aumento de 25%.
17
Professora Luclia Alves de Oliveira
CAPTULO IV
Estruturas de Seleo
CONCEITOS
18
Professora Luclia Alves de Oliveira
19
Professora Luclia Alves de Oliveira
Observaes:
- Antes de Else no se usa ponto e vrgula;
- O Begin e o End so obrigatrios somente quando se tem mais de um comando
dentro do If e do Else.
EXERCCIOS Estrutura de Seleo
1. Faa um programa que leia um nmero e informe se o dobro do nmero maior que
35.
3. Faa um programa que leia dois nmeros e informe apenas se o primeiro maior que
o segundo.
4. Faa um programa que leia dois nmeros e informa se o primeiro igual ao segundo.
5. Faa um programa que leia dois nmeros e informe se o primeiro maior, menor ou
igual ao segundo.
20
Professora Luclia Alves de Oliveira
6. Faa um programa que leia trs nmeros e informe qual dos trs o maior.
8. Elabore um algoritmo que leia um nmero e mostre o nmero com a mensagem par
ou mpar.
9. Faa um programa que leia a altura e o sexo de uma pessoa, calcule e imprima seu
peso ideal, utilizando as seguintes frmulas:
Para homens: (72.7 * h) 58
Para mulheres: (62.1 * h) 44.7 (h = altura)
10. Faa um programa que receba quatro notas de um aluno, calcule e imprima a mdia
aritmtica das notas e a mensagem de aprovado para mdia superior ou igual a 7.0 ou
a mensagem de reprovado para mdia inferior a 7.0.
12. A prefeitura do Rio de Janeiro abriu uma linha de crdito para os funcionrios
municipais. O valor mximo da prestao no poder ultrapassar 30% do salrio
bruto. Fazer um algoritmo que permita entrar com o salrio bruto e o valor da
prestao e informar se o emprstimo pode ou no ser concedido.
13. Ler um nmero qualquer e exibir na tela uma mensagem indicando se ele
positivo, negativo ou nulo (zero). Se ele for positivo, exibir tambm a raiz quadrada
deste nmero. Se ele for negativo voc deve escrever uma mensagem dizendo
No possvel calcular a raiz deste nmero.
21
Professora Luclia Alves de Oliveira
14. Ler um nmero inteiro e exibir na tela a mensagem Par se ele for um nmero par,
ou mpar se ele for um nmero mpar.
15. Faa um programa que receba trs notas de um aluno, calcule e mostre a mdia
aritmtica e as mensagens de acordo com a tabela abaixo. Para os alunos de
exame, calcule e mostre a nota que dever ser tirada no exame para aprovao,
considerando que a mdia no exame de 6,0.
MDIA MENSAGEM
[ 0,0 a ] 3,0 Reprovado
[ 3,0 a ] 7,0 Exame
[ 7,0 a 10,0 ] Aprovado
16. Faa um programa que receba trs nmeros e os mostre em ordem crescente.
17. Dados trs valores X, Y e Z, verificar se eles podem ser os lados de um tringulo e,
se forem, verificar se um tringulo eqiltero, issceles ou escaleno. Se eles no
formarem um tringulo informar ao usurio tal situao. Considerar que:
18. Faa um programa que receba o cdigo de origem de um produto e informe a sua
procedncia. A procedncia obedece a seguinte tabela:
Cdigo de origem Procedncia
1 Sul
2 Norte
3 Leste
4 Oeste
5 ou 6 Nordeste
7, 8 ou 9 Sudeste
10 at 20 Centro-oeste
21 at 30 Noroeste
22
Professora Luclia Alves de Oliveira
uma alternativa para quando o algoritmo tiver muitos SEs, deixando o programa
com uma estrutura melhor.
Sintaxe:
Portugus Estruturado Ou
Caso <nome da varivel> seja
Caso <nome da varivel> seja Alvo 1: comando 1;
Alvo 1: comando 1; Alvo 2: comando 2;
Alvo 2: comando 2; Alvo 3: comando 4;
Alvo n: comando n; Seno
Fim; comando 5;
Fim;
Pascal
Ou
Case <nome da varivel> of Case <nome da varivel> of
Alvo 1: comando 1; Alvo 1: comando 1;
Alvo 2: comando 2; Alvo 2: comando 2;
Alvo n: comando n; Alvo 3: comando 4;
End; Else
comando 5;
End;
Observaes:
- No Case tambm pode fazer uso do Else;
- Antes do Else se usa ; (ponto e vrgula);
- O Case no tem Begin, mas, tem End;
23
Professora Luclia Alves de Oliveira
- A varivel que far a verificao dever ser declarada do tipo Integer, Char ou
Boolean.
Incio Begin
Escreva('Idade do nadador: '); Write ('Digite a idade do nadador: ');
Leia (idade); Read(idade);
5..7: Escreva ('Categoria Infantil A'); 5..7: Write ('Categoria Infantil A');
8..10:Escreva ('Categoria Infantil B'); 8..10:Write ('Categoria Infantil B');
11..13:Escreva('Categoria JuvenilA'); 11..13:Write('Categoria Juvenil A');
14..17:Escreva('Categoria JuvenilB'); 14..17:Write ('Categoria Juvenil B');
18..99:Escreva ('Categoria Snior'); 18..99:Write ('Categoria Snior');
Seno Else
Escreva('Idade invlida!'); Write('Idade invlida!');
Fim; //Fim do Caso End; //End do Case
Fim. End.
24
Professora Luclia Alves de Oliveira
2. Faa um programa que leia um nmero digitado pelo usurio e o escreva por extenso
se ele estiver entre 1 e 5 inclusive, caso contrrio mostrar uma mensagem: Opo de
nmero invlida!
25
Professora Luclia Alves de Oliveira
CAPTULO V
Estruturas de Repetio
Vamos supor que nossos algoritmos precisaro ser executados mais de uma vez e,
para que no tenhamos que reescrever trechos idnticos que aumentariam
consideravelmente o tamanho do programa, utilizaremos as estruturas de repetio.
Sintaxe:
Portugus Estruturado: Comando 1;
ENQUANTO condio FAA Comando 2;
INCIO Comando n;
26
Professora Luclia Alves de Oliveira
FIM; Comando 1;
Pascal: Comando 2;
WHILE condio DO Comando n;
BEGIN END;
Exemplo:
Faa um programa que leia vrios nmeros e imprima a metade de cada nmero,
o programa termina quando o 0 (zero) for digitado:
27
Professora Luclia Alves de Oliveira
Sintaxe:
Portugus Estruturado: Pascal
Repita Repeat
comandos; comandos;
At condio; Until condio;
2. O IBGE fez uma pesquisa, ele quer saber quantos dentistas foram entrevistados.
Fazer um programa que pergunte aos entrevistados qual a sua profisso e ao final
diga quantas pessoas foram entrevistadas e quantas so dentistas (considerar
dentista, Dentista e DENTISTA).
28
Professora Luclia Alves de Oliveira
4. Uma pousada estipulou o preo da diria em R$ 40,00 e mais uma taxa de servios
dirios de:
- R$ 15,00, se o nmero de dias for menor que 10;
- R$ 8,00, se o nmero de dias for maior ou igual a 10.
Criar um algoritmo que imprima o nome, o valor da conta de cada cliente e ao final o
total arrecadado pela pousada.
5. Criar um algoritmo que entre com vrios nmeros inteiros e positivos e informe a
quantidade de nmeros mltiplos de 3 (trs). O programa ser encerrado quando o
usurio digitar 0 (zero) ou menos.
6. Criar um algoritmo que entre com vrios nmeros inteiros e positivos e informe a
mdia dos nmeros mltiplos de 3 (trs). O programa ser encerrado quando o
usurio digitar 0 (zero) ou menos.
7. Uma fbrica produz e vende vrios produtos e para cada um deles tem-se o nome,
quantidade produzida e quantidade vendida. Criar um algoritmo que mostre:
- Para cada produto, nome, quantidade no estoque e uma mensagem se o produto
tiver menos de 50 itens no estoque.
8. Faa um programa que leia a idade e a altura de vrias pessoas. Calcule e informe a
mdia das alturas das pessoas com mais de 50 anos. Para encerrar o programa digite
zero para idade.
9. Faa um programa que leia vrios nmeros, quando o zero for digitado o programa
ser finalizado. Mostre no final desse programa a soma dos nmeros positivos, a
soma dos negativos e a soma total dos positivos e negativos juntos.
10. O GDF realizou uma pesquisa entre vrios habitantes do DF, coletando dados sobre o
rendimento familiar e o nmero de filhos de cada famlia. O GDF quer saber:
- A mdia dos rendimentos da populao;
- Mdia do nmero de filhos.
29
Professora Luclia Alves de Oliveira
11. Uma empresa decidiu fazer um levantamento em relao aos candidatos que se
apresentarem para preenchimento de vagas no seu quadro de funcionrios. Suponha
que voc seja o programador dessa empresa, criar um programa que leia para cada
candidato a idade, o sexo e se tem experincia no servio (S ou N). Para encerrar o
programa, digite zero para idade. Calcule e escreva:
- O nmero de candidatos do sexo feminino;
- O nmero de candidatos do sexo masculino;
- A idade mdia dos homens que j tem experincia no servio.
12. Uma empresa classifica seus funcionrios em trs nveis de acordo com um ndice de
produtividade. So eles (1) Excelente, (2) Bom e (3) Regular. Cada nvel acrescenta
um abono ao salrio base do funcionrio, de acordo com a seguinte tabela:
- Excelente 80% do salrio base;
- Bom 50% do salrio base;
- Regular 30% do salrio base.
O programa deve ler a matrcula do funcionrio, seu salrio base e seu nvel de
abono. Calcular e imprimir o salrio a ser pago (salrio a ser pago = salrio base +
abono). O programa ser encerrado quando for digitado 0 para matrcula.
13. Faa um programa que receba vrios nmeros positivos ou negativos, terminada por
zero. O programa deve fornecer como sada, a soma dos nmeros positivos e a soma
dos nmeros negativos.
14. Faa um programa que leia os dados de vrios alunos, contendo o nmero da
matrcula, as trs notas e a freqncia. Calcule e mostre: para cada aluno o nmero
de matricula, a nota final e a mensagem (aprovado ou reprovado); a maior e a menor
nota da turma; o total de alunos reprovados;
15. Faa um programa que receba a idade, a altura e o peso de vrias pessoas. Calcule e
mostre:
A quantidade de pessoas com idade superior a 50 anos;
A mdia das alturas das pessoas com idade entre 10 e 20 anos;
A percentagem de pessoas com peso inferior a 40 quilos entre todas as pessoas
analisadas.
30
Professora Luclia Alves de Oliveira
16. Uma empresa deseja aumentar seus preos em 20%. Faa um programa que leia o
cdigo, o preo de custo de vrios produtos e que calcule o novo preo de cada um
deles. Calcule tambm a mdia de preos com e sem aumento. Mostre o cdigo e o
novo preo de cada produto e, no final, as mdias. A entrada de dados deve terminar
quando for recebido um cdigo de produto menor ou igual a zero.
17. Faa um programa que apresente um menu de opes para clculo das seguintes
operaes entre dois nmeros: adio, subtrao, multiplicao e diviso. O programa
deve permitir a escolha da operao desejada, a entrada dos nmeros, a exibio do
resultado e a volta ao menu de opes. O programa s termina quando for escolhida a
opo de sada.
Sintaxe:
Portugus Estruturado PASCAL
PARA a<-valor inicial AT valor final FAA FOR a := valor inicial AT valor final DO
INCIO INCIO
Comando 1; Comando 1;
Comando 2; Comando 2;
FIM; END;
Observaes:
31
Professora Luclia Alves de Oliveira
Exemplo:
Algoritmo para escrever os nmeros de 1 at 10:
Portugus Estruturado PASCAL
3. Criar um algoritmo que entre com cinco nmeros e imprima o quadrado de cada
nmero.
32
Professora Luclia Alves de Oliveira
7. Entrar com nome, idade e sexo de 10 pessoas. Imprimir o nome se a pessoa for do
sexo masculino e tiver mais de 21 anos.
9. Criar um algoritmo que entre com quatro notas de cada aluno de uma turma de 20
alunos e mostre:
- A mdia de cada aluno;
- A mdia da turma;
- Quantos alunos foram aprovados (mdia 7.0)
11. Criar um algoritmo que deixe escolher qual a tabuada de multiplicar que se deseja
imprimir
33
Professora Luclia Alves de Oliveira
12. Um empresa est fazendo a estatstica de seus funcionrios, ela precisa saber
quantas funcionrias tm com mais de 40 anos para encaminh-las para exames de
mamografia. Fazer um programa que leia o nome, a idade e o sexo de seus 100
funcionrios e imprima o nome se for do sexo feminino e tiver mais de 40 anos.
13. Faa um programa que receba a idade de 10 pessoas. O programa deve calcular e
mostrar a quantidade de pessoas com idade maior que 18 anos.
14. Faa um programa que mostre a tabuada de multiplicao (de 1 a 10) para os 6
primeiros nmeros primos. Ao mudar de uma base para outra o programa deve
mostrar uma mensagem ao usurio e aguardar que alguma tecla seja pressionada
para ento montar a tabuada para a prxima base.
15. Faa um programa que receba a idade de 15 pessoas, calcule e mostre a quantidade
de pessoas em cada faixa etria.
16. Faa um programa que leia uma srie de nmeros positivos inteiros. Calcule e mostre
o maior nmero digitado. A entrada de dados deve terminar quando um nmero
negativo foi digitado.
17. Faa um programa que receba um nmero, calcule e mostre o fatorial desse nmero.
Sabe-se que: n! = 1*2*3*...*(n-1)*n;
0! = 1, por definio.
34
Professora Luclia Alves de Oliveira
ANEXO I
Questes de Raciocnio Lgico:
1. Preencha o quadro a seguir de tal maneira que a soma dos nmeros que ficam
sobre uma linha, ou sobre uma coluna, ou sobre uma diagonal, d sempre 15 e
todos os nmeros t de ser diferentes:
2. Entram num restaurante para jantar trs mulheres, cada uma com duas filhas. S
existiam 7 lugares. Nenhuma ficou de p. Como isso possvel?
4. Dentro de uma caixa fechada, h uma bola branca e uma bola preta. Numa
segunda caixa fechada, h duas bolas brancas e, numa terceira caixa fechada, h
35
Professora Luclia Alves de Oliveira
duas bolas pretas. Cada caixa possui uma etiqueta indicando o contedo das
caixas, mas algum misturou as trs etiquetas de modo que todas as etiquetas
esto erradas. Voc seria capaz de escolher apenas uma das seis bolas de modo
tal que, olhando a sua cor, voc possa dizer o contedo de cada uma das caixas?
ANEXO II
Transferncia de Comandos: Portugus Estruturado para Pascal
36
Professora Luclia Alves de Oliveira
Seno Else
Var ou Variveis Var
37