Buscar

Algoritmos_Pascal_unibh

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

Algoritmo e Estruturas de Dados - 02/2014
*
Algoritmo e Estruturas de Dados - 02/2014
*
 ALGORITMOS
Pascal
 Prof. Ana Gavinho 
Algoritmo e Estruturas de Dados - 02/2014
Algoritmo e Estruturas de Dados - 02/2014
*
*
 Algoritmo : definição
 Descreve um padrão de comportamento através de um conjunto bem definido e finito de ações (comandos) que irão produzir um resultado desejado (apresenta uma solução para um problema).
 É uma seqüência de instruções finita e ordenadas de forma lógica para a resolução de uma determinada tarefa ou problema. 
 Seqüencia ordenada de passos que deve ser seguida para realizar uma tarefa.
Algoritmo e Estruturas de Dados - 02/2014
Algoritmo e Estruturas de Dados - 02/2014
Algoritmo e Estruturas de Dados - 02/2014
*
*
 Algoritmo não computacional 
 É um algoritmo cuja seqüência de passos, a princípio, não pode ser executada por um computador.
 Algoritmo computacional 
 Para ser executado por um computador, deve ter instruções corretas e sem ambigüidades.
Algoritmo e Estruturas de Dados - 02/2014
Algoritmo e Estruturas de Dados - 02/2014
Algoritmo e Estruturas de Dados - 02/2014
*
*
Exemplo 1 de Algoritmo
Algoritmo e Estruturas de Dados - 02/2014
É computacional?
Algoritmo e Estruturas de Dados - 02/2014
Algoritmo e Estruturas de Dados - 02/2014
*
*
Exemplo 2 de Algoritmo
Algoritmo e Estruturas de Dados - 02/2014
É computacional?
Algoritmo e Estruturas de Dados - 02/2014
Algoritmo e Estruturas de Dados - 02/2014
*
*
Algoritmo detalhado: Como fritar um ovo?
Algoritmo e Estruturas de Dados - 02/2014
Algoritmo 1:
1. Colocar um ovo na frigideira.
2. Esperar o ovo ficar frito.
3. Retirar o ovo da frigideira.
Algoritmo 2:
Colocar a frigideira no fogo. 
Colocar óleo e esperar até o óleo ficar quente.
Quebrar o ovo separando a casca e colocar o conteúdo do ovo na frigideira.
Esperar o ovo ficar frito.
Retirar o ovo da frigideira.
Algoritmo e Estruturas de Dados - 02/2014
Algoritmo e Estruturas de Dados - 02/2014
*
*
Algoritmo: formas de representação
 Descrição narrativa
 Fluxograma
 Pseudocódigo ou linguagem estruturada ou portugol
Obter as notas da primeira e da segunda prova.
Calcular a média aritmética das duas notas.
 Se a média for >= 7 então o aluno foi aprovado, 
 senão (nota < 7) o aluno foi reprovado.
Algoritmo e Estruturas de Dados - 02/2014
Algoritmo e Estruturas de Dados - 02/2014
Algoritmo e Estruturas de Dados - 02/2014
*
*
Algoritmo: descrição narrativa
 Exemplo : Cálculo da média de um aluno
 Obter as notas da primeira e da segunda prova.
 Calcular a média aritmética das duas notas.
 Se a média for >= 7 então o aluno foi aprovado, 
 senão (nota < 7) o aluno foi reprovado.
Algoritmo e Estruturas de Dados - 02/2014
Algoritmo e Estruturas de Dados - 02/2014
Algoritmo e Estruturas de Dados - 02/2014
*
*
Algoritmo: fluxograma
 Principais formas geométricas
OPERACÃO
INICIO / FIM
DECISÃO
SAÍDA DE DADOS
ENTRADA DE DADOS
A
CONECTOR
Algoritmo e Estruturas de Dados - 02/2014
Algoritmo e Estruturas de Dados - 02/2014
Algoritmo e Estruturas de Dados - 02/2014
*
*
Algoritmo: fluxograma (cont.)
 Exemplo : Cálculo da média de um aluno
MEDIA <-(N1+N2)/2
INICIO
MEDIA >= 7
“APROVADO”
N1, N2
FIM
A
“REPROVADO”
V
F
A
Algoritmo e Estruturas de Dados - 02/2014
Algoritmo e Estruturas de Dados - 02/2014
Algoritmo e Estruturas de Dados - 02/2014
*
*
Algoritmo: pseudocódigo
 Pseudocódigo ou linguagem estruturada ou portugol
 Muito semelhante a forma em que os programas são escritos.
 Possui definição dos tipos de variáveis usadas no algoritmo.
 Permite a tradução de um algoritmo para uma linguagem de programação específica de forma praticamente direta.
 Neste curso, vamos usar a linguagem Pascal e o software freeware PascalZim.
Algoritmo e Estruturas de Dados - 02/2014
Algoritmo e Estruturas de Dados - 02/2014
Algoritmo e Estruturas de Dados - 02/2014
*
*
Algoritmo - questionário
Algoritmo e Estruturas de Dados - 02/2014
Por que um algoritmo não pode tem um comando como “Escreva todos os números pares”?
Escreva um algoritmo que produza os valores:
			2 4 6 8 10
Escreva um algoritmo que produza os valores:
			1 3 5 7 9
Algoritmo e Estruturas de Dados - 02/2014
Algoritmo e Estruturas de Dados - 02/2014
*
*
 program NomePrograma ;
 // comentarios { } (* *)
declarações
begin
comandos
begin
 comandos
end;
comandos
end .
Algoritmo e Estruturas de Dados - 02/2014
Pascal – estrutura do programa
Algoritmo e Estruturas de Dados - 02/2014
Algoritmo e Estruturas de Dados - 02/2014
*
*
Algoritmo e Estruturas de Dados - 02/2014
Pascal – declarações
constantes : seu valor não muda ao longo do programa 
	const identificador = valor; [...identificador = valor;] 
variáveis : seu valor pode mudar ao longo do programa 
	var identificador [...,identificador] : tipo
Algoritmo e Estruturas de Dados - 02/2014
Algoritmo e Estruturas de Dados - 02/2014
*
*
Estes nomes de identificadores são validos? Por que?
Algoritmo e Estruturas de Dados - 02/2014
“nota1”
1nota
salario_liquido
SalarioLiquido
a1b2c3
km/h
#produto
leia
nota1
nota1+nota2
salario-liquido
salarioliquido
Matricula
X2
@gmail.com
nota(1)
a:b
Algoritmo e Estruturas de Dados - 02/2014
Algoritmo e Estruturas de Dados - 02/2014
*
*
Algoritmo e Estruturas de Dados - 02/2014
PascalZim – tipos de variáveis
Algoritmo e Estruturas de Dados - 02/2014
Algoritmo e Estruturas de Dados - 02/2014
*
*
Pascal – exemplo de declarações
Algoritmo e Estruturas de Dados - 02/2014
const
 PI =3.1415; 	{ define uma constante real }
 maior_idade = 18; 	{ define uma constante inteira }
 pais = ‘Brasil’; 	{ define uma constante string }
var
 indice: integer; 	{ declara 1 variável inteira }
 nota1, nota2 : real; 	{ declara 2 variáveis reais }
 achou: boolean; 	{ declara uma variável lógica }
 sexo: char; 		{ declara uma variável caracter }
 nome, sobrenome: string[20];
 { declara duas strings com 20 caracteres }
Algoritmo e Estruturas de Dados - 02/2014
Algoritmo e Estruturas de Dados - 02/2014
*
Algoritmo e Estruturas de Dados - 02/2014
*
Que tipos de dados seriam usados para cada informação deste cadastro?
Crie uma variável (nome e tipo) para cada informação deste cadastro.
Algoritmo e Estruturas de Dados - 02/2014
Algoritmo e Estruturas de Dados - 02/2014
*
*
<identificador> := <expressão> ; 
Algoritmo e Estruturas de Dados - 02/2014
Pascal – comandos de atribuição
Algoritmo e Estruturas de Dados - 02/2014
Algoritmo e Estruturas de Dados - 02/2014
*
*
Exemplos de atribuição
Algoritmo e Estruturas de Dados - 02/2014
var
 indice: integer; 	
 nota1, nota2, media : real; 
 passou: boolean; 
 sexo: char; 
 nome, sobrenome: string[20];
begin
 indice := 1; 			{recebe um valor}
 nota1 := 9.5 ;		{recebe um valor}
 media := (nota1 + nota2) /2; {recebe o valor da expressão aritmética}
 passou : = (media >= 7.0); {recebe o valor da expressão lógica} 
 sexo := ‘F’; 		{recebe um valor} 
 nome := ‘Jose’ ; 		{recebe um valor} 
Algoritmo e Estruturas de Dados - 02/2014
Algoritmo e Estruturas de Dados - 02/2014
*
 Operadores aritméticos sobre inteiros
 div - divisão inteira
 mod - resto da divisão
*
 Operadores aritméticos sobre inteiros e reais
 + soma
 - subtração
 * multiplicação
 
ex: 10 + 30 resultado: 40
ex: 30 - 20 resultado: 10
ex: 20 * 4,2 resultado: 84.0
Algoritmo e Estruturas de Dados - 02/2014
Operadores aritméticos
 Operadores aritméticos sobre reais
 /
- divisão real 
 
ex: 11.0 / 2.0 resultado: 5.5
ex: 11 div 2 resultado: 5 
ex: 11 mod 2 resultado: 1
Algoritmo e Estruturas de Dados - 02/2014
Algoritmo e Estruturas de Dados - 02/2014
*
*
 Ordem de execução dos operadores aritméticos
 * / div mod
 + -
Algoritmo e Estruturas de Dados - 02/2014
Operadores aritméticos
ex: 4 + 6 / 2 = 7
 (4 + 6) / 2 = 5
 1 + 2 * 3 = 7 
 (1 + 2) * 3 = 9 
 3 + 5 mod 2 = 4
 (3 + 5) mod 2 = 0
Algoritmo e Estruturas de Dados - 02/2014
Algoritmo e Estruturas de Dados - 02/2014
*
*
Algoritmo e Estruturas de Dados - 02/2014
ex: ‘Belo’ + ‘Horizonte’ resultado: ‘BeloHorizonte’ 
 ‘Belo’ + ’ ‘ + ‘Horizonte’ resultado: ‘Belo Horizonte’ 
 Operadores de caracteres
 + 
 
Concatenação de caracteres
Algoritmo e Estruturas de Dados - 02/2014
Algoritmo e Estruturas de Dados - 02/2014
*
*
Quais comando de atribuição estão corretos?
Algoritmo e Estruturas de Dados - 02/2014
var indice, a, b : integer;
 nome, primeironome, sobrenome: string;
 tem : boolean;
 a := 1; 			 	a := true;
 b := ‘2’; 		 	b := 2;
 indice := a + b;	 	indice := nome + sobrenome; 
 indice := indice +1;
primeironome := ‘Jose’;		sobrenome := ‘Silva’;
nome := primeironome + sobrenome ;
nome := indice;
tem := false; 	 tem := a;
tem := (a>b);
Algoritmo e Estruturas de Dados - 02/2014
Algoritmo e Estruturas de Dados - 02/2014
*
*
Algoritmo e Estruturas de Dados - 02/2014
Operadores relacionais
Operadores lógicos
Algoritmo e Estruturas de Dados - 02/2014
Algoritmo e Estruturas de Dados - 02/2014
*
*
Complete o quadro abaixo
Algoritmo e Estruturas de Dados - 02/2014
Algoritmo e Estruturas de Dados - 02/2014
Algoritmo e Estruturas de Dados - 02/2014
*
*
Algoritmo e Estruturas de Dados - 02/2014
Complete o quadro abaixo
Algoritmo e Estruturas de Dados - 02/2014
Algoritmo e Estruturas de Dados - 02/2014
*
*
Qual o valor (V ou F) de cada expressão lógica abaixo?
a = 5
b = 10
. a < b		. (a+b) < 15		. (a+b) < (b-a)
. a <= b	. (a+b) <= 15 		. (a+b) <= (b-a)
. b >= a	. (a+b) >= 15		. (a+b) >= (b-a)
. a = b	 	. (a+b) = 15		. (a+b) = (b-a)
. a <> b	. (a+b) <> 15		. (a+b) <> (b-a)
Algoritmo e Estruturas de Dados - 02/2014
Algoritmo e Estruturas de Dados - 02/2014
Algoritmo e Estruturas de Dados - 02/2014
*
*
Qual o valor (V ou F) de cada expressão lógica abaixo?
a = 5 b = 10
. (a < b) and ((a+b) < 15) and ((a+b) < (b-a))
. (a < b) or ((a+b) < 15) or ((a+b) < (b-a))
. (a < b) and ((a+b) < 15) or ((a+b) < (b-a))
. (a < b) or ((a+b) < 15) and ((a+b) < (b-a))
. (a <= b) and ((a+b) <= 15) or ((a+b) <= (b-a))
. (b >= a) or ((a+b) >= 15) and ((a+b) >= (b-a))
. (a = b	) or ((a+b) = 15) or ((a+b) = (b-a))
Algoritmo e Estruturas de Dados - 02/2014
Algoritmo e Estruturas de Dados - 02/2014
Algoritmo e Estruturas de Dados - 02/2014
*
*
Pascal - comandos de entrada e saída
Saída: write (expressão [..., expressão] ); ou 
 writeln (expressão [..., expressão] );
 Expressão pode ser:
 um identificador
 uma string
 uma expressão aritmética
Entrada: read (variavel [..., varialvel] ); ou 
 readln (variavel [..., varialvel] );
Algoritmo e Estruturas de Dados - 02/2014
Algoritmo e Estruturas de Dados - 02/2014
Algoritmo e Estruturas de Dados - 02/2014
*
*
Pascal – saída formatada
Podemos formatar a saída de um campo numérico em relação a quantidade de casas decimais mostradas :
indentificador:tamanho_do_campo:casas_decimais
Algoritmo e Estruturas de Dados - 02/2014
Exemplo:
Media := 9.75;
writeln(‘Media = ', media:2:1); saída: Media = 9,8
 
Media := 9.74;
writeln(‘Media = ', media:2:1); saída: Media = 9,7 
Algoritmo e Estruturas de Dados - 02/2014
Algoritmo e Estruturas de Dados - 02/2014
*
*
Exemplo 1 - calcule a média aritmética entre 2 números
Program Media_v1 ;
// Calcula a média aritmética entre 2 numeros
Var n1, n2: real;
Begin
 // Le dois numeros
 readln(n1, n2);
 // Mostra o resultado
 writeln('Media = ', (n1 + n2)/2 );
End.
Algoritmo e Estruturas de Dados - 02/2014
Algoritmo e Estruturas de Dados - 02/2014
Algoritmo e Estruturas de Dados - 02/2014
Algoritmo e Estruturas de Dados - 02/2014
*
*
Exemplo 2 - calcule a média aritmética entre 2 números
Algoritmo e Estruturas de Dados - 02/2014
Program Media_v2 ;
// Calcula a média aritmética entre 2 numeros
Var n1, n2, media: real;
 Begin
 // Solicita dois numeros ao usuário
 write('Informe o primeiro numero: ');
 readln(n1);
 write('Escreva o segundo numero: ');
 readln(n2);
 media := (n1 + n2) / 2; // Calcula a media
 // Mostra o resultado 
 writeln('A media entre ', n1:3:1, ' e ', n2:3:1, ' é ', media:3:2);
 End.
Algoritmo e Estruturas de Dados - 02/2014
Algoritmo e Estruturas de Dados - 02/2014
Algoritmo e Estruturas de Dados - 02/2014
*
*
1) Calcule a média aritmética entre 3 números.
2) Um aluno ficou para a prova final porque a média entre as notas de suas 2 provas foi menor que 7. Ele fez a prova final e teve uma nova média – a média final - calculada a partir da média aritmética entre os valores da prova final e da antiga média. Leia a nota das três provas e calcule sua média final.
Algoritmo e Estruturas de Dados - 02/2014
Exercícios - 1
Algoritmo e Estruturas de Dados - 02/2014
Algoritmo e Estruturas de Dados - 02/2014
*
*
Pascal - estrutura de decisão
 condição usa operadores lógicos e relacionais
Simples: if <condição> then 
 comando ou bloco de comandos ;
 
Composta: if <condição> then 
 comando ou bloco de comandos
 else
 comando ou bloco de comandos ;
Algoritmo e Estruturas de Dados - 02/2014
Algoritmo e Estruturas de Dados - 02/2014
Algoritmo e Estruturas de Dados - 02/2014
*
*
Exemplo 1 : Leia um número e diga se ele é > zero
Program MaiorQueZero ;
// Le um numero e informa se ele é maior que zero
Var n1: integer;
Begin
 write('Informe um numero inteiro : ');
 readln(n1);
 if (n1 > 0) then
 writeln(‘O numero ',n1, ' é maior que zero.')
 else
 if (n1 = 0) then
 writeln(‘O numero ',n1, ' é i igual a zero.')
 else // (n1 < 0) 
 writeln(‘O numero ',n1, ' é menor que zero.');
end.
Algoritmo e Estruturas de Dados - 02/2014
Algoritmo e Estruturas de Dados - 02/2014
Algoritmo e Estruturas de Dados - 02/2014
*
*
Exemplo 2 : Leia um número e diga se ele é > zero
Program MaiorQueZero_v2 ;
// Le um numero e informa se ele é maior que zero
Var n1: integer;
Begin
 write('Informe um numero inteiro : ');
 readln(n1);
 if (n1 > 0) then
 begin
 write (‘O numero ',n1) ;
 writeln (' é maior que zero.') ;
 end
 else
 if (n1 = 0) then
 writeln (‘O numero ',n1, ' é i igual a zero.')
 else // (n1 < 0) 
 writeln (‘O numero ',n1, ' é menor que zero.');
end.
Algoritmo e Estruturas de Dados - 02/2014
Algoritmo e Estruturas de Dados - 02/2014
Algoritmo e Estruturas de Dados - 02/2014
*
*
Exemplo 3 : Leia 2 números e diga se são > zero
Program MaiorQueZero_v3 ;
// Le 2 numeros e informa se são maiores que zero
Var n1, n2: integer;
Begin
 write('Informe dois numeros inteiros : ');
 readln(n1,n2);
 if (n1 > 0) then
 write('O numero ',n1, ' é maior que zero')
 else
 if (n1 = 0) then
write('O numero ',n1, ' é igual a zero')
 else // (n1 < 0) 
 write('O numero ',n1, ' é menor que zero');
 if (n2 > 0) then
 writeln(' e o numero ',n2, ' é maior que zero')
 else
 if (n2 = 0) then
 writeln(' e o numero ',n2, ' é igual a zero')
 else // (n2 < 0) 
 writeln(' e o numero ',n2, ' é menor que zero');
End.
Algoritmo e Estruturas de Dados - 02/2014
Algoritmo e Estruturas de Dados - 02/2014
Algoritmo e Estruturas de Dados - 02/2014
*
*
Algoritmo e Estruturas de Dados - 02/2014
Leia 2 números e diga qual o maior, qual o menor ou se eles são iguais.
Leia 3 números e diga qual o maior e qual o menor deles.
Leia n números e diga qual o maior e qual o menor deles (veremos isto na semana que vem).
Leia um numero N e diga se ele é par ou não.
 Na lanchonete da faculdade, você comprou algumas garrafas de água mineral. Leia o preço da garrafa, a quantidade comprada e calcule o valor total. Leia o valor pago em dinheiro e calcule o troco.
Leia os números A e B, troque seus valores e imprima-os.
Exercícios - 2
Algoritmo e Estruturas de Dados - 02/2014
Algoritmo e Estruturas de Dados - 02/2014
*
*
A cantina da escola vende os seguintes produtos:
	 Leia o código de um produto e liga qual seu nome e valor.
Informe se um aluno está aprovado ou não. Leia as notas da primeira e da segunda prova e calcule sua média. Se ela for maior ou igual a 7 (sete), o aluno esta aprovado, senão está em prova final. Leia a nota da prova final e calcule sua média final, que é a média aritmética entre a nota da prova final e da antiga média. Se a média final for maior ou igual a 5 (cinco), o aluno está aprovado senão está reprovado.
Algoritmo e Estruturas de Dados - 02/2014
Exercícios – 2 (cont.)
Algoritmo e Estruturas de Dados - 02/2014
Algoritmo e Estruturas de Dados - 02/2014
*
*
Pascal - Comando Case
case <expressao_selecao> of
<lista_1_valores> : comando ou bloco de comandos ; 
<lista_2_valores> : comando ou bloco de comandos ; ...
else comandos ; 
end ;
Algoritmo e Estruturas de Dados - 02/2014
 <expressao_selecao> : seu resultado deve ser um inteiro, um caracter ou um valor lógico. 
<lista_valores> deve conter um valor, uma lista de valores separados por virgula, uma faixa de valores na forma <valor_inic>..<valor_fim> 
Algoritmo e Estruturas de Dados - 02/2014
Algoritmo e Estruturas de Dados - 02/2014
*
Algoritmo e Estruturas de Dados - 02/2014
*
Program EstacaoAno;
// Informa, a partir do mês, qual a estação do ano
 var mes: integer;
 begin 
 write('Digite o número do mês (entre 1 e 12) : ');
 readln(mes);
 case mes of 
 12,1..2 : writeln('É verão.');
 3..5 : writeln('É outono.');
 6..8 : writeln('É inverno.');
 9..11 : writeln('É primavera.');
 else writeln('Mês do ano inválido.');
end; 
End.
Exemplo 1 : Qual a estação do ano?
Algoritmo e Estruturas de Dados - 02/2014
Algoritmo e Estruturas de Dados - 02/2014
*
Algoritmo e Estruturas de Dados - 02/2014
*
Program TipoChar;
// Informa o tipo de caracter digitado
 var c: char;
 begin 
 write('Digite um caracter: ');
 readln(c);
 case c of 
 'A'..'Z','a'..'z‘ : writeln('Caracter lido e'' uma letra.');
 '0'..'9‘ : begin 
 write('Caracter lido e'' um digito ');
 writeln('entre 0 e 9.');
 end;
 '+','-','*','/‘ : writeln('Caracter lido e'' um operador aritmético.');
 else write('O caractere lido não e'' letra, ou digito ');
 writeln('ou operador aritmético.');
end; 
End.
Exemplo 2 : Qual o tipo do caracter?
Algoritmo e Estruturas de Dados - 02/2014
Algoritmo e Estruturas de Dados - 02/2014
*
*
Algoritmo e Estruturas de Dados - 02/2014
Uma pessoa entre 0 e 11 anos é uma criança; entre 12 e 17 anos é um adolescente e com 18 anos ou mais é um adulto. Leia a idade de uma pessoa e diga qual sua classificação (cuidado com números negativos e idades muito avançadas, como 250 anos).
A cantina da escola vende os seguintes produtos:
 Leia o código de um produto e liga qual seu nome e valor.
Leia um número entre 1 e 12 e liga qual o mês do ano, por extenso.
Escrevas os exemplos 1 e 2 anteriores (do comando case) usando o comando if.
Exercícios – 3 : usando comando case
Algoritmo e Estruturas de Dados - 02/2014
Algoritmo e Estruturas de Dados - 02/2014
*
*
Estrutura de repetição : comando while
while <condição> do 
 comando ou bloco de comandos ; 
 <condição> usa operadores lógicos e relacionais
 comando ou bloco de comandos é executado quando a condição é verdadeira
 o valor de <condição> é alterado dentro do bloco de comandos
Algoritmo e Estruturas de Dados - 02/2014
Algoritmo e Estruturas de Dados - 02/2014
Algoritmo e Estruturas de Dados - 02/2014
*
*
Program Dobro ;
{ Le 5 numeros e calcula seu dobro }
var num, dobro, cont: integer;
Begin
cont := 1;
while (cont <=5) do
begin
 write('Escreva o ',cont,'.o número : ');
 readln(num);
 dobro := num*2;
 writeln('O dobro de ', num, ' é ',dobro); writeln('');
 cont := cont+1;
end; 
End.
Exemplo 1 : leia 5 números e calcule o dobro de cada 1
Algoritmo e Estruturas de Dados - 02/2014
Algoritmo e Estruturas de Dados - 02/2014
Algoritmo e Estruturas de Dados - 02/2014
*
*
Exemplo 2 : leia vários números até ler o número zero. Diga qual o menor número lido. 
Program MenorValor ;
{ Indica menor valor lido }
var num, menor: integer;
Begin
write('Informe o primeiro numero : ');
read(num);
menor := num;
while (num <>0) do
begin
 if (num < menor) then menor := num;
 write('Informe outro numero : ');
 read(num);
end; // while
writeln('O menor valor é ',menor);
End.
Algoritmo e Estruturas de Dados - 02/2014
Algoritmo e Estruturas de Dados - 02/2014
Algoritmo e Estruturas de Dados - 02/2014
*
*
Ler N números inteiros e positivos, parar ao ler o numero zero. Ao final, dizer quantos números foram lidos.
Ler N números inteiros e positivos, parar ao ler o numero zero. Ao final, imprimir a sua soma.
Ler N números inteiros e positivos, parar ao ler o numero zero. Ao final, imprimir a média dos números lidos.
Leia N registros contendo a altura e o código de sexo dos alunos de uma turma ( M e F). Parar ao ler a altura zero. Ao final, imprimir:
A maior, a menor e a media da altura das mulheres
A maior, a menor e a media da altura dos homens
A maior, a menor e a media da altura da turma
Leia 100 notas de alunos. Diga qual a maior e qual ao menor nota.
Exercícios - 4
Algoritmo e Estruturas de Dados - 02/2014
Algoritmo e Estruturas de Dados - 02/2014
Algoritmo e Estruturas de Dados - 02/2014
*
*
repeat 
 <comandos>
until <condicao> ;
 <condição> usa operadores lógicos e relacionais
 <comandos> é executado pelo menos uma vez
 quando <condição> for V, o comando termina
o valor de <condição> é alterado dentro do bloco de comandos
Estrutura de repetição : comando repeat
Algoritmo e Estruturas de Dados - 02/2014
Algoritmo e Estruturas de Dados - 02/2014
Algoritmo e Estruturas de Dados - 02/2014
*
*
Program DobroComRepeat ;
{ Le 5 numeros e calcula seu dobro }
var num, dobro, cont: integer;
Begin
cont := 1;
repeat
 write('Escreva o ',cont,'.o numero : ');
 readln(num);
 dobro := num*2;
 writeln('O dobro de ', num, ' é ',dobro); writeln('');
 cont := cont+1;
until (cont > 5); 
End.
Exemplo 1 : leia 5 números e calcule o dobro de cada 1
Algoritmo e Estruturas de Dados - 02/2014
Algoritmo e Estruturas de Dados - 02/2014
Algoritmo e Estruturas de Dados - 02/2014
*
*
Program MenorValorComRepeat ;
{ Indica menor valor lido }
var num, menor: integer;
Begin
write('Informe um numero : '); 
read(num);
if (num <
> 0) then
begin
 menor := num; 
 repeat
 if (num < menor) then menor := num;
 write('Informe outro numero : ');
 read(num);
 until (num = 0);
end;
writeln('');
writeln('O menor valor é ',menor);
End.
Exemplo 2 : leia vários números até ler o número zero. Diga qual o menor número lido. 
Algoritmo e Estruturas de Dados - 02/2014
Algoritmo e Estruturas de Dados - 02/2014
Algoritmo e Estruturas de Dados - 02/2014
*
*
Program MenorValorComRepeat ;
{ Indica menor valor lido }
var num, menor: integer;
Begin
menor := 999999999; // maior valor que pode ser armazenado
repeat
 write('Informe um numero : ');
 read(num);
 if (num < menor) and (num <> 0) then
 menor := num;
until (num = 0);
writeln('');
writeln('O menor valor é ',menor);
End.
Exemplo 3 : leia vários números até ler o número zero. Diga qual o menor número lido. 
Algoritmo e Estruturas de Dados - 02/2014
Algoritmo e Estruturas de Dados - 02/2014
Algoritmo e Estruturas de Dados - 02/2014
*
*
Ler N números inteiros e positivos, parar ao ler o numero zero. Ao final, dizer quantos números foram lidos.
Ler N números inteiros e positivos, parar ao ler o numero zero. Ao final, imprimir a sua soma.
Ler N números inteiros e positivos, parar ao ler o numero zero. Ao final, imprimir a média dos números lidos.
Leia N registros contendo a altura e o código de sexo dos alunos de uma turma ( M e F). Parar ao ler a altura zero. Ao final, imprimir:
A maior, a menor e a media da altura das mulheres
A maior, a menor e a media da altura dos homens
A maior, a menor e a media da altura da turma
Leia 100 notas de alunos. Diga qual a maior e qual ao menor nota.
Exercícios – 5 – usando comando repeat
Algoritmo e Estruturas de Dados - 02/2014
Algoritmo e Estruturas de Dados - 02/2014
Algoritmo e Estruturas de Dados - 02/2014
*
*
for contador := <inicio> to <fim> do
 comando ou bloco de comandos ; 
 contador começa com o valor inicial <inicio> e é incrementado de 1 a cada loop.
 o comando termina quando contador for maior que <fim>
Estrutura de repetição : comando for
Algoritmo e Estruturas de Dados - 02/2014
Algoritmo e Estruturas de Dados - 02/2014
Algoritmo e Estruturas de Dados - 02/2014
*
*
for contador := <inicio> downto <fim> do
 comando ou bloco de comandos ; 
 neste caso, o contador começa com o valor inicial <inicio> e é decrementado de 1 a cada loop.
 o comando termina quando contador for menor que <fim> 
Estrutura de repetição : comando for (cont.)
Algoritmo e Estruturas de Dados - 02/2014
Algoritmo e Estruturas de Dados - 02/2014
Algoritmo e Estruturas de Dados - 02/2014
*
*
Program DobroComFor_to ;
{ Le 5 numeros e calcula seu dobro }
var num, dobro, cont: integer;
Begin
for cont := 1 to 5 do
begin
 write('Escreva o ',cont,'.o numero : ');
 readln(num);
 dobro := num*2;
 writeln('O dobro de ', num, ' é ',dobro); writeln('');
end;
End.
Exemplo 1 : leia 5 números e calcule o dobro de cada 1
Algoritmo e Estruturas de Dados - 02/2014
Algoritmo e Estruturas de Dados - 02/2014
Algoritmo e Estruturas de Dados - 02/2014
*
*
Program DobroComFor_downto;
{ Le 5 numeros e calcula seu dobro }
var num, dobro, cont: integer;
Begin
for cont := 5 downto 1 do
begin
 write(‘Escreva o’, (5-cont+1), ‘ numero : ‘);
 readln(num);
 dobro := num*2;
 writeln(‘O dobro de ‘, num, ‘ é ‘,dobro); writeln(‘’);
end;
End.
Exemplo 2 : leia 5 números e calcule o dobro de cada 1
Algoritmo e Estruturas de Dados - 02/2014
Algoritmo e Estruturas de Dados - 02/2014
Algoritmo e Estruturas de Dados - 02/2014
*
*
Program MenorComFor;
{ Le 5 numeros e informa o menor valor}
var num, menor, cont: integer;
Begin
 write('Escreva o primeiro numero : ');
readln(num);
menor := num;
for cont := 2 to 5 do
begin
 write('Escreva o ‘, cont, ‘.o numero : ');
 readln(num);
 if (num < menor) then menor := num;
end;
 writeln('O menor numero eh ‘, menor);
End.
Exemplo 3 : leia 5 números e diga qual o menor
Algoritmo e Estruturas de Dados - 02/2014
Algoritmo e Estruturas de Dados - 02/2014
Algoritmo e Estruturas de Dados - 02/2014
*
*
Ler 10 números inteiros. Ao final, imprimir a sua soma
Ler 10 números inteiros e positivos. Ao final, imprimir a sua média.
Ler 10 números inteiros. Ao final, imprimir o maior e o menor valor lido.
Leia 10 registros contendo a altura e o código de sexo dos alunos de uma turma ( M e F). Parar ao ler a altura zero. Ao final, imprimir:
A maior, a menor e a media da altura das mulheres
A maior, a menor e a media da altura dos homens
A maior, a menor e a media da altura da turma
Leia 10 registros contendo a altura e o código de sexo dos alunos de uma turma ( M e F). Parar ao ler a altura zero. Ao final, imprimir:
Exercícios – 6 – usando comando for
Algoritmo e Estruturas de Dados - 02/2014
Algoritmo e Estruturas de Dados - 02/2014
Algoritmo e Estruturas de Dados - 02/2014
*
*
Estruturas de Dados Homogêneas: Vetores
 variáveis que possuem o mesmo nome e são do mesmo tipo
 são variáveis unidimensionais
 cada variável é acessada por um índice a partir de um valor inicial e um valor final
var identificador[..,identificador] : array [1..tamanho] of tipo ; 
Algoritmo e Estruturas de Dados - 02/2014
Algoritmo e Estruturas de Dados - 02/2014
Algoritmo e Estruturas de Dados - 02/2014
*
*
Exemplo de Vetores
 var nome: array [1..4] of string ;
nome
 1 2 3 4
 var nota: array [1..3] of real ;
 
nota
 1 2 3 
Algoritmo e Estruturas de Dados - 02/2014
Algoritmo e Estruturas de Dados - 02/2014
Algoritmo e Estruturas de Dados - 02/2014
*
*
Program VetorNomes;
// Le 4 nomes e os armazena num vetor
const max = 4;
var ind: integer; 
 nome: array [1..max] of string; 
Begin
 for ind := 1 to max do
 begin
 write('Informe o ', ind,'. nome: ');
 readln(nome[ind]);
 end; 
End.
Exemplo 1 : leia e armazene 4 nomes em um vetor
Algoritmo e Estruturas de Dados - 02/2014
Algoritmo e Estruturas de Dados - 02/2014
Algoritmo e Estruturas de Dados - 02/2014
*
*
Program VetorNotas;
// Le 3 notas e as armazena num vetor
const max = 3;
var ind: integer; 
 nota: array [1..max] of real; 
Begin
 ind := 1;
 repeat 
 write('Informe a ', ind,'. nota: ');
 readln(nota[ind]);
 ind := ind + 1;
 until (ind > max); 
End.
Exemplo 2 : leia e armazene 3 notas em um vetor
Algoritmo e Estruturas de Dados - 02/2014
Algoritmo e Estruturas de Dados - 02/2014
Algoritmo e Estruturas de Dados - 02/2014
*
*
Crie um vetor de 5 posições com números inteiros. Leia e armazene 5 valores. Em que posição esta o maior valor? Qual a posição do menor valor? Quantos números pares há neste vetor?
Crie um vetor de 6 posições com números inteiros. Leia e armazene 6 valores. Inverta as posições dos números do vetor: o primeiro com o último, o segundo com o penúltimo e assim por diante.
Faça o mesmo para um vetor com 5 posições.
Em um vetor de 3 posições, 2 são notas de um aluno e a quarta é sua media final. Leia as 2 notas deste aluno, armazene-as no vetor e calcule sua media final.
Exercícios – 7
Algoritmo e Estruturas de Dados - 02/2014
Algoritmo e Estruturas de Dados - 02/2014
Algoritmo e Estruturas de Dados - 02/2014
*
*
Para a ordenação de vetores, no método da bolha compara-se o primeiro elemento com o segundo e troca-se a posição se eles estiverem fora de ordem. Sucessivamente, compara-se o segundo com o terceiro, o terceiro com o quarto até levar o maior elemento ao fim do vetor. Se os elementos forem testados sem ser feita nenhuma troca é porque já estão ordenados (use um flag). Faça um algoritmo para
o método da bolha.
Exercícios – 7 (cont.)
Algoritmo e Estruturas de Dados - 02/2014
Algoritmo e Estruturas de Dados - 02/2014
Algoritmo e Estruturas de Dados - 02/2014
*
*
Estruturas de Dados Homogêneas: Matrizes
var ident[..,ident] : array [1..tam1, 1..tam2] of tipo ; 
 variáveis que possuem o mesmo nome e são do mesmo tipo
 são variáveis bidimensionais (um vetor que possui mais de um índice)
 cada variável é acessada por dois índices a partir de um valor inicial e um valor final
Algoritmo e Estruturas de Dados - 02/2014
Algoritmo e Estruturas de Dados - 02/2014
Algoritmo e Estruturas de Dados - 02/2014
*
*
Exemplo de Matrizes
 var notasTurma: array [1..4, 1..3] of real ;
Quantos alunos tem a turma e quantas notas tem cada aluno?
var diasSemana: array [1..7, 1..4] of integer ;
Quantos dias tem a semana e quantas semanas tem a matriz?
var diasAno: array [1..30, 1..12] of integer ;
Quantos dias tem cada mês?
Quantos meses tem cada ano?
Quantos elementos tem a matriz (quantos dias tem o ano)?
 
Algoritmo e Estruturas de Dados - 02/2014
Algoritmo e Estruturas de Dados - 02/2014
Algoritmo e Estruturas de Dados - 02/2014
*
*
Exemplo de Matrizes (cont)
 var matriz: array [1..3, 1..3] of real ;
 
Algoritmo e Estruturas de Dados - 02/2014
Algoritmo e Estruturas de Dados - 02/2014
Algoritmo e Estruturas de Dados - 02/2014
*
*
Program ArmazenaNotas;
// Le 3 notas de 4 alunos
var 
 indLinha, indColuna: integer; // uma linha para cada aluno e
 nota: array [1..4,1..3] of real; // uma coluna para cada nota 
Begin
 for indLinha := 1 to 4 do
 begin
 writeln('Notas do ',indLinha,'. aluno.');
 for indColuna := 1 to 3 do
 begin
 write('Informe a ', indColuna,'. nota: ');
 readln(nota[indLinha,indColuna]);
 end;
 writeln('');
 end; 
End.
Exemplo 1 : leia e armazene 3 notas de 4 alunos de uma turma
Algoritmo e Estruturas de Dados - 02/2014
Algoritmo e Estruturas de Dados - 02/2014
Algoritmo e Estruturas de Dados - 02/2014
*
*
Um professor tem uma turma de 35 alunos onde cada aluno tem duas notas de prova. Ele deseja ler e armazenar o nome dos alunos, suas duas notas e a média destas notas. Faça um algoritmo que:
 leia e armazene o nome e as notas de cada aluno
calcule a média das notas
mostre o nome, as notas e a média de cada aluno
ordene a relação de alunos por nome e mostre o nome, as notas e a média de cada aluno.
Ordene a relação de alunos por média e mostre o nome, as notas, a média de cada aluno e sua situação:
Exercícios – 8
Algoritmo e Estruturas de Dados - 02/2014
Algoritmo e Estruturas de Dados - 02/2014
Algoritmo e Estruturas de Dados - 02/2014
*
*
Imprima a matriz abaixo:
 	11 12 13
 21 22 23
 31 32 33
Exercícios – 8
Algoritmo e Estruturas de Dados - 02/2014
Algoritmo e Estruturas de Dados - 02/2014
Algoritmo e Estruturas de Dados - 02/2014
*
*
Estruturas de Dados Heterogêneas: registros
type
 identificador_registro = record
 <declaração dos campos>
 end;
var identificador_variavel : identificador_registro;
 são declarados na instrução type e antes da declaração das variáveis.
 os campos de um registro são como variáveis e podem armazenar dados de tipos diferentes.
Algoritmo e Estruturas de Dados - 02/2014
Algoritmo e Estruturas de Dados - 02/2014
Algoritmo e Estruturas de Dados - 02/2014
*
*
Exemplo de Registros
type
 cadastro_aluno = record
 Nome: string[20];
 Nota1: real;
 Nota2: real;
 end;
var aluno: cadastro_aluno;
Algoritmo e Estruturas de Dados - 02/2014
Algoritmo e Estruturas de Dados - 02/2014
Algoritmo e Estruturas de Dados - 02/2014
*
*
program NotasAluno;
type
 cadastro_aluno = record
 Nome: string;
 Nota1: real;
 Nota2: real;
 end;
var aluno: cadastro_aluno;
Begin
 write('Informe o nome...........: '); read(aluno.nome);
 write('Informe a primeira nota..: '); read(aluno.nota1);
 write('Informe a segunda nota...: '); read(aluno.nota2);
 writeln;
 writeln(‘O aluno ‘,aluno.nome, 
 ‘ tem media = ‘,(aluno.nota1+aluno.nota2)/2);
End.
Exemplo 1 : leia o nome e as 2 notas de um aluno e calcule sua média
Algoritmo e Estruturas de Dados - 02/2014
Algoritmo e Estruturas de Dados - 02/2014
Algoritmo e Estruturas de Dados - 02/2014
*
*
 é um programa que auxilia o programa principal através da realização de uma determinada sub-tarefa.
 é chamados dentro do corpo do programa principal como se fosse um comando.
 após seu término, a execução do programa continua a partir do ponto onde foi chamado.
 cada subprograma, além de ter acesso às variáveis do programa que o chamou (são as variáveis globais), pode ter suas próprias variáveis (são as variáveis locais).
 
Pascal - Subprogramas
Algoritmo e Estruturas de Dados - 02/2014
Algoritmo e Estruturas de Dados - 02/2014
Algoritmo e Estruturas de Dados - 02/2014
*
*
são escritos após a declaração das variáveis e antes do corpo do programa principal
 parâmetros são informações passadas a um subprograma quando este é chamado.
 funções são subprogramas que retornam um valor. 
 procedimentos são subprogramas que não retornam um valor.
Pascal – Subprogramas (cont.)
Algoritmo e Estruturas de Dados - 02/2014
Algoritmo e Estruturas de Dados - 02/2014
Algoritmo e Estruturas de Dados - 02/2014
*
*
procedure NomeProced ( <parametros> ) ;
 declarações
begin comandos end;
Pascal – Procedimentos
Algoritmo e Estruturas de Dados - 02/2014
Algoritmo e Estruturas de Dados - 02/2014
Algoritmo e Estruturas de Dados - 02/2014
*
*
Program SomaSemParm;
// soma 2 numeros
var 
 n1, n2, total: integer; //são var globais
procedure Soma;
begin
 total := n1+n2; //são var globais
end; // end da procedure Soma 
Begin
 n1 := 2;
 n2 := 3;
 Soma;
 writeln('A soma de ',n1,' e ', n2,' é igual a ', total); 
End.
Exemplo 1 : soma de 2 números, sem parâmetros
Algoritmo e Estruturas de Dados - 02/2014
Algoritmo e Estruturas de Dados - 02/2014
Algoritmo e Estruturas de Dados - 02/2014
*
*
Program SomaComParamValor;
// soma 2 numeros
var 
 n1, n2, total: integer; //são var globais
procedure Soma(x,y: integer); // x e y são locais a Soma
begin
 total := x+y; // total é var global
end; // end da procedure Soma 
Begin
 n1 := 2;
 n2 := 3;
 Soma(n1,n2);
 writeln('A soma de ',n1,' e ', n2,' é igual a ', total); 
End.
Exemplo 2 : soma de 2 números, com parâmetros por valor
Algoritmo e Estruturas de Dados - 02/2014
Algoritmo e Estruturas de Dados - 02/2014
Algoritmo e Estruturas de Dados - 02/2014
*
*
Program SomaComParamRefer;
// soma 2 numeros
var 
 n1, n2, total: integer; //são var globais
procedure Soma(x,y: integer; var resposta:integer);
 // x e y são locais a Soma
 // resposta é parametro por referencia
begin
 resposta := x+y; // resposta é a var global total
end; // end da procedure Soma 
Begin
 n1 := 2;
 n2 := 3;
 Soma(n1,n2,total);
 writeln('A soma de ',n1,' e ', n2,' é igual a ', total); 
End.
Exemplo 3 : soma de 2 números, com parâmetros por referência
Algoritmo e Estruturas de Dados - 02/2014
Algoritmo e Estruturas de Dados - 02/2014
Algoritmo e Estruturas de Dados - 02/2014
*
function NomeFuncao ( <parametros> ) : tipo ;
 declarações
begin comandos end;
*
Pascal – Funções
Algoritmo e Estruturas de Dados - 02/2014
Algoritmo e Estruturas de Dados - 02/2014
Algoritmo e Estruturas de Dados - 02/2014
*
*
Program SomaSemParm;
// soma 2 numeros
var
n1, n2, total: integer; //são var globais
function Soma: integer;
begin
 Soma := n1+n2; //são var globais
end; // da função Soma 
Begin
 n1 := 2;
 n2 := 3;
 total:= Soma;
 writeln('A soma de ',n1,' e ', n2,' é igual a ', total); 
End.
Exemplo 1 : soma de 2 números, sem parâmetros
Algoritmo e Estruturas de Dados - 02/2014
Algoritmo e Estruturas de Dados - 02/2014
Algoritmo e Estruturas de Dados - 02/2014
*
*
Program FuncSomaComParm;
// soma 2 numeros
var 
 n1, n2, total: integer; //são var globais
function Soma(x,y: integer): integer;
begin
 Soma := x+y; // x e y são var locais
end; // da função Soma 
Begin
 n1 := 2;
 n2 := 3;
 total:= Soma(n1,n2);
 writeln('A soma de ',n1,' e ', n2,' é igual a ', total); 
End.
Exemplo 2 : soma de 2 números, com parâmetros por valor
Algoritmo e Estruturas de Dados - 02/2014
Algoritmo e Estruturas de Dados - 02/2014
Algoritmo e Estruturas de Dados - 02/2014
*
*
 recursão é a possibilidade de um sub-programa (procedimento ou função) chamar a si mesmo.
Exemplo: o fatorial de um numero 
N = N * ( N-1) * (N-2)* ... * 2 * 1
Pascal – recursão
Algoritmo e Estruturas de Dados - 02/2014
Algoritmo e Estruturas de Dados - 02/2014
Algoritmo e Estruturas de Dados - 02/2014
*
*
Program CalculaFatorial;
// calcula o fatorial de n
var n, fatorial: integer; 
Function Fat(x:integer):integer;
Begin
 if (x <= 2) then
 Fatorial := x
 else 
 Fat := x * Fat (x-1);
end; // da função Fat
Exemplo: fatorial de um número n
Begin
write('Escreva um numero :');
read(n);
fatorial := Fat(n);
writeln(‘O fatorial de ‘,n,
 ‘ é igual a ‘,fatorial); 
End.
Algoritmo e Estruturas de Dados - 02/2014
Algoritmo e Estruturas de Dados - 02/2014
Algoritmo e Estruturas de Dados - 02/2014
*
*
Funções numéricas predefinidas em pascal
Algoritmo e Estruturas de Dados - 02/2014
Exemplos
Algoritmo e Estruturas de Dados - 02/2014
Algoritmo e Estruturas de Dados - 02/2014
*
*
Funções numéricas predefinidas em pascal (cont)
Algoritmo e Estruturas de Dados - 02/2014
Exemplos
Algoritmo e Estruturas de Dados - 02/2014
Algoritmo e Estruturas de Dados - 02/2014
*
*
Funções predefinidas para uso em strings
Algoritmo e Estruturas de Dados - 02/2014
Exemplos
Algoritmo e Estruturas de Dados - 02/2014
Algoritmo e Estruturas de Dados - 02/2014
*
*
Algoritmo e Estruturas de Dados - 02/2014
Exemplos
Funções predefinidas para uso em strings (cont.)
Algoritmo e Estruturas de Dados - 02/2014
Algoritmo e Estruturas de Dados - 02/2014
*
*
Algoritmo e Estruturas de Dados - 02/2014
Exemplos
Funções predefinidas para uso em strings (cont.)
Algoritmo e Estruturas de Dados - 02/2014
Algoritmo e Estruturas de Dados - 02/2014
*
*
Algoritmo e Estruturas de Dados - 02/2014
Exemplos
Funções predefinidas para uso em strings (cont.)
Algoritmo e Estruturas de Dados - 02/2014
Algoritmo e Estruturas de Dados - 02/2014
*
Algoritmo e Estruturas de Dados - 02/2014
*
Exercícios
Leia dois números inteiros, calcule a sua média usando um procedimento e a imprima.
Faça o exercício acima usando uma função.
Leia dois números inteiros e usando uma função diga qual o maior deles.
Faça o exercício acima para 3 números, retornando o maior deles.
Escreva um procedimento que troque o valor de dois números.
Dado um numero de 3 algarismos, faça uma rotina(procedimento ou função) que decomponha este numero nos seus digitos. Exemplo: número 145 decomposto nos números 1 (centenas), 4 (dezenas) e 5 (unidades).
Algoritmo e Estruturas de Dados - 02/2014
Algoritmo e Estruturas de Dados - 02/2014
*
Algoritmo e Estruturas de Dados - 02/2014
*
Exercícios
O digito verificador de um numero de 3 algarismos é calculado da seguinte forma:
 DV = (D1*4 + D2*3 + D3*2) mod 10
 onde D1 é o primeiro digito do número, D2 seu segundo digito e D3 seu terceiro digito. Faça um programa que leia uma serie de números de no máximo 3 algarismos (parar ao ler zero) e escreva seu DV calculado por uma rotina (função ou procedimento).
Algoritmo e Estruturas de Dados - 02/2014
Algoritmo e Estruturas de Dados - 02/2014
*
Algoritmo e Estruturas de Dados - 02/2014
*
Glossário de termos
Bloco de comandos : conjunto de comandos com uma função bem definida.
 Comandos : ações, instruções de uma linguagem.
 Função : sub–algoritmo que retorna um valor ou uma informação.
 Identificadores : nomes dados a variáveis, constantes e programas. Devem começar por letra e podem ter letras, números ou underscore. Não podem ser palavras reservadas ou ter espaços em branco.
 Linguagens de programação : softwares que permitem o desenvolvimento de programas. Possuem poder de criação ilimitado desde sistemas empresariais até sistemas operacionais.
 Palavra reservada: nomes de comandos da linguagem.
 Procedure: sub-algoritmo que não retorna valor ou informação.
 Programa : é um algoritmo escrito em uma linguagem computacional.
 Variável : nome de um local de memória onde se armazena um determinado valor compatível como tipo da variável. 
Algoritmo e Estruturas de Dados - 02/2014
Algoritmo e Estruturas de Dados - 02/2014
*
Algoritmo e Estruturas de Dados - 02/2014
*
Exercícios
Leia 10 registros contendo a altura ( de 0,30m a 2,20m) e o código de sexo dos alunos de uma turma ( M e F). Ao final, imprimir:
A maior, a menor e a media da altura das mulheres
A maior, a menor e a media da altura dos homens
A maior, a menor e a media da altura da turma
Um professor tem uma turma de 35 alunos onde cada aluno tem duas notas de prova. Ele deseja ler e armazenar o nome dos alunos (use um vetor), suas duas notas e a média destas notas (use uma matriz) . Faça um algoritmo que:
 leia e armazene o nome (apenas caracteres alfabéticos e espaços em branco) e as notas de cada aluno (entre 0 e 10)
calcule a média das notas
mostre o nome, as notas e a média de cada aluno:
Algoritmo e Estruturas de Dados - 02/2014
UniBH
UniBH
*
Algoritmo e Estruturas de Dados
*
Algoritmo e Estruturas de Dados
UniBH
*
*
Algoritmo e Estruturas de Dados
UniBH
Algoritmo e Estruturas de Dados
UniBH
*
*
Algoritmo e Estruturas de Dados
UniBH
Algoritmo e Estruturas de Dados
UniBH
*
*
Algoritmo e Estruturas de Dados
UniBH
Algoritmo e Estruturas de Dados
UniBH
*
*
Algoritmo e Estruturas de Dados
UniBH
Algoritmo e Estruturas de Dados
UniBH
*
*
Algoritmo e Estruturas de Dados
UniBH
Algoritmo e Estruturas de Dados
UniBH
*
*
Algoritmo e Estruturas de Dados
UniBH
Algoritmo e Estruturas de Dados
UniBH
*
*
Algoritmo e Estruturas de Dados
UniBH
Algoritmo e Estruturas de Dados
UniBH
UniBH
*
Algoritmo e Estruturas de Dados
*
Algoritmo e Estruturas de Dados
UniBH
UniBH
*
Algoritmo e Estruturas de Dados
*
Algoritmo e Estruturas de Dados
UniBH
UniBH
*
Algoritmo e Estruturas de Dados
*
Algoritmo e Estruturas de Dados
UniBH
UniBH
*
Algoritmo e Estruturas de Dados
*
Algoritmo e Estruturas de Dados
UniBH
UniBH
*
Algoritmo e Estruturas de Dados
*
Algoritmo e Estruturas de Dados
UniBH
UniBH
*
Algoritmo e Estruturas de Dados
*
Algoritmo e Estruturas de Dados
UniBH
UniBH
*
Algoritmo e Estruturas de Dados
*
Algoritmo e Estruturas de Dados
UniBH
UniBH
*
Algoritmo e Estruturas de Dados
*
Algoritmo e Estruturas de Dados
UniBH
UniBH
*
Algoritmo e Estruturas de Dados
*
Algoritmo e Estruturas de Dados
UniBH
UniBH
*
Algoritmo e Estruturas de Dados
*
Algoritmo e Estruturas de Dados

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Outros materiais