Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


Algorítimos Parte2, Notas de estudo de Matemática Elementar

Apostilas de Física sobre o estudo de Algorítimos, Problemas Resolvidos em Algoritmos, Pascal e C, Algoritmo do Triangulo.

Tipologia: Notas de estudo

2013

Compartilhado em 23/04/2013

Caruru200
Caruru200 🇧🇷

4.5

(135)

447 documentos

1 / 20

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
20) Dado uma ralação de N nomes, faça um algoritmo que verifique se uma determinada pessoa
está neste vetor. O Nome da pessoa a ser pesquisada deverá ser lido, bem como os nomes a
serem colocados no vetor.
21 Dado uma frase, faça um algoritmo que determine qual a consoante mais utilizada.
22) Faça um algoritmo que leia N letras e armazene cada uma em uma posição de memória.
Coloque no vetor, após a última letra lida, o caracter "$", indicando final dos caracteres
23) Faça um algoritmo que:
a) Leia um vetor A com N elementos e um vetor B com N elementos do tipo CADEIA.
b) Intercale estes vetores A e B, formando um outro vetor C da seguinte forma.
C[1] A[1]
C[2] B[1]
C[3] A[2]
C[4] B[2]
c) Caso um vetor ( A ou B ) termine antes do outro, o vetor C deverá ser preenchido com os
elementos do vetor que ainda possui informações.
24) Faça um algoritmo que:
a) Leia um vetor A com N elementos já ordenados e um vetor B com M elementos também já
ordenados.
b) Intercale os dois vetores A e B, formando um vetor C, sendo que ao final do processo de
intercalação, o vetor C continue ordenado. Nenhum outro processo de ordenação poderá ser
utilizado além da intercalação dos vetores A e B.
c) Caso um vetor ( A ou B ) termine antes do outro, o vetor C deverá ser preenchido com os
elementos do vetor que ainda possui informações.
25) Faça um algoritmo que:
a) Leia um vetor com N elementos formado por valores do tipo inteiro.
b) Após a leitura, modifique o vetor de forma que o mesmo contenha na parte superior somente
valores pares, e na parte inferior os valores impares.
c) Ordene crescentemente os números pares, e decrescentemente os números impares.
26) Dado um conjunto de n registros, cada registro contendo o nome e a idade dessa pessoa faça
um algoritmo que:
a) Guarde todos os dados na memória;
b) Escreva o nome das pessoas que tem idade maior que a idade da primeira;
c) Listar os nomes das pessoas que tem a idade maior que a média;
d) Listar o nome da pessoa de maior e menor idade
27) Dado que para cada aluno de uma turma de "N" alunos se tenha, o seu nome, e as notas das 8
avaliações. Faça um algoritmo que:
Imprima o nome a média de cada aluno;
a) Calcule a Percentagem de alunos cujo o nome comece com a letra "A";
b) Para cada aluno imprima uma mensagem dizendo se o aluno tem ou não notas repetidas;
c) Determine quantos alunos tem pelo menos duas notas acima de 7;
28) Dado um verto X de n elementos faça um algoritmo que:
a) Crie outro vetor Y contendo os elementos de x que estão na faixa entre 10 e 40;
b) Crie outro vetor W contendo os números que estão nas posições pares;
c) Pesquise a existência de um determinado elemento Y no vetor X;
d) Escreva o menor e maior elemento do vetor X;
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14

Pré-visualização parcial do texto

Baixe Algorítimos Parte2 e outras Notas de estudo em PDF para Matemática Elementar, somente na Docsity!

20) Dado uma ralação de N nomes, faça um algoritmo que verifique se uma determinada pessoa

está neste vetor. O Nome da pessoa a ser pesquisada deverá ser lido, bem como os nomes a

serem colocados no vetor.

21 Dado uma frase, faça um algoritmo que determine qual a consoante mais utilizada.

22) Faça um algoritmo que leia N letras e armazene cada uma em uma posição de memória.

Coloque no vetor, após a última letra lida, o caracter "$", indicando final dos caracteres

23) Faça um algoritmo que:

a) Leia um vetor A com N elementos e um vetor B com N elementos do tipo CADEIA.

b) Intercale estes vetores A e B, formando um outro vetor C da seguinte forma.

C[1] A[1]

C[2] B[1]

C[3] A[2]

C[4] B[2]

c) Caso um vetor ( A ou B ) termine antes do outro, o vetor C deverá ser preenchido com os

elementos do vetor que ainda possui informações.

24) Faça um algoritmo que:

a) Leia um vetor A com N elementos já ordenados e um vetor B com M elementos também já

ordenados.

b) Intercale os dois vetores A e B, formando um vetor C, sendo que ao final do processo de

intercalação, o vetor C continue ordenado. Nenhum outro processo de ordenação poderá ser

utilizado além da intercalação dos vetores A e B.

c) Caso um vetor ( A ou B ) termine antes do outro, o vetor C deverá ser preenchido com os

elementos do vetor que ainda possui informações.

25) Faça um algoritmo que:

a) Leia um vetor com N elementos formado por valores do tipo inteiro.

b) Após a leitura, modifique o vetor de forma que o mesmo contenha na parte superior somente

valores pares, e na parte inferior os valores impares.

c) Ordene crescentemente os números pares, e decrescentemente os números impares.

26) Dado um conjunto de n registros, cada registro contendo o nome e a idade dessa pessoa faça

um algoritmo que:

a) Guarde todos os dados na memória;

b) Escreva o nome das pessoas que tem idade maior que a idade da primeira;

c) Listar os nomes das pessoas que tem a idade maior que a média;

d) Listar o nome da pessoa de maior e menor idade

27) Dado que para cada aluno de uma turma de "N" alunos se tenha, o seu nome, e as notas das 8

avaliações. Faça um algoritmo que:

Imprima o nome a média de cada aluno;

a) Calcule a Percentagem de alunos cujo o nome comece com a letra "A";

b) Para cada aluno imprima uma mensagem dizendo se o aluno tem ou não notas repetidas;

c) Determine quantos alunos tem pelo menos duas notas acima de 7;

28) Dado um verto X de n elementos faça um algoritmo que:

a) Crie outro vetor Y contendo os elementos de x que estão na faixa entre 10 e 40;

b) Crie outro vetor W contendo os números que estão nas posições pares;

c) Pesquise a existência de um determinado elemento Y no vetor X;

d) Escreva o menor e maior elemento do vetor X;

29) Em uma cidade do interior, sabe-se que, de janeiro a abril de 1976 (121 dias), não ocorreu

temperatura inferior a 15o C nem superior a 40o C. As temperatura verificadas em cada dia estão

disponíveis em uma unidade de entrada de dados.

Fazer um algoritmo que calcule e escreva:

a) a menor temperatura ocorrida;

b) a maior temperatura ocorrida;

c) a temperatura média

d) o número de dias nos quais a temperatura foi inferior a média à temperatura média.

30) Fazer um algoritmo que:

a) leia o valor de n (n <= 1000) e os n valores de um variável indexada A de valores inteiros

ordenados de forma crescente;

b) determine e escreva, para cada número que se repete no conjunto, a quantidade de vezes em

que ele aparece repetido;

c) elimine os elementos repetidos, formando um novo conjunto;

d) escreva o conjunto obtido no item c;

31) Um armazém trabalha com 100 mercadorias diferentes identificadas pelos números inteiros de

1 a 100. O dono do armazém anota a quantidade de cada mercadoria vendida durante o mês. Ele

tem uma tabela que indica, para cada mercadoria, o preço de venda. Escreva um algoritmo para

calcular o faturamento mensal do armazém. A tabela de preços é fornecida seguida pelos números

das mercadorias e as quantidades vendidas. Quando uma mercadoria não tiver nenhuma venda, é

informado o valor zero no lugar da quantidade.

32) Uma grande firma deseja saber quais os três empregados mais recentes. Fazer um algoritmo

para ler um número indeterminado de informações (máximo de 300) contendo o número do

empregado e o número de meses de trabalho deste empregado e escrever os três mais recentes.

Observações: A última informação contém os dois números iguais a zero. Não existem dois

empregados admitidos no mesmo mês.

Exemplo:

EMPREGADOS

MESES

Empregado mais recente: 4631.

33) Fazer um algoritmo que:

a) leia uma variável indexada A com 30 valores reais;

b) leia uma outra variável indexada B com 30 valores reais;

c) leia o valor de uma variável X;

d) verifique qual o elemento de A é igual a X;

e) escreva o elemento de B de posição correspondente à do elemento A igual a X;

34) Fazer um programa que:

a) leia o valor de M (M<=30) e os valores de uma variável indexada A;

b) leia o valor de N (N<=20) e os valores de uma variável indexada B;

c) determine o conjunto C = A È B (união de A com B), onde C não deverá conter elementos

repetidos (A e B não contém elementos repetidos);

d) escreva os elementos contidos em A, B e C;

; END.

Exemplo Definir uma variável indexada bidemensional para armazenar os dados de uma matriz 4

por 4 de números do tipo REAL, sendo que a mesma deverá corresponder no total a 16 posições

de memória.

ALGORITMO Exemplo; VARIÁVEIS MAT : MATRIZ [1:4,1:4] DE REAL INICIO FIM Em pascal: PROGRAM Exemplo; VAR MAT: ARRAY [1..4,1..4] OF REAL; BEGIN ; END.

No Exemplo acima, após a definição da variável, a memória estará como mostrado no esquema

abaixo:

MAT

Os Valores numéricos apresentados acima correspondem aos índices da variável.

B) Atribuição

[<Índice>,<Índice>] Valor;

LEIA ([<Índice>,<Índice>]);

Em pascal:

[<Índice>,<Índice>]: =Valor;

READ ([<Índice>,<Índice>]);

Exemplo:

ALGORITMO Atribui

VARIÁVEIS

Nomes : VETOR [1:4,1:4] DE CADEIA

I,J : INTEIRO

BEGIN

PARA I 1 ATE 4, PASSO 1, FACA

PARA J 1 ATE 4, PASSO 1, FACA

LEIA (Nomes [ I , J] )

FIM PARA

FIM PARA

FIM

Em pascal:

PROGRAM Atribui;

VAR

Nomes : ARRAY[1..4,1..4] OF STRING;

I,J : INTEGER;

BEGIN

FOR I: = 1 TO 4 DO

FOR := J := 1 TO 4 DO

READ (Nomes[ I,J] );

END.

10.2.1 Exercícios 9:

1) Faça um algoritmo para ler e imprimir uma matriz 2x4 de números inteiros.

2) Dado uma matriz de ordem 3x3 faça um algoritmo que:

a) Calcule a soma dos elementos da primeira coluna;

b) Calcule o produto dos elementos da primeira linha;

c) Calcule a soma de todos os elementos da matriz;

d) Calcule a soma do diagonal principal;

3) Dado uma matriz de ordem NxN faça um algoritmo que verifique se a matriz é simétrica (aij=aji).

4) Dado uma matriz NxM de valores reais faça um algoritmo que faça a leitura destes valores e ao

final da leitura de todos, imprimir o seguintes relatório:

a) Qual a Soma dos valores de cada coluna da matriz;

b) Listar os valores que são menores que a média dos valores;

c) Qual a soma dos elementos da diagonal secundária;

5) Dado uma matriz NxM de valores inteiros faca um algoritmo que faça a leitura destes valores e

ao final coloque os elementos ordenados primeiro pela linha e depois pela coluna.

6) Dado duas matrizes A e B de ordem NxN faca um algoritmo que some as duas e gere a matriz

C. Os elementos da matriz C são a soma dos respectivos elementos de A e B.

7) Dado uma matriz NxM de valores inteiros determine a sua matriz transposta e imprima.

8) Fazer um algoritmo que efetue um produto matricial. Seja A(m x n) e B (n x m) as matrizes

fatores, sendo m<=40 e n<=70. Deverão ser impressas as matrizes A, B e a matriz-produto obtida.

11. Funções pré-definidas do Pascal

O Pascal, possui muitas funções/Rotinas pré-definidas, sendo que iremos estudar algumas das

principais. Caso haja necessidade, o manual da linguagem Pascal pode, e deve, ser usado como

fonte de pesquisa de outras funções.

Dentre as Rotinas que iremos abordar, algumas necessitam que um comando especial seja

colocado no início do PROGRAMA. Tal comando é mostrado abaixo:

PROGRAM Teste; USES CRT; BEGIN ; END.

Obs.: As funções que necessitarem o comando especial mostrado acima terão colocados ao lado a palavra CRT. 11.1 Descrição das Funções/Rotinas: Rotina : ABS() Função : Retorna o valor absoluto de um valor numérico.

Rotina : DEC() Função : Decrementa uma variável numérica Sintaxe : DEC(Valor) Exemplo: PROGRAM Teste; VAR x : INTEGER; BEGIN x: =10; DEC(x) ; ( 9 ) END.

Rotina : DELAY() ( CRT ) Função : Interrompe o processamento por um número especificado de milisegundos Sintaxe : DELAY(Tempo) Exemplo: PROGRAM Teste; USES CRT; BEGIN DELAY(200); END.

Rotina : DELETE() Função : Deleta n caracteres de uma STRING, a partir de uma posição inicial Sintaxe : DELETE(s ,posição, quantidade) Exemplo: PROGRAM Teste; VAR s : STRING; BEGIN s: ='João da Silva'; DELETE (s,5,3); ('João Silva') END.

Rotina : EXP() Função : Retorna "e" elevado a um determinado valor numérico Sintaxe : Resultado: =EXP(Valor) Exemplo: PROGRAM Teste; VAR x : REAL; BEGIN x: : =EXP(10); END.

Rotina : FRAC() Função : Retorna a parte fracionária de um valor numérico Sintaxe : Resultado: =FRAC(Valor) Exemplo: PROGRAM Teste VAR x: REAL BEGIN x: =FRAC(2.345) ( 345 ) END

Rotina : GOTOXY() ( CRT ) Função : Posiciona o cursor no vídeo em uma determinada coluna ( x ) e linha ( y ) Sintaxe : GOTOXY( coluna, linha ) Exemplo: PROGRAM Teste; USES CRT; BEGIN GOTOXY(10,20); END.

Rotina : INC() Função : Incrementa uma variável numérica

Sintaxe : INC(Valor) Exemplo: PROGRAM Teste; VAR x : INTEGER; BEGIN x: =10; INC(x); (11) END.

Rotina : INSERT() Função : Insere uma STRING dentro de outra STRING a partir de uma determinada posição Sintaxe : INSERT(STRING_Fonte, STRING_Destino, posição) Exemplo: PROGRAM Teste; VAR s : STRING; BEGIN s: ='João Silva'; INSERT('Da ',s,6); ('João Da Silva') END.

Rotina : INT() Função : Retorna a parte inteira de um valor numérico Sintaxe : REsultado: =INT(Valor) Exemplo: PROGRAM Teste; VAR x : REAL; BEGIN x: =INT(2.345); (2) END.

Rotina : KEYPRESSED ( CRT ) Função : Retorna TRUE se uma tecla foi pressionada, FALSE case contrário Sintaxe : KEYPRESSED Exemplo: PROGRAM Teste; USES CRT; BEGIN REPEAT UNTIL KEYPRESSED; END.

Rotina : LENGTH() Função : Retorna o número de caracteres de uma STRING Sintaxe : Resultado: = LENGTH(s) Exemplo: PROGRAM Teste; VAR x : INTEGER; BEGIN x: = LENGTH('João'); ( 4 ) END.

Rotina : LN() Função : Retorna o logaritmo natural de um determinado valor numérico Sintaxe : Resultado: =LN(Valor) Exemplo: PROGRAM Teste; VAR x : REAL; BEGIN x: =EXP(LN(2)3); ( 2**3 ( 8 ) *) END.

Rotina : ODD() Função : Retorna TRUE se uma determinado valor numérico FOR impar, FALSE caso contrário Sintaxe :

Sintaxe : Resultado: =SQR(Valor) Exemplo: PROGRAM Teste; VAR x : INTEGER; BEGIN x: =SQR(3); ( 9 ) END.

Rotina : SQRT() Função : Retorna a raiz quadrada de um valor numérico Sintaxe : Resultado: =str(Valor) Exemplo: PROGRAM Teste VAR x: INTEGER BEGIN x: =SQRT(9) ( 3 ) END

Rotina : STR() Função : Converte um valor numérico para a sua representação em STRING Sintaxe : STR(Valor, STRING_Resultante) Exemplo: PROGRAM Teste; VAR s : STRING; BEGIN STR(2.345,s); END.

Rotina : TEXTBACKGROUND() ( CRT ) Função : Altera a cor de fundo nas operações de E/S Sintaxe : TEXTBACKGROUND(Cor) Exemplo: PROGRAM Teste; USES CRT; BEGIN TEXTBACKGROUND(0); (Preto) TEXTBACKGROUND(1); (Azul) TEXTBACKGROUND(2); (Verde) TEXTBACKGROUND(3); (Ciano) TEXTBACKGROUND(4); (Vermelho) TEXTBACKGROUND(5); (Mangenta) TEXTBACKGROUND(6); (Marrom) TEXTBACKGROUND(7); (Cinza) END.

Rotina : TEXTCOLOR() ( CRT ) Função : Altera a cor das letras nas operações de E/S Sintaxe : TEXTCOLOR(Cor) Exemplo: PROGRAM Teste; USES CRT; BEGIN TEXTCOLOR (0); (Preto) TEXTCOLOR(1); (Azul) TEXTCOLOR (2); (Verde) TEXTCOLOR(3); (Ciano) TEXTCOLOR(4); (Vermelho) TEXTCOLOR(5); (Mangenta) TEXTCOLOR(6); (Marrom) TEXTCOLOR(7); (Cinza) END.

Rotina : TRUNC() Função : Trunca um valor REAL para um valor Inteiro Sintaxe : Resultado: =TRUNC(Valor) Exemplo:

PROGRAM Teste; VAR x : INTEGER; BEGIN x: =TRUNC(2.345); ( 2 ) END

Rotina : UPCASE() Função : Converte um caracter minúsculo para maiúsculo Sintaxe : Resultado: =UPCASE(Caracter) Exemplo: PROGRAM Teste; VAR x : CHAR; BEGIN x: =UPCASE('a'); ( 'A' ) END.

Rotina : VAL() Função : Converte uma STRING para a sua representação numérica Sintaxe : VAL(STRING_ORIGEM,VALOR_RESPOSTA,CODIGO_ERRO) Exemplo: PROGRAM Teste; VAR x, e : INTEGER; BEGIN VAL('12345',x,e); ( 12345 ) END.

12. Problemas Resolvidos em Algoritmos, Pascal e C

Alguns Exemplos de problemas resolvidos em Algoritmos, Pascal e C.

12.1 Algoritmo do Triangulo

Faça um algoritmo para ler a base e a altura de um triângulo. Em seguida, escreva a área do

mesmo.

Obs: Área = ( Base * Altura ) / 2

Em Algoritmo:

Algoritmo Triangulo Variaveis: base, altura, area : real; Inicio Leia(Base) Leia(Altura) Area (Base * Altura)/ Escreva (Area) Fim

Em Pascal:

program triangulo; var area, base, altura: real;

write ('Digite preco de fabrica: '); readln (Precofabrica); Imposto := Precofabrica * (0.45 + 0.28); PrecoFinal := PrecoFabrica + imposto; writeln ('Automovel:', nome); writeln ('Preco de venda:', PrecoFinal:10:2); end.

Em C:

#include <stdio.h>

main () { /* declaracao de variaveis */ char nome[60] ; float precofabrica, precofinal, imposto ;

/* Entrada de dados */ printf ("Digite nome: "); scanf ("%s", &nome) ; printf ("Digite preco de fabrica: "); scanf ("%f", &precofabrica);

/* Calculos */ imposto = precofabrica *(0.45 + 0.28); precofinal = precofabrica + imposto;

/* Resultados */ printf ("Automovel: %s\n", nome); printf ("Preco de venda: %10.2f\n", precofinal); }

12.3 Algoritmo Media Valor

Dado uma série de 20 valores reais, faça uma algoritmo que calcule e escreva a média aritmética

destes valores, entretanto se a média obtida for maior que 8 deverá ser atribuída 10 para a média.

R.

Algoritmo Serie Variaveis Contador: Inteiro N,Soma, Media :Real Inicio Contador 0 Soma 0 Enquanto Contador < 20 faca Leia (N) Soma Soma + N Contador Contador + 1 Fim Enquanto Media Soma / 20 Se Media > 8 Entao Media 10 Fim Se Escreva (Media) Fim

Em Pascal:

Program MEDIA_20; Uses crt; var conta:integer;

media,num,soma:real; Begin Clrscr; conta := 0; soma := 0; Writeln ('Digite 20 numeros'); While conta < 20 do Begin read (num); soma := soma + num; conta := conta + 1; End; media := (soma / 20); if media > 8 then Writeln ('media =10'); else Writeln ('A media ‚'); Writeln (media); End.

Em C:

#include<stdio.h> #include<conio.h> main() { float media,num,soma; int cont; soma=0; cont=0; clrscr(); printf("\nDigite 20 numeros\n"); while (cont<20) { scanf("%f",&num); soma=soma+num; num=soma; cont++; } media=num/20; if (media > 8) { printf("Media ‚ igual a 10"); } else { printf("Media ‚ igual a: %2.2f\n",media); { } } return(0); }

12.4 Algoritmo 3 Menores

Faça um algoritmo que leia 3 números inteiros e imprima o menor deles.

Em Algoritimo:

Algoritmo Menor Variaveis A, B, C, Menor : Inteiro Inicio Leia ( A,B,C) Se (A < B) E (A <C) Entao Menor A Senao

Em Algoritmo:

Algoritmo Media Variaveis N, Conta, Maior4 : Inteiro Soma, Media, Numero :Real Inicio Conta 1 Maior4 0 Soma 0 Leia (N) Enquanto Conta < N Faça Leia (Numero) Se Numero > 4 Entao Soma Soma + Numero Maior4 Maior4 + 1 Fim Se Conta Conta + 1 Fim Enquanto Media Soma / Maior Escreva (Media) Fim

Em Pascal:

program maior4; uses CRT; var n, aux: integer; soma, media, numero: real; begin Clrscr; write ('Digite valores diferentes de 999'); writeln; aux := 0; soma := 0; read (numero); while numero <> 999 do begin if numero > 4 then begin soma:= soma + numero; aux := aux + 1; end; read (numero); end; media := (soma/aux); write ('MEDIA='); write (media); end.

Em C:

#include <iostream.h> #include <conio.h> main () { clrscr(); int n; float soma,media,numero,aux; cout <<"digite valores diferentes de 999 -> "; cin >> numero; aux =1; soma =0; while (numero != 999) { if (numero > 4) { soma = soma + numero; aux =aux+1; }

media = (soma/aux); cout << "\nEntre com o proximo ->"; cin >> numero; } cout << media; return 0; }

12.6 Algoritmo Salário

Uma empresa tem para um determinado funcionário uma ficha contendo o nome, número de horas

trabalhadas e o n0 de dependentes de um funcionário.

Considerando que:

a) A empresa paga 12 reais por hora e 40 reais por dependentes.

Sobre o salário são feito descontos de 8,5% para o INSS e 5% para IR.

Faça um algoritmo para ler o Nome, número de horas trabalhadas e número de dependentes de

um funcionário. Após a leitura, escreva qual o Nome, salário bruto, os valores descontados para

cada tipo de imposto e finalmente qual o salário líquido do funcionário.

Em Algoritmo:

Algoritmo salario variaveis nome : cadeia dependente : inteiro horas, salariol, salariob, DescontoI, DescontoR : real; Inicio Leia(nome,horas, dependente) salariob (12 * horas) + (40 * dependente) DescontoI (salariob0,085) DescontoR (salariob0,05) salariol (salariob - DescontoI, DescontoR) Escreva(nome,salarioB, DescontoI, DescontoR, salarioL) Fim

Em Pascal:

Program Salario; Uses Crt; Var Nome:String; Numhora, Salbruto, Salliq:Real; Numdep:Integer; Begin Clrscr; Write ('Digite O Nome Do Funcionario:'); Read (Nome); Writeln; Write ('Numero De Horas Trabalhadas:'); Read (Numhora); Writeln; Write ('E Numero De Dependentes:'); Read (Numdep); Writeln; Salbruto:=(12Numhora)+(40Numdep); Salliq:=Salbruto-((Salbruto0.085)+(Salbruto0.05)); Write ('Nome Do Funcionario:'); Write (Nome); Writeln; Write ('Salario Liquido:'); Write (Salliq); End.

begin writeln('Digite a Base'); read(base); writeln('Digite a Altura'); read(altura); area:=(base*altura)/2; write('Esta e a area do triangulo '); writeln (area); contador:=contador+1; end; repeat until keypressed; end.

Em C:

/program triangulo/ #include <stdio.h>

main () { float base,altura,area; int contador = 1;

while (contador < 51) { printf ("\nDigite a Base\n"); scanf ("%f",&base); printf ("\nDigite a Altura\n"); scanf ("%f",&altura); area=(base*altura)/2; printf ("\nA area do triangulo de numero %d eh %f",area); contador++; } return (0); }

12.8 Algoritmo Media Menores

Dado um conjunto de 20 valores reais, faça um algoritmo que:

a) Imprima os valores que não são negativos.

b) Calcule e imprima a média dos valores < 0.

Em Algoritmo:

Algoritmo Conjunto Variaveis N, SomaMenor, MediaMenor : Real ContaMenor, Contador : Inteiro Inicio Contador 0 ContaMenor 0 SomaMenor 0 Enquanto Contador < 20 faca Leia(N) Se N >= 0 Entao Escreva (N) Senao SomaMenor SomaMenor + N ContaMenor ContaMenor + 1 Fim Se Contador Contador + 1 Fim Enquanto MediaMenor SomaMenor / ContaMenor Fim

Em Pascal:

program numeros; uses crt;

var valor,media,soma:real; cont,contpos:integer; begin clrscr; cont:=1; while cont < 21 do begin writeln('Digite um valor real'); read(valor); if valor < 0 then begin media:=media+valor; contpos:=contpos+1; end else begin write (valor); writeln (' e um valor maior que Zero'); end; cont:=cont+1; end; media:=media/contpos; write ('O numero de valores menores que Zero sao '); writeln (contpos); write ('A media do valores menores que Zero e '); writeln (media); repeat until keypressed; end.

Em C:

/* numeros */ #include <stdio.h>

main() { float valor ,media; int cont = 1, contpos= 0;

while (cont < 21) { printf ("\nDigite um valor real\n"); scanf ("%f", &valor); if (valor < 0) { media=media+valor; contpos++; } else { printf ("\n %f",valor); printf (" e um valor maior que Zero"); } cont++; } media = media / contpos; printf ("\nO numero de valores menores que Zero eh %d",contpos); printf ("\nA media dos valores menores que Zero e %f",media); return (0); }