Fundamentos de Algoritmos: Tipos de Dados e Estruturas

Classificado em Computação

Escrito em em português com um tamanho de 9,42 KB

Tipos Primitivos de Dados

INTEIRO

Admite somente números inteiros. Geralmente é utilizado para representar uma contagem (quantidade).

REAL

Admite números reais (com ou sem casas decimais). Geralmente é utilizado para representar uma medição.

CARACTERE

Admite caracteres alfanuméricos. Os números, quando declarados como caracteres, tornam-se representativos e perdem a atribuição de valor.

LÓGICO

Admite somente valores lógicos (VERDADEIRO/FALSO).

Comandos de I/O (Input/Output)

  • LER: Comando de entrada que permite a leitura de variáveis de entrada.
  • ESCREVER: Comando de saída que exibe uma informação na tela do monitor.
  • IMPRIMIR: Comando de saída que envia uma informação para a impressora.

Sinal de Atribuição (:=)

Uma variável nunca é eternamente igual a um valor; seu conteúdo pode ser alterado a qualquer momento. Portanto, para atribuir valores a variáveis, devemos usar o sinal de ":=".

Exemplos:

A := 2;
B := 3;
C := A + B;

Sinal de Igualdade (=)

As constantes são eternamente iguais a determinados valores; portanto, usamos o sinal de "=".

Exemplos:

PI = 3.1416;
Empresa = 'Colégio de Informática L.T.D.A.'
V = Verdadeiro


Corpo Geral de um Programa

PROGRAMA <<identificador>>;

CONST
<<identificador>> = <<dado>>

VAR

INÍCIO
{
COMANDOS DE ENTRADA, PROCESSAMENTO E SAÍDA

}
FIM.

Estruturas Sequenciais

Como pode ser analisado no tópico anterior, todo programa possui uma estrutura sequencial determinada por um INÍCIO e FIM.

Ponto e Vírgula (;)

O sinal de ponto e vírgula (;) indica o fim de um comando (passa para o próximo).

Na estrutura INÍCIO e no comando que antecede a estrutura FIM, não se usa o ponto e vírgula.

Primeiro Algoritmo

Segue um Algoritmo que lê o nome e as 4 notas bimestrais de um aluno. Em seguida, o Algoritmo calcula e escreve a média obtida.

PROGRAMA MEDIA_FINAL;

VAR
NOTA1, NOTA2, NOTA3, NOTA4, MEDIA: INTEIRO;
NOME : CARACTERE [35]

INÍCIO
LER (NOME);
LER (NOTA1, NOTA2, NOTA3, NOTA4);
MEDIA := (NOTA1 + NOTA2 + NOTA3 + NOTA4) / 4;
ESCREVER (NOME, MEDIA)
FIM.

Segundo Algoritmo

Segue um Algoritmo que lê o raio de uma circunferência e calcula sua área.

PROGRAMA AREA_CIRCUNFERENCIA;

CONST PI = 3.1416;

VAR RAIO, AREA : REAL;

INÍCIO
LER (RAIO); {PROCESSAMENTO}
AREA := PI * SQR(RAIO); {ENTRADA}
ESCREVER ('AREA =', AREA) {SAÍDA}
FIM.

Aspas Simples ('')

Quando queremos exibir uma mensagem para a tela ou impressora, ela deve estar contida entre aspas simples. Caso contrário, o computador irá identificar a mensagem como Variável Indefinida.

Exemplo:

ESCREVER ('AREA OBTIDA=', AREA) {COMANDO DE SAÍDA}
AREA OBTIDA = X.XX {RESULTADO GERADO NA TELA}

Estruturas de Decisão (Condicionais)

Executa uma sequência de comandos de acordo com o resultado de um teste.

A estrutura de decisão pode ser Simples ou Composta, baseada em um resultado lógico.

Simples:

SE <<CONDIÇÃO>>
ENTÃO <<COMANDO1>>

Composta 1:

SE <<CONDIÇÃO>>
ENTÃO <<COMANDO1>>
SENÃO <<COMANDO1>>

Composta 2:

SE <<CONDIÇÃO>>
ENTÃO INÍCIO

FIM;

SENÃO INÍCIO

FIM;

Algoritmo Três

Segue um Algoritmo que lê 2 números e escreve o maior.

PROGRAMA ACHA_MAIOR;

VAR A, B : INTEIRO;

INÍCIO
LER (A, B);
SE A>B
ENTÃO ESCREVER (A)
SENÃO ESCREVER (B)
FIM.

Algoritmo Quatro

Segue um Algoritmo que lê o nome e as 4 notas bimestrais de um aluno. Em seguida, o Algoritmo calcula e escreve a média obtida pelo aluno, escrevendo também se o aluno foi aprovado ou reprovado.

Média para aprovação = 6

PROGRAMA MEDIA_FINAL;

VAR
NOTA1, NOTA2, NOTA3, NOTA4, MEDIA: REAL;
NOME : CARACTERE [35]

INÍCIO
LER (NOME);
LER (NOTA1, NOTA2, NOTA3, NOTA4);
MEDIA := (NOTA1 + NOTA2 + NOTA3 + NOTA4) / 4;
SE MEDIA>=6
ENTÃO ESCREVER ('APROVADO')
SENÃO ESCREVER ('REPROVADO')
ESCREVER (NOME, MEDIA)
FIM.

Ninhos de SE (Estruturas Aninhadas)

Usados para tomadas de decisões para mais de 2 opções.

Forma Geral:

SE <<CONDIÇÃO>>
ENTÃO <<COMANDO1>>
SENÃO SE <<CONDIÇÃO>>
ENTÃO <<COMANDO1>>
SENÃO <<COMANDO1>>

Algoritmo Cinco

Segue um Algoritmo que lê 3 números e escreve o maior.

PROGRAMA ACHA_MAIOR;

VAR A, B, C : INTEIRO;

INÍCIO
LER (A, B, C);
SE (A>B) E (A>C)
ENTÃO ESCREVER (A)
SENÃO SE (B>A) E (B>C)
ENTÃO ESCREVER (B)
SENÃO ESCREVER (C)
FIM.

Estruturas de Condição (FACA CASO)

A estrutura de condição equivale a um ninho de SEs.

Forma Geral:

FACA CASO
CASO <<CONDIÇÃO1>>

CASO <<CONDIÇÃON>>

OUTROS CASOS

FIM DE CASO

Algoritmo Seis

Segue um Algoritmo que lê 3 números e escreve o maior.

PROGRAMA ACHA_MAIOR;

VAR A, B, C : INTEIRO;

INÍCIO
LER (A, B, C);
FACA CASO
CASO (A>B) E (A>C)
ESCREVER (A);
CASO (B>A) E (B>C)
ESCREVER (B);
OUTROS CASOS
ESCREVER (C);
FIM DE CASO
FIM.

Estrutura de Repetição Determinada (PARA)

Quando uma sequência de comandos deve ser executada repetidas vezes, tem-se uma estrutura de repetição.

A estrutura de repetição, assim como a de decisão, envolve sempre a avaliação de uma condição.

Na repetição determinada, o algoritmo apresenta previamente a quantidade de repetições.

Forma Geral 1:

PARA <<VARIAVEL DE TIPO INTEIRO>>:=<<VALOR INICIAL>> ATE <<VALOR FINAL>> FAÇA

Forma Geral 2:

PARA <<VARIAVEL DE TIPO INTEIRO>>:=<<VALOR INICIAL>> ATE <<VALOR FINAL>> FAÇA
INÍCIO

FIM;

A repetição por padrão determina o passo do valor inicial até o valor final como sendo 1. Determinadas linguagens possuem passo -1 ou permitem que o programador defina o passo.

Algoritmo Sete

Segue um algoritmo que escreve 10 vezes a frase “VASCO DA GAMA”

PROGRAMA REPETICAO;

VAR I:INTEIRO

INÍCIO
PARA I :=1 ATE 10 FACA
ESCREVER (‘VASCO DA GAMA’)
FIM.

Algoritmo Oito

Segue um algoritmo que escreve os 100 primeiros números pares.

PROGRAMA PARES;

VAR I,PAR: INTEGER;

INÍCIO
PAR:=0;
PARA I:=1 ATE 100 FACA
INÍCIO
ESCREVER (PAR);
PAR := PAR+2
FIM
FIM.

Estrutura de Repetição Indeterminada (ENQUANTO)

É usada para repetir N vezes uma ou mais instruções, tendo como vantagem o fato de não ser necessário o conhecimento prévio do número de repetições.

Forma Geral 1:

ENQUANTO <<CONDIÇÃO>> FAÇA

Forma Geral 2:

ENQUANTO <<CONDIÇÃO>> FAÇA
INÍCIO

FIM;

Algoritmo Nove

Segue um algoritmo que calcule a soma dos salários dos funcionários de uma empresa. O programa termina quando o usuário digitar um salário menor que 0.

PROGRAMA SOMA_SALARIOS;

VAR SOMA, SALARIO : REAL;

INÍCIO
SOMA:=0;
SALARIO:=1;
ENQUANTO SALARIO>=0
INÍCIO
LER (SALARIO);
SOMA:=SOMA+SALARIO
FIM;
ESCREVER (SOMA)
FIM.
TODAS AS VARIÁVEIS QUE ACUMULAM VALORES DEVEM RECEBER UM VALOR INICIAL.


Estrutura de Repetição Indeterminada (REPITA/ATÉ)

Assim como a estrutura ENQUANTO, é usada para repetir N vezes uma ou mais instruções.

Sua validação é final, fazendo com que a repetição seja executada pelo menos uma vez.

Forma Geral:

REPITA

ATE <<CONDIÇÃO>>

Algoritmo Dez

Segue um algoritmo que calcule a soma dos salários dos funcionários de uma empresa. O programa termina quando o usuário digitar um salário menor que 0.

PROGRAMA SOMA_SALARIOS;

VAR
SOMA, SALARIO : REAL;

INÍCIO
SOMA:=0;
REPITA
LER (SALARIO);
SOMA:=SOMA+SALARIO
ATE SALARIO<0;
ESCREVER (SOMA)
FIM.

Algoritmo Onze

Segue um algoritmo que escreve os 100 primeiros números pares.

PROGRAMA PARES_2;

VAR I, PAR, CONTADOR : INTEIRO;

INÍCIO
CONTADOR := 0;
PAR := 0;
REPITA
ESCREVER (PAR);
PAR := PAR+2;
CONTADOR := CONTADOR+1;
ATE CONTADOR=100
FIM.

Programas Equivalentes

O Algoritmo Onze poderia ter sido criado com qualquer estrutura de repetição. Portanto, podemos ter algoritmos que são escritos de maneiras diferentes, mas que funcionam realizando o mesmo objetivo.

Entradas relacionadas: