Buscar

2019826_02626_Aula+3+algoritmos

Prévia do material em texto

Aula 3
Linguagem de Programação C/C++
ALGORITMOS
Professor Me. Pedro Junior Zucatelli
Disciplina: Algoritmos.
Curso: Engenharia Civil e Eng. Mecânica.
Semestre: 2019/2.
E-mail: pedro.zucatelli@multivix.edu.br
3
LINGUAGEM DE PROGRAMAÇÃO C/C++
O C++ é uma linguagem de programação de nível médio, baseada na
linguagem C. O desenvolvimento da linguagem começou na década de 80,
por Bjarne Stroustrup. O objetivo do desenvolvimento desta linguagem era
melhorar uma versão do núcleo Unix.
Para desenvolver a linguagem, foram acrescentados elementos de outras
linguagens de vários níveis, na tentativa de criar uma linguagem com
elementos novos, sem trazer problemas para a programação. No inicio do
desenvolvimento, a linguagem usava um pré-processador, mais Stroustrup
criou um compilador próprio, com novas características.
4
LINGUAGEM DE PROGRAMAÇÃO C/C++
A primeira versão oficial do C++ apareceu em 1985, juntamente com o livro
“The C++ Programming Language”, que esclareceu vários pontos sobre o
C++.
Em 1989 foi lançada uma segunda versão da linguagem, com acréscimo das
características: Herança múltipla, classes abstratas, métodos estáticos,
métodos constantes e membros protegidos, incrementando também um
suporte de orientação a objeto. Um ano depois foi lançado o livro “The
Annotated C++ Reference Manual”, que se tornou uma base.
5
LINGUAGEM DE PROGRAMAÇÃO C/C++
O C++ tem uma enorme variedade de códigos, pois além de seus códigos,
pode contar com vários códigos da linguagem C.
Esta variedade possibilita a programação em alto e baixo níveis. 
O C++ apresenta grande flexibilidade, embora seja bom, este 
fato faz com que a programação seja muito mais cuidadosa para 
não terem erros.
6
LINGUAGEM DE PROGRAMAÇÃO C/C++
Alguns fatos sobre o C/C++:
• O C++ é uma linguagem criada para ser tão eficiente quanto o C, porém
com novas funções.
• É uma linguagem que suporta múltiplos paradigmas
• A linguagem da liberdade para o programador escolher as opções, mesmo
sendo a opção errada.
• Muitos códigos podem ser transferidos para C facilmente, pois o C++ foi
criado para ter compatibilidade com o C.
• A linguagem não tem privilégios para alguns grupos de programadores, os
comandos são feitos para todas as especialidades de programadores.
7
LINGUAGEM DE PROGRAMAÇÃO C/C++
Alguns fatos sobre o C/C++:
• Não é necessário um ambiente de desenvolvimento muito potente para o
desenvolvimento de C++.
• Alguns dos mais conhecidos programas são feitos em C++, ou parte dos
seus códigos são nessa linguagem. Alguns deles são: Adobe Photoshop,
MySQL, Mozilla Firefox, Internet Explorer, Microsoft Windows, entre
vários outros.
A linguagem C é mais complicada, e tem de se ter mais atenção a erros de
lógica, porém é mais fácil corrigir os erros que em C++, pois muitas das
sintaxes do C++ são sutis e quando se erra alguma coisa mínima, o código
simplesmente não funciona, ou em caso de erros menores, o código passa a
apresentar problemas muito difíceis de identificar.
8
COMPILADOR
Baixe o compilador no seguinte link:
https://sourceforge.net/projects/orwelldevcpp/?source=typ_redirect
9
LINGUAGEM DE PROGRAMAÇÃO C/C++
Veja, a seguir, um exemplo de algoritmo escrito em 
Linguagem de Programação C/C++.
→ Sabe-se que o objetivo deste algoritmo é criar um 
programa que converta dias em anos.
10
LINGUAGEM DE PROGRAMAÇÃO C/C++
/* Programa que converte dias em anos */
#include <stdlib.h>
#include <stdio.h>
#include <math.h>
int main ( )
{
float Dias; /* Declaracao de Variaveis */
float Anos;
printf ("Entre com o numero de dias:");/* Entrada de Dados */
scanf ("%f", &Dias);
Anos = Dias/365.25; /* Conversao Dias->Anos */
printf ("\n %f dias equivalem a %f ano(s) \n", Dias, Anos);
system("PAUSE");
return(0);
}
11
LINGUAGEM DE PROGRAMAÇÃO C/C++
/* Programa que converte dias em anos */
#include <stdlib.h>
#include <stdio.h>
#include <math.h>
int main ( )
{
float Dias; /* Declaracao de Variaveis */
float Anos;
printf ("Entre com o numero de dias:");/* Entrada de Dados */
scanf ("%f", &Dias);
Anos = Dias/365.25; /* Conversao Dias->Anos */
printf ("\n %f dias equivalem a %f ano(s) \n", Dias, Anos);
system("PAUSE");
return(0);
}
TÍTULO DO PROGRAMA
Para escrever um título ou 
qualquer comentário no 
algoritmo, você deverá iniciar 
com /* e irá finalizar com */. 
Lembro-lhe que isto o usuário 
não irá visualizar, somente o 
programador. 
12
LINGUAGEM DE PROGRAMAÇÃO C/C++
/* Programa que converte dias em anos */
#include <stdlib.h>
#include <stdio.h>
#include <math.h>
int main ( )
{
float Dias; /* Declaracao de Variaveis */
float Anos;
printf ("Entre com o numero de dias:");/* Entrada de Dados */
scanf ("%f", &Dias);
Anos = Dias/365.25; /* Conversao Dias->Anos */
printf ("\n %f dias equivalem a %f ano(s) \n", Dias, Anos);
system("PAUSE");
return(0);
}
BIBLIOTECAS DO PROGRAMA
13
LINGUAGEM DE PROGRAMAÇÃO C/C++
stdlib.h
stdlib.h é um arquivo cabeçalho da biblioteca de propósito
geral padrão da linguagem de programação C / C++.
Ela possui funções envolvendo alocação de memória, controle
de processos, conversão, ordenamento e procura, matemática,
etc.
O nome “Stdlib" vem de Standard Library (Standard Library é
biblioteca padrão em inglês).
14
LINGUAGEM DE PROGRAMAÇÃO C/C++
stdio.h
stdio.h é um cabeçalho da biblioteca padrão do C. Seu nome vem da expressão inglesa standard
input-output header, que significa "cabeçalho padrão de entrada/saída".
Possui definições de sub-rotinas relativas às operações de entrada/saída, como leitura de dados
digitados no teclado e exibição de informações na tela do programa de computador. Também
possui numerosas definições de constantes, variáveis e tipos. É um dos cabeçalhos mais
populares da linguagem de programação C, intensivamente utilizado tanto por programadores
iniciantes como por experientes.
Abaixo temos 3 funções desta biblioteca que são bem conhecidas:
❑ printf() Função usada para imprimir dados na tela
❑ scanf() Função usada para capturar dados do usuário
❑ system() Função usada para executar comandos no sistema operacional
15
LINGUAGEM DE PROGRAMAÇÃO C/C++
math.h
math.h biblioteca que guarda funções matemáticas.
16
LINGUAGEM DE PROGRAMAÇÃO C/C++
/* Programa que converte dias em anos */
#include <stdlib.h>
#include <stdio.h>
#include <math.h>
int main ( )
{
float Dias; /* Declaracao de Variaveis */
float Anos;
printf ("Entre com o numero de dias:");/* Entrada de Dados */
scanf ("%f", &Dias);
Anos = Dias/365.25; /* Conversao Dias->Anos */
printf ("\n %f dias equivalem a %f ano(s) \n", Dias, Anos);
system("PAUSE");
return(0);
}
FUNÇÃO PRINCIPAL
17
LINGUAGEM DE PROGRAMAÇÃO C/C++
int main( )
A linha int main( ) indica que estamos definindo uma função
de nome main.
É a função que indica o início do corpo principal do programa.
Todos os programas em C++ têm que ter uma função main, pois
é esta função que será chamada quando o programa for
executado.
18
LINGUAGEM DE PROGRAMAÇÃO C/C++
/* Programa que converte dias em anos */
#include <stdlib.h>
#include <stdio.h>
#include <math.h>
int main ( )
{
float Dias; /* Declaracao de Variaveis */
float Anos;
printf ("Entre com o numero de dias:");/* Entrada de Dados */
scanf ("%f", &Dias);
Anos = Dias/365.25; /* Conversao Dias->Anos */
printf ("\n %f dias equivalem a %f ano(s) \n", Dias, Anos);
system("PAUSE");
return(0);
}
ABERTURA DO PROGRAMA
FECHAMENTO DO PROGRAMA
19
LINGUAGEM DE PROGRAMAÇÃO C/C++
{
[Sequência de comandos...]
}
O conteúdo da função é delimitado por chaves { }.
O código que estiver dentro das chaves será executado
sequencialmente quandoa função principal for chamada.
Todos os comandos que estiver entre chaves deverá terminar
com ponto e vírgula ( ; ).
20
LINGUAGEM DE PROGRAMAÇÃO C/C++
/* Programa que converte dias em anos */
#include <stdlib.h>
#include <stdio.h>
#include <math.h>
int main ( )
{
float Dias; /* Declaracao de Variaveis */
float Anos;
printf ("Entre com o numero de dias:");/* Entrada de Dados */
scanf ("%f", &Dias);
Anos = Dias/365.25; /* Conversao Dias->Anos */
printf ("\n %f dias equivalem a %f ano(s) \n", Dias, Anos);
system("PAUSE");
return(0);
}
DECLARAÇÃO DE VARIÁVEIS
21
LINGUAGEM DE PROGRAMAÇÃO C/C++
Variáveis 
Se a variável for receber número inteiro→ int
Se a variável for receber número real→ float
Se a variável for receber caractere→ char
Se a variável for receber conjunto de caracteres→ char
nome_da_string[tamanho]
22
LINGUAGEM DE PROGRAMAÇÃO C/C++
Variáveis 
TIPOS DE VARIÁVEIS CÓDIGOS
int %d
float %f
char %c
char nome_da_string[tamanho] %s
23
LINGUAGEM DE PROGRAMAÇÃO C/C++
/* Programa que converte dias em anos */
#include <stdlib.h>
#include <stdio.h>
#include <math.h>
int main ( )
{
float Dias; /* Declaracao de Variaveis */
float Anos;
printf ("Entre com o numero de dias:");/* Entrada de Dados */
scanf ("%f", &Dias);
Anos = Dias/365.25; /* Conversao Dias->Anos */
printf ("\n %f dias equivalem a %f ano(s) \n", Dias, Anos);
system("PAUSE");
return(0);
}
SOLICITAÇÃO OU 
IMPRESSÃO NA TELA
24
LINGUAGEM DE PROGRAMAÇÃO C/C++
printf
Para solicitar algo ao usuário ou lançar um resultado na tela,
temos que utilizar a função conhecida por printf.
printf ("Entre com o numero de dias:");
Abre parênteses, abre aspas, digite a frase de solicitação, dois
pontos, fecha aspas, fecha parênteses, ponto e virgula.
25
LINGUAGEM DE PROGRAMAÇÃO C/C++
/* Programa que converte dias em anos */
#include <stdlib.h>
#include <stdio.h>
#include <math.h>
int main ( )
{
float Dias; /* Declaracao de Variaveis */
float Anos;
printf ("Entre com o numero de dias:");/* Entrada de Dados */
scanf ("%f", &Dias);
Anos = Dias/365.25; /* Conversao Dias->Anos */
printf ("\n %f dias equivalem a %f ano(s) \n", Dias, Anos);
system("PAUSE");
return(0);
}
LEITURA DO VALOR E 
ATRIBUIÇÃO À VARIÁVEL
26
LINGUAGEM DE PROGRAMAÇÃO C/C++
scanf
Para atribuir um valor digitado pelo usuário à uma variável,
precisamos utilizar a função scanf.
scanf ("%f", &Dias);
Abre parênteses, abre aspas, digita o código do tipo de variável,
fecha aspas, vírgula, digita &, digita o nome da variável, fecha
parênteses, ponto e virgula.
27
LINGUAGEM DE PROGRAMAÇÃO C/C++
/* Programa que converte dias em anos */
#include <stdlib.h>
#include <stdio.h>
#include <math.h>
int main ( )
{
float Dias; /* Declaracao de Variaveis */
float Anos;
printf ("Entre com o numero de dias:");/* Entrada de Dados */
scanf ("%f", &Dias);
Anos = Dias/365.25; /* Conversao Dias->Anos */
printf ("\n %f dias equivalem a %f ano(s) \n", Dias, Anos);
system("PAUSE");
return(0);
}
Fazendo as 
contas
28
LINGUAGEM DE PROGRAMAÇÃO C/C++
Operadores aritméticos
Operador Ação
+ soma
- subtração 
* multiplicação
/ divisão
% resto de divisão
= atribuição
29
LINGUAGEM DE PROGRAMAÇÃO C/C++
Operadores relacionais
30
LINGUAGEM DE PROGRAMAÇÃO C/C++
Operadores lógicos
&& e
|| ou
! não
31
LINGUAGEM DE PROGRAMAÇÃO C/C++
/* Programa que converte dias em anos */
#include <stdlib.h>
#include <stdio.h>
#include <math.h>
int main ( )
{
float Dias; /* Declaracao de Variaveis */
float Anos;
printf ("Entre com o numero de dias:");/* Entrada de Dados */
scanf ("%f", &Dias);
Anos = Dias/365.25; /* Conversao Dias->Anos */
printf ("\n %f dias equivalem a %f ano(s) \n", Dias, Anos);
system("PAUSE");
return(0);
}
Lançando o 
resultado na tela
32
LINGUAGEM DE PROGRAMAÇÃO C/C++
printf
Para solicitar algo ao usuário ou lançar um resultado na tela, temos que
utilizar a função conhecida por printf.
printf ("\n %f dias equivalem a %f ano(s) \n", Dias, Anos);
Abre parênteses, abre aspas, \n para saltar uma linha, digite a frase que quer
que apareça para o usuário sabendo que aonde for aparecer o número deverá
ser digitado o código da variável, \n para saltar uma linha, vírgula, digite o(s)
nome(s) da(s) variável(is), fecha parênteses, ponto e virgula.
33
LINGUAGEM DE PROGRAMAÇÃO C/C++
/* Programa que converte dias em anos */
#include <stdlib.h>
#include <stdio.h>
#include <math.h>
int main ( )
{
float Dias; /* Declaracao de Variaveis */
float Anos;
printf ("Entre com o numero de dias:");/* Entrada de Dados */
scanf ("%f", &Dias);
Anos = Dias/365.25; /* Conversao Dias->Anos */
printf ("\n %f dias equivalem a %f ano(s) \n", Dias, Anos);
system("PAUSE");
return(0);
}
Manter a tela aberta
34
LINGUAGEM DE PROGRAMAÇÃO C/C++
/* Programa que converte dias em anos */
#include <stdlib.h>
#include <stdio.h>
#include <math.h>
int main ( )
{
float Dias; /* Declaracao de Variaveis */
float Anos;
printf ("Entre com o numero de dias:");/* Entrada de Dados */
scanf ("%f", &Dias);
Anos = Dias/365.25; /* Conversao Dias->Anos */
printf ("\n %f dias equivalem a %f ano(s) \n", Dias, Anos);
system("PAUSE");
return(0);
}
Retorno de informação para a função principal
35
LINGUAGEM DE PROGRAMAÇÃO C/C++
/* Programa que converte dias em anos */
#include <stdlib.h>
#include <stdio.h>
#include <math.h>
int main ( )
{
float Dias; /* Declaracao de Variaveis */
float Anos;
printf ("Entre com o numero de dias:");/* Entrada de Dados */
scanf ("%f", &Dias);
Anos = Dias/365.25; /* Conversao Dias->Anos */
printf ("\n %f dias equivalem a %f ano(s) \n", Dias, Anos);
system("PAUSE");
return(0);
}
Agora, basta fazer 
no Dev-C++
36
LINGUAGEM DE PROGRAMAÇÃO C/C++
Observações
Evite utilizar palavras com acentos, ç, e compostas, tanto nas
frases como em nomes de variáveis.
Dê nomes curtos as variáveis.
Evite dar nomes com números para as variáveis.
37
LINGUAGEM DE PROGRAMAÇÃO C/C++
Exercício - exemplo
Dados solicitados ao usuário: Comprimento e largura de 1
quarto de solteiro, 1 quarto de casal, sala, cozinha, banheiro
social, área de serviço.
Informação: Área em metros quadrados da casa.
Mostrar o resultado na tela.
38
/* area total da casa */
#include <stdlib.h>
#include <stdio.h>
#include <math.h>
int main ( )
{
float comp, larg, x, y, z, a, b, c, soma;
printf ("digite o comprimento do quarto de solteiro em metros:");
scanf ("%f", &comp);
printf ("digite a largura do quarto de solteiro em metros:");
scanf ("%f", &larg);
x=comp*larg;
printf ("digite o comprimento do quarto de casal em metros:");
scanf ("%f", &comp);
printf ("digite a largura do quarto de casal em metros:");
scanf ("%f", &larg);
y=comp*larg;
printf ("digite o comprimento da sala em metros:");
scanf ("%f", &comp);
printf ("digite a largura da sala em metros:");
scanf ("%f", &larg);
z=comp*larg;
printf ("digite o comprimento da cozinha em metros:");
scanf ("%f", &comp);
39
printf ("digite a largura da cozinha em metros:");
scanf ("%f", &larg);
a=comp*larg;
printf ("digite o comprimento do banheiro social em metros:");
scanf ("%f", &comp);
printf ("digite a largura do banheiro social em metros:");
scanf ("%f", &larg);
b=comp*larg;
printf ("digite o comprimento da area de servico em metros:");
scanf ("%f", &comp);
printf ("digite a largura da area de servico em metros:");
scanf ("%f", &larg);
c=comp*larg;
soma=x+y+z+a+b+c;
printf ("\n a area total da casa e %f metros \n", soma);
system("PAUSE");
return(0);
}
Até a próxima aula!
40

Continue navegando