ATPS 2º Semestre Análise Estruturada de Sistemas - CORRIGIDA (1)
Atps - Programação Estruturada 1
-
Upload
thiago-sass -
Category
Documents
-
view
222 -
download
0
Transcript of Atps - Programação Estruturada 1
8/16/2019 Atps - Programação Estruturada 1
http://slidepdf.com/reader/full/atps-programacao-estruturada-1 1/22
FACULDADE ANHANGUERA DE RIO CLARO
FACULDADE ANHANGUERA DE RIO CLARO
ATIVIDADE PRÁTICA SUPERVISIONADA -
PROGRAMAÇÃO ESTRUTURADA I
ADRIANO PEREIRA DA SILVA - R.A.: 9902012872
CHRISTOFERSON HOHNE - R.A.: 8012!90"
MARCOS RO#ERTO #AUNGARTNER - R.A.: 9902012$"1
THIAGO RODRIGO SASS - R.A.: 8!121$1!8$
TIAGO MARTINS DOS SANTOS - R.A.: 8!97219877
ANDERSON #RUNO DA SILVA % R.A.: 82078790$8
RIO CLARO % SP
0&0&201$
8/16/2019 Atps - Programação Estruturada 1
http://slidepdf.com/reader/full/atps-programacao-estruturada-1 2/22
E'()( 1
1. Relatório 1 – Planejamento inicial
1.1 - Esboço do programa
I'*+ 1: M*, )/,/)(.
Variável: ) do tipo (('**.
Açes:
1. Apresentar na tela as opçes do aplicativo básico. !"oma# "$btraç%o#
&$ltiplicaç%o# 'ivis%o# E(ponenciaç%o# Rai) *$adrada# Porcentagem e "air+.
,. Receber a opç%o e arma)enar !)+.
I'*+ 2: O)*(34 5* 6+(.
Variáveis: (1# (2 e *6 do tipo /,'*/.
Açes:
1. "olicitar e arma)enar o primeiro valor !(1+.
,. "olicitar e arma)enar o seg$ndo valor !(2+.
. Reali)ar o cálc$lo e arma)enar o res$ltado !*6+.
. Apresentar o res$ltado na tela !*6+.
I'*+ ": O)*(34 5* 6'(34.
Variáveis: (1# (2 e *6 do tipo /,'*/.
Açes:
8/16/2019 Atps - Programação Estruturada 1
http://slidepdf.com/reader/full/atps-programacao-estruturada-1 3/22
1. "olicitar e arma)enar o primeiro valor !(1+.
,. "olicitar e arma)enar o seg$ndo valor !(2+.
. Reali)ar o cálc$lo e arma)enar o res$ltado !*6+.
. Apresentar o res$ltado na tela !*6+.
I'*+ !: O)*(34 5* +'/)/(34.
Variáveis: (1# (2 e *6 do tipo /,'*/.
Açes:
1. "olicitar e arma)enar o primeiro valor !(1+.
,. "olicitar e arma)enar o seg$ndo valor !(2+.
. Reali)ar o cálc$lo e arma)enar o res$ltado !*6+.
. Apresentar o res$ltado na tela !*6+.
I'*+ $: E),*,/(34.
Variáveis: (1# (2 do tipo /,'*/ e *6D* do tipo 5*.
Açes:
1. "olicitar e arma)enar o primeiro valor !(1+.
,. "olicitar e arma)enar o seg$ndo valor !(2+.
. Reali)ar o cálc$lo e arma)enar o res$ltado !*6D*+.
. Apresentar o res$ltado na tela !*6D*+.
8/16/2019 Atps - Programação Estruturada 1
http://slidepdf.com/reader/full/atps-programacao-estruturada-1 4/22
I'*+ : R(/ ;(5(5(.
Variáveis: (1 do tipo /,'*/ e *6F(' do tipo <('.
Açes:
1. "olicitar e arma)enar o primeiro valor !(1+.
,. Reali)ar o cálc$lo da Rai) /$adrada e arma)enar o res$ltado
!*6F('+.
. Apresentar o res$ltado na tela !*6F('+.
I'*+ $: P*,'(=*+.
Variáveis: (1# (2 do tipo /,'*/ e *6F(' do tipo <('.
Açes:
1. "olicitar e arma)enar o primeiro valor !(1+.
,. "olicitar e arma)enar o seg$ndo valor !(2+.
. Reali)ar o cálc$lo e arma)enar o res$ltado !*6F('+.
. Apresentar o res$ltado na tela !*6F('+.
I'*+ : S(/.
Açes:
Apenas e(ec$ta a sa0da do Programa.
8/16/2019 Atps - Programação Estruturada 1
http://slidepdf.com/reader/full/atps-programacao-estruturada-1 5/22
,. Relatório , - omando sistem! +
Anali)ando sobre a 2$nç%o sistem# encontramos 2$ncionalidades interessantes
/$e poderiam ser implementadas no programa:
- 6>6'*+ ?6? - 3impa a tela
- 6>6'*+ @'/''* - m$da o te(to da janela do aplicativo
- 6>6'*+ @ - m$da a cor do te(to do aplicativo
- 6>6'*+ @)(6* - pa$sa o programa at4 /$e se pressione $ma tecla
E'()( 2
. Relatório – Aplicativo 5ásico
.1 - ódigo 6onte do aplicativo
7incl$de 8stdio.9
7incl$de 8stdlib.9
7incl$de 8conio.9
7incl$de 8iostream
7incl$de 8mat9.9
int main!+ ;
<< 'eclaraç%o das variáveis necessárias para a e(ec$ç%o do Aplicativo
c9ar op=
int val1# val,# res=
2loat res6loat=
do$ble res'o$ble=
8/16/2019 Atps - Programação Estruturada 1
http://slidepdf.com/reader/full/atps-programacao-estruturada-1 6/22
<< Responsável por montar o *$adrado na parte "$perior da tela do
aplicativo
print2!>?t?t?(@?('?('?('?('?('?('?('?('?('?('?('?('?('?(
'?('?('?('?('?('?('?(55?n>+=
print2!>?t?t?(5A ?(5A?n>+=
print2!>?t?t?(5A A 3 3 A ' B R A ?(5A?n>+=
print2!>?t?t?(5A ?(5A?n>+=
print2!>?t?t?(C?('?('?('?('?('?('?('?('?('?('?('?('?('?(
'?('?('?('?('?('?('?(5?n>+=
<< Apresentaç%o do &en$ de Bperaçes
print2!>?n?n?t?t!D+ - "oma>+=
print2!>?n?t?t!-+ - "$btracao>+=
print2!>?n?t?t!+ - &$ltiplicacao>+=
print2!>?n?t?t!<+ - 'ivisao>+=
print2!>?n?t?t!E+ - E(ponenciacao>+=
print2!>?n?t?t!R+ - Rai) /$adrada>+=
print2!>?n?t?t!P+ - Porcentagem>+=
print2!>?n?t?t!"+ - "air>+=
print2!>?n?t?tBpcao:>+=
<< Arma)ena a tecla digitada pelo s$ário
op F getc9!+=
<< E(ibe na tela a Gecla digitada pelo s$ário
print2!>Hc># op+=
<< Gran2orma a tecla digitada para caracter maiIsc$lo para comparaç%o
op F to$pper!op+=
<< Reali)a o teste para saber /$al tecla !opç%o+ 2oi escol9ida
8/16/2019 Atps - Programação Estruturada 1
http://slidepdf.com/reader/full/atps-programacao-estruturada-1 7/22
sJitc9 !op+ ;
< Bperaç%o soma disparada# pelo processamento do caracter KDK.
Recebe os valores do s$ário# reali)a o calc$lo e apresenta o res$ltado na tela
<
case KDK: sLstem!>cls>+=
<< 3impa a tela
sLstem!>title Bperaç%o "oma >+=
<< Altera o tit$lo da Manela do Aplicativo
sLstem!>color NO>+=
<< Altera a cor do te(to do aplicativo
print2!>?n?n?n?t?t"B&A>+=
<< &ostra na tela o te(o >"B&A>
print2!>?n?n?t?tPrimeiro Valor: >+=
scan2!>Hd># val1+=
<< Arma)ena o te(to digitado pelo s$ário
print2!>?n?t?t"eg$ndo Valor: >+=
scan2!>Hd># val,+=
res F val1 D val,=
<< Reali)a a soma dos valores
print2!>?n?n?t?tHd D Hd F Hd ?n?n># val1# val,# res+=
breaQ=
< Bperaç%o "$btraç%o# disparada pela processamento do caracter K-K.
Recebe os valores do s$ário# reali)a o calc$lo
e apresenta o res$ltado na tela
<
case K-K: sLstem!>cls>+=
sLstem!>title Bperaç%o "$btraç%o >+=
sLstem!>color N>+=
print2!>?n?n?n?t?t"5GRAAB>+=
print2!>?n?n?t?tPrimeiro Valor: >+=
scan2!>Hd># val1+=
8/16/2019 Atps - Programação Estruturada 1
http://slidepdf.com/reader/full/atps-programacao-estruturada-1 8/22
print2!>?n?t?t"eg$ndo Valor: >+=
scan2!>Hd># val,+=
res F val1 - val,=
print2!>?n?n?t?tHd - Hd F Hd ?n?n># val1# val,# res+=
breaQ=
< Bperaç%o &$ltiplicaç%o# disparada pela processamento do caracter KK.
Recebe os valores do s$ário# reali)a o calc$lo
e apresenta o res$ltado na tela
<
case KK: sLstem!>cls>+=
sLstem!>title Bperaç%o &$ltiplicaç%o >+=
sLstem!>color NC>+=
print2!>?n?n?n?t?t&3GSPS3AAB>+=
print2!>?n?n?t?tPrimeiro Valor: >+=
scan2!>Hd># val1+=
print2!>?n?n?t?t"eg$ndo Valor: >+=
scan2!>Hd># val,+=
res F val1 val,=
print2!>?n?n?t?tHd Hd F Hd ?n?n># val1# val,# res+=
breaQ=
< Bperaç%o 'ivis%o# disparada pela processamento do caracter K<K.
Recebe os valores do s$ário# reali)a o calc$lo
e apresenta o res$ltado na tela
<
case K<K: sLstem!>cls>+=
sLstem!>title Bperaç%o 'ivis%o >+=
sLstem!>color N@>+=
print2!>?n?n?n?t?t'SVS"AB>+=
print2!>?n?n?t?tPrimeiro Valor: >+=
scan2!>Hd># val1+=
print2!>?n?t?t"eg$ndo Valor: >+=
scan2!>Hd># val,+=
8/16/2019 Atps - Programação Estruturada 1
http://slidepdf.com/reader/full/atps-programacao-estruturada-1 9/22
res6loat F !val1 < val,+=
i2!val, FF N+;
print2!>?n?t?tErro divisao por Tero?n?n: >+=
U else ;
print2!>?n?n?t?tHd dividido por Hd F H1.N2 ?n?n># val1# val,# res6loat+=
U
breaQ=
< Bperaç%o E#(ponenciaç%o disparada pela processamento do caracter KEK.
Recebe os valores do s$ário# reali)a o calc$lo
e apresenta o res$ltado na tela
<
case KEK: sLstem!>cls>+=
sLstem!>title Bperaç%o E(ponenciaç%o >+=
sLstem!>color N1>+=
print2!>?n?n?n?t?tEPBWEWSAAB>+=
print2!>?n?n?t?t5ase: >+=
scan2!>Hd># val1+=
print2!>?n?n?t?tE(poente: >+=
scan2!>Hd># val,+=
res'o$ble F !poJ!val1# val,++=
print2!>?n?n?t?tHd elevado a Hd F Hg ?n?n># val1# val,# res'o$ble+=
breaQ=
< Bperç%o Rai) *$adrada# disparada pela processamento do caracter KRK.Recebe os valores do s$ário# reali)a o calc$lo
e apresenta o res$ltado na tela
case KRK: sLstem!>cls>+=
sLstem!>title Bperaç%o Rai) *$adrada >+=
print2!>?n?n?n?t?tRAST *A'RA'A>+=
print2!>?n?n?t?tValor: >+=
scan2!>Hd># val1+=
8/16/2019 Atps - Programação Estruturada 1
http://slidepdf.com/reader/full/atps-programacao-estruturada-1 10/22
8/16/2019 Atps - Programação Estruturada 1
http://slidepdf.com/reader/full/atps-programacao-estruturada-1 11/22
U
E'()( "
Relatório – Algor0timos Avançados
Stem: <('/(.
Variável: (1B /B *6B do tipo /,'*/.
D*6/34: A variável / 4 iniciali)ada como valor 1 e recebe-se do $s$ário o
valor a ser calc$lado !(1+. m laço <# com decremento de 1# iniciali)a o se$
contador !/+ com o valor a ser calc$lado# /$e será decrementado a cada iteraç%o. Wa
primeira iteraç%o a variável (1 ac$m$la se$ valor at$al# /$e 4 1 m$ltiplicado pela
valor da variável /. Was demais iteraçes# (1 ac$m$la o prod$to do se$ valor at$al
com o valor de / decrementado# at4 /$e / seja ig$al a 1.
Stem: E),*,/(34
Variável: (1B (2B /B do tipo /,'*/
*6D*B do tipo 5*
D*6/34: a variável (1 recebe do $s$ário o valor da base# en/$anto (2
recebe o valor do e(poente. Snicia-se o laço <# com a variável / recebendo o valor 1#
e repetindo# recebendo o acr4ssimo de 1 a cada volta !iDD+ en/$anto / seja menor o$
ig$al Y variável (2. 'entro deste laço# *6D* recebe se$ valor at$al m$ltiplicado
por (1. Wo 2im do laço# o res$ltado estará arma)enado em *6D*.
Stem: R(/ (5(5(
Variável: /B (1B do tipo /,'*/
*6F('B '*+)R*6F('B do tipo <('
8/16/2019 Atps - Programação Estruturada 1
http://slidepdf.com/reader/full/atps-programacao-estruturada-1 12/22
D*6/34: (1 recebe o valor do nImero a ser encontrada s$a rai) /$adrada.
*6F('# recebe (1. Snicia-se $m laço aparentemente em Zlooping in2inito[ onde
*6F(' recebera o res$ltado da seg$inte e(press%o: *6F('&2 (1&
2*6F('.
'entro deste laço# $ma condiç%o Z/<[ 2ará o papel de 2inali)a-lo com o comando
*(B nesta etapa entra a variável '*+)R*6F(' /$e receberá o valor /$e determina o
2im do laço. Este valor será /$ando a *6F(' 2or ig$al a '*+)R*6F('# o$ seja# imita
o padr%o resposta de $ma rai)# onde Z$m nImero ve)es ele mesmo seria ig$al ao
nImero do /$al estamos encontrando a rai) /$adrada[.
E'()( !
Relatório O – Aplicativo 6inal
O.1 ódigo 2onte do aplicativo
7incl$de 8stdio.9
7incl$de 8stdlib.9
7incl$de 8conio.9
7incl$de 8iostream
int main!+ ;
// Declaração das variaveis necessárias para a execução do Aplicativo
c9ar op=
int decFN# dF1=
int val1# val,# res=
2loat res6loat# tempRes6loat F N=
do$ble res'o$ble=
c9ar binario\C]=
8/16/2019 Atps - Programação Estruturada 1
http://slidepdf.com/reader/full/atps-programacao-estruturada-1 13/22
sLstem!>color 1e>+=
sLstem !>title alc$ladora v1.N>+=
do ;
// Responsável por montar o Quadrado na parte Superior da tela do aplicativo
print2!>?t?t?(@>+=
2or!int i F 1= i 8 N= iDD+ ;
print2!>?('>+=
U
print2!>?(55?n>+=
print2!>?t?t?(5A ?t?(5A?n>+=
print2!>?t?t?(5A A33A'BRA ?t?(5A?n>+=
print2!>?t?t?(5A ?t?(5A?n>+=
print2!>?t?t?(C>+=
2or!int i F 1= i 8 N= iDD+ ;
print2!>?('>+=
U
print2!>?(5?n>+=
<< Apresentaç%o do &en$ de Bperaçes
print2!>?n?t!D+ - "oma>+=
print2!>?t?t?t!P+ - Porcentagem>+=
print2!>?n?t!-+ - "$btracao>+=
print2!>?t?t?t!6+ - 6atorial>+=
print2!>?n?t!+ - &$ltiplicacao>+=
print2!>?t?t!5+ - onversor 5inario 'ecimal>+=
print2!>?n?t!<+ - 'ivisao>+=
print2!>?t?t?t!'+ - onversor 'ecimal 5inario>+=
print2!>?n?t!E+ - E(ponenciacao>+=
print2!>?t?t!"+ - "air>+=
print2!>?n?t!R+ - Rai) /$adrada>+=
8/16/2019 Atps - Programação Estruturada 1
http://slidepdf.com/reader/full/atps-programacao-estruturada-1 14/22
print2!>?n?n?tBpcao:>+=
// Armazena a tecla digitada pelo Usuário
op F getc9!+=
// Exibe na tela a ecla digitada pelo Usuário
print2!>Hc># op+=
// ran!orma a tecla digitada para caracter mai"sculo para comparação
op F to$pper!op+=
// Realiza o teste para saber #ual tecla $opção% !oi escol&ida
sJitc9 !op+ ;
< Bperç%o soma disparada# pela processamento do caracter KDK. Recebe os valores do
s$ário# reali)a o calc$lo e apresenta o res$ltado na tela
<
case KDK: sLstem!>title Bperaç%o "oma >+=
// Altera o titulo da 'anela do Aplicativo
print2!>?n?n?n?t"B&A>+=
// (ostra na tela o texo )S*(A)
print2!>?n?n?tPrimeiro Valor: >+=
scan2!>Hd># val1+=
// Armazena o texto digitado pelo Usuário
print2!>?n?t"eg$ndo Valor: >+=
scan2!>Hd># val,+=
res F val1 D val,=
// Realiza a soma dos valores
print2!>?n?n?tHd D Hd F Hd ?n?n># val1# val,# res+=
breaQ=
/+ *perção ,atorial- disparada pela processamento do caracter .,.
Recebe os valores do Usuário- realiza o calculo e apresenta o resultado na tela
<
8/16/2019 Atps - Programação Estruturada 1
http://slidepdf.com/reader/full/atps-programacao-estruturada-1 15/22
case K6K: sLstem!>title Bperaç%o 6atorial >+=
print2!>?n?n?n?t6AGBRSA3>+=
print2!>?n?n?tValor: >+=
scan2!>Hd># val1+=
res F 1=
2or!int i F val1= i 1= i--+ ;
res F res i=
U
print2!>?n?n?t6atorial de Hd F Hd ?n?n># val1# res+=
breaQ=
/+ *perção Subtração- disparada pela processamento do caracter .0. Recebe os valores
do Usuário- realiza o calculo
e apresenta o resultado na tela
<
case K-K: sLstem!>title Bperaç%o "$btraç%o >+=
print2!>?n?n?n?t"5GRAAB>+=
print2!>?n?n?tPrimeiro Valor: >+=
scan2!>Hd># val1+=
print2!>?n?t"eg$ndo Valor: >+=
scan2!>Hd># val,+=
res F val1 - val,=
print2!>?n?n?tHd - Hd F Hd ?n?n># val1# val,# res+=
breaQ=
/+ *perção (ultiplicação- disparada pela processamento do caracter .+. Recebe os
valores do Usuário- realiza o calculo e apresenta o resultado na tela
<
case KK: sLstem!>title Bperaç%o &$ltiplicaç%o >+=
print2!>?n?n?n?t&3GSPS3AAB>+=
print2!>?n?n?tPrimeiro Valor: >+=
scan2!>Hd># val1+=
8/16/2019 Atps - Programação Estruturada 1
http://slidepdf.com/reader/full/atps-programacao-estruturada-1 16/22
print2!>?n?n?t"eg$ndo Valor: >+=
scan2!>Hd># val,+=
res F val1 val,=
print2!>?n?n?tHd Hd F Hd ?n?n># val1# val,# res+=
breaQ=
/+ *perção Divsão- disparada pela processamento do caracter ./. Recebe os valores do
Usuário- realiza o calculo e apresenta o resultado na tela <
case K<K: sLstem!>title Bperaç%o 'ivis%o >+=
print2!>?n?n?n?t'SVS"AB>+=
print2!>?n?n?tPrimeiro Valor: >+=
scan2!>Hd># val1+=
print2!>?n?t"eg$ndo Valor: >+=
scan2!>Hd># val,+=
i2!val, FF N+;
print2!>?n?tErro# divisao por Tero^?n?n >+=
U else ;
res6loat F !val1 < val,+=
print2!>?n?n?tHd dividido por Hd F HN.,2 ?n?n># val1# val,#
res6loat+=
U
breaQ=
/+ *perção E-xponenciação disparada pela processamento do caracter .E.
Recebe os valores do Usuário- realiza o calculo e apresenta o resultado na tela
<
case KEK: sLstem!>title Bperaç%o E(ponenciaç%o >+=
print2!>?n?n?n?tEPBWEWSAAB>+=
print2!>?n?n?t5ase: >+=
scan2!>Hd># val1+=
8/16/2019 Atps - Programação Estruturada 1
http://slidepdf.com/reader/full/atps-programacao-estruturada-1 17/22
8/16/2019 Atps - Programação Estruturada 1
http://slidepdf.com/reader/full/atps-programacao-estruturada-1 18/22
8/16/2019 Atps - Programação Estruturada 1
http://slidepdf.com/reader/full/atps-programacao-estruturada-1 19/22
do ;
dec F decD!val1H1N+d=
d F d,=
val1 F val1<1N=
U J9ile!val1^FN+=
print2!>?n?n?tE/$ivalente em 'ecimal: Hd># dec+=
breaQ=
/+ *perção #ue realiza a sa3da do programa- disparada pela processamento do
caracter .S.
<
case K"K: sLstem!>cls>+=
print2!>?n?n?tPrograma 6inali)ado?n?n>+=
breaQ=
/+ *peração inválida- disparada #uando nen&uma das opç4es acima são digitadas +/
de2a$lt: print2!>?n?n?tBpcao Snvalida?n?n>+=
breaQ=
U
// Espera por um comando a ser digitado para !inaliazar o programa
getc9!+=
sLstem!>cls>+=
U J9ile !op ^F K"K+=
U
8/16/2019 Atps - Programação Estruturada 1
http://slidepdf.com/reader/full/atps-programacao-estruturada-1 20/22
O., Gelas do Aplicativo
!ig 5
8/16/2019 Atps - Programação Estruturada 1
http://slidepdf.com/reader/full/atps-programacao-estruturada-1 21/22
!ig 6
!ig7