Académique Documents
Professionnel Documents
Culture Documents
cout << "\nDigite o Nome:"; getline(cin, nome); Na próxima linha, o void exibir() é
exibir ( nome ); chamado enviando-se a variável nome para
system("pause"); return 0; } dentro do void, esta variável nome se tornara no
argumento nomedigitado, que será utilizado
para mostrar o nome digitado na tela.
Comportamento da Memória Programa1
Tudo que é criado dentro de um código é armazenado na memória, as variáveis globais e
locais, os argumentos, os nomes dos voids e os nomes das funções, etc. Por exemplo, no
programa 1, o void exibir (nomedigitado), a variável nome, que é a variável local de leitura para
ler o nome que será digitado e variável local, nomedigitado, que é o argumento de entrada do void
exibir().
Supondo-se que o usuário digite o nome da pessoa “José da Silva” no programa1, ao final
da execução podemos identificar quais os últimos valores que ocuparam espaço de memória de
acordo com o quadro abaixo:
Estudando o tipo não void (function)
A function (tipo não void) é um pedaço de código que têm o objetivo de armazenar um valor
ao final de seu processamento. Esse valor armazenado será de acesso global como uma variável
global, pois o nome da função será uma variável global temporária que só ficará na memória
durante o seu tempo de execução.
Programa 2
#include "iostream"
Logo após a diretiva using, é criada a
#include "cstdlib" função double novosalario(salarioatual),
using namespace std; para calcular o acréscimo de 10% a um
double const taxaaumento = 0.1; salário digitado qualquer.
Primeiro exemplo: Digite e execute Segundo exemplo: Agora digite e execute esta
primeiro este código sem a biblioteca versão com a biblioteca iomanip e suas funções
iomanip
#include "iostream"
#include "iostream" #include "iomanip"
#include "cstdlib" #include "cstdlib"
using namespace std; using namespace std;
int main ( ) int main ( ) { float lap = 45.45655, bor = 23.7666,
{ float lap = 45.45655, bor = can=42.35955, cad = 82.7259;
2345.7666, can=420.35955, cout << setfill('.');
cad = 8.7259; cout << fixed << setprecision(4);
cout << "\n\n\n"; cout << "\n" << "Lapis" << setw(12) << lap;
cout << "\n" << "Lapis " << lap; cout << "\n" << "Borrachas" << setw(12) << bor;
cout << "\n" << "Borrachas" << bor; cout << "\n" << "Canetas" << setw(12) << can;
cout << "\n" << "Canetas " << can; cout << "\n" << "Cadernos" << setw(12) << cad;
cout << "\n" << "Cadernos " << cad; cout << endl; system("pause");}
system("pause");}
Programa 4 - Enunciado
Crie um programa para ler os valores dos coeficientes de uma equação do 2º grau A, B
e C. para ler A,B e C crie funções de leitura (nâo void) para cada valor. Se o usuário digitar
Zero no valor de A, exiba uma mensagem”A não poderá ser zero!” e finalize o programa.
Se o valor de A for positivo, chame uma função não void para calcular o valor de DELTA
= B*B*4*A*C. Depois pergunte se DELTA não é negativo, se for então exiba a mensagem
“Delta não poderá ser Negativo!” e finalize o programa. Se DELTA for positivo, então
chame uma função não void para calcular X1=-B + RAIZ(DELTA)/2*A e outra função não
void para calcular X2=-B-RAIZ(DELTA)/2*A. Para exibir os resultados, crie o VOID
EXIBIR ( ), dentro do void exibir, calcule o valor do delta, calcule o valor de x1 e x2 é
exiba os resultados.
FUNÇÕES e VOIDS:
double ler_A() => ler o valor de A
double ler_B() => ler o valor de B
double ler_C() => ler o valor de C
double cal_Delta(a,b,c) => calcular o valor do delta
double cal_X1(a,b,delta ) => calcular o valor de X1
double cal_X2(a,b,delta ) => calcular o valor de X2
void exibir (a,b,c,delta) => Em exibir chame cal_X1 e cal_X2
Programa 4 - Algoritmo Descritivo
ALGORITMO DESCRITIVO
1 Criar as vars Reais A, B, C, DELTA;
2 Declare funções de leitura: Ler_A( ), Ler_B( ) e Ler_C( ). ( A deve ser diferentes de Zero)
3 Crie a função de cálculo cal_Delta( ) com argumentos; DELTA=B*B-4*A*C;
4 Criar as funções de cálculo cal_x1( ) e cal_x2( ) , X1=-B+raiz(DELTA)/2*A e X2 = -B -
raiz(DELTA) / 2*A;
5 Crie o void exibir( ), dentro do void exibir, mostre A,B,C e DELTA; SE DELTA < 0, exiba
“Impossível calcular X1 e X2, pois DELTA é negativo!”, Finalize o Programa; SENÃO chame as
funções cal_x1( ) para calcular X1 e cal_x2( ) para calcular X2, mostre X1 e X2;
nível 2
Programa 4 Nível 3 (Sub Rotinas)
Programa 4 - Código Fonte Estruturado
As funções em um código em C++ devem ser codificadas logo após as diretivas do
processador, exatamente na área do Escopo Global do Código, as primeiras funções devem ser as
funções de leitura.
#include <iostream>
#include <cstdlib> FUNÇÕES DE LEITURA
#include <math.h>
using namespace std; A função ler_A ( ) => Serve para
ler e armazenar o valor de A
double ler_A ( ) { double va; cout << "Valor de A:";
cin >> va; return va; } A função ler_B ( ) => Serve para ler
e armazenar o valor de B
double ler_B ( ) { double vb; cout << "Valor de B:";
A função ler_C ( ) => Serve para
cin >> vb; return vb; } ler e armazenar o valor de C
FUNÇÕES DE CÁLCULO
double cal_Delta ( double a, double b, double c) {
A função cal_Delta ( ) => recebe os
double d = pow(b,2) - 4 * a * c;
valores de a, b, e c, calcula e
return d; } armazena o valor de delta, através
do comando RETURN.
double cal_x1 ( double a, double b, double delta ) {
double x = (-b + sqrt(delta))/(2*a); A função cal_x1 ( ) => recebe os
return x; } valores de a, b e delta, calcula e
armazena o valor de X1 e armazena
double cal_x2 ( double a, double b, double delta ) { através do comando RETURN.
double x = (-b - sqrt(delta))/(2*a);
A função cal_x2 ( ) =>recebe os
return x; }
valores de a, b e delta, calcula e
armazena o valor de X1 e armazena
/* continua no próximo slide … */ através do comando RETURN.
Programa 4 - Código Fonte Estruturado
Após as funções de cálculo, as funções que devem ser codificadas são as funções de saída,
neste programa optou-se por criar um VOID de saída chamado exibir ( ) para exibir todos valores de
saída.
switch(tecla)
{ case 1: a = ler_A ( ); b = ler_B ( ); c = ler_C ( );
case 2: cout << "\nO programa será finalizado!"; system ("pause"); exit ( 0 ); break;
}
b) Faça o código fonte do programa 5, a partir dos Diagramas níveis 1 e 2. Em vez de usar um
switch case, use o comando IF ELSE para fazer o menu conforme o diagrama nível 1 main(),
não esquecendo de formatar a tela de saída com os comandos da biblioteca iomanip.h.
Marque um ponto antes da exibição do menu chamado MENU e antes do return 0 que
marca o final do código use o comando goto para executar a partir do ponto marcado
como MENU.