Introduo Linguagem C Adaptado de slides das Profas

  • Slides: 53
Download presentation
Introdução à Linguagem C Adaptado de slides das Profas. Patrícia Jaques, Mônica Py, Deise

Introdução à Linguagem C Adaptado de slides das Profas. Patrícia Jaques, Mônica Py, Deise Saccol e Vania Bogorny e do Prf. Julio Furtado 1

INSTRUÇÃO: • Cada um dos passos, cada uma das ações a tomar (obedecendo a

INSTRUÇÃO: • Cada um dos passos, cada uma das ações a tomar (obedecendo a sequência lógica) para ir resolvendo o problema, ou para ir executando a tarefa; • Uma só instrução não resolve problemas.

EXEMPLO: para “fazer omelete” – Instruções: “quebrar ovos”, “bater ovos”, “pôr sal”, “ligar fogão”,

EXEMPLO: para “fazer omelete” – Instruções: “quebrar ovos”, “bater ovos”, “pôr sal”, “ligar fogão”, “pôr óleo na frigideira”, “pôr frigideira no fogo”, “fritar ovos batidos”, etc. . . – Quanto às instruções isoladas: • Só “quebrar ovos”, ou só “pôr óleo na frigideira”, não é suficiente para cumprir a tarefa “fazer omelete” – Quanto à sequência lógica: • Se executarmos “fritar ovos batidos” antes de “bater ovos”, ou pior, antes de “quebrar ovos”, não iremos cumprir a tarefa “fazer omelete”

ALGORITMO: • Sequência finita de passos, seguindo uma sequência lógica que levam à execução

ALGORITMO: • Sequência finita de passos, seguindo uma sequência lógica que levam à execução de uma tarefa; • Claro e preciso.

Exemplo de algoritmo Quando uma dona de casa prepara um bolo, segue uma receita,

Exemplo de algoritmo Quando uma dona de casa prepara um bolo, segue uma receita, que nada mais é do que um algoritmo em que cada instrução é um passo a ser seguido para que o prato fique pronto com sucesso: 1. Bata 4 claras em neve 2. Adicione 2 xícaras de açúcar 3. Adicione 2 colheres de farinha de trigo, 4 gemas, uma colher de fermento e duas colheres de chocolate 4. Bata por 3 minutos 5. Unte uma assadeira com margarina e farinha de trigo 6. Coloque o bolo para assar por 20 minutos 5

FASES para desenvolver o algoritmo: • Determinar o problema. • Dividir a solução nas

FASES para desenvolver o algoritmo: • Determinar o problema. • Dividir a solução nas três fases: ENTRADA PROCESSAMENTO SAÍDA – Exemplo: • Problema: calcular a média de dois números • Dados de entrada: os números, N 1, N 2 • Processamento: somar os dois números e dividir a N 1 + N 2 soma por 2 2 6 • Dados de saída: a média

Algoritmo: 1. Receber o primeiro número 2. Receber o segundo número 3. Somar todos

Algoritmo: 1. Receber o primeiro número 2. Receber o segundo número 3. Somar todos os números 4. Dividir a soma por 2 5. Mostrar o resultado da divisão 7

Algoritmos e Lógica de Programação • Formas de representação de algoritmos: – Descrição Narrativa;

Algoritmos e Lógica de Programação • Formas de representação de algoritmos: – Descrição Narrativa; – Fluxograma; – Pseudocódigo.

Algoritmos e Lógica de Programação o Descrição Narrativa Caso 01 – Lavar o cabelo:

Algoritmos e Lógica de Programação o Descrição Narrativa Caso 01 – Lavar o cabelo: 1. Molhar o cabelo; 2. Aplicar o xampú; 3. Massagear; 4. Enxaguar.

Algoritmos e Lógica de Programação o Descrição Narrativa Exercício: Caso 02 – Trocar uma

Algoritmos e Lógica de Programação o Descrição Narrativa Exercício: Caso 02 – Trocar uma lâmpada queimada. Caso 03 – Trocar o pneu furado de um carro.

Algoritmos e Lógica de Programação o Fluxograma Representação gráfica, onde formas geométricas diferentes implicam

Algoritmos e Lógica de Programação o Fluxograma Representação gráfica, onde formas geométricas diferentes implicam ações distintas

Algoritmos e Lógica de Programação o Fluxograma Principais Formas: = Início e Fim do

Algoritmos e Lógica de Programação o Fluxograma Principais Formas: = Início e Fim do Fluxograma = Fluxo de Dados = Operação de Entrada de Dados = Operação de Saída de Dados = Operação de Atribuição (Processamento) = Decisão

Algoritmos e Lógica de Programação o Fluxograma Exemplo: Início N 1, N 2 Média

Algoritmos e Lógica de Programação o Fluxograma Exemplo: Início N 1, N 2 Média (N 1+N 2)/2 Média Fim

Algoritmos e Lógica de Programação • Pseudocódigo ou Português Estruturado Exemplo: Algoritmo Soma Var

Algoritmos e Lógica de Programação • Pseudocódigo ou Português Estruturado Exemplo: Algoritmo Soma Var n 1, n 2, S : Inteiro Início Escreva (“Entre com o primeiro valor: ”) Leia (N 1) Escreva (“Entre com o segundo valor: ”) Leia (N 2) S <- N 1 + N 2 Escreva (“Soma =“, S) Fim.

Algoritmos e Lógica de Programação • Pseudocódigo ou Português Estruturado Comandos de Entrada e

Algoritmos e Lógica de Programação • Pseudocódigo ou Português Estruturado Comandos de Entrada e Saída de Dados: Entrada de Dados Ex : Leia (X); Leia (A, XPTO, Nota); Saída de Dados Ex : Escreva (Y); Escreva (“Bom Dia”, Nome);

Algoritmos e Lógica de Programação o Pseudocódigo ou Português Estruturado Representação de Algoritmo na

Algoritmos e Lógica de Programação o Pseudocódigo ou Português Estruturado Representação de Algoritmo na forma Estruturada : Algoritmo<nome_do_algoritmo>; Var <declaração_de_variáveis>; Inicio <corpo_do_algoritmo>; Fim. Onde : Programa: É uma forma que indica o início da definição de um algoritmo em forma de pseudocódigo. <nome_do_algoritmo> : É um nome simbólico dado ao algoritmo com a finalidade de distingui-lo dos demais. <declaração_de_variávei> : Consiste no campo de declaração das variáveis utilizadas no algoritmo. Início e Fim : Palavras que delimitam o começo e o término do conjunto de instruções do corpo do algoritmo.

Variável – Representa uma posição na memória, onde pode ser armazenado um dado; –

Variável – Representa uma posição na memória, onde pode ser armazenado um dado; – Possui um nome e um valor; – Durante a execução do algoritmo, pode ter seu valor alterado.

Exemplo: “Calcular a média de quatro números” – PSEUDOCÓDIGO: • • VARIÁVEIS: mais clareza

Exemplo: “Calcular a média de quatro números” – PSEUDOCÓDIGO: • • VARIÁVEIS: mais clareza no pseudocódigo Leia (N 1) Leia (N 2) MEDIA <- (N 1+N 2) / 2 Escreva (MEDIA) VARIÁVEL

Algoritmos e Lógica de Programação o Pseudocódigo ou Português Estruturado Uso de Variáveis -

Algoritmos e Lógica de Programação o Pseudocódigo ou Português Estruturado Uso de Variáveis - O primeiro caractere do nome de uma variável não poderá ser, em hipótese alguma, um número. Sempre deverá ser uma letra; - O nome de uma variável não poderá possuir espaços em branco; - Não poderá ser nome de uma variável uma palavra reservada; - Não poderão ser utilizados outros caracteres a não ser letras e números, com exceção do caractere underline “_”.

Atribuição • Atribui o valor da direita à variável da esquerda – MEDIA <-

Atribuição • Atribui o valor da direita à variável da esquerda – MEDIA <- (N 1+N 2) / 4 (Lê-se media recebe N 1+. . . ) – Neste caso, estamos atribuindo o resultado da fórmula à variável média; • Outros Exemplos: – a <- 3; – a <- x;

Tradução CÓDIGO FONTE TRADUTOR CÓDIGO OBJETO. . . LET SOMA = VAR 1 +

Tradução CÓDIGO FONTE TRADUTOR CÓDIGO OBJETO. . . LET SOMA = VAR 1 + TOTAL. . . 00010110111001011010. . . (linguagem de prog. ) (“executável”) • MONTADOR (assembler) – Tradutor para linguagens de 2 a geração. • COMPILADOR: – Traduz todo o programa de uma vez. • INTERPRETADOR: – Traduz o programa instrução por instrução. 21

Histórico da Linguagem C • Criada por Denis Ritchie, na década de 1970, para

Histórico da Linguagem C • Criada por Denis Ritchie, na década de 1970, para uso em um computador DEC PDP-11 em Unix • C++ é uma extensão da linguagem C • O sistema Unix é escrito em C e C++ 22

Estrutura básica de um programa C diretivas para o pré-processador declaração de variáveis globais

Estrutura básica de um programa C diretivas para o pré-processador declaração de variáveis globais main () { declaração de variáveis locais da função main comandos da função main } 23

Diretivas para o processador - Bibliotecas • Diretiva #include permite incluir uma biblioteca •

Diretivas para o processador - Bibliotecas • Diretiva #include permite incluir uma biblioteca • Bibliotecas contêm funções pré-definidas, utilizadas nos programas • Exemplos #include <stdio. h> Funções de entrada e saída #include <stdlib. h> Funções padrão #include <math. h> Funções matemáticas #include <string. h> Funções de texto 24

O ambiente Dev-C++ • O Dev-C++ é um ambiente de desenvolvimento de programas em

O ambiente Dev-C++ • O Dev-C++ é um ambiente de desenvolvimento de programas em C e C++ (editor, compilador, bibliotecas. . . ) • Pode ser baixado de http: //www. bloodshed. net/devcpp. html 25

Usando o Dev-C++ • Inicie o Dev-C++ pelo ícone ou pelo menu • Crie

Usando o Dev-C++ • Inicie o Dev-C++ pelo ícone ou pelo menu • Crie um novo arquivo, com o comando File, New Source File • Edite o programa da página seguinte 26

Usando o Dev-C++ (3) #include <stdio. h> #include <stdlib. h> main() { printf ("Alo

Usando o Dev-C++ (3) #include <stdio. h> #include <stdlib. h> main() { printf ("Alo mundo!"); system("PAUSE"); } 27

Usando o Dev-C++ (4) • Salve o programa com o nome exemplo. cpp •

Usando o Dev-C++ (4) • Salve o programa com o nome exemplo. cpp • Compile o programa com o comando Executar, Compilar ou com a tecla Ctrl-F 9 • Se houver algum erro de sintaxe, aparece uma ou mais mensagens no rodapé da janela. Neste caso, corrija o programa e repita. • Se não houver erros, execute o programa com o comando Executar, Executar ou com a tecla Ctrl-F 10 28

Dicas • Termine todas as linhas com ; • Sempre salve o programa antes

Dicas • Termine todas as linhas com ; • Sempre salve o programa antes de compilar • Sempre compile o programa antes de executar • Quando ocorrer um erro de compilação, dê um duplo clique sobre a mensagem de erro para destacar o comando errado no programa • Verifique também a linha anterior, que pode ser a responsável pelo erro, especialmente se faltar o ; • Use comentários, iniciados por // 29

Template (Exemplo 1) #include <stdio. h> #include <stdlib. h> main() { printf ("Alo mundo!");

Template (Exemplo 1) #include <stdio. h> #include <stdlib. h> main() { printf ("Alo mundo!"); system("PAUSE"); } 30

Declarações • Declaram as variáveis e seus tipos • Os nomes das variáveis devem

Declarações • Declaram as variáveis e seus tipos • Os nomes das variáveis devem conter apenas letras, dígitos e o símbolo _ • Os principais tipos são: int, float, double e char • Exemplos int n; int quantidade_valores; float x, y, soma. Valores; char sexo; char nome[40]; C diferencia letras maiúsculas de minúsculas! int n, N; n é diferente de N! 31

Algoritmo Na Linguagem C. . . Real: n 1, n 2, n 3, media

Algoritmo Na Linguagem C. . . Real: n 1, n 2, n 3, media #include <stdio. h> #include <stdlib. h> main() { double n 1, n 2, n 3, media; system("PAUSE"); } 32

Comando de atribuição • Atribui o valor da direita à variável da esquerda •

Comando de atribuição • Atribui o valor da direita à variável da esquerda • O valor pode ser: – uma constante, – uma variável ou – uma expressão • Exemplos x = 4; --> lemos x recebe 4 y = x + 2; y = y + 4; valor = 2. 5; sexo = 'F' 33

Entrada e Saída de Dados 34

Entrada e Saída de Dados 34

Entrada de Dados • Função scanf ("formatos", &var 1, &var 2, . . .

Entrada de Dados • Função scanf ("formatos", &var 1, &var 2, . . . ) Exemplos: int i, j; float x; char c; scanf("%d", &i); scanf("%d %f", &j, &x); scanf("%c", &c); scanf("%s", nome); %d %f %lf %c %s inteiro float double char palavra 35

Entrada de Dados (Exemplo 2) Algoritmo Real: n 1, n 2, n 3, media

Entrada de Dados (Exemplo 2) Algoritmo Real: n 1, n 2, n 3, media ler n 1 ler n 2 ler n 3 ler n 1, n 2, n 3 Na Linguagem C. . . #include <stdio. h> #include <stdlib. h> main() { double n 1, n 2, n 3, media; scanf ("%lf", &n 1); scanf ("%lf", &n 2); scanf ("%lf", &n 3); scanf ("%lf %lf", &n 1, &n 2, &n 3); system("PAUSE"); } 36

Operadores Matemáticos Operador Exemplo Comentário + x + y Soma x e y -

Operadores Matemáticos Operador Exemplo Comentário + x + y Soma x e y - x – y Subtrai y de x * y Multiplica x e y / x / y Divide x por y % x % y Resto da divisão de x por y ++ x++ Incrementa em 1 o valor de x -- x-- Decrementa em 1 o valor de x 37

Entrada de Dados (exemplo 3) Algoritmo Real: n 1, n 2, n 3, media

Entrada de Dados (exemplo 3) Algoritmo Real: n 1, n 2, n 3, media ler n 1, n 2, n 3 media=(n 1+n 2+n 3)/3 Na Linguagem C. . . #include <stdio. h> #include <stdlib. h> main() { double n 1, n 2, n 3, media; scanf ("%lf %lf", &n 1, &n 2, &n 3); media=(n 1+n 2+n 3)/3; system("PAUSE"); } 38

Saída de Dados • Função printf ("formatos", var 1, var 2, . . .

Saída de Dados • Função printf ("formatos", var 1, var 2, . . . ) Exemplos: int i, j; float x; char c; printf("%d", i); printf("%d, %f", j, x); printf("%c", c); printf("%s", nome); %d %f %lf %c %s inteiro float double char palavra 39

Saída de Dados (Exemplo 4) #include <stdio. h> #include <stdlib. h> main() { int

Saída de Dados (Exemplo 4) #include <stdio. h> #include <stdlib. h> main() { int i, j; float x; char c; char nome [10]; i = 1; j = 2; x = 3; printf("%d", i); printf("%d, %f", j, x); system("PAUSE"); } 40

Saída de Dados (Exemplo 5) #include <stdio. h> #include <stdlib. h> main() { //

Saída de Dados (Exemplo 5) #include <stdio. h> #include <stdlib. h> main() { // definicao de variaveis double n 1, n 2, n 3, media; // entrada de dados scanf ("%lf %lf", &n 1, &n 2, &n 3); // operacao media=(n 1+n 2+n 3)/3; // saida de dados printf("%f", n 1); printf("%f", n 2); printf("%f", n 3); printf("%f", media); system("PAUSE"); } 41

Saída de Dados (Exemplo 6) #include <stdio. h> #include <stdlib. h> main() { //

Saída de Dados (Exemplo 6) #include <stdio. h> #include <stdlib. h> main() { // definicao de variaveis int i, j; float x; char c; char nome[30]; //entrada de dados scanf("%d", &i); scanf("%d %f", &j, &x); scanf("%c", &c); scanf("%s", nome); // exibicao de dados printf("%d", i); printf("%d, %f", j, x); printf("%c", c); printf("%s", nome); system("PAUSE"); } 42

Exemplo 7 #include <stdio. h> #include <stdlib. h> main() { //declaracao de variaveis int

Exemplo 7 #include <stdio. h> #include <stdlib. h> main() { //declaracao de variaveis int n; int quantidade_valores; float x, y, soma. Valores; char sexo; char nome[40]; // operacao soma. Valores =1+1; //saida de dados printf("soma. Valores=%f", soma. Valores); system("PAUSE"); } 43

Exemplo 8 #include <stdio. h> #include <stdlib. h> main() { // definicao de vairiaveis

Exemplo 8 #include <stdio. h> #include <stdlib. h> main() { // definicao de vairiaveis int n; int quantidade_valores; float x, y, soma. Valores; char sexo; char nome[40]; x = 1; y = 2; //atribuicao soma. Valores = x + y; // mostra mensagem de texto na tela printf("alo mundo"); // mostra valor na tela printf("soma. Valores=%f", soma. Valores); system("PAUSE"); } 44

Entrada e Saída Exemplo 10 Exemplo 9 #include <stdio. h> #include <stdlib. h> main()

Entrada e Saída Exemplo 10 Exemplo 9 #include <stdio. h> #include <stdlib. h> main() { double n 1, n 2, n 3, media; scanf ("%lf %lf", &n 1, &n 2, &n 3); media=(n 1+n 2+n 3)/3; printf ("%lf", media); #include <stdio. h> #include <stdlib. h> main() { double n 1, n 2, n 3, media; printf("Digite 3 notas: "); scanf ("%lf %lf", &n 1, &n 2, &n 3); media=(n 1+n 2+n 3)/3; printf ("Media: %. 2 lf", media); system("PAUSE"); } } 45

Exemplo 11 1) Tendo como dados de entrada a altura e o sexo de

Exemplo 11 1) Tendo como dados de entrada a altura e o sexo de uma pessoa, construa um programa que calcule seu peso ideal, utilizando a seguinte fórmula: peso ideal = (72. 7*h) – 58 #include <stdio. h> #include <stdlib. h> #include <conio. h> main() { float altura, peso. Ideal; char sexo; printf ("n. Digite sua altura em metros: "); scanf ("%f", &altura); printf ("n. Digite seu sexo (F/M): "); sexo=getche(); peso. Ideal=(72. 7*altura)-58; printf ("n. O sexo digitado foi %c e o peso ideal desta pessoa eh %. 2 f quilosn", sexo, peso. Ideal); system("PAUSE"); } 46

Operadores de Atribuição Operador Exemplo Comentário = x = y Atribui o valor de

Operadores de Atribuição Operador Exemplo Comentário = x = y Atribui o valor de y a x += y Equivale a x = x + y -= x -= y Equivale a x = x – y *= x *= y Equivale a x = x * y /= x /= y Equivale a x = x / y %= x %= y Equivale a x = x % y 47

Funções Matemáticas Função Exemplo Comentário ceil(x) Arredonda o número real para cima; ceil(3. 2)

Funções Matemáticas Função Exemplo Comentário ceil(x) Arredonda o número real para cima; ceil(3. 2) é 4 cos(x) Cosseno de x (x em radianos) exp(x) e elevado à potencia x fabs(x) Valor absoluto de x floor(x) Arredonda o número deal para baixo; floor(3. 2) é 3 log(x) Logaritmo natural de x log 10(x) Logaritmo decimal de x pow(x, y) Calcula x elevado à potência y sin(x) Seno de x sqrt(x) Raiz quadrada de x tan(x) Tangente de x #include <math. h> 48

Exemplo 12 2) Construa um programa que tendo como entrada dois pontos quaisquer do

Exemplo 12 2) Construa um programa que tendo como entrada dois pontos quaisquer do plano P(x 1, y 1) e Q(x 2, y 2), imprima a distância entre eles. A fórmula da distância é: 49

Exercicio I 3) Construa um programa que calcule a quantidade de latas de tinta

Exercicio I 3) Construa um programa que calcule a quantidade de latas de tinta necessárias e o custo para pintar tanques cilíndricos de combustível, onde são fornecidos a altura e o raio desse cilindro. Sabendo que: - a lata de tinta custa R$20, 00 - cada lata contém 5 litros - cada litro de tinta pinta 3 metros quadrados. Sabendo que: Área do cilindro=3. 14*raio 2 + 2*3. 14*raio*altura e que raio e altura são dados de entrada. 50

Resposta do Exercício I #include <stdio. h> #include <stdlib. h> #include <math. h> main()

Resposta do Exercício I #include <stdio. h> #include <stdlib. h> #include <math. h> main() { float altura, raio, area. Cilindro, qtdade. Litros, qtdade. Latas, custo; printf ("n. Digite o valor da altura em metros: "); scanf ("%f", &altura); printf ("n. Digite o valor do raio em metros: "); scanf ("%f", &raio); area. Cilindro=3. 14*raio + 2*3. 14*raio*altura; printf ("n. A area do cilindro eh %. 2 f metros quadrados", area. Cilindro); qtdade. Litros=area. Cilindro/3; printf ("n. A qtidade de litros necessaria eh de %. 2 f ", qtdade. Litros); qtdade. Latas=qtdade. Litros/5; printf ("n. A qtidade de latas necessaria eh de %. 2 f ", qtdade. Latas); custo=qtdade. Latas*20; printf ("n. O valor total das tintas eh de R$ %. 2 f n", custo); system("PAUSE"); } 51

Operadores Relacionais Operador Exemplo Comentário == x == y O conteúdo de x é

Operadores Relacionais Operador Exemplo Comentário == x == y O conteúdo de x é igual ao de y != x != y O conteúdo de x é diferente do de y <= x <= y O conteúdo de x é menor ou igual ao de y >= x >= y O conteúdo de x é maior ou igual ao de y < x < y O conteúdo de x é menor que o de y > x > y O conteúdo de x é maior que o de y As expressões relacionais em C retornam : • 1 se verdadeiro e; • 0 se falso. 52

Exemplo de utilização da biblioteca math. h • • • Função. Descrição do comando

Exemplo de utilização da biblioteca math. h • • • Função. Descrição do comando floor( )arredonda para baixo ceil( )arredonda para cimas sqrt( )Calcula raiz quadrada pow(variável, expoente) potenciação (x¹¹¹=pow(x, 11111)) sin( )seno – em radianos (multiplica por Pi/180 para converter em graus) cos( )cosseno – em radianos (multiplica por 180/Pi para converter em graus) tan( )Tangente – em radianos (multiplica por 180/Pi para converter em graus) log( )logaritmo natural log 10( )logaritmo base 10 53