1 - Introdução À Algoritmos

Fazer download em pdf ou txt
Fazer download em pdf ou txt
Você está na página 1de 8

Introdução à algoritmos

1 - Programação de computadores

1.1 - Algoritmo

Primeira forma de representação da solução de um problema.


Lógica de programação.
Seqüência de passos que visa atingir um objetivo bem definido.
Estrutura seqüencial (começo-meio-fim).
Variáveis e controle (declaração de variáveis, manipulação de variáveis e obtenção do resultado).

1.2 - Código fonte

Tradução de um algoritmo para uma linguagem de programação.


Escrito em uma linguagem específica que precisa ser traduzido para linguagem de máquina para que
possa ser executado.
Linguagem de programação: conjunto de convenções e regras que especificam como transmitir
informações entre pessoas e máquinas. De forma simples, é composta por dois elementos: um
conjunto de símbolos (vocabulário) e um conjunto de regras (gramática) para utiliza-lo. As linguagens
de programação de dividem, basicamente, em linguagens de baixo nível e linguagens de alto nível,
variando a proximidade da representação com a linguagem de máquina, a quantidade e qualidade dos
recursos disponibilizados para a codificação, a facilidade de aprendizagem e a facilidade de
manutenção de código.

1.3 - Compilação ou interpretação

No processor de compilação, um compilador irá ler o código, fazer todas as análises sintáticas do
código escrito pelo programador para, por fim, gerar um arquivo um arquivo executável.
No processo de interpretação, nenhum arquivo ou código é gerado, e sim uma tradução instantânea
em tempo de execução do código escrito pelo programador.

1.4 - Código de máquina

O código de máquina (também chamado de linguagem de máquina), popularmente conhecido como "zeros
e uns", são as instruções que o processador interpreta e executa. São basicamente números que o
processador do computador decodifica afim de executar as operações identificadas pelas intruções escritas
pelo programado.
2 - Técnicas de programação
Na elaboração de programas complexos é necessário utilizar um método sistemático de programação que
permita a obtenção de programas confiáveis, flexíveis e eficientes. Uma proposta de metodologia de
programação estabelece os seguintes passos:

1. Análise do problema.
2. Projeto do programa (algoritmos e estruturas de dados).
3. Implementação (codificação) e teste do programa.

A descrição de um algoritmo pode ser feita através de um pseudocódigo (linguagem algorítmica) ou através
de fluxogramas. A linguagem algorítmica apresenta vantagens sobre o uso de fluxogramas (feitos com
desenhos) pois é mais fácil escrever do que desenhar (na maioria dos casos) e a codificação em uma
linguagem de programação acaba se tornando uma simples transcrição de palavras-chave. O algoritmo
pode ser implementado em qualquer linguagem de programação e essa implementação pode ser trivial ou
mais trabalhosa, dependendo principalmente das características da linguagem escolhida e dos tipos de
dados nela definidos.

3 - Dados
Os dados são representados pelas informações a serem processadas por um computador. Estas
informações são caracterizadas por quatro tipos de dados básicos: inteiros, reais, caracteres e dados
lógicos.

3.1 - Tipos de dados

Inteiros: representam dados numéricos positivos ou negativos sem parte fracionária. Exemplos: 5, 0,
-56.
Reais: representam dados numéricos positivos ou negativos com parte fracionária. Exemplos: 5.9, 0.5,
-30.7.
Caracter: representam seqüências de letras, números e símbolos especiais. Deve ser indicada entre
aspas duplas. Esse tipo de dado também é conhecido como alfanumérico, string, literal ou cadeia de
caracteres. Exemplos: "Ana Luísa", "CD98A", "Fone: 5555-6666", " ", "ab*10".
Lógico: representam os valores VERDADEIRO e FALSO. Esse tipo de dados também é conhecido como
tipo booleano. Exemplos: VERDADEIRO, FALSO.

3.2 - Características de armazenamento

3.2.1 - Variáveis

Todo dado a ser armazenado na memória de um computador deve ser previamente identificado, ou seja,
primeiro é necessário saber qual o seu tipo para depois fazer o seu armazenamento adequado. Estando
armazenado, o dado poderá ser utilizado e manipulado a qualquer momento, sendo que o seu valor pode
variar.

Como a memória comporta o armazenamento de inúmeros dados, cada um deve ser identificado com um
nome. O nome de uma variável identifica uma região específica da memória onde um dado está
armazenado. Esse nome:

Deve iniciar sempre com letra.


Deve ser formado por letras, números ou underline ( _ ).
Deve ser único.
Deve ser significativo.
Não pode conter espaços em branco.
Não pode ser o nome de uma palavra reservada de uma linguagem.
Em geral, não deve ser acentuado ou ter ç.

3.2.2 - Declaração de variáveis em algoritmos

Basicamente, informar o tipo a ser usado e o nome da variável. Se mais de uma variável for declarada em
uma linha, separa-las por vírgula ( , ). Exemplos:

INTEIRO: quantidade;
CARACTER: nome_cliente, data_compra;
REAL: preco_produto, valor_dolar;
LOGICO: resposta;

3.2.3 - Constantes

Representam um dado que não pode ser alterado, ou seja, que é fixo e estável como, por exemplo, o valor
do pi (3.1416).

As constantes são representadas em algoritmos por números ou textos fixos.

3.3 - Manipulação de dados

De acordo com o tipo do dado a ser manipulado, pode ser efetuado um determinado conjunto de
operações.

3.3.1 - Operadores aritméticos

Em algoritmos, os operadores matemáticos que incluem as operações matemáticas mais comuns são
mostrados a seguir.

Operador Símbolo Ação Exemplo

Adição + Soma seus dois operandos x+y

Subtração − Subtrai o segundo operando do primeiro operando x−y

Multiplicação * Multiplica seus dois operandos x*y

Divisão / Divide o primeiro operando pelo segundo operando x/y

3.3.2 - Operadores especiais

Operador Símbolo Ação Exemplo

Potência POT Potência entre operandos POT(2, 3), POT(x, 10)

Raiz quadrada RAIZ Raiz quadrada do operando RAIZ(25), RAIZ(x)

Resto MOD Resto da divisão entre os operandos 9 MOD 4, x MOD 2


3.3.3 - Operador de atribuição

Ao declarar uma variável, ela não possui valor inicial. Deve-se então atribuir um valor a esta variável e então
manipula-la de acordo com o enunciado do problema. Obrigatoriamente, o tipo do valor a ser atribuído e o
tipo da variável devem ser iguais.

Operador Símbolo Função Exemplo

Atribuição ← Atribuição de valor a ← 5;

3.3.4 - Entrada e saída

Muitas vezes, uma variável é declarada no algoritmo e o valor de seu valor não é calculado via fórmula, mas
sim capturado de uma entrada externa (ex.: teclado). Para tanto, utiliza-se o comando LEIA.

Além disso, na maioria das vezes, um resultado armazenado em uma variável ou de uma expressão deve
ser divulgado ao usuário (ex.: monitor). Para tanto, utiliza-se o comando ESCREVA.

4 - Regras para o desenvolvimento de algoritmos


1. Ler o enunciado.
2. Entender o enunciado.
3. A partir do enunciado, identificar as variáveis explícitas e implícitas do problema.
4. A partir do enunciado, identificar o tipo e a ordem de processamento das variáveis.
5. Declarar o algoritmo com um nome único e significativo.
6. Sempre identar corretamente o algoritmo e seguir uma sintaxe/semântica pré-definida.
7. Iniciar a escrita do algoritmo pela criação das variáveis.
8. Identificar os valores iniciais das variáveis.
9. Efetuar a manipulação das variáveis, com uso de estruturas de decisão, repetição, leitura de valores,
aplicação de fórmulas, apresentação de resultados, entre outros.
10. Efetuar o teste de mesa comparando o que foi feito com o que foi passado no enunciado.
11. Corrigir eventuais falhas.

5 - Estrutura genérica de um algoritmo

ALGORITMO nome_do_algoritmo
VAR
/* declaração de variáveis */
INICIO
/* inicialização de variáveis */
/* desenvolvimento (fórmulas, estruturas de decisão ou repetição, ...) */
FIM
5.1 - Exemplo 1

Elaborar um algoritmo que leia dois números inteiros e calcule sua soma.

Variáveis explícitas:

Dois números (num1, num2).


Tipo: inteiro.
Valor inicial: leitura do teclado.

Variáveis implícitas:

Resultado da soma (soma).


Tipo: inteiro.
Valor inicial: resultado da soma.

Processamento:

Ler dois valores quaisquer, calcular a soma, apresentar a soma.

Algoritmo:

ALGORITMO soma_de_dois_numeros
VAR
INTEIRO: num1, num2, soma;
INICIO
ESCREVA("Informe o primeiro número: ");
LEIA(num1);

ESCREVA("Informe o segundo número: ");


LEIA(num2);

soma ← num1 + num2;

ESCREVA ("Resultado da soma: ", soma);


FIM

5.2 - Exemplo 2

Elaborar um algoritmo que leia três notas de um aluno, calcule e apresente a sua média aritmética.

Variáveis explícitas:

Três notas (nota1, nota2, nota3).


Tipo: real.
Valor inicial: leitura do teclado.

Variáveis implícitas:

Média aritmética (media).


Tipo: real.
Valor inicial: resultado da média.
Processamento:

Ler três notas, calcular a média, apresentar a média.

Algoritmo:

ALGORITMO media_aritmetica
VAR
REAL: nota1, nota2, nota3, media;
INICIO
ESCREVA ("Informe a nota 1: ");
LEIA(nota1);

ESCREVA ("Informe a nota 2: ");


LEIA(nota2);

ESCREVA ("Informe a nota 3: ");


LEIA(nota3);

media ← (nota1 + nota2 + nota3) / 3;

ESCREVA ("Média do aluno: ", media);


FIM

5.3 - Exemplo 3

Elaborar um algoritmo que calcule a área de uma circunferência cuja fórmula é pi * raio2.

Variáveis explícitas:

Raio (raio).
Tipo: real.
Valor inicial: leitura do teclado.

Variáveis implícitas:

Área (area).
Tipo: real.
Valor inicial: resultado do cálculo.

Constante explícitas:

Pi (3.1416).

Processamento:

Ler o valor do raio, calcular a área, apresentar a área.

Algoritmo:
ALGORITMO area_da_circunferencia
VAR
REAL: raio, area;
INICIO
ESCREVA ("Informe o raio: ");
LEIA(raio);

area ← 3.1416 * POT(raio,2);

ESCREVA ("Área da circunferência: ", area);


FIM

6 - Atividades
1. Escreva um algoritmo que calcule a área de um triângulo cuja fórmula é base x altura / 2.

2. Escreva um algoritmo que leia horas, minutos e segundos do teclado e apresente o tempo total em
segundos.
3. Escreva um algoritmo que leia um número inteiro e apresente o seu antecessor e o seu sucessor.

4. Escreva um algoritmo que leia a nota de três provas de um aluno, calcule e escreva a média final deste
aluno. Considere que a média é ponderada e que o peso das provas é 2 para a primeira prova, 3 para
a segunda prova e 5 para a terceira prova.
5. Escreva um algoritmo que leia uma temperatura em graus Celsius e a apresente convertida em graus
Fahrenheit.

6. Escreva um algoritmo que apresente a conversão de um valor em reais para dólar, de acordo com a
taxa de câmbio informada pelo usuário.

7. Escreva um algoritmo que calcule e mostre o consumo médio e a autonomia que um veículo ainda
teria antes de um abastecimento de combustível. Considere que o veículo sempre seja abastecido até
encher o tanque e que são fornecidas apenas a capacidade do tanque, a quantidade de litros
abastecidos e a quilometragem percorrida desde o último abastecimento.

8. Escreva um algoritmo que pergunte ao usuário a quantidade de km percorridos por um carro alugado
e a quantidade de dias pelos quais ele foi alugado. Calcule e mostre o valor a pagar, sabendo que o
carro custa R$ 70,00 por dia e R$ 0,15 por km rodado.
9. Todo restaurante, embora por lei não possa obrigar o cliente a pagar, cobra 10% de comissão para o
garçom. Escreva um algoritmo que leia o valor gasto pelo cliente em um restaurante e mostre o valor
da gorjeta e o valor total a ser pago.

10. Um vendedor de uma loja de sapatos recebe como pagamento 20% de comissão sobre as vendas do
mês e R$ 5,00 por cada par de sapatos vendido. Escreva um algoritmo que, dado o valor total das
vendas do mês e o número de sapatos vendidos, mostre qual será o salário do vendedor naquele mês.

11. Escreva um algoritmo que leia o número de votos brancos, o número de votos nulos e o número de
votos válidos em um município. Escreva um algoritmo que calcule e escreva o percentual de votos
brancos, nulos e válidos em relação ao total de eleitores do município.

12. Escreva um algoritmo que leia dois números inteiros e faça a troca de valores entre eles, apresentando
as variáveis com seus valores trocados.
13. Num dia de sol, você deseja medir a altura de um prédio, porém, a trena não é suficientemente longa.
Assumindo que seja possível medir sua sombra e a sombra do prédio no chão, e que você lembre de
sua altura, escreva um algoritmo para ler os dados necessários e calcular a altura do prédio.

14. Antes do racionamento de energia ser decretado, quase ninguém falava em quilowatts; mas, agora,
todos incorporaram essa palavra em seu vocabulário. Sabendo-se que 100 quilowatts de energia custa
um sétimo do salário mínimo, escreva um algoritmo que receba o valor do salário mínimo e a
quantidade de quilowatts gasta por uma residência e mostre na tela: a) o valor em reais de cada
quilowatt e b) o valor total a ser pago.
15. Uma fabrica de refrigerantes vende seu produto em três formatos: lata de 350 ml, garrafa de 600 ml e
garrafa de 2 litros. Tomando por base que um comerciante compre uma determinada quantidade de
cada um dos formatos disponíveis, escreva um algoritmo para calcular quantos litros de refrigerante
ele comprou.

16. Escreva um algoritmo que solicite do usuário o valor de um saque em caixa eletrônico, sendo que
estarão disponíveis cédulas de 5, 10, 20, 50 e 100. O algoritmo deve apresentar a menor quantidade de
cédulas possível de acordo com o saque. Exemplos:

Saque de 400,00: 4 cédulas de 100.


Saque de 350,00: 3 cédulas de 100 e 1 cédula de 50.
Saque de 385,00: 3 cédulas de 100, 1 cédula de 50, 1 cédula de 20, 1 cédula de 10 e 1 cédula de 5.

Você também pode gostar