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.
|
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.