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