Escolar Documentos
Profissional Documentos
Cultura Documentos
Disciplina:
Programação I
PROGRAM ‘NomeDoPrograma’;
PROGRAM ‘NomeDoPrograma’;
VAR
{Definição das variáveis}
BEGIN
{Corpo}
END.
Constante
Representa um valor fixo, que não sofre alterações, durante o
processamento do algoritmo.
Comando de Atribuição
Permite pegar informações e armazenar em uma variável.
Variável := valor;
Adição +
Subtração -
Multiplicação *
Divisão /
Exponenciação EXP(A * ln(B))
Onde: A = Expoente B = Base
Exemplo:
23 = EXP(3 * ln(2))
Raiz quadrada SQRT
Resto da divisão MOD
Quociente da divisão inteira DIV
Introdução
Operadores Relacionais
Maior >
Menor <
Igual =
Diferente <>
Program Exemplo1 ;
var
x, y, media: real;
Begin
write('Digite o primeiro número: ');
read(x);
write('Digite o segundo número: ');
read(y);
media := ((x + y) / 2);
write('A média dos dois números é: ', media);
End.
3
Estrutura seqüêncial 1 1 1
a b c
Exemplo 2:
Enunciado: Algoritmo que lê o nome de um aluno, as notas de suas três provas e
calcule e exibe a média harmônica das provas.
Program Exemplo2 ;
var
nome: string;
nota1, nota2, nota3, MH: real;
Begin
write('Informe o nome do aluno: ');
read(nome);
write('Informe a primeira nota: ');
read(nota1);
write('Informe a segunda nota: ');
read(nota2);
write('Informe a terceira nota: ');
read(nota3);
MH := (3 / ((1/nota1) + (1/nota2) + (1/nota3)));
write('A média harmônica do aluno ', nome, ' é: ', MH);
End.
Estrutura seqüêncial
Exemplo 3:
Enunciado: Um algoritmo que lê o valor do raio e calcule a área do círculo
correspondente.
Program Exemplo3 ;
var
raio, area: real;
Begin
write('Informe o valor do raio: ');
read(raio);
area := (3.14 * exp(2* ln(raio)));
write('A área do círculo é: ', area);
End.
if <condição> then
else
Program Exemplo5 ;
var
quantia: real;
Begin
write('Informe a quantidade de dinheiro que vc tem sobrando: ');
read(quantia);
if (quantia > 10) then
write('Você tem dinheiro sobrando, aproveite para ir ao cinema.')
else
write('Infelizmente você não tem dinheiro sobrando, fique em
casa assistindo TV.');
End.
22 Profª. Rossana Junqueira Programação I
Estrutura de repetição
Conjunto de estruturas sintáticas que permitem que um trecho
de um algoritmo seja repetido um determinado número de vezes,
sem que o código correspondente tenha que ser escrito mais de
uma vez.
Estrutura:
While ... Do
For
Program Exemplo7 ;
var
numero:integer;
Begin
numero := 1;
repeat
write(numero, ' ');
numero := numero + 1;
until numero > 10;
End.
Program Exemplo9;
var
par: integer;
Begin
par := 10;
repeat
write(par, ' ');
par := (par - 2);
until par < 2;
End.
Program Exemplo10;
var
par: integer;
Begin
par := 2;
repeat
write(par, ' ');
par := (par + 2);
until par > 10;
End.
Program Exemplo11 ;
var
nome: string;
N1, N2, Media: real;
alunos: integer;
Begin
for alunos := 1 to 30 do
begin
write('Informe o nome do aluno: ');
read(nome);
write('Informe a primeira nota: ');
read(N1);
write('Informe a segunda nota: ');
read(N2);
Media := (N1 + N2) / 2;
writeln('Aluno: ', nome, ' Média: ', Media);
end;
End.
Capítulo 3: Vetores
Onde:
VI Elemento inicial do vetor;
VF Elemento final do veotr;
<tipo) Tipo primitivo que foi declarado;
<Variavel> Corresponde a(s) variável(s) que terão o mesmo tipo.
36 Profª. Rossana Junqueira Programação I
Vetores
Exemplo 12:
Usando um cenário de um prédio com 10 andares:
Var
Predio: array [1..10] of integer;
Exemplo 13:
Usando um cenário de uma fila de cinema com 50 pessoas:
Var
Fila: array [1..50] of string;
Program Exemplo14;
var
nome: string;
N1, N2, Media: real;
alunos: integer;
Begin
for alunos := 1 to 5 do
begin
write('Informe o nome do aluno: ');
read(nome);
write('Informe a primeira nota: ');
read(N1);
write('Informe a segunda nota: ');
read(N2);
Media := (N1 + N2) / 2;
writeln('Aluno: ', nome, ' Média: ', Media);
end;
End.
Vetores
Este algoritmo calcula a média dos 5 alunos mas não consegue
imprimir consecutivamente os valores, uma vez que o valor
seguinte sempre substitui o valor anterior.
PROGRAM Exemplo15;
VAR
NOME: ARRAY[1..5] OF STRING;
N1, N2, MEDIA: ARRAY[1..5] OF REAL;
I: INTEGER; {CONTADOR}
BEGIN
FOR I := 1 TO 5 DO
BEGIN
WRITE('Digite o nome do ',I,'º aluno: ');
READLN(NOME[I]);
WRITE('Digite a sua 1ª nota: ');
READLN(N1[I]);
WRITE('Digite a sua 2ª nota: ');
READLN(N2[I]);
MEDIA[I] := (N1[I] + N2[I]) / 2;
WRITELN;
END;
FOR I := 1 to 5 DO
BEGIN
WRITELN(NOME[I],' teve média igual a ',MEDIA[I]:1:2);
WRITELN;
END;
end.
Vetores
Não é possível:
Não se pode ler todo um vetor diretamente com um comando read. Não se
pode escrever: read(v) , é necessário ler casa a casa, diretamente, ou
com um laço de repetição.
for i:= 1 to 6 do
write(v[i]);
Vetores
Não é possível:
Não é possível copiar os valores dos elementos de um vetor para outro
com um único comando de atribuição. Ou seja, dados dois vetores v e w,
ambos do mesmo tamanho e do mesmo tipo, não é permitido fazer: w:= v;
Também aqui é necessário trabalhar elemento a elemento, e o comando
for mais uma vez é indicado:
for i:= 1 to 6 do
w[i]:= v[i];
Vetores
Não é possível:
Não existe comandos ou funções que dão o tamanho (número de
elementos) de um vetor.
VAR
Onde:
VI1..VF1,VI2..VF2, ... ,VIn..VFn Onde i varia de 1 a n, cada
intervalo VIi..VFi corresponde ao intervalo entre o elemento
inicial e final de cada dimensão da matriz.
<tipo> Corresponde a qualquer tipo primitivo.
<Variável> Corresponde a uma ou inúmeras variáveis,
separadas por vírgulas.
Var
Predio: ARRAY [1..4,1..3] of INTEGER;
Exemplo 17:
Utilizando o cenário de um ônibus de primeiro andar, sendo que em
cada andar contém quatro fileiras de seis cadeiras:
Var
ONIBUS = ARRAY [1..2,1..4,1..6] of STRING;
Matrizes
Manipulação:
Voltando ao cenário do prédio, para identificarmos um morador,
além de sabermos o nome do prédio, é preciso saber o andar e o
apartamento, ou seja, tendo o nome da matriz, a combinação entre
linha e coluna chega-se a elemento desejado.
O apartamento tem uma identificação, como por exemplo, prédio
Mariana, 4ª andar, 3ª apartamento, o elemento da matriz também
tem a sua identificação: MARIANA[4,3].
Depois de isolarmos o elemento, podemos manipulá-lo através de
qualquer operação de entrada, saída ou atribuição, semelhante a
uma variável do tipo primitivo.
Solução(1) ...
Solução(2)...
Matrizes
Exemplo 19:
A partir da tabela fornecida abaixo, lerá os nomes dos moradores, depois lerá o
número do andar e do apartamento e imprimirá o nome do morador. Deverá tratar
números inválidos. Finalizar o algoritmo quando digitar 0 (zero) em andar.
Solução ...
Capítulo 5: Registros
Solução ...
Solução ...
Solução ...
Solução ...
Solução ...