Baixe o app para aproveitar ainda mais
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.
Compartilhar