Buscar

LP - Aula 05

Prévia do material em texto

CCE1040 – LÓGICA DE PROGRAMAÇÃO
Aula 5: Estrutura Sequencial
167
As bibliotecas são arquivos contendo várias funções que podem
ser incorporadas aos programas escritos em C++. A diretiva
#include faz com que o texto contido na biblioteca especificada
seja inserido no programa.
As bibliotecas iostream e conio permitem a utilização de diversos
comandos de entrada e saída.
A biblioteca math.h permite que o programador utilize as funções
matemáticas.
A biblioteca time.h permite o uso da função randômica que tem o
objetivo de gerar números aleatórios.
A biblioteca locale.h permite que o programador defina a língua
que o seu programa será executado.
ESTRUTURA SEQUENCIAL EM C++
ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba
168
É importante salientar que a linguagem C++ é sensível a
letras maiúsculas e minúsculas, ou seja, considera que
letras maiúsculas são diferentes de minúsculas (por
exemplo, a é diferente de A). Sendo assim, todos os
comandos devem, obrigatoriamente, ser escritos com
letras minúsculas.
Em C++ cada comando é finalizado com o sinal de ponto-
e-vírgula.
ESTRUTURA SEQUENCIAL EM C++
ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba
169
#include <iostream>
#include <clocale>
using namespace std;
int main()
{
setlocale(LC_ALL,”Portuguese”);
cout<<“Aqui está: Esse é o meu\n\tPrimeiro Programa!!”;
}
ESTRUTURA SEQUENCIAL EM C++
ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba
170
As variáveis são declaradas após a especificação de seus tipos.
int (para números inteiros);
float (para números reais);
char (para um caractere);
bool (para valores lógicos);
string (para cadeia de caracteres);
TIPOS DE DADOS EM C++
ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba
171ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba
Tipo Num de bits Intervalo
Inicio Fim
char 8 -128 127
unsigned char 8 0 255
signed char 8 -128 127
int 16 -32.768 32.767
unsigned int 16 0 65.535
signed int 16 -32.768 32.767
short int 16 -32.768 32.767
unsigned short int 16 0 65.535
signed short int 16 -32.768 32.767
long int 32 -2.147.483.648 2.147.483.647
signed long int 32 -2.147.483.648 2.147.483.647
unsigned long int 32 0 4.294.967.295
float 32 3,4E-38 3.4E+38
double 64 1,7E-308 1,7E+308
long double 80 3,4E-4932 3,4E+4932
TIPOS DE DADOS EM C++
172ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba
TIPOS DE DADOS EM C++
int a;
char a, b, c;
unsigned int x1, x2, media;
int a, A; // case sensitive
float soma, SOMA, Soma, sOMa, somA;
Forma geral:
tipo_da_variável lista_de_variáveis; auto
break
case
char
const
continue
default
do
double
else
enum
extern
float
for
goto
if
int
long
register
return
short
signed
sizeof
static
struct
switch
typedef
union
unsigned
void
volatile
while
Palavras reservadas
173ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba
ARMAZENAMENTO DE DADOS
174
int x; Tipo inteiro
Declara uma variável chamada x em que pode ser armazenado um número
inteiro.
float y, z; Tipo real (ponto flutuante)
Declara duas variáveis chamadas y e z em que podem ser armazenados dois
números reais.
char sexo; Tipo caractere
Declara uma variável chamada sexo em que pode ser armazenado um
caractere.
char nome[40]; Tipo string
Declara uma variável chamada nome em que podem ser armazenados até
40 caracteres.
TIPOS DE DADOS EM C++
Exemplo de declaração
ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba
175
O comando de atribuição é utilizado para conceder valores ou operações
a variáveis, sendo representado por = (sinal de igualdade).
Exemplo:
x = 4;
x = x + 2;
y = 2.5;
sexo = ' F ';
LINGUAGEM C++
Comandos de atribuição
ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba
176
Em C++, os caracteres são representados entre apóstrofos ( ' ). As
cadeias de caracteres devem ser representadas entre aspas ( " ).
Caso seja necessário armazenar uma cadeia de caracteres dentro de
uma variável, deve-se utilizar uma função para manipulação de
caracteres, conforme apresentado a seguir:
strcpy(nome, "João"); //tipo char
LINGUAGEM C++
Comandos de atribuição
ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba
177
O comando de entrada é utilizado para receber dados digitados pelo usuário. Os
dados recebidos são armazenados em variáveis. Os comandos de entrada mais
utilizados na linguagem C++ são cin, gets.
Exemplo:
cin>>x;
Um valor digitado pelo usuário será armazenado na variável x.
gets(nome);
Um ou mais caracteres digitados pelo usuário serão armazenados na
variável nome.
getline(cin, nome);
Um ou mais caracteres digitados pelo usuário serão armazenados na
variável nome do tipo string.
LINGUAGEM C++
Comando de entrada
ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba
Operador de extração
178
O comando de saída é utilizado para mostrar dados na
tela ou na impressora. O comando de saída utilizado na
linguagem C++ é o cout.
Exemplo:
cout << x;
Mostra o valor armazenado na variável x.
cout << “Conteúdo de X = “ << x;
Mostra a mensagem "Conteúdo de x = “ e em seguida o valor armazenado na variável x.
Obs.: Os caracteres \t e \n quando associados ao comando cout permitem que o programa execute,
respectivamente, uma tabulação e uma mudança de linha.
LINGUAGEM C++
Comando de saída
ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba
Operador de inserção
179
Comentários são textos que podem ser inseridos em
programas com o objetivo de documentá-los. Eles não são
analisados pelo compilador.
Os comentários podem ocupar uma ou várias linhas,
devendo ser inseridos nos programas utilizando-se os
símbolos /* */ ou //.
Exemplo
/* linhas de comentário */
– A região de comentário é aberta com os símbolos de /* e
encerrada com os símbolos */
// Comentário
– A região de comentário é aberta com os símbolos // e será
encerrada automaticamente ao final da linha.
LINGUAGEM C++
Comentários
ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba
180
O operador % só pode ser utilizado com operandos do
tipo inteiro.
LINGUAGEM C++
Operadores aritméticos
ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba
181
LINGUAGEM C++
Operadores matemáticos de atribuição
ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba
Atenção: 
b= a++ 
é diferente de 
b=++a
182
LINGUAGEM C++
Operadores relacionais
ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba
183
LINGUAGEM C++
Funções matemáticas
ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba
184
As funções sin, cos e tan esperam receber argumentos no formato
de radianos; para receberem argumentos em graus, siga o próximo
exemplo.
Exemplo com variável para o valor de n:
valorpi = 3.1415;
cin>> x; //x em graus
y= sin ((valorpi * x) / 180);
Exemplo utilizando a função M_PI:
cin>>x; // x EM GRAUS
y= sin ((M_PI* x) / 180);
Linguagem C++
Observações
ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba
185
Linguagem C++
Palavras reservadas
ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba
186
EXEMPLO
ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba
1 int main(int argc, char** argv) {
2 float nota1;
3 float nota2;
4 float nota3;
5 float nota4;
6 float media;
7
8 nota1 = 7;
9 nota2= 6;
10 nota3 = 9;
11 nota4 = 5;
12
13 media = (nota1+nota2+nota3+nota4)/4;
14
15 return 0;
16 }
Este grupo de comandos, denominado de
declaração de variáveis, reserva 5 espaços de
memória dedicados a armazenar números
reais (float) associados aos nomes
especificados
As notas (7, 6, 9 e 5) são armazenadas na
memória do computador em espaços
dedicados para isso. São as variáveis nota1,
nota2, nota3 e nota4
O valor da média é calculado e armazenado
na variável media
Note que o símbolo “=“ não possui o mesmo
significado da matemática.
Aqui ele atribui o valor da direita à variável.
Ou seja, a variável, identificada pelo nome,
RECEBE o valor definido do lado direito.
A linha é processada da seguinte forma:
1. Resolve o lado direito da expressão;
2. Atribui o valor.
Aqui o “=“ é operador de atribuição de valor
187
EXEMPLO
ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba
Os valores das notas estão definidas no 
código. A média está sendo calculada.
O que é necessário para que o usuário 
possa fornecer as notas?
Como saberemos o valor da média 
calculada?
1 int main(int argc, char** argv) {
2 float nota1;
3 float nota2;
4 float nota3;
5 float nota4;
6 float media;
7
8 nota1 = 7;
9 nota2 = 6;
10 nota3 = 9;
11 nota4 = 5;
12
13 media = (nota1+nota2+nota3+nota4)/4;
14
15 return 0;
16 }
188
EXEMPLO
ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba
1 int main(int argc, char** argv) {
2 float nota1;
3 float nota2;
4 float nota3;
5 float nota4;
6 float media;
7 cout<<"Digite a primeira nota: "<<endl;
8 cin>>nota1;
9 cout<<"Digite a segunda nota: "<<endl;
10 cin>>nota2;
11 cout<<"Digite a terceira nota: "<<endl;
12 cin>>nota3;
13 cout<<"Digite a quarta nota: "<<endl;
14 cin>>nota4;
15 media = (nota1+nota2+nota3+nota4)/4;
16 cout << “Media: “<< media << endl;
17 return 0;
18 }
Utilizando os “comandos” cin e cout !
1 #include <iostream>
2 using namespace std;
• cin e cout não são exatamente 
comandos e ficam definidos no 
arquivo iostream.
• Para serem usados precisamos incluir 
(include) a biblioteca e definir um 
espaço de nomes (namespace) para 
isso. 
• As duas primeiras linhas do 
programa ficarão assim:
189
Faça um algoritmo em pseudocódigo para calcular o valor
de y com função de x, segundo a função y(x) = 3x + 2,
num domínio real.
Solução:
Algoritmo FUNCAO_DE_X
Declare X,Y Real;
Escreva (“Informe o valor de X”);
Leia (X);
Y 3 * X + 2;
Escreva (“O valor de y foi = “, Y);
Fim Algoritmo
EXERCICIOS
Proposta 3
ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba
190
Em relação à lógica considere os pseudocódigos
EXERCICIOS
Proposta 4
ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba
191
Somente alg1 tem consistência em sua representação e chega a
um resultado
Ambos os algoritmos abordam o mesmo problema e chegam ao
mesmo resultado
Somente alg2 tem consistência em sua representação e chega a
um resultado
O resultado da solução apresentada por alg2 é maior do que a de
alg1
O resultado da solução apresentada por alg2 é menor do que a de
alg1
EXERCICIOS
Proposta 4
ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba
192
De acordo com o exemplo de definição de variáveis,
afirmar se é verdadeiro ou falso.
NOME : literal[10]
IDADE : inteiro
SALARIO : real
TEM_FILHOS : lógico
CPF: literal[30].
EXERCICIOS
Proposta 5
ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba
193
( V ) A variável NOME, capaz de armazenar dados literais de
comprimento 10 (dez caracteres);
( V ) A variável IDADE, capaz de armazenar um número
inteiro;
( V ) A variável SALÁRIO, capaz de armazenar um número real;
( V ) A variável TEM_FILHOS, capaz de armazenar uma
informação lógica;
( F ) A variável CPF, capaz de armazenar um número inteiro de
30 caracteres.
EXERCICIOS
Proposta 5 - Solução
ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba
194
Faça um algoritmo receba quatro números inteiros,
calcule e mostre a soma desses números.
Solução:
algoritmo
declare n1, n2, n3, n4, soma numérico
leia n1, n2, n3, n4
soma n1 + n2 + n3 + n4
escreva soma
fim_algoritmo
EXERCICIOS
Proposta 6
ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba
195
Faça um algoritmo receba três notas, calcule e mostre a
média aritmética entre elas.
Solução:
Algoritmo
declare nota1, nota2, nota3, media numérico
leia nota1, nota2, nota3
media (nota1 + nota2 + nota3)/3
escreva media
fim_ algoritmo
EXERCICIOS
Proposta 7
ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba
Assuntos da próxima aula:
1. Exercícios.

Continue navegando