Aula 1 | Introdução a C++
TREINAMENTO PARA SOLUCIONAR PROBLEMAS
COMPUTACIONAIS COM A LINGUAGEM DE
PROGRAMAÇÃO C++
MSC. Henry Raúl González Brito | henryraul@outlook.com
Contenúo
•Estrutura geral de um programa C/C++. Principais
Comandos.
•Estruturas condicionais e Estruturas de Repetição.
•Exercícios.
Bibliografia
• Cap 2, 3, 4: ASCENCIO, A. F. G. e CAMPOS, E. A. V. - Fundamentos da
Programação de Computadores: Algoritmos, Pascal e C/C++; São Paulo:
Prentice Hall, 2002.
• Cap 1, 2, 3, 4: Viviane Mizrahi V. – Treinamento Linguajem C - São
Paulo: Prentice Hall, 2002.
• Microsoft Visual C++ 2010 Express
Historia
• C foi criada em 1972, por Dennis Ritchie;
• Centro de Pesquisas da Bell Laboratories;
• Para utilização no S.O. UNIX;
• C é uma linguagem de propósito geral;
• Em 1989 o Instituto Norte-Americano de Padrões (ANSI)
padronizou a linguagem C
Historia
• C++ é uma extensão da linguagem C.
• As instruções que fazem parte de esta última representam
um subconjunto da primeira.
• Os incrementos encontrados na linguagem C++ forma feitos
principalmente para dar suporte á programação orientada a
objetos.
• A sintaxe dessa linguagem é basicamente a misma da
linguagem C.
C/C++
• Case sensitive.
• Tipos de dados primitivos: caractere, inteiro e real.
• Possui estruturas de controle de fluxo.
• Operadores aritméticos, lógicos, relacionais e condicional.
• Todo programa tem uma função principal chamada main().
• Todo linha de instrução em um programa é finalizada com
um “;”.
Estrutura geral de um programa C/C++
C/C++
#include <nome_da_biblioteca>
int main()
{
//Bloco de comandos
return 0;
}
Bibliotecas: São arquivos contendo varias
funções que podem ser incorporadas aos
programas escritos em C/C++
Psudocódigo
Inicio
//comando
Fimalgoritmo
#include<stdio.h>
Declaração de variáveis
As variáveis são declaradas após a especificação de seus tipos.
Os tipos de dados mias utilizados são:
Exemplos:
int x;
float y,z;
char sexo;
char nome[40];
bool bandeira;
Pseudocódigo
inteiro
real
caractere
logico
C/C++
int para números inteiros
float para números reais
char para um caractere
bool para um V ou F
Declaração de variáveis
Tipo Faixa de valores Tamanho
Char -128 a 127 8 bits
Unsigned char 0 a 255 8 bits
Int -2.147.483.648 a 2.147.483.648 32 bits
Unsigned int 0 a 4.294.967.295 32 bits
Short int -32.767 a 32.767 16 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 96 bits
Comandos de Atribuição
C/C++
X= 4;
x= x+2;
Y= 2.5;
Sexo='M';
Cada comando é finalizado
com o sinal de pont-e-vírgola
Psudocódigo
a<-b+c
Comandos de entrada e saída
C/C++
scanf(“%d”,&x);
scanf(“%c”,&letra);
scanf("%f",&altura);
printf(“%d”,x);
printf(“%i”,x);
printf(“%c”,x);
Psudocódigo
Leia x
Escreva x
Operadores aritméticos
Operador Binário Descrição
= Atribuição
+ Soma
- Subtração
/ Divisão
% Modulo (resto da divisão)
Operadores aritméticos Unários e Binários
Unários ( -, ++, --) agem sobre uma variável apenas, modificando ou
não o seu valor, e retornam o valor final da variável.
a = -b;
a++; (ou seja) a = a+1;
a--; (ou seja) a = a-1;
Obs: operador “–” como troca de sinal é um operador unário que não
altera a variável sobre a qual é aplicado, pois ele retorna o valor da
variável multiplicado por -1.
Binários (+, -, *, /, %) usam duas variáveis e retornam um terceiro valor,
sem modificar as variáveis originais.
Operadores aritméticos - Hierarquia
Operadores de Atribuição =, +=, -=, *=, /=, %=
Exemplos:
a = 5;
a += 5; (ou seja) a = (a + 5);
a -= 5; (ou seja) a = (a – 5);
Instrução normal Instrução reduzida
var = var + expr; var += expr;
var = var – expr; var -= expr;
var = var / expr; var /= expr;
var = var * expr; var *= expr;
Comentários
• // Meu comentário em uma linha
• /* Meu comentário através de um bloco de texto que
pode estar em n linhas */
Operadores Relacionais
Operadores Lógicos
Operador Ação
&& E
|| OU
! Não
Não p Não q p E q p OU q
p q ! p ! q p && q p || q
Falso Falso Verdadeiro Verdadeiro Falso Falso
Falso Verdadeiro Verdadeiro Falso Falso Verdadeiro
Verdadeiro Falso Falso Verdadeiro Falso Verdadeiro
Verdadeiro Verdadeiro Falso Falso Verdadeiro Verdadeiro
Estrutura Condicional – if ... else
Pseudocódigo
se (<condição>) entao
<comandos>
senao
<comandos>
fimse
C/C++
if (<condição>) {
<comandos>
} else {
<comandos>
}
Estrutura Condicional – if ... else
C/C++
#include<stdio.h>
int main() {
int p1,p2;
float media;
printf("Prova de Frec 1=");
scanf("%d",&p1);
printf("Prova de Frec 2=");
scanf("%d",&p2);
media = ( p1 + p2 ) / 2;
if (media >= 14)
printf("Aprovado");
else if (media < 7)
printf("Reprovado");
else
printf("Prova Final");
}
Estrutura Condicional – switch
Pseudocódigo
escolha (<variável>)
caso <valor11>, ..., <valor1n>
<comandos-1>
caso <valor21>, ..., <valor2m>
<comandos-2>
...
defeito
<comandos-extra>
fimescolha
C/C++
switch (variável inteira)
{
case valor1:
<comandos-1>;
break;
case valor2:
<comandos-2>
break;
...
default
<comandos-extra>
}
Estrutura de Repetição – while (encuanto)
Pseudocódigo
encuanto(<condição>) faca
<comandos>
fimencuanto
C/C++
while (<condição>)
{
<comandos>
}
Estrutura de Repetição – do..while
(repita..ate)
Pseudocódigo
repita
<comandos>
ate (<condição>)
C/C++
do {
<comandos>
} while (<condição>)
Estrutura de Repetição – for (para)
C/C++
for (variável=valor-inicial;condição;incremento) {
<comandos>
}
Exemplo
for (int i=0; i <= 100; i++) {
printf(“%d n”,i)
}
Exemplo 1
#include<stdio.h>
int main() {
int idade , contador=0, i;
float altura , soma= 0;
do {
printf("Digite idade=");
scanf("%d",&idade);
printf("Digite altura=");
scanf("%f",&altura);
if (idade > 50){
soma = soma + altura;
contador = contador + 1;
}
} while (idade>0);
if (contador > 0)
printf("A media das alt=%f",soma/contador);
else
printf("Nao temos nenhuma pessoa
com mais de 50 anos");
}
Exemplo 2
#include<stdio.h>
int main() {
int idade , contador=0, i;
float altura , soma= 0;
for (i=0; i<=100; i++) {
printf("Digite idade=");
scanf("%d",&idade);
printf("Digite altura=");
scanf("%f",&altura);
if (idade > 50){
soma = soma + altura;
contador = contador + 1;
}
}
if (contador > 0)
printf("A media das alt=%f",soma/contador);
else
printf("Nao temos nenhuma pessoa
com mais de 50 anos");
}
Exemplo 3 Escreva um algoritmo que
receba um número e
determine se é primo ou
não, depois elabore o
programa em C/C++.#include<stdio.h>
int main() {
int n , i=2;
printf("Digite o valor de n=");
scanf("%d",&n);
while ((n % i != 0) && (i < n)){
i++;
}
if (i == n)
printf("Numero primo");
else printf("Nao Numero primo");
return 0;
}
#include <stdio.h>
#include <stdlib.h>
system("pause");
return 0;
Aula 1 | Introdução a C++
TREINAMENTO PARA SOLUCIONAR PROBLEMAS
COMPUTACIONAIS COM A LINGUAGEM DE
PROGRAMAÇÃO C++
MSC. Henry Raúl González Brito | henryraul@outlook.com

Aula 1 | Introdução a C++

  • 1.
    Aula 1 |Introdução a C++ TREINAMENTO PARA SOLUCIONAR PROBLEMAS COMPUTACIONAIS COM A LINGUAGEM DE PROGRAMAÇÃO C++ MSC. Henry Raúl González Brito | henryraul@outlook.com
  • 2.
    Contenúo •Estrutura geral deum programa C/C++. Principais Comandos. •Estruturas condicionais e Estruturas de Repetição. •Exercícios.
  • 3.
    Bibliografia • Cap 2,3, 4: ASCENCIO, A. F. G. e CAMPOS, E. A. V. - Fundamentos da Programação de Computadores: Algoritmos, Pascal e C/C++; São Paulo: Prentice Hall, 2002. • Cap 1, 2, 3, 4: Viviane Mizrahi V. – Treinamento Linguajem C - São Paulo: Prentice Hall, 2002. • Microsoft Visual C++ 2010 Express
  • 4.
    Historia • C foicriada em 1972, por Dennis Ritchie; • Centro de Pesquisas da Bell Laboratories; • Para utilização no S.O. UNIX; • C é uma linguagem de propósito geral; • Em 1989 o Instituto Norte-Americano de Padrões (ANSI) padronizou a linguagem C
  • 5.
    Historia • C++ éuma extensão da linguagem C. • As instruções que fazem parte de esta última representam um subconjunto da primeira. • Os incrementos encontrados na linguagem C++ forma feitos principalmente para dar suporte á programação orientada a objetos. • A sintaxe dessa linguagem é basicamente a misma da linguagem C.
  • 6.
    C/C++ • Case sensitive. •Tipos de dados primitivos: caractere, inteiro e real. • Possui estruturas de controle de fluxo. • Operadores aritméticos, lógicos, relacionais e condicional. • Todo programa tem uma função principal chamada main(). • Todo linha de instrução em um programa é finalizada com um “;”.
  • 7.
    Estrutura geral deum programa C/C++ C/C++ #include <nome_da_biblioteca> int main() { //Bloco de comandos return 0; } Bibliotecas: São arquivos contendo varias funções que podem ser incorporadas aos programas escritos em C/C++ Psudocódigo Inicio //comando Fimalgoritmo #include<stdio.h>
  • 8.
    Declaração de variáveis Asvariáveis são declaradas após a especificação de seus tipos. Os tipos de dados mias utilizados são: Exemplos: int x; float y,z; char sexo; char nome[40]; bool bandeira; Pseudocódigo inteiro real caractere logico C/C++ int para números inteiros float para números reais char para um caractere bool para um V ou F
  • 9.
    Declaração de variáveis TipoFaixa de valores Tamanho Char -128 a 127 8 bits Unsigned char 0 a 255 8 bits Int -2.147.483.648 a 2.147.483.648 32 bits Unsigned int 0 a 4.294.967.295 32 bits Short int -32.767 a 32.767 16 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 96 bits
  • 10.
    Comandos de Atribuição C/C++ X=4; x= x+2; Y= 2.5; Sexo='M'; Cada comando é finalizado com o sinal de pont-e-vírgola Psudocódigo a<-b+c
  • 11.
    Comandos de entradae saída C/C++ scanf(“%d”,&x); scanf(“%c”,&letra); scanf("%f",&altura); printf(“%d”,x); printf(“%i”,x); printf(“%c”,x); Psudocódigo Leia x Escreva x
  • 12.
    Operadores aritméticos Operador BinárioDescrição = Atribuição + Soma - Subtração / Divisão % Modulo (resto da divisão)
  • 13.
    Operadores aritméticos Unáriose Binários Unários ( -, ++, --) agem sobre uma variável apenas, modificando ou não o seu valor, e retornam o valor final da variável. a = -b; a++; (ou seja) a = a+1; a--; (ou seja) a = a-1; Obs: operador “–” como troca de sinal é um operador unário que não altera a variável sobre a qual é aplicado, pois ele retorna o valor da variável multiplicado por -1. Binários (+, -, *, /, %) usam duas variáveis e retornam um terceiro valor, sem modificar as variáveis originais.
  • 14.
  • 15.
    Operadores de Atribuição=, +=, -=, *=, /=, %= Exemplos: a = 5; a += 5; (ou seja) a = (a + 5); a -= 5; (ou seja) a = (a – 5); Instrução normal Instrução reduzida var = var + expr; var += expr; var = var – expr; var -= expr; var = var / expr; var /= expr; var = var * expr; var *= expr;
  • 16.
    Comentários • // Meucomentário em uma linha • /* Meu comentário através de um bloco de texto que pode estar em n linhas */
  • 17.
  • 18.
    Operadores Lógicos Operador Ação &&E || OU ! Não Não p Não q p E q p OU q p q ! p ! q p && q p || q Falso Falso Verdadeiro Verdadeiro Falso Falso Falso Verdadeiro Verdadeiro Falso Falso Verdadeiro Verdadeiro Falso Falso Verdadeiro Falso Verdadeiro Verdadeiro Verdadeiro Falso Falso Verdadeiro Verdadeiro
  • 19.
    Estrutura Condicional –if ... else Pseudocódigo se (<condição>) entao <comandos> senao <comandos> fimse C/C++ if (<condição>) { <comandos> } else { <comandos> }
  • 20.
    Estrutura Condicional –if ... else C/C++ #include<stdio.h> int main() { int p1,p2; float media; printf("Prova de Frec 1="); scanf("%d",&p1); printf("Prova de Frec 2="); scanf("%d",&p2); media = ( p1 + p2 ) / 2; if (media >= 14) printf("Aprovado"); else if (media < 7) printf("Reprovado"); else printf("Prova Final"); }
  • 21.
    Estrutura Condicional –switch Pseudocódigo escolha (<variável>) caso <valor11>, ..., <valor1n> <comandos-1> caso <valor21>, ..., <valor2m> <comandos-2> ... defeito <comandos-extra> fimescolha C/C++ switch (variável inteira) { case valor1: <comandos-1>; break; case valor2: <comandos-2> break; ... default <comandos-extra> }
  • 22.
    Estrutura de Repetição– while (encuanto) Pseudocódigo encuanto(<condição>) faca <comandos> fimencuanto C/C++ while (<condição>) { <comandos> }
  • 23.
    Estrutura de Repetição– do..while (repita..ate) Pseudocódigo repita <comandos> ate (<condição>) C/C++ do { <comandos> } while (<condição>)
  • 24.
    Estrutura de Repetição– for (para) C/C++ for (variável=valor-inicial;condição;incremento) { <comandos> } Exemplo for (int i=0; i <= 100; i++) { printf(“%d n”,i) }
  • 25.
    Exemplo 1 #include<stdio.h> int main(){ int idade , contador=0, i; float altura , soma= 0; do { printf("Digite idade="); scanf("%d",&idade); printf("Digite altura="); scanf("%f",&altura); if (idade > 50){ soma = soma + altura; contador = contador + 1; } } while (idade>0); if (contador > 0) printf("A media das alt=%f",soma/contador); else printf("Nao temos nenhuma pessoa com mais de 50 anos"); }
  • 26.
    Exemplo 2 #include<stdio.h> int main(){ int idade , contador=0, i; float altura , soma= 0; for (i=0; i<=100; i++) { printf("Digite idade="); scanf("%d",&idade); printf("Digite altura="); scanf("%f",&altura); if (idade > 50){ soma = soma + altura; contador = contador + 1; } } if (contador > 0) printf("A media das alt=%f",soma/contador); else printf("Nao temos nenhuma pessoa com mais de 50 anos"); }
  • 27.
    Exemplo 3 Escrevaum algoritmo que receba um número e determine se é primo ou não, depois elabore o programa em C/C++.#include<stdio.h> int main() { int n , i=2; printf("Digite o valor de n="); scanf("%d",&n); while ((n % i != 0) && (i < n)){ i++; } if (i == n) printf("Numero primo"); else printf("Nao Numero primo"); return 0; }
  • 28.
  • 29.
    Aula 1 |Introdução a C++ TREINAMENTO PARA SOLUCIONAR PROBLEMAS COMPUTACIONAIS COM A LINGUAGEM DE PROGRAMAÇÃO C++ MSC. Henry Raúl González Brito | henryraul@outlook.com