Você está na página 1de 50

Instituto Federal Goiano – Campus Ceres

Introdução à Programação de Computadores


Bacharelado em Sistemas de Informação

Prof. Dr. Rafael D. F. Feitosa


rafael.feitosa@ifgoiano.edu.br
AULA
02 Conteúdo

Exemplos

Declaração de variáveis

Comando de atribuição

Comando de entrada

Comando de saída

Comentários

Operadores aritméticos

Principais funções matemáticas

Algoritmo x Codificação

Exercícios

2
© Rafael Feitosa
Consegue ser eficiente?

Como assim eficiente? Qual a diferença de eficaz?
– Sabe fazer um sanduíche?

Quais os passos?
– E trocar um lâmpada?

Quais passos?

Percebem uma sequência mais eficiente?
– Podemos separar em entrada, processamento e saída?
3
© Rafael Feitosa
Como programar?

Nessa disciplina vamos utilizar:
– C++ (compilador): https://www.youtube.com/watch?v=M_qxnXqgjbU (1.25x )

Não é necessário instalar o Code::Blocks!
– VS Code (IDE): https://code.visualstudio.com/download
– Extensão C++ para o VS Code (faz o VS Code se comunicar com o C++);

IDE é um programa utilizado para escrever códigos de computador:
– Ou seja, um programa que cria outros programas?

Não! Escrevemos o código na IDE e o interpretador (ou
compilador) da linguagem transforma o código em programa.
4
© Rafael Feitosa
Exemplo

Faça seu primeiro programa mostrando na tela a
famosa mensagem “Hello, world!”

5
© Rafael Feitosa
Exemplo

Crie um arquivo com o nome hello.cpp:

6
© Rafael Feitosa
Exemplo

Faça um programa que leia o nome e o ano de
nascimento do usuário, calcule e mostre quantos
anos ele completará neste ano. Defina o ano atual
em uma constante.

7
© Rafael Feitosa
Exemplo

Crie um arquivo com o nome idade.cpp:

8
© Rafael Feitosa
9
© Rafael Feitosa
Onde programar?

IDE online:
– Não necessita de instalação, mas precisa de
conexão com a internet:

https://www.online-ide.com/online_c++_ide

10
© Rafael Feitosa
Onde programar?

11
© Rafael Feitosa
Onde programar?

Aplicativo:
– Cxxdroid:

https://play.google.com/store/apps/details?id=ru.iiec.cxxdroid

Utiliza a extensão .cxx

Versão PRO com mais funcionalidades como autocompletar e
checagem de erros.

12
© Rafael Feitosa
Onde programar?

13
© Rafael Feitosa
Estrutura sequencial

A estrutura sequencial de um algoritmo
corresponde ao conjunto de ações primitivas que
será executado:
– Em uma sequência linear de cima para baixo e da
esquerda para a direita, isto é, na mesma ordem que
foram escritas.

14
© Rafael Feitosa
Estrutura sequencial

Para codificação do nosso algoritmo utilizando a
linguagem C++, ou seja, transformá-lo em um
programa, utilizamos o modelo básico abaixo:
#include <nome da biblioteca>
int main () {
<tipo> <identificador 1>, <identificador 2>, ...,
<identificador n>;
<comando 1>;
<comando 2>;
...
<comando n>;
15
}
© Rafael Feitosa
Estrutura sequencial

Notem que a estrutura é semelhante à que
utilizamos para construção de algoritmos, onde:
– O comando include permite que sejam acrescentadas
funções ao corpo do programa por meio das
bibliotecas:

Será inicialmente utilizada: iostream.
– O comando int main() marca o início do principal
bloco de código do programa.
16
© Rafael Feitosa
Estrutura sequencial

Os estudos da disciplina serão realizados no ambiente Linux
utilizando a ferramenta VS Code;

Dica para implementações dos códigos no ambiente do
Windows:
– Utilize a função system(“pause”) antes do final do bloco de código
main() para paralisar a execução do programa antes do seu final;
– Será exibida a mensagem “Pressione uma tecla para continuar...”.

17
© Rafael Feitosa
Estrutura sequencial

Exemplo de aplicação da função system(“pause”)
no Windows:
1 #include <iostream>
2
3 int main () {
4 /*
5 <comando 1>;
6 <comando 2>;
7 ...
8 <comando n>;
9 */
10 system("pause");
11 }
18
© Rafael Feitosa
Declaração de variáveis

A declaração de variáveis na linguagem C++ pode
ser feita de 3 maneiras:
– Fora de todos os blocos de código;
– Dentro de um bloco de código específico;
– Nos parâmetros de uma função.

19
© Rafael Feitosa
Declaração de variáveis

Inicialmente, iremos declarar todas as variáveis
dentro da função main(), o principal bloco de
código do programa, com a seguinte sintaxe:
<tipo> <identificador>;

Exemplo: 1 #include <iostream>
2 int main () {
3 int X;
4 float Y, Z;
5 char NOME[50],
SEXO;
20 6 }
© Rafael Feitosa
Declaração de variáveis

Em substituição aos principais tipos de dados utilizados no algoritmo, a
tabela abaixo mostra os tipos equivalentes utilizados no C++:
Algoritmo C++
Inteiro int
float
Real
double
char (apenas um caractere)
Literal char[tamanho] (cadeia de caracteres)
string
Lógico bool
21
© Rafael Feitosa
Declaração de variáveis

A tabela abaixo relaciona os tipos de dados manipulados pelo C++
com seus respectivos tamanhos:
Tipo Faixa de valores Tamanho
char -128 a 127 8 bits
unsigned char 0 a 255 8 bits
int -32.768 a 32.767 16 bits
unsigned int 0 a 65.535 16 bits
long -2.147.483.648 a 2.147.483.647 32 bits
unsigned long 0 a 4.294.967.295 32 bits
float 3.4 x 10-38 a 3.4 x 1038 32 bits
double 1.7 x 10-308 a 1.7 x 10308 64 bits
long double 3.4 x 10-4932 a 3.4 x 104932 80 bits
22
© Rafael Feitosa
Declaração de variáveis

A linguagem C++, por padrão, não manipula tipos strings:
– A forma adotada para manipular uma cadeia de caracteres é
definir o tamanho do tipo char:

A última posição ficará reservada para indicar o fim da cadeia;

Exemplo:
1 #include <iostream>
2
3 int main () {
4 char nome[50];
5 /* com a declaração da variável nome acima ela
6 será capaz de armazenar apenas 49 caracteres */
23 7 }
© Rafael Feitosa
Declaração de variáveis

A forma mostrada anteriormente para manipulação
das cadeias de caracteres gerava muitos problemas;

Foi então implementada a classe string:
– Pertencente ao namespace std:

Contexto de definições padrão da linguagem C++;

Criado para evitar colisões de escopo de variáveis, objetos,
funções.

24
© Rafael Feitosa
Declaração de variáveis

Para ativar o suporte ao tipo string na linguagem
C++ usa-se o código abaixo, logo após a
especificação das bibliotecas:
using namespace std;

Exemplo:
1 #include <iostream>
2
3 using namespace std;
4
5 int main () {
25
6 string nome;
© Rafael Feitosa 7 }
Palavras reservadas

É importante ressaltar que a linguagem C++ é case sensitive:
– Faz distinção entre letras maiúsculas e minúsculas:

Todos os comandos devem ser escritos com letras minúsculas;

Por exemplo, o identificador NUM é totalmente diferente do identificador num.

Como no algoritmo, não podem ser utilizadas palavras reservadas
para criação de identificadores no C++:
– A tabela a seguir traz um conjunto de palavras que são utilizados pelo
compilador para representar comandos, operadores e nomes de seção
de programas.

26
© Rafael Feitosa
Palavras reservadas
Palavras reservadas C/C++
auto double int struct
break else long switch
case enum register tydedef
char extern return union
const float short unsigned
continue for signed void
default goto sizeof volatile
do if static while
Palavras reservadas C++
asm bool catch class
const_cast delete dynamic_cast explicit
false friend inline mutable
namespace new operator private
public protected reinterpret_cast static_cast
template this throw true
try typeid typename using
27 wchar_t virtual
© Rafael Feitosa
Declaração de constantes

Assim como uma variável, uma constante também
armazena um valor na memória do computador:
– Entretanto esse valor não pode ser alterado: é
constante.

28
© Rafael Feitosa
Declaração de constantes

Existem duas formas básicas para declarar uma constante em C++:
– Comando #define:

Maneira antiga de declarar constantes;

Sintaxe:
#define <identificador> <valor>

Exemplo:
1 #include <iostream>
2 #define nome "Felisberto"
3
4 using namespace std;
5
6 int main () {
7
29 8 }
© Rafael Feitosa
Declaração de constantes

Existem duas formas básicas para declarar uma constante em C++:
– Comando const:

Forma mais usual;

Sintaxe:
const <tipo> <identificador>=<valor>;

Exemplo:
1 #include <iostream>
2
3 using namespace std;
4
5 int main () {
6 const string nome = "Felisberto";
7 const int ano = 2013;
30
© Rafael Feitosa
8 }
Comando de atribuição

No C++, para atribuirmos valores às variáveis, substituímos o
símbolo ← por = (sinal de igualdade) usando a seguinte sintaxe:
<identificador> = <valor ou expressão>;

Exemplo:
1 #include <iostream>
2
3 using namespace std;
4
5 int main () {
6 string msg;
7 int n;
8 msg = "Olá, seja bem vindo!";
9 n = 1234;
31 10 }
© Rafael Feitosa
Comando de entrada

No C++, para possibilitarmos a entrada de dados no programa
digitados pelo usuário, utilizaremos o comando cin,
informando as variáveis onde os dados serão armazenados. Sua
sintaxe é:
cin >> <identificador 1> >> … >> <identificador n>;

No caso de especificarmos a entrada de dados para mais de
uma variável, o usuário terá que digitar os valores que serão
atribuídos, pressionando, ao final de cada entrada, a tecla
ENTER.
32
© Rafael Feitosa
Comando de entrada

Exemplo do comando cin:
1 #include <iostream>
2
3 using namespace std;
4
5 int main () {
6 string nome;
7 cin >> nome;
8 /* o programa irá aguardar o usuário
9 digitar o nome e teclar o enter */
10 }

33
© Rafael Feitosa
Comando de entrada

O comando cin da linguagem C++ possui uma
restrição:
– Ele armazena o valor da entrada até encontrar o 1º
espaço em branco:

Para suprir esta deficiência utilize a função getline() que
possui a seguinte sintaxe:

getline(cin, <identificador>);

34
© Rafael Feitosa
Comando de entrada

Exemplo da função getline():
1 #include <iostream>
2
3 using namespace std;
4
5 int main () {
6 string nome;
7 int idade;
8 getline (cin, nome);
9 cin >> idade;
10 }
35
© Rafael Feitosa
Comando de saída

Importante:
– Para exibir o resultado de mais de uma variável, utilizando
apenas um comando de saída, deve-se separá-las utilizando a
vírgula (,);
– Ao passar um texto para ser mostrado na tela, precisamos
colocá-lo entre aspas (“ e ”) ;
– Para possibilitar a exibição de uma mensagem de texto
juntamente com valores de variáveis, utilizando apenas um
comando de saída, devemos separá-las utilizando a vírgula (,).
36
© Rafael Feitosa
Comando de saída

No C++, o comando cout permite a saída de dados,
ou seja, a exibição na tela, para o usuário:
– Podendo exibir em um comando: apenas valores de
variáveis, apenas mensagens de texto ou variáveis e
mensagens; devendo observar a seguinte sintaxe:

cout << “<texto a ser exibido>” << <identificador 1> << … << <identificador n>;

37
© Rafael Feitosa
Comando de saída

Exemplo do comando cout:
1 #include <iostream>
2
3 using namespace std;
4
5 int main () {
6 string nome;
7 cout << "Por favor, digite sem nome: ";
8 getline (cin, nome);
9 cout << "Olá " << nome << ", seja bem vindo!";
10 }

38
© Rafael Feitosa
Comando de saída

Outro exemplo do comando cout:
1 #include <iostream>
2
3 using namespace std;
4
5 int main () {
6 string nome;
7 int idade;
8 getline (cin, nome);
9 cin >> idade;
10 cout << nome; //mostra apenas o nome
11 cout << nome << idade; //mostra o nome e a idade
12 cout << "Olá " << nome << ", sua idade é " << idade << " anos!";
13 /* o comando acima irá mostrar a mensagem
14 "Olá NOME, sua idade é IDADE anos!" */
15 }
39
© Rafael Feitosa
Comando de saída

Podemos, opcionalmente, utilizar comandos para saltar linhas:
– Comando endl:

Encadeando-o à combinação da saída do cout.
– Sequência de escape \n:

Dentro do texto entre as aspas.
– Exemplos:
1 #include <iostream>
2
3 using namespace std;
4
5 int main () {
6 cout << "Olá, " << endl << "seja bem vindo" << endl;
7 cout << "Olá, \n" << "seja bem vindo" << endl;
40 8 }
© Rafael Feitosa
Comando de saída

Além da sequência de escape \n, os mais comuns são:
Caractere Função
\r retorno
\t muda o cursor para o próximo ponto de tabulação
\v tabulador vertical
\b deleção reversa
\f alimentador de página
\a faz o computador emitir um sinal sonoro
\' exibe apóstrofos (aspas simples)
\" exibe aspas duplas
\? sinal de interrogação
\\ barra oposta (\)
41
© Rafael Feitosa
Comentários

Os comentários são recursos que permitem
documentar o código de um programa:
– Não são interpretados pelo compilador;
– No C++ podem ser utilizados de 2 maneiras:

//: comentário de uma linha;

/*..*/: comentário de múltiplas linhas.

42
© Rafael Feitosa
Comentários

Exemplo de utilização de comentários:
1 #include <iostream>
2
3 using namespace std;
4
5 int main () {
6 string nome;
7 int idade;
8 getline (cin, nome);
9 cin >> idade;
10 cout << nome; //mostra apenas o nome
11 cout << nome << idade; //mostra o nome e a idade
12 cout << "Olá " << nome << ", sua idade é " << idade << " anos!";
13 /* o comando acima irá mostrar a mensagem
14 "Olá NOME, sua idade é IDADE anos!" */
15 }
43
© Rafael Feitosa
Operadores aritméticos

Os operadores aritméticos básicos que utilizaremos na linguagem C++ são:
Operador Exemplo Função
+ X+Y Soma o conteúdo de X e Y
- X-Y Subtrai o conteúdo de Y do conteúdo de X
* X*Y Multiplica o conteúdo de X pelo conteúdo de Y
/ X/Y Obtém o quociente da divisão de X por Y
% X%Y Obtém o resto da divisão de X por Y


O operador % só pode ser utilizado com operandos do tipo inteiro.

44
© Rafael Feitosa
Principais funções matemáticas

A linguagem C++ possui inúmeras funções matemáticas:
– Podem ser encontradas na documentação da biblioteca cmath (deve
ser incluída);
– As principais são:
Operador Exemplo Significado
Arredonda um número real para cima
ceil ceil(X)
Ex.: ceil(3.2) é 4
Calcula o co-seno de X
cos cos(X)
(X deve estar representado em radianos)
exp exp(X) Calcula o logaritmo natural e elevado à potência X
abs abs(X) Obtém o valor absoluto de X
45
© Rafael Feitosa
Principais funções matemáticas
Operador Exemplo Significado
Arredonda um número real para baixo
floor floor(X)
Ex.: floor(3.2) é 3
log log(X) Obtém o logaritmo natural de X
log10 log10(X) Obtém o logaritmo de base 10 de X
Decompõe o número real armazenado em X em duas partes:
modf Z = modf(X,&Y)
Y recebe a parte fracionária e Z a parte inteira do número X
pow pow(X,Y) Calcula a potência de X elevado a Y
Calcula o seno de X
sin sin(X)
(X deve estar representado em radianos)
sqrt sqrt(X) Calcula a raiz quadrada de X
Calcula a tangente de X
tan tan(X)
(X deve estar representado em radianos)
M_PI X = M_PI Retorna o valor de π
46
© Rafael Feitosa
Exercícios
1. Faça um programa que leia dois números, calcule e ao final mostre o resultado
da soma, da subtração, da multiplicação e da divisão dos números lidos.
2. Faça um programa que receba o nome e o valor de um produto qualquer, calcule
e mostre o valor das prestações, sabendo que o seu valor é dividido em 5x sem
juros.
3. Escreva um programa que determine o consumo médio de combustível de um
automóvel após recebidas a distância total percorrida e a quantidade de
combustível gasto.
4. Escreva um programa que leia o nome do aluno e as 4 notas bimestrais do ano,
calcule e mostre o nome do aluno e as suas médias aritméticas anual e semestrais.

47
© Rafael Feitosa
Exercícios
5. Faça um programa que receba o preço de custo de um produto e a
margem de lucro sobre o mesmo em porcentagem (%), calcule e
mostre o preço de venda já com o lucro incluído.
6. Escreva um programa que leia o nome do vendedor, o seu salário
base mensal e o valor do total de vendas realizadas por ele durante o
mês. Sabendo que este vendedor recebe comissão de 15% sobre o
valor das vendas efetuadas por ele e que o seu salário final é a
composição do salário base mais o valor da comissão, calcule e mostre
o nome do vendedor, seu salário final e a porcentagem recebida a
mais em relação ao seu salário base mensal.
48
© Rafael Feitosa
Exercícios
7. A equipe Ferrari deseja calcular o número mínimo de litros que deverá colocar no tanque de seu carro
para que ele possa percorrer um determinado número de voltas até o primeiro reabastecimento. Escreva
um programa que leia:
a) o comprimento da pista em metros;
b) o número total de voltas a serem percorridas no grande prêmio;
c) o número de reabastecimentos desejados;
d) o consumo de combustível do carro (em Km/L).
Calcule e escreva o número mínimo de litros necessários para até o primeiro reabastecimento. Considere
que o número de voltas entre os reabastecimentos é o mesmo.
8. Escreva um programa que leia os valores de duas variáveis A e B e, SEM UTILIZAR uma outra variável
com auxiliar, efetue as trocas dos valores de forma que a variável A passe a possuir o valor da variável B e
a variável B passe a possuir o valor da variável A e ao final apresente os valores trocados referenciado as
variáveis.
49
© Rafael Feitosa
50
© Rafael Feitosa

Você também pode gostar