Baixe o app para aproveitar ainda mais
Prévia do material em texto
Métodos Computacionais DATA 21/01/2023 Métodos Computacionais S e g u n d a U n id a d e P r o f e s s o r A d i ls o n d a S i lv a Cronograma Nossas aulas e nossas atividades Cronograma Aulas Dia Horas Web 1 21/01/2023 14:30 Web extra 23/01/2023 19:00 Web 2 26/01/2023 19:00 Web Extra 31/01/2023 17:30 Web 3 02/02/2023 17:30 Web 4 07/02/2023 19:00 Web Extra 11/02/2023 10:00 DATA 21/01/2023 Objetivos • Conhecer como surgiu e compreender o motivo do sucesso como linguagem de programação da linguagem C; • Aprender conhecimentos básicos sobre a linguagem C; • Conhecer as diferentes estruturas e ser capaz de escolher a mais adequada para cada problema; • Estudar as funções em C aprendendo como declarar e usar uma função; • Ser capaz de criar programas básicos em C que sejam úteis para resolver problemas aplicados à engenharia. DATA 23/01/2023 Conceitos Básicos da Linguagem C • A Linguagem C foi inventada e foi implementada no inicio dos anos 70 por Dennis Ritchie em um DEC PDP-11, usando o Sistema Operacional UNIX. • A linguagem C é o resultado do processo de desenvolvimento iniciado com outra linguagem, chamada BCPL, desenvolvida por Martin Richards. Esta linguagem influenciou a linguagem inventada por Ken Thompson, chamada linguagem B. DATA 23/01/2023 Conceitos Básicos da Linguagem C • Sendo assim a linguagem C é a evolução da linguagem B. • A linguagem C se tornou uma das linguagens de programação mais utilizada, por ser flexível e ainda poderosa, sendo que ela é a responsável pela criação de alguns software famosos e a base de outros como jogos. DATA 23/01/2023 Conceitos Básicos da Linguagem C • A linguagem C encontra seus limites quando o tamanho de um projeto ultrapassa certo ponto de 25.000 a 100.00 linhas de código. Para a solução desse problema em 1980 um estudioso chamado Bjarne Stroustrup acrescentando varias intenções na linguagem C deu origem à nova linguagem que se chamava inicialmente “C com classes”, e por volta dos anos 1983 o nome foi mudado para linguagem C++. DATA 23/01/2023 Conceitos Básicos da Linguagem C • Mais a evolução do C++ não parou com o Bjarne Stroustrup, muitas foram as implementações, até tornarem a linguagem C++ uma linguagem que suporta Programação Orientada a Objetos. As inspirações relacionadas acima deve através de outra linguagem de programação chamada Simula67. • Atualmente a linguagem C / C++ é utilizada nas faculdades de Sistema de Informação e Ciência da Programação em aulas de Lógica de Programação e Estrutura de dados. DATA 23/01/2023 IDE para Linguagem C++ • Utilizaremos a linguagem C++ para criar os programas; • Download do DEV C++ • https://sourceforge.net/projects/orwelld evcpp/files/latest/download • Learn C++ Programing • Móvel C [C/C++ Compiler] • https://www.onlinegdb.com/online_c_com piler DATA 23/01/2023 https://sourceforge.net/projects/orwelldevcpp/files/latest/download Linguagens C++ •Linguagem de Médio Nível •Simples e amigável •Excelente portabilidade •Sintaxe Fácil •Uso de funções e procedimentos DATA 23/01/2022 Estrutura da linguagem C++ DATA 23/01/2022 Tipos de dados da Linguagens C++ Na linguagem de programação C, os dados podem assumir cinco tipos básicos: char, int ,float, double e void DATA 23/01/2022 Tipos de Dados na linguagem C DATA 23/01/2022 BITS INTERVALO INÍCIO FIM Char 8 -128 127 unsigned char 8 0 255 signed char 8 -128 127 int 16 -32768 32767 unsigned int 16 0 65535 signed int 16 -32768 32767 short int 16 -32768 32767 unsigned short int 16 0 65535 signed short int 16 -32768 32767 Tipos de Dados na linguagem C DATA 23/01/2022 BITS INTERVALO INÍCIO FIM long int 32 -2147463648 2147463647 unsigned long int 32 0 4294967295 signed long int 32 -2147463648 2147463647 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 Operadores na Linguagem C • Aritméticos • Relacionais • Lógicos DATA 23/01/2022 Operadores Aritméticos DATA 23/01/2022 Adição + int a = 2 + 2; // a = 4 Subtração - int b = 5 -2; // b = 3 Multiplicação * int c = 2 * 5; // c = 10 Divisão / int d = 6 / 3; // d = 2 Resto % int e = 5 % 2; // e = 1 Operadores Relacionais DATA 23/01/2022 Operadores Descrição Exemplo > Maior que Int a = 3, b = 2; (a > b) true (b > a) false < Menor que Int a = 3, b = 2; (a < b) false (b < a) true >= Maior ou igual Int a = 3, b = 2, c = 2; (a >= b) true (a >= c) true <= Menor ou igual Int a = 3, b = 2, c = 2; (a <= b) false (a <= c) true == Igualdade Int a = 3, b = 2, c = 2; (a == b) false (a == c) true != Diferença Int a = 3, b = 2, c = 2; (a != b) true (a != c) false Operadores Lógicos DATA 23/01/2022 Operadores Descrição Exemplo && E( and) Int a = 3, b = 2, c = 2; (a == b) && (b == c) // false || Ou (or) Int a = 3, b = 2, c = 2; (a == b) ||(b == c) // true ! Negação (not) bool a = true, b = false; !a // false !b // true Declarando Variáveis • Evite começar com letra maiúscula e nunca use um numero para começar uma variável. • Não utilize caracteres especiais, como : , “ , (, ). • Você não pode usar palavras reservadas como variável. • Não coloque sinais de pontuação na sua variável. DATA 23/01/2022 Criando variáveis #include <stdio.h> int main( void) { double primeiranota, segundanota, media; primeiranota=0; segundanota=0; media=0; return 0; } DATA 23/01/2022 Entrada e Saída de Dados #include <stdio.h> int main( void) { int idade; int anoAtual; int anoNascimento; printf("Digite sua idade: "); scanf("%id",&idade); printf("Digite o ano atual: "); scanf("%id",&anoAtual); anoNascimento=anoAtual-idade; printf("Oi, você nasceu em %d\n", anoNascimento); return 0; } DATA 23/01/2022 Estrutura básica de um programa em C DATA 23/01/2022 /* programa que calcula o perímetro e a área de uma circunferência de raio */ #include <stdio.h> /* Inclui diretivas de entradas-saída*/ #include <math.h> /* inclui diretivas das funções matemáticas*/ int main( void) { int R; float Perm, Area, PI; PI = 3.14159; printf("Entre com o valor do raio:"); scanf("%d", &R); Perm = 2 * PI * R; Area = PI * pow(R,2); printf("O perímetro da circunferência de raio %d é %.2f \n",R ,Perm); printf("e a área e %.2f",Area); return 0; } Inclusão de biblioteca Inclusão de variáveis Impressão de mensagem Digitação de variável Entrada e Saída de Dados DATA 23/01/2022 Formatação DATA 23/01/2022 Sequencias de escape DATA 23/01/2022 Exemplo de programa DATA 23/01/2022 #include <stdio.h> int main ( void) { int a; printf ("Digite um numero: "); scanf ("%d", &a); printf ("\nO numero digitado foi %d\n", a); return (0); } Saída de dados Entrada de dados Exemplo de programa DATA 23/01/2022 /*programa exemplo do uso da função printf Imprime com 6 casas dec.*/ #include<stdio.h> int main( void) { int N=2; char Letra ='a'; float X = 2.5f; double Z=3.5 e-10; printf("O primeiro valor impresso é uma constante decimal %d",15); printf("O valor da primeira variável declarada e inicializada é %d",N); printf("O valor da segunda variável declarada e inicializada é %c",Letra); printf("O valor da primeira variável de ponto flutuante (prec. Simples) é %f",X); printf("O valor da segunda variável de ponto flutuante (prec. Dupla) é %f",Z); printf("O valor da segunda variável de ponto flutuante (prec. Dupla) é %.11f",Z); printf("O valor da expressão que soma 4 ao valor de N é %d", N+4); printf("As variáveis utilizadas (declaradas e inicializadas) foram N=%d, \Letra=%c, X=%f, Z=%.11f", N,Letra,X,Z); return 0; } Exemplo de programa DATA 23/01/2022 #include <stdio.h> /* inclui definições básicas p/ I/O */ #define CONST_EX 50 /* nomeação da constante 50 */ int main( void ) { int vi; /* declaração das variáveis */ char vc; float vx; double vy; vi = CONST_EX; /* atribuição de valores */ vc = 'm'; vx = -10.3f; vy = 0.023; printf("Exemplo de constante CONST_EX = %d \n",CONST_EX); printf("Exemplo de variável int vi = %i\n", vi); printf("Exemplo de variável char vc = %c \n", vc); printf("Exemplo de variável float vx = %f \n", vx); printf("Exemplo de variável double vy = %f \n", vy); /* ou %lf */ vi = 10; printf("variável int (decimal) vi = %d \n",vi); rintf("variável int (hexadecimal) vi = %x \n",vi); printf("variável int (octal) vi = %o \n",vi); } Exemplo de programa – Printf com inteiros DATA 23/01/2022 #include <stdio.h> main(void) { int vari = 2; float varx = 2.4f; printf("Exemplos : vari = %d, varx = %f \n", vari,varx); printf("A porcentagem da população é %d %% \n",85); } • saída do programa Exemplos : vari = 2, varx = 2.4 A porcentagem da população é 85 % Exemplo de programa – Printf com Ponto Flutuante DATA 23/01/2022 #include <stdio.h> int main( void) { printf(“%4.2f\n”,3456.783f); printf(“%3.2f\n”,3456.783f); printf(“%3.1f\n”,3456.783f); printf(“%10.3f\n”,3456.783f); } • saída do programa 3456 .78 3456 .78 3456 .8 3456 .783 Estrutura de Decisão Estruturas de Decisão em C DATA 23/01/2022 A linguagem C, tanto quanto qualquer outra linguagem, possui estrutura de decisão. Podem ser do tipo: • if • if–else • if–elseif-else • Vamos ver um exemplo da última, que é a mais comum. Estrutura de Decisão if – elseif - else DATA 23/01/2022 Estrutura de Decisão if – elseif - else DATA 23/01/2022 int result = 0; if (result == 0) printf(“O valor da variável é zero."); else if( result == 1) printf(" O valor da variável é um."); e assim por diante, criando uma estrutura de seleção(decisão) encadeada. Exemplo de IF DATA 23/01/2022 #include<conio.h> #include<stdio.h> int main(void) { int n1, n2, media=0; printf("Digite a Nota 1: "); scanf("%d", &n1); printf("Digite a Nota 2: "); scanf("%d", &n2); media = (n1 + n2)/2; if (media >= 7) { printf("Aluno Aprovado"); } else { printf("Aluno Reprovado"); } getch(); return(0); } As chaves não são obrigatórios quando apresentam apenas um comando Exemplo de IF – else - if DATA 23/01/2022 #include<conio.h> #include<stdio.h> int main(void) { int n1, n2, media=0; printf("Digite a Nota 1: "); scanf("%d", &n1); printf("Digite a Nota 2: "); scanf("%d", &n2); media = (n1 + n2)/2; if (media >= 7){ printf("Aluno Aprovado"); } else if (media < 4) { printf("Aluno Reprovado"); } else { printf("Na Final"); } getch(); return(0); } Exemplo de IF – else - if DATA 23/01/2022 #include<conio.h> #include<stdio.h> int main(void) { int n1, n2, media=0; printf("Digite a Nota 1: "); scanf("%d", &n1); printf("Digite a Nota 2: "); scanf("%d", &n2); media = (n1 + n2)/2; if (media >= 7){ printf("Aluno Aprovado"); } else if (media < 4) { printf("Aluno Reprovado"); } else { printf("Na Final"); } getch(); return(0); } Exemplo de Switch DATA 23/01/2022 •SWITCH é uma declaração de múltipla escolha, diferente do if que caso tenha uma lista de escolha a ser montada não fica elegante e dependendo a extensão do programa fica difícil a manutenção. Switch (variável) { Case constante1: Comandos; Break; Case constante2: Comandos; Break; Case constante3: Comandos; Break; default comandos; } DATA 23/01/2022 #include <iostream> using namespace std; int main(void) { char grade; cout << "Digite a sua grade (A to F): "; cin >> grade; switch (grade) { case 'A': cout << "Sua idade está entre 90 - 100"<< endl; break; case 'B': cout << "Sua idade está entre 80 - 89"<< endl; break; case 'C': cout << "Sua idade está entre 70 - 79"<< endl; break; case 'D': cout << "Sua idade está entre 60 - 69"<< endl; break; default: cout << "Sua idade é menor que 60" << endl; } return 0; } O objeto cout representa o stream de saída no C++. Este stream é uma espécie de sequencia (fluxo) de dados a serem impressos na tela. Para realizar a impressão, usa-se o "operador de inserção" que "insere" dados dentro do stream. O objeto cin representa o stream de entrada no C++. Ele realiza a leitura de um sequencia de dados, sem espaços e sem tabulações, vindas do teclado. Para coletar estes dados armazenados, usa-se o "operador de extração" que "extrai" dados do stream. DATA 23/01/2022 #include<conio.h> #include<stdio.h> int main() { int opcao, valor; printf("Converter: \n"); printf("1: Decimal para Hexadecimal.\n"); printf("2: Hexadecimal para Decimal.\n"); printf("\nInforme sua Opcao.\n"); scanf("%d", &opcao); switch(opcao) { case 1: printf("\nInforme o valor em decimal: "); scanf("%d", &valor); printf("%d em hexadecimal e: %x", valor, valor); break; case 2: printf("\nInforme o valor em hexadecimal: "); scanf("%x", &valor); printf("%x em decimal e: %d", valor, valor); break; default: printf("\nOpcoes invalidas. tente outra vez."); } getch(); } Exemplo de Switch Estrutura de Repetição DATA 23/01/2022 Estrutura de Repetição DATA 23/01/2022 Estrutura de Repetição DATA 23/01/2022 Estrutura de Repetição FOR Laço FOR Laço utilizado geralmente quando existe um termino definido, sempre vai tem um fim definido para esse laço implementado no inicio. Sintaxe For (variável de inicialização; condição; incremento) Variável de inicialização: comando de atribuição que inicia uma variável que faz o controle do laço. Condição: expressão usada que determinará o final do laço. Incremento: define a variável de controle e muda a cada passada no laço. DATA 23/01/2022 Estrutura de Repetição FOR DATA 23/01/2022 Estrutura de Repetição FOR /*programa que imprime o quadrado e o cubo de conjunto de 100 valores inteiros */ #include<math.h> #include<stdio.h> Int main ( void) { int C, I; for (C=1;C<=100;C=C+1) { /*aqui NÃO tem ponto-e-vírgula */ printf(“Entre com um valor inteiro: “); scanf(“%d”,&I); printf(“%d | %f | %f \n”, I, pow(I,2), pow(I,3) ); } } DATA 23/01/2022 Estrutura de Repetição FOR #include<conio.h> #include<stdio.h> int main() { int i; for (i=0; i<10; i++) { printf("%d\n",i); } getch(); } getch() espera que o usuário digite uma tecla e retorna este caractere. Você pode estar estranhando o fato de getch() retornar um inteiro, mas não há problema pois este inteiro é tal que quando igualado a um char a conversão é feita corretamente. A função getche() funciona exatamente como getch(). A diferença é que getche() gera um "echo" na tela antes de retornar a tecla. DATA 23/01/2022 Estrutura de Repetição FOR #include<conio.h> #include<stdio.h> int main( void) { int i,a,soma; soma=0; for (i=0; i<5; i++) { printf("Digite um numero:"); scanf("%d",&a); soma=soma+a; } printf("\n A soma é: %d",soma); getch(); } Se a tecla pressionada for um caractere especial estas funções retornam zero. Neste caso você deve usar as funções novamente para pegar o código da tecla estendida pressionada. DATA 23/01/2022 Estrutura de Repetição FOR #include<conio.h> #include<stdio.h> int main( void) { int i; float a,soma,media; soma=0; for (i=0; i<5; i++) { printf("Digite a altura da pessoa: %d\n",i+1); scanf("%f",&a); soma=soma+a; } printf("\n A soma é: %.2f",soma/5); getch(); } DATA 23/01/2022 Estrutura de repetição While DATA 23/01/2022 Estrutura de repetição While #include<conio.h> #include<stdio.h> int main() { int continua, contador;continua = 's'; contador = 0; while (continua == 's') // enquanto for igual a 's' { // comandos a serem repetidos printf("Repentindo....\n"); contador = contador + 1; printf("Tecle 's' se deseja continuar\n"); continua = getch(); } if (contador == 0) printf("O bloco NAO foi repetido."); else printf("O bloco foi repetido %d vezes", contador); } DATA 23/01/2022 Estrutura de repetição While #include<conio.h> #include<stdio.h> int main() { int i=0; do { i++; printf("%d\n", i); } while(i <= 10); getch(); } O getch() como também o getche() retorna a tecla digitada, muito usado em menus com switch.(Diferença entre os dois é que o getch() não mostra a tecla que digitou na tela, já o getche() mostra na tela qual foi a tecla digitada) DATA 23/01/2022 Estrutura de repetição While #include <stdio.h> main(){ char produto[21]; int i , qtdmaisde50, qtdmenosde50 ; float preco; qtdmaisde50 = 0; qtdmenosde50 = 0; for (int i =1; i <= 5; i++){ printf(" Informe um nome do produto e a seguir tecle ENTER\n"); scanf ( "%21[^\n]", produto); printf(" Agora informe o preco do produto a seguir tecle ENTER\n"); scanf ( "%f", &preco); if (preco > 50) { qtdmaisde50 = qtdmaisde50 + 1;} else { qtdmenosde50 = qtdmenosde50 +1; } getchar(); } printf(" a quantidade de produtos que custam mais de 50 reais : %d\n", qtdmaisde50); printf(" a quantidade de produtos que custam menos de 50 reais : %d\n", qtdmenosde50); } Sub Rotina DATA 23/01/2022 Funções e procedimentos Procedimento: é um conjunto de instruções que desviam o fluxo de sequência de um programa, podendo ou não receber parâmetros, porém, não retorna nenhum valor. Função: é um conjunto de instruções que desviam o fluxo de execução de um programa, podendo ou não receber parâmetros, porém, deve, obrigatoriamente, retornar um valor. DATA 23/01/2022 Funções e procedimentos DATA 23/01/2022 Chamada de Função e de procedimento Próximos Passos • Programas em C++ Adilson da Silva Obrigado adilson.silva@sereducacional.com Número do slide 1 Número do slide 2 Número do slide 3 Número do slide 4 Número do slide 5 Número do slide 6 Número do slide 7 Número do slide 8 Número do slide 9 Número do slide 10 Número do slide 11 Número do slide 12 Número do slide 13 Número do slide 14 Número do slide 15 Número do slide 16 Número do slide 17 Número do slide 18 Número do slide 19 Número do slide 20 Número do slide 21 Número do slide 22 Número do slide 23 Número do slide 24 Número do slide 25 Número do slide 26 Número do slide 27 Número do slide 28 Número do slide 29 Número do slide 30 Número do slide 31 Número do slide 32 Número do slide 33 Número do slide 34 Número do slide 35 Número do slide 36 Número do slide 37 Número do slide 38 Número do slide 39 Número do slide 40 Número do slide 41 Número do slide 42 Número do slide 43 Número do slide 44 Número do slide 45 Número do slide 46 Número do slide 47 Número do slide 48 Número do slide 49 Número do slide 50 Número do slide 51 Número do slide 52 Número do slide 53 Número do slide 54 Número do slide 55 Número do slide 56 Número do slide 57 Número do slide 58 Número do slide 59 Número do slide 60
Compartilhar