tipo <registro> = registro <campo1>: <tipo1>; <campo2>: <tipo2>; ... <campoN>: <tipoN>; fim;
type <registro> = record <campo1>: <tipo1>; <campo2>: <tipo2>; ... <campoN>: <tipoN>; end;
type TipoAluno = record Nome: string[30]; Matricula: string[8]; Media: real; Frequencia: integer; end;
var Aluno: TipoAluno;
type TipoProfessor = record Nome: string[30]; Codigo: string[8]; Salario: real; Ingresso: string[8]; end;
var Prof: TipoProfessor;
program RelTurma; type TipoAluno = record Nome: string[30]; Matricula: string[8]; Media: real; Frequencia: integer; end; var Aluno: TipoAluno; Aprovados, Reprovados : integer; begin Aprovados := 0; Reprovados := 0; write('Nome:'); readln(Aluno.Nome); while Aluno.Nome <> 'fim' do begin write('Matricula:'); readln(Aluno.Matricula); write('Media:'); readln(Aluno.Media); write('Frequencia:'); readln(Aluno.Frequencia); if (Aluno.Media >= 7) and (Aluno.Frequencia >= 60) then Aprovados := Aprovados + 1 else Reprovados := Reprovados + 1; write('Nome:'); readln(Aluno.Nome); end; writeln('Total de Aprovados:', Aprovados); writeln('Total de Reprovados:', Reprovados); end.
44) Escreva um programa para ler os dados dos professores de um curso, a saber: nome, código, salário e ingresso. Exibir o número de professores com salário acima de R$ 500,00 e com ingresso após 01/01/2000.
45) Ajuste o algoritmo RelTurma de forma que: seja exibido o número de aprovados, reprovados por média, reprovados por falta e o cálculo da média da turma.
46) Escrever um programa para ler os dados dos atletas de um clube (nome, idade, sexo, altura e peso) e determinar o número de atletas (1) do sexo masculino com peso inferior a 80, (2) com mais de 25 anos com altura superior a 1,75 e (3) com altura entre 1,60 e 1,75 ou com peso superior a 55.
47) A firma de entrega de encomendas deseja identificar: (1) o maior nº de entregas efetuadas por um funcionário num dia de trabalho e (2) o menor tempo, em horas gasto por um funcionário para efetuar as entregas num dia de trabalho Para tanto, foi encomendado um algoritmo que lê (diariamente): o código do funcionário, o número de entregas efetuadas por este (funcionário) e o tempo gasto por este (funcionário) para efetuar as entregas.
48) Implementar programa correspondente à questão 45.
100 | 4 | 20 | 33 | 51 |
'A1' | 'A2' | 'A3' |
'B1' | 'B2' | 'B3' |
'C1' | 'C2' | 'C3' |
type <ident> = array [1..N] of <Tipo>;
type TipoVetor = array [1..10] of integer;
var Vetor: TipoVetor;
type <ident> = array [1..L, 1..C] of <Tipo>;
type TipoMatriz = array [1..5, 1..12] of real; { Balanço anual de vendas de uma rede de lojas: 5 unidades x 12 meses }
var Matriz: TipoMatriz;
program MaiorQueMedia; type TipoVetor = array [1..100] of real; var Vetor: TipoVetor; N, I: integer; Soma, Media: real; begin Soma := 0; write('N:'); readln(N); for I := 1 to N do begin write('Vetor[', I, ']:'); readln(Vetor[I]); Soma := Soma + Vetor[I]; end; Media := Soma / N; for I := 1 to N do if Vetor[I] > Media then writeln(Vetor[I]); end.
program OrdenaPalavras; type TipoVetor = array [1..30] of string[20]; var Vetor : TipoVetor; I, N, Menor, Ordenadas : integer; Temp : string[20]; begin write('N:'); readln(N); for I := 1 to N do readln(Vetor[I]); Ordenadas := 0; repeat inc(Ordenadas); { equivale a Ordenadas := Ordenadas + 1; } Menor := Ordenadas; for I := Ordenadas + 1 to N do if (Vetor[I] < Vetor[Menor]) then Menor := I; Temp := Vetor[Ordenadas]; Vetor[Ordenadas] := Vetor[Menor]; Vetor[Menor] := Temp; until Ordenadas = N; for I := 1 to N do writeln(Vetor[I]); end.
Arenoso | Cimento | Bloco | Telha | Tijolo | ... | Vetor Produtos | ||
SE | 200 | 80 | 250 | 300 | 20 | |||
SP | 20 | 150 | 700 | 500 | 5 | |||
RJ | 150 | 70 | 180 | 900 | 500 | |||
... | ||||||||
Vetor Lojas |
Matriz |
E definir:
a) estoque de um dado produto numa dada loja.
b) estoque de um dado produto.
c) estoque de uma dada loja.
d) loja em que um dado produto apresenta menor estoque.
e) produto com menor estoque em uma dada loja.
program RedeLojas; type VetorProdutos = array[1..5] of string[10]; VetorLojas = array[1..3] of string[2]; MatrizEstoque = array[1..3, 1..5] of integer; var Produtos: VetorProdutos; Lojas: VetorLojas; Estoque: MatrizEstoque; Produto: string[10]; Loja: string[2]; Quant, P, L, I, J: integer; begin { Leitura dos produtos } writeln('Digite os 5 produtos'); for I := 1 to 5 do readln(Produtos[I]); { Leitura das lojas } writeln('Digite as 3 lojas'); for I := 1 to 3 do readln(Lojas[I]); { Leitura do estoque por loja } writeln('Digite o estoque dos produtos por loja'); for I := 1 to 3 do for J := 1 to 5 do readln(Estoque[I,J]); { Item A - estoque de um dado produto numa dada loja } write('Digite o produto:'); readln(Produto); for I := 1 to 5 do if Produtos[I] = Produto then P := I; write('Digite a loja:'); readln(Loja); for J := 1 to 3 do if Lojas[J] = Loja then L := J; writeln('Estoque do produto ', Produto, ' na loja ', Loja, ':', Estoque[L,P]); { Item B - estoque de um dado produto } write('Digite o produto:'); readln(Produto); for I := 1 to 5 do if Produtos[I] = Produto then P := I; Quant := 0; for J := 1 to 3 do Quant := Quant + Estoque[J,P]; writeln('Estoque do produto ', Produto, ':', Quant); { Item C - estoque de uma dada loja } write('Digite a loja:'); readln(Loja); for J := 1 to 3 do if Lojas[J] = Loja then L := J; Quant := 0; for I := 1 to 5 do Quant := Quant + Estoque[L,I]; writeln('Estoque da loja ', Loja, ':', Quant); { Item D - loja em que um dado produto apresenta menor estoque } write('Digite o produto:'); readln(Produto); for I := 1 to 5 do if Produtos[I] = Produto then P := I; Quant := Estoque[1,P]; L := 1; for J := 2 to 3 do if Estoque[J,P] < Quant then begin Quant := Estoque[J,P]; L := J; end; writeln('Loja ', Lojas[L], ' tem o menor estoque (', Quant, ') do produto ', Produto); { Item E - produto com menor estoque em uma dada loja } write('Digite a loja:'); readln(Loja); for J := 1 to 3 do if Lojas[J] = Loja then L := J; Quant := Estoque[L,1]; P := 1; for I := 2 to 5 do if Estoque[L,I] < Quant then begin Quant := Estoque[L,I]; P := I; end; writeln('O produto ', Produtos[P], ' tem o menor estoque na loja ', Loja); end.
49) Implementar um programa para ordenar números.
50) Implementar programa para ler nome e média dos alunos de uma turma e escrever a relação de estudantes com média superior ou igual à media da turma.
51) Implementar programa para criar as seguintes estruturas:
Prova | Seminário | Exercícios | Projeto | Vetor Avaliação | ||
Filosofia | 10 | 9 | 9 | 8 | ||
Psicologia | 8 | 8 | 7 | 9 | ||
Economia | 10 | 10 | 5 | 2 | ||
Administração | 2 | 1 | 10 | 8 | ||
História | 6 | 6 | 9 | 4 | ||
Vetor Disciplinas |
Matriz |
E determinar:
a) a média em uma dada disciplina
b) a média em uma dada modalidade de avaliação
c) a média do aluno
d) a disciplina em que o aluno obteve maior nota em uma dada modalidade de
avaliação