• Nenhum resultado encontrado

FACULDADE DE ENGENHARIA SÃO PAULO PROCESSAMENTO DE DADOS - BP1 LINGUAGEM C++ BUILDER PARTE II

N/A
N/A
Protected

Academic year: 2021

Share "FACULDADE DE ENGENHARIA SÃO PAULO PROCESSAMENTO DE DADOS - BP1 LINGUAGEM C++ BUILDER PARTE II"

Copied!
7
0
0

Texto

(1)

FACULDADE DE ENGENHARIA SÃO PAULO

PROCESSAMENTO DE DADOS - BP1

LINGUAGEM C++ BUILDER

PARTE II

PROFª ANGELA HUM TCHEMRA

PROF EMILIO CELSO PASTORELO DE MIRANDA

(2)

COMANDOS DE REPETIÇÃO

Para que determinados trechos do algoritmo ou programa sejam repetidos várias vezes, pode-se utilizar os comandos de repetição. Há três tipos de comandos de repetição:

VisuAlg C++ Builder

1ª opção enquanto (condição) faca

bloco de comandos que deve ser repetido

enquanto a condição for verdadeira

fimenquanto

while (condição) {

bloco de comandos que deve ser repetido

enquanto a condição for verdadeira

} 2ª opção para variável inicial ate valorfinal faca

bloco de comandos que deve ser repetido

fimpara

for (variável=inicial; condição; cálculo) {

bloco de comandos que deve ser repetido

}

Comando de repetição somente no VisuAlg

repita

bloco de comandos que deve ser repetido

até que a condição seja verdadeira

ate (condição)

Comando de repetição somente no C++ Builder

do {

bloco de comandos que deve ser repetido

enquanto a condição é verdadeira

(3)

Exemplos em VisuAlg

Ex1: Mostrar os números pares maiores do que

zero e menores do que 100.

Ex2: Mostrar os 50 primeiros múltiplos de 3 que

sejam positivos. algoritmo "Ex1" var p:Inteiro inicio p  2 enquanto (p<=100) faca escreval (p) p  p+2 fimenquanto fimalgoritmo algoritmo "Ex2" var m, k:Inteiro inicio m 3 k  1 enquanto (k<=50) faca escreval (m) m  m+3 k  k+1 fimenquanto fimalgoritmo

Ex3: Dado o valor de N, exibir os N primeiros

múltiplos de 5 que sejam positivos.

Ex4: Dado o valor de N, calcular e exibir o

fatorial de N. algoritmo "Ex3"

var

n, m, k:Inteiro inicio

escreva ("Quantos múltiplos de 5?: ") leia (n)

se (n<=0) entao

escreval ("Quantidade inválida") senao m  5 k  1 enquanto (k<=n) faca escreval (m) m m+5 k  k+1 fimenquanto fimse fimalgoritmo algoritmo "Ex4" var n, c, fat:Inteiro inicio escreva ("Valor de n: ") leia (n) se (n<0) entao

escreval ("Valor de n é inválido") senao fat  1 c  1 enquanto (c<=n) faca fat  fat*c c  c+1 fimenquanto

escreval ("Fatorial de ",n," é ",fat) fimse

fimalgoritmo

Exercícios: Elaborar algoritmo em VisuAlg.

1) Dado o valor de N, calcular e exibir os N primeiros múltiplos de 11 superiores a zero.

2) Dado o valor de N, calcular e exibir para cada um dos N valores de X da sequência 2, 4, 6, .... o valor da função Y = X2 + 2X - 5.

3) Dado o valor de N, calcular e exibir o valor da soma das N primeiras parcelas: 1+3+5+7+ ...

4) Dado o valor de N e o valor de X, calcular e exibir o valor da soma: X + X2 + X3 + X4 + ... + XN

(4)

Solução dos exercícios. Algoritmo em VisuAlg. 1) Dado o valor de N, calcular e exibir os N

primeiros múltiplos de 11 superiores a zero. 2) Dado o valor de N, calcular e exibir para cada um dos N valores de X da sequência 2, 4, 6, ... o valor da função Y = X2 + 2X - 5. algoritmo "Ex1" var n, c, m:Inteiro inicio escreva ("Valor de n: ") leia (n) se (n<=0) entao

escreval ("Valor de n é inválido") senao m  11 c  1 enquanto (c<=n) faca escreval (m) m  m+11 c  c+1 fimenquanto fimse fimalgoritmo algoritmo "Ex2" var n, c:Inteiro x, y:Real inicio escreva ("Valor de n: ") leia (n) se (n<=0) entao

escreval ("Valor de n é inválido") senao x  2 c  1 enquanto (c<=n) faca y  x*x+2*x-5 escreval ("x = ",x," y = ",y) x  x+2 c  c+1 fimenquanto fimse fimalgoritmo 3) Dado o valor de N, calcular e exibir o

valor da soma das N primeiras parcelas: 1+3+5+7+ ...

4) Dado o valor de N e o valor de X, calcular e exibir o valor da soma:

X + X2 + X3 + X4 + ... + XN algoritmo "Ex3" var n, c, p, s:Inteiro inicio escreva ("Valor de n: ") leia (n) se (n<=0) entao

escreval ("Valor de n é inválido") senao s  0 p  1 c  1 enquanto (c<=n) faca escreval (p) s  s+p p  p+2 c  c+1 fimenquanto escreval ("soma = ",s) fimse fimalgoritmo algoritmo "Ex4" var n, c:Inteiro x, t, s:Real inicio escreva ("Valor de x: ") leia (x) escreva ("Valor de n: ") leia (n) se (n<=0) entao

escreval ("Valor de n é inválido") senao s  0 c  1 enquanto (c<=n) faca t  x^c escreval (t) s  s+t c  c+1 fimenquanto escreval("soma = ",s) fimse fimalgoritmo

(5)

Programa C++ Builder

No programa C++ Builder, pode-se utilizar o objeto ListBox ou o objeto Memo para mostrar diversos valores na tela, ao invés de usar o Edit que permite mostrar apenas um valor.

Portanto, para o exercício 1, sugere-se o seguinte programa:

Programa para o exercício 3:

void __fastcall TForm1::Button1Click(TObject *Sender) { int N,C,M; N=StrToInt(Edit1Text); if(N<=0) { ShowMessage("N inválido"); } else { M=11; C=1; while(C<=N) { ListBox1ItemsAdd(IntToStr(M)); M=M+11; C=C+1; } } }

void __fastcall TForm1::Button2Click(TObject *Sender) {

Edit1Clear(); ListBox1Clear(); Edit1SetFocus(); }

void __fastcall TForm1::Button3Click(TObject *Sender) {

Close(); }

void __fastcall TForm1::Button1Click(TObject *Sender) { int N,C,P,S; N=StrToInt(Edit1->Text); if(N<=0) { ShowMessage("N inválido"); } else { S=0; P=1; C=1; while(C<=N) { ListBox1ItemsAdd(IntToStr(P)); S=S+P; P=P+2; C=C+1; } Edit2>Text=IntToStr(S); } }

void __fastcall TForm1::Button2Click(TObject *Sender) { Edit1Clear(); Edit2Clear(); ListBox1Clear(); Edit1SetFocus(); }

void __fastcall TForm1::Button3Click(TObject *Sender) {

Close(); }

Exercício: Desenvolver o programa C++ Builder dos exercícios 2 e 4 anteriores.

(6)

Observação:

Os exercícios propostos foram resolvidos com o comando de repetição ENQUANTO, porém, podem ser resolvidos com as outras formas de comando de repetição. Por exemplo, o exercício 4: Dado o valor de N e o valor de X, calcular e exibir o valor da soma:

X + X2 + X3 + X4 + ... + XN Com o comando de repetição REPITA/ATE

Este comando, repete os comandos até que a condição seja verdadeira.

Em C++ Builder, não existe o comando repita/ate, mas pode ser substituído pelo comando do/while, que repete os comandos enquanto a condição é verdadeira. algoritmo "Ex4" var n, c:Inteiro x, t, s:Real inicio escreva ("Valor de x: ") leia (x) escreva ("Valor de n: ") leia (n) se (n<=0) entao

escreval ("Valor de n é inválido") senao s  0 c  1 repita t  x^c escreval (t) s  s+t c  c+1 ate (c>n) escreval("soma = ",s) fimse fimalgoritmo

void __fastcall TForm1::Button1Click(TObject *Sender) { int N,C; double X, T, S; N=StrToInt(Edit1Text); X=StrToFloat(Edit2Text); if(N<=0) { ShowMessage("N inválido"); } else { S=0; C=1; do { T=pow(X,C); ListBox1ItemsAdd(FloatToStr(T)); S=S+T; C=C+1; } while (C <= N); Edit3Text=FloatToStr(S); } } Com o comando de repetição PARA

algoritmo "Ex4" var n, c:Inteiro x, t, s:Real inicio escreva ("Valor de x: ") leia (x) escreva ("Valor de n: ") leia (n) se (n<=0) entao

escreval ("Valor de n é inválido") senao

s  0

para c1 ate n faca t  x^c escreval (t) s  s+t c  c+1 fimpara escreval("soma = ",s) fimse fimalgoritmo

void __fastcall TForm1::Button1Click(TObject *Sender) { int N,C; double X, T, S; N=StrToInt(Edit1Text); X=StrToFloat(Edit2Text); if(N<=0) { ShowMessage("N inválido"); } else { S=0; for(C=1; C<=N; C=C+1) { T=pow(X,C); ListBox1ItemsAdd(FloatToStr(T)); S=S+T; } Edit3Text=FloatToStr(S); } }

(7)

Exercícios: Elaborar algoritmo em VisuAlg e escrever programa C++ Builder.

1) Dado o valor de N, calcular e exibir os N primeiros termos da sequência: 0.2, 0.4, 0.6, .... 2) Dado o valor de X e o valor de N, calcular e exibir o valor da soma: X + X3 + X5 + ... + X2N-1. 3) Dado o valor de X e o valor de N, calcular e exibir o valor da soma:

1 X3 + 2 X4 + 3 X5 + ... + N XN+2 2 3 4 N+1

4) Dado o valor de N, calcular e exibir a soma dos N primeiros termos: 317 + 310 + 303 + 296 + ....

21 23 25 27

5) Dado o valor de X, o valor de A e o valor de N, calcular e exibir o valor da soma das N parcelas: ... 5 ) ( 3 ) ( ) (XAXA 3 XA5 

6) Calcular o valor de Y = 5X2 –10 X para X variando de –1 até 1 com passo 0.01. Exibir os valores de X e Y correspondentes.

7) Exibir a tabela de valores X e Y, sabendo que: Y = (eX – X3 + )/(X + 3) para cada valor de X pertencente à seqüência 0, 3, 6, 9, 12, .... Encerrar o programa quando encontrar um valor de Y maior do que 5000.

8) Calcular e exibir a soma dos números inteiros ímpares maiores do que 100 e menores do que 1000.

9) Calcular e exibir o valor da soma abaixo, considerando apenas os termos positivos:

480 + 475 + 470 + 465 + ...

10 11 12 13

10) São dados os valores de A, B e H (com A<B e H>0). Calcular e exibir o valor de: f(X) = X3 + 2X2 – 4 para X=A; X=A+2H; X=A+4H; X=A+6H; ... X  B.

Referências

Documentos relacionados

libras ou pedagogia com especialização e proficiência em libras 40h 3 Imediato 0821FLET03 FLET Curso de Letras - Língua e Literatura Portuguesa. Estudos literários

Havendo interesse do estudante para mudança de campus ou curso, o candidato deverá fazê-lo no momento da renovação do Contrato de Financiamento, observando o disposto

IMPORTANTE Para usar o relógio de forma efeciente ao exercitar, ou seja, para calcular as calorias consumidas e o índice de aptidão, É NECESSÁRIO ajustar os limites

DIRETOR GERAL PRO TEMPORE DO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA RIO GRANDE DO SUL – CAMPUS OSÓRIO - RS, no uso de suas atribuições legais,

Edital para seleção de bolsistas de extensão que atuarão junto ao Projeto &#34;Cadastro de moradores do Assentamento Elisson Prieto - Glória - Cooperação técnica

Este Plano de Dados M2M se destina à prestação do Serviço Móvel Pessoal por meio de rede virtual (RV-SMP), exclusivamente para o tráfego de dados M2M (machine-to-machine), com o fim

– No trabalho sempre se lida com variabilidades não antecipadas ou não consideradas pela segurança formal. – Diagnosticar o estado do sistema e resolver isso exige

Assim o espalhamento Raman ate então usado em Fisiéa do Estado Sõlido como um importante meio de de - terminação de frequências e simetrias de fonons Õticos,