Apostila de Algoritmo e Programacao Basi
Apostila de Algoritmo e Programacao Basi
Apostila de Algoritmo e Programacao Basi
APOSTILA DE ALGORITMO
E PROGRAMAÇÃO BÁSICA
2010
Apostila de Algoritmo e Lógica de Programação – Profª Cristiane Paschoali
Sumário
Algoritmo e Lógica de Programação....................................................................................................3
Linguagens de Programação............................................................................................................3
Quanto ao paradigma..................................................................................................................3
Quanto a estrutura de tipos..........................................................................................................3
Quanto ao grau de abstração.......................................................................................................4
Quanto à geração.........................................................................................................................4
Algoritmos.......................................................................................................................................5
Descrição Narrativa....................................................................................................................6
Fluxograma................................................................................................................................6
Pseudocódigo.............................................................................................................................6
Exercício resolvido: ...................................................................................................................7
Exercícios Propostos...................................................................................................................8
Conceito de Variável........................................................................................................................8
Estrutura Sequencial......................................................................................................................10
Tipos de Variáveis..........................................................................................................................11
Comandos de Entrada e Saída.......................................................................................................12
Operadores e Funções....................................................................................................................13
Exercícios Propostos .........................................................................................................................15
Referências Bibliográficas..................................................................................................................16
Índice de ilustrações
Ilustração 1: Exemplo de fluxograma...................................................................................................7
Ilustração 2: Resolução com fluxograma.............................................................................................9
Índice de tabelas
Tabela 1: Conjunto de símbolos utilizados no fluxograma..................................................................6
Tabela 2: Tipos de variáveis em Algoritmo e em Pascal....................................................................11
Tabela 3: Palavras reservadas em Algoritmo e em Pascal..................................................................12
Tabela 4: Tabela de operadores para cálculos matemáticos...............................................................13
Tabela 5: Tabela de operadores comparativos....................................................................................13
Tabela 6: Funções matemáticas em Pascal.........................................................................................14
2
Apostila de Algoritmo e Lógica de Programação – Profª Cristiane Paschoali
Linguagens de Programação
• Quanto ao paradigma
Diferentes linguagens de programação podem ser agrupadas segundo o paradigma
que seguem para abordar a sua sintaxe:
• Linguagem funcional
• Linguagem natural
• Programação lógica
• Programação imperativa
• Programação estruturada
• Linguagem orientada a objetos
3
Apostila de Algoritmo e Lógica de Programação – Profª Cristiane Paschoali
• Fortemente tipada, como Java, Ruby, onde o tipo da variável, uma vez
atribuído, se mantém o mesmo até ser descartada da memória.
• Dinamicamente tipada, como Perl, Python ou Ruby, onde o tipo da variável é
definido em tempo de execução.
• Estaticamente tipada, como Java e C, onde o tipo da variável é definido em
tempo de compilação.
• Quanto à geração
• Primeira geração, as linguagens de baixo nível (Assembly)
• Segunda geração, as primeiras linguagens (Fortran, ALGOL,...)
• Terceira geração, as procedurais e estruturadas (Pascal, C).
• Quarta geração, linguagens que geram programas em outras linguagens (Java,
C++), linguagens de consulta (SQL).
• Quinta geração, linguagens lógicas (Prolog).
4
Apostila de Algoritmo e Lógica de Programação – Profª Cristiane Paschoali
Para que se desenvolva esses programas, é necessário usar o que se chama lógica de
programação. Lógica de programação é a técnica de encadear pensamentos para atingir
determinado objetivo.
Algoritmos
Assim como as várias atividades podem ser realizadas de formas diferentes, também
não existe somente um algoritmo correto. Algoritmos diferentes, desde que resolvam o
problema proposto, estão corretos.
5
Apostila de Algoritmo e Lógica de Programação – Profª Cristiane Paschoali
• Construir o algoritmo, utilizando uma das formas disponíveis (serão mostradas mais
adiante).
• Testar o algoritmo utilizando simulações.
Vale destacar que os algoritmos devem ser genéricos para o problema proposto, não
importando quais serão os dados de entrada fornecidos.
Descrição Narrativa
Consiste em analisar o enunciado do problema e escrever, utilizando uma linguagem
natural, os passos a serem seguidos para sua resolução. Uma vantagem deste tipo de
algoritmo é sua facilidade, pois não há necessidade de novos conhecimentos para empregá-
lo. Uma desvantagem é a abertura para várias interpretações que a linguagem natural
proporciona.
Fluxograma
Consiste em analisar o enunciado do problema e escrever, utilizando símbolos
gráficos definidos, os passos para a solução do problema. Uma vantagem é a simplicidade
que os elementos gráficos proporcionam para o entendimento. Uma desvantagem é a
necessidade de aprender a simbologia do fluxograma. Para conhecimento da simbologia,
vide tabela 1.
Pseudocódigo
Consiste em analisar o problema e escrever, por meio de regras predefinidas, os
passos a serem seguidos para a resolução. Uma vantagem é a facilidade de transcrição para
a linguagem de programação, bastando conhecer as palavras reservadas da linguagem a ser
utilizadas. Uma desvantagem é a necessidade de aprender as regras do pseudocódigo.
6
Apostila de Algoritmo e Lógica de Programação – Profª Cristiane Paschoali
Símbolo Significado
Símbolo utilizado para indicar que deve ser tomada uma decisão,
apontando a possibilidade de desvios.
Exercício resolvido:
Faça um algoritmo para mostrar o resultado da multiplicação de dois números.
Solução em algoritmo:
Início N1, N2
M = N1 * N2
M Fim
Solução em pseudocódigo:
Algoritmo multiplicação
Declaração de variáveis
Real N1, N2, M
Início
Escrever “Digite os números a serem multiplicados”
Leia N1, N2
7
Apostila de Algoritmo e Lógica de Programação – Profª Cristiane Paschoali
M ← N1 * N2
Escrever M
Fim
Exercícios Propostos
Conceito de Variável
Formação de Identificadores
Identificadores são nomes de variáveis, dos programas, das constantes, das rotinas,
etc. Existem algumas regras básicas para criação desses nomes devem ser seguidas,
principalmente quando estivermos lidando com a linguagem de programação Pascal, para
evitar problemas.
✔ Os caracteres que podem ser utilizados são: letras maiúsculas e minúsculas, números
8
Apostila de Algoritmo e Lógica de Programação – Profª Cristiane Paschoali
e underline.
✔ O primeiro caractere do nome não pode ser um número, deve ser uma letra.
✔ Não podem ser utilizados espaços em branco e caracteres especiais.
✔ Não podem ser utilizadas palavras reservadas da linguagem utilizada.
✔ O nome do programa não poder ter o mesmo nome de qualquer variável utilizada.
Em fluxograma:
Per = 2*Alt +
2*Lar
Area,Per Fim
9
Apostila de Algoritmo e Lógica de Programação – Profª Cristiane Paschoali
Em algoritmo:
Algoritmo Retângulo
Declaração de variáveis
Real Alt,Lar,Area,Per
Início
Escrever “A altura e a largura do retângulo”
Leia Alt,Lar
Area ← Alt*Lar
Per ← 2*Alt + 2*Lar
Escrever Area,Per
Fim
Estrutura Sequencial
Pelo paradigma estruturado, qualquer problema pode ser resolvido utilizando três
estruturas: sequencial, condicional e iterativa (repetição).
Na estrutura sequencial, os passos para a resolução do problema são executados em
sua integridade, um por um, sequencialmente. A estrutura sequencial em algoritmo segue o
seguinte formato:
Algoritmo nome
Declaração de Variáveis
variáveis
Início
Bloco de instruções
Fim
Program nome;
Var
variáveis;
Begin
Bloco de instruções;
End.
Comando de atribuição
10
Apostila de Algoritmo e Lógica de Programação – Profª Cristiane Paschoali
x ← 4*2
x := x + 2
y ← “aula”
y := 'resposta'
Tipos de Variáveis
11
Apostila de Algoritmo e Lógica de Programação – Profª Cristiane Paschoali
O comando de entrada é utilizado para receber dados digitados pelo usuário, sendo
armazenados em variáveis. Em Algoritmo utiliza-se o comando Ler e em Pascal Read.
O comando de saída é utilizado para mostrar os dados na tela ou na impressora. Em
Algoritmo usa-se o comando Escrever e em Pascal Write.
12
Apostila de Algoritmo e Lógica de Programação – Profª Cristiane Paschoali
Operadores e Funções
13
Apostila de Algoritmo e Lógica de Programação – Profª Cristiane Paschoali
Funções Matemáticas
Função Exemplo Comentário
abs abx(x) Obtém o valor absoluto de x.
log log(x) Obtém o logaritmo natural de x.
Obtém a parte inteira do número real armazenado em
trunc trunc(x)
x.
Obtém a parte fracionária do número real
frac frac(x)
armazenado em x.
round round(x) Arredonda x.
sin sin(x) Calcula o seno de x (x deve ser passado em radianos)
Calcula o co-seno de x (x deve ser passado em
cos cos(x)
radianos)
pi pi Retorna o valor de π.
sqrt sqrt(x) Calcula a raiz quadrada de x.
sqr sqr(x) Calcula x elevado ao quadrado.
inc inc(x,y) Incrementa a variável x com o valor da variável y.
dec dec(x,y) Decrementa a variável x com o valor da variável y.
Tabela 6: Funções matemáticas em Pascal
Observação:
• Por não existir operador de potenciação, tem-se:
AB = Exp(B * Ln(A))
Exemplo: 510 = Exp(10 * Ln(5))
14
Apostila de Algoritmo e Lógica de Programação – Profª Cristiane Paschoali
Exercícios Propostos
(Obs.: os exercícios deverão ser resolvidos em fluxograma e algoritmo)
1) Faça um algoritmo que receba três notas e seus respectivos pesos, calcule e mostre a
média ponderada dessas notas.
2) Faça um algoritmo que receba o salário de um funcionário, calcule e mostre o novo
salário, sabendo que este sofreu um aumento de 25%.
3) Faça um algoritmo que receba o salário de um funcionário e o percentual de
aumento, calcule e mostre o valor do aumento e o novo salário.
4) Faça um algoritmo que calcule e mostre a área de um círculo. Áreacirculo = π*R2
5) Faça um algoritmo que receba o valor de um depósito e o valor da taxa de juros,
calcule e mostre o valor do rendimento e o valor total depois do rendimento.
6) Sabe-se que:
1 pé = 12 polegadas
1 jarda = 3 pés
1 milha = 1.760 jardas
Faça um algoritmo que receba uma medida em pés, vaça as conversões a seguir e
mostre os resultados em polegadas, em jardas e em milhas.
7) Faça um algoritmo que receba o ano de nascimento de uma pessoa e o ano atual,
calcule e mostre: a idade dessa pessoa e quantos anos ela terá em 2050.
8) Faça um programa que receba o número de horas trabalhadas e o valor do salário
mínimo, calcule e mostre o salário a receber seguindo as seguintes regras:
- a hora trabalhada vale a metade do salário mínimo;
- o salário bruto equivale ao número de horas trabalhadas multiplicado pelo valor da
hora trabalhada;
- o imposto equivale a 3% do salário bruto;
- o salário a receber equivale ao salário bruto menos o imposto.
15
Apostila de Algoritmo e Lógica de Programação – Profª Cristiane Paschoali
Referências Bibliográficas
16