Funções Básicas Luis Antonio Tavares luistavares.com

Preview:

Citation preview

Introdução à Linguagem C

Funções BásicasLuis Antonio Tavares

luistavares.com

Conceitos Ambiente de desenvolvimento Estrutura de um programa Tipos e variáveis Instruções básicas Operadores Condições Laços de repetição Funções

Tópicos

luistavares.com

Como escrevemos programasem Linguagem C?

Codificação Compilação Executável

luistavares.com

Como escrevemos programas?

Codificação Compilação Executável

#include <stdio.h>#include <conio.h>int main (void) {

printf("Ola Mundo");

getch( ); return 0;

}luistavares.com

Estrutura Inicial de Um Programa

#include <stdio.h>#include <conio.h>int main (void) {

getch( );

return 0;

}

Instruções

luistavares.com

Estrutura Inicial de Um Programa

#include <stdio.h> /* Inclusão de Biblioteca */#include <conio.h> /* Inclusão de Biblioteca */

int main (void) { /* Chave delimita o início do código */

getch( ); /* Função que mantém a tela aberta*/

return 0; /* Retorno informando sucesso */} /* Chave delimita o fim do código */

luistavares.com

printf() – escreve uma mensagem na tela.

scanf() – lê um valor do teclado.

Porém para o uso dessas função é necessário incluir as bibliotecas às quais as funções básicas pertencem:

#include <stdio.h> /* Contém a printf e a scanf */

#include <conio.h> /* Contém a getch */

Funções Básicas

luistavares.com

Primeiro Programa em C

#include <stdio.h>#include <conio.h>int main(void) {

printf(“Ola Mundo!");getch();return 0;

}

luistavares.com

Declarando Variáveis Inteiras

#include <stdio.h>#include <conio.h>

int main(void) {

int a; /* Declarando uma variável inteira */

return 0;}

luistavares.com

Variáveis Inteiras Em Um Programa

#include <stdio.h>#include <conio.h>

int main(void) {int a, q; /* Declarando variável inteira */printf("Informe um valor inteiro: ");scanf("%d", &a); /* Função Leia */q = a * a;printf(“Esse valor ao quadrado eh: %d", q);return 0;

}

luistavares.com

Comparativo com Pseudocódigo

printf("Informe um valor inteiro: ");ESCREVA (“Informe um valor inteiro: ”)

scanf("%d", &a); LEIA (a);

printf(“Esse valor ao quadrado eh: %d", q);ESCREVA (“Esse valor ao quadrado eh: ”, q);

luistavares.com

Declarando Variáveis Reais#include <stdio.h>#include <conio.h>

int main(void) {

float a; /* Declarando uma variável real */

return 0;}

luistavares.com

Variáveis Reais Em Um Programa#include <stdio.h>#include <conio.h>

int main(void) {float a, q; /* Declarando variável real */printf("Informe um valor real: ");scanf("%f", &a);q = a * a;printf(" Esse valor ao quadrado eh: %f", q);return 0;

}

luistavares.com

Comparativo com Pseudocódigo

printf("Informe um valor real: ");ESCREVA (“Informe um valor real: ”)

scanf("%f", &a); LEIA (a);

printf(“Esse valor ao quadrado eh: %f", q);ESCREVA (“Esse valor ao quadrado eh: ”, q);

luistavares.com

Exemplo da Soma de Dois Nos

#include <stdio.h>#include <conio.h>int main(void) {

int a, b, soma; printf("Informe o primeiro numero: ");scanf("%d", &a);printf("Informe o segundo numero: ");scanf("%d", &b);soma = a + b;printf("O salario novo eh: %d", soma);return 0;}

luistavares.com

Sem a Parte que Delimita o Programa

#include <stdio.h>#include <conio.h>int main(void) {

return 0;}

luistavares.com

Apenas o Corpo do Programaint a, b, soma; printf("Informe o primeiro numero: ");scanf("%d", &a);printf("Informe o segundo numero: ");scanf("%d", &b);soma = a + b;printf("O salario novo eh: %d", soma);

luistavares.com

Calcular a idade daqui a 15 anos.Calcular o quadrado de um número simples.

Implementar o problema do salário + abono em Linguagem C.

Implementar o problema do dólar em Linguagem C.

Exemplos que vamos implementar no Laboratório

luistavares.com

Introdução à Linguagem C

CondiçõesLuis Antonio Tavares

luistavares.com

Condições serão usadas sempre que precisarmos testar o valor de uma variável.

Desta forma podemos definir instruções que serão executadas caso um condição seja verdadeira e instruções alternativas, caso a condição não seja verdadeira.

Condições

luistavares.com

Fluxograma Maior Número

Início

Escreva o 1º

número:

A

Escreva o 2º

número:

B

A > B

B

A

Fim

Verdadeiro

Falso

luistavares.com

Algoritmo MAIOR_NUMEROVariaveis

A, B: REAIS;

Inicio ESCREVA ("Digite o primeiro numero: "); LEIA ( A ); ESCREVA ("Digite o segundo numero: "); LEIA ( B ); SE ( A > B ) ENTAO

ESCREVA (“O maior numero eh: ”, A);SENAO

ESCREVA (“O maior numero eh: ”, B);FIM_SE

Fim

luistavares.com

#include <conio.h>#include <stdio.h>int main (void){

float a, b;printf ("Informe o primeiro numero: ");

scanf ("%f", &a);

printf ("Informe o segundo numero: ");

scanf ("%f", &b);

if (a > b){

printf ("O maior numero eh: %f", a);}

else {

printf ("O maior numero eh: %f", b);}

getch( );

return 0;

}luistavares.com

Fluxograma Média

Início

Escreva o 1º

número:

A

Escreva o 2º

número:

B

MEDIA (A+B) / 2

MEDIA

MEDIA >= 60

Reprovado

Aprovado

Fim

Verdadeiro

Falso

luistavares.com

Pseudocódigo ExemploAlgoritmo PROGRAMA_EXEMPLOVariaveis

A, B, MEDIA: REAIS;

Inicio ESCREVA ("Digite a nota da primeira prova:"); LEIA ( A ); ESCREVA("Digite a nota da segunda prova:"); LEIA ( B ); MEDIA (A + B) / 2;ESCREVA (“A MEDIA EH: “, MEDIA);SE (MEDIA >= 60) ENTAO

ESCREVA (“APROVADO!”);SENAO

ESCREVA (“REPROVADO!”);FIM_SE

Fim

luistavares.com

#include <conio.h>#include <stdio.h>int main (void){

float a, b, media;printf ("Informe o primeiro numero: ");

scanf ("%f", &a);

printf ("Informe o segundo numero: ");

scanf ("%f", &b);

media = (a + b) / 2;if (media >= 60){

printf (“Aprovado");}

else {

printf (“Reprovado");}

getch( );

return 0;

}luistavares.com

Maior > Ex.: A > B Maior Igual >= Ex.: A >= B Menor < Ex.: A < B Menor Igual <= Ex.: A <= B Diferente != Ex.: A != B Igual == Ex.: A == B

Exemplo:if ( NUM == 20 ) {

printf(“O NUMERO INFORMADO EH O NUMERO 20!”);

}

Operadores Relacionais

luistavares.com

Operador E Ex.: A > 60 && B < 40

Operador OU Ex.: A > 60 || B < 40

Operador NÃO Ex.: ! (A > 60)

Operadores Lógicos

luistavares.com

Exemplo Operador E:if ( NUM > 20 && NUM < 30 ) {

printf (“O NUMERO EH MAIOR QUE 20 E MENOR QUE 30!”);

}

Exemplo Operador OU:if ( NUM > 20 || NUM < 30 ) {

printf (“O NUMERO EH MAIOR QUE 20 OU MENOR QUE 30!”);

}

Operadores Lógicos

luistavares.com

Algoritmo PROGRAMA_EXEMPLOVariaveis

A, B, MEDIA: REAIS;

Inicio ESCREVA ("Digite a nota da primeira prova:"); LEIA ( A ); ESCREVA("Digite a nota da segunda prova:"); LEIA ( B ); MEDIA (A + B) / 2;ESCREVA (“A MEDIA EH: “, MEDIA);SE ( MEDIA >= 60 ) ENTAO

ESCREVA (“Aprovado!”);SENAO SE ( MEDIA >= 30 ) ENTAO

ESCREVA (“Recuperação!”);SENAO

ESCREVA (“Reprovado!”);FIM_SE

Fimluistavares.com

#include <conio.h>#include <stdio.h>int main (void){

float a, b, media;printf ("Informe o primeiro numero: ");

scanf ("%f", &a);

printf ("Informe o segundo numero: ");

scanf ("%f", &b);

media = (a + b) / 2;printf (“A media eh: %f\n", media);

if (media >= 60){

printf ("Aprovado");}

else if (media >= 30) {

printf ("Recuperacao");}

else {

printf ("Reprovado");}

getch( );

return 0;

}luistavares.com

Introdução à Linguagem C

Laços de RepetiçãoLuis Antonio Tavares

luistavares.com

Os laços de repetição ou loops se encarregam de repetir determinado bloco de instruções enquanto uma condição for verdadeira.

Temos basicamente dois tipos de loops em Linguagem C: O for (para) e o while (enquanto).

Laços de Repetição

luistavares.com

O loop while se trata-se do loop mais simples.

Funcionamento: O bloco de código definido neste loop fica em execução enquanto uma determinada condição for verdadeira. Cada vez que o bloco é iniciado, a condição é novamente testada, quando não for mais verdadeira, o loop é encerrado.

Laço de Repetição WHILE

luistavares.com

Sintaxe Loop WHILE

while (condição) {

bloco de código;

}

luistavares.com

Loop ENQUANTO em pseudocódigoALGORITMO LOOP_ENQUANTOVARIAVEIS

CONT : INTEIRO;INICIO

CONT 1;ENQUANTO ( CONT < 5 ) FAÇA

ESCREVA (“Numero: ”, CONT);CONT CONT + 1;

FIM_ENQUANTOFIM

luistavares.com

Loop ENQUANTO em linguagem C#include <conio.h>#include <stdio.h>int main (void){

int cont = 1;while (cont < 5){

printf("Numero: %d\n", cont);

cont = cont + 1;}getch( );return 0;

}

luistavares.com

Exemplo Programa MédiaALGORITMO PROGRAMA_MEDIA_COM_LOOPVARIAVEIS

MEDIA, N1, N2: REAIS;NUM: INTEIRO;

INICIONUM 1;ENQUANTO ( NUM == 1 ) FAÇA

ESCREVA (“Informe a primeira nota: ”); LEIA ( N1 ); ESCREVA (“Informe a segunda nota: ”); LEIA ( N2 ); MEDIA ( N1 + N2 ) / 2; ESCREVA (“Sua media eh: ”, MEDIA); ESCREVA (“Digite 1 se deseja continuar no programa”); LEIA ( NUM );

FIM_ENQUANTOFIM

luistavares.com

#include <conio.h>#include <stdio.h>int main (void) {

float media, n1, n2;int num = 1;while (num == 1) {

printf ("Informe a primeira nota: ");scanf ("%f", &n1);printf ("Informe a segunda nota: ");scanf ("%f", &n2);media = ( n1 + n2 ) / 2;printf ("Sua media eh: %f\n", media);printf ("Digite 1 se deseja continuar no programa: ");scanf ("%d", &num);

}return 0;

}

luistavares.com

O loop for trabalha de uma forma um pouco diferente do loop while.

Funcionamento: No loop for, uma variável pode ser inicializada com um valor qualquer, e o bloco de código definido neste loop vai ser executado enquanto uma determinada condição for verdadeira. Neste loop também definidos uma operação de incremento de uma variável que será feita cada vez que o loop for executado.

Laço de Repetição FOR

luistavares.com

Sintaxe Loop FOR

for (inicialização; condição; incremento) {

bloco de código;}

Exemplo:for (cont=1; cont<=5; cont++) {

bloco de código;}

luistavares.com

Loop PARA em pseudocódigoALGORITMO LOOP_PARAVARIAVEIS

CONT : INTEIRO;INICIO

PARA CONT 1 ATÉ 5, PASSO 1, FAÇAESCREVA (“Numero: ”, CONT);

FIM_PARAFIM

A cada execução do loop dá-se o nome de iteração (iteração sem o N mesmo, não confunda com interação.)

luistavares.com

#include <conio.h>#include <stdio.h>int main (void){

int cont;for (cont=1; cont<=5; cont++){

printf (“Numero: %d”, cont);}

getch( );

return 0;

}

luistavares.com

Loop PARA em linguagem C

O loop do... while é uma derivação do loop while. A diferença é que com esse loop, o bloco de código é executado uma vez antes da condição ser verificada.

Laço de Repetição DO WHILE

luistavares.com

Sintaxe Loop DO WHILE

do {

bloco de código;

} while (condição);

luistavares.com

Loop FAÇA ENQUANTO pseudocódigo

ALGORITMO LOOP_FACA_ENQUANTOVARIAVEIS

CONT: INTEIRO;INICIO

CONT 0;FAÇA

ESCREVA (“Numero: ”, CONT);CONT CONT + 1;

ENQUANTO ( CONT < 5 )FIM

luistavares.com

Loop FAÇA ENQUANTO em C#include <conio.h>#include <stdio.h>int main (void){

int cont = 0;do{

printf("Numero: %d\n", cont);

cont = cont + 1;} while (cont < 5);getch( );return 0;

}

luistavares.com

Maior > Ex.: A > B Maior Igual >= Ex.: A >= B Menor < Ex.: A < B Menor Igual <= Ex.: A <= B Diferente != Ex.: A != B Igual == Ex.: A == B

Exemplo:while ( NUM < 20 ) {

printf(“O NUMERO INFORMADO EH MENOR QUE 20! ”);printf(“INFORME NOVAMENTE UM NUMERO: ”);scanf(“%d”, &NUM);

}

Operadores Relacionais

luistavares.com

Exemplo Operador E:while( NUM > 20 && NUM < 30 ) {

printf (“O NUMERO EH MAIOR QUE 20 E MENOR QUE 30! ”);

printf(“INFORME NOVAMENTE UM NUMERO: ”);scanf(“%d”, &NUM);

}

Exemplo Operador OU:while ( NUM > 20 || NUM < 30 ) {

printf (“O NUMERO EH MAIOR QUE 20 OU MENOR QUE 30! ”);

printf(“INFORME NOVAMENTE UM NUMERO: ”);scanf(“%d”, &NUM);

}

Operadores Lógicos

luistavares.com

Comando break Também é possível deixar o loop rodando em

uma condição que será sempre verdadeira e usar uma condição if com o comando break para encerrar o loop.

Veja o exemplo:

while (1) {printf(“Mensagem Qualquer");cont = cont + 1;if (cont == 5) {

break;}

}luistavares.com

luistavares.com

Exercícios

Introdução à Linguagem C

FunçõesLuis Antonio Tavares

luistavares.com

São utilizadas para dividir um código maior (mais complexo) em partes menores (mais simples).

Quando uma mesma tarefa é realizada várias vezes em um programa, não é necessário duplicar o código, apenas faz-se a chamada da função que contém o código da tarefa.

Este processo é conhecido como modularização.

Funções

luistavares.com

Uma função deve vir externa ao escopo do main e deve receber um nome;

É necessário informar o tipo de seu retorno (retorno é o dado devolvido pela função), por exemplo:

◦ int para retorno do tipo inteiro;◦float para retorno do tipo real;◦void para função sem retorno.

Como criar uma função em C

luistavares.com

Também é necessário informar os tipos de seus argumentos, quando houver;

O escopo de uma função é delimitado por chaves { }. Exemplo:

void oi( ) {printf ("Oi! \n");

}

Como criar uma função em C

luistavares.com

#include<conio.h>#include<stdio.h>int main( void ) {

/* Chamada de Função Sem Retorno */

oi( ); getch( );return 0;

}luistavares.com

Chamada de função

A palavra int antes do nome da função indica que a função irá retornar um valor inteiro.

int calcula_quadrado(int a) {int result;result = a * a;return result;

}

Função com Retorno em C

luistavares.com

O retorno acontece através do comando return.

int calcula_quadrado(int a) {int result;result = a * a;return result;

}

Função com Retorno em C

luistavares.com

Observe que esta função está recebendo um valor inteiro como argumento, que foi chamado de a.

int calcula_quadrado(int a) {int result;result = a * a;return result;

}

Passagem de Parâmetros

luistavares.com

#include<conio.h>#include<stdio.h>

int calcula_quadrado (int a) {int result;result = a * a;return result;

}

int main (void) {int num, r;printf ("Informe um valor: ");scanf ("%d", &num);r = calcula_quadrado (num);printf ("Quadrado: %d", r);getch ( );return 0;

}

Exemplo Complet

o

luistavares.com

A palavra float antes do nome da função indica que a função irá retornar um valor real;

A função seguinte está dividindo um parâmetro por outro e retornando o resultado.

float divide (float a, float b) {float result;result = a / b;return result;}

Retorno de tipo real em C

luistavares.com

int main(void) {float n1, n2, r;printf ("Informe o primeiro numero: ");scanf ("%f", &n1);printf ("Informe o segundo numero: ");scanf ("%f", &n2);r = divide (n1, n2);printf (“Divisao: %f", r);getch ( );return 0;

}

Chamada para a função

Chamada para a função

luistavares.com

luistavares.com

Exercícios

Recommended