ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO PROF. FABIANO TAGUCHI http://fabianotaguchi.wordpress.com (66) 9953-7642 AULA 02 Revisão de conteúdos da aula passada Exercícios de revisão da aula 01 Estruturas condicionais simples 1
OPERADORES LÓGICOS OPERADOR EXEMPLO COMENTÁRIO && a>2 && b>3 Retorna verdadeiro se ambos os valores forem verdadeiros. A>1 b<2 Retorna verdadeiro se ou ambos os operadores forem verdadeiros.! X!var Retorna verdadeiro se o operador é falso e vice-versa. OPERADORES LÓGICOS TABELA E TABELA OU TABELA NÃO V e V -> V V e F -> F F e V -> F F e F -> F V ou V -> V V ou F -> V F ou V -> V F ou F -> F Não V -> F Não F -> V 2
EXEMPLO #include <stdio.h> int main(void) int verdadeiro, falso; verdadeiro = (15 < 20); falso = (15 == 20); printf( Verdadeiro= %d, Falso= %d, verdadeiro, falso); Saída: Verdadeiro = 1, Falso = 0 INCREMENTO E DECREMENTO x = 10; y = ++x; X passa a valer11 e Y recebe 11 x = 10; y = x++; Y recebe 10 e X passa a valer 11 x = 10; y = --x; X passa a valer 9 e Y recebe 9 x = 10; y = x--; Y recebe 10 e X passa a valor 9 3
PRECEDÊNCIA DE OPERADORES Maior precedência ( ) [ ]! ++ -- (cast) * / % + - ==!=? && Menor precedência = += -= *= /= etc. MODELADOR CAST A utilização deste modelador força que um valor, expressão ou variável seja do tipo especificado. int Num=10; float F; F = (float) Num/7; printf ( Resultado: %f",f); 4
COMENTÁRIOS Em determinados trechos de código pode ser necessário colocar um comentário explicativo. /* Início de um comentário Finalização de um comentário. */ // Comentário de uma única linha PONTO E VÍRGULA E CHAVES Toda instrução escrita em linguagem C deve terminar obrigatoriamente com um sinal de ponto e vírgula. Bem como, todos os blocos de função com mais de uma linha deve começar com e terminar com. 5
ENTRADA E SAÍDA DE DADOS SCANF Esta função tem como objetivo receber valores para armazenar em variáveis. Exemplos: scanf ( %d, &i); scanf ( %d %f, &j, &x); scanf ( %c, %c); scanf ( %s, nome); %d inteiro %f float %lf double %c char %s string 6
OPERADOR & #include <stdio.h> int main (void) int num; printf( Informe um número: ); scanf( %d,&num); printf ( valor = %d, endereço = %p, num, &num); Saída: valor = 2, endereço = 0023FF70 (o endereço varia conforme a memória da máquina) PRINTF Função que realiza comandos de escrita em um código. Exemplos: printf ( Digite algum valor: ); printf ( Qual seu nome: ) printf ( O número que digitou é: %d, numero); printf ( Seu nome é: %s, nome) 7
CARACTERES DE FORMATAÇÃO #include <stdio.h> int main(void) printf ( %3.1f \n, 3456.78); printf ( %.0f \n, 3456.78); Saída: 3456.8 3456 X.Yf X quantidade de caracteres antes do ponto decimal Y quantidade de caracteres depois do ponto decimal FAÇA UM PROGRAMA QUE IMPRIMA O NÚMERO 75.7632489 COM: 1 CASA DECIMAL 2 CASAS DECIMAIS 5 CASAS DECIMAIS 8
CARACTERES DE FORMATAÇÃO \n Nova linha \t Tabulação \ Aspas \\ Barra \a Emite um sinal sonoro %% Símbolo de % Escreva um código que imprima na primeira linha seu nome, na segunda linha sua idade e na terceira linha sua altura. 9
QUAL SERÃO AS SAÍDAS? printf( %s está a %d milhões de milhas do Sol, Vênus, 67); printf( Valor inteiro atribuído foi %d para o caractere %c e um float foi de %f, 99, a, 1.45) printf( Se quisesse imprimir uma string: %s, Minha string!); EXEMPLOS #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"); 10
#include <stdio.h> #include <stdlib.h> main() int i, j; float x; char c; char nome[30]; scanf("%d", &i); scanf("%d %f", &j, &x); scanf("%c", &c); scanf("%s", nome); printf("%d", i); printf("%d, %f", j, x); printf("%c", c); printf("%s", nome); system("pause"); #include <stdio.h> #include <stdlib.h> main() int n; int quantidade_valores; float x, y, somavalores; char sexo; char nome[40]; somavalores =1+1; printf("somavalores=%f", somavalores); system("pause"); 11
#include <stdio.h> #include <stdlib.h> main() int n; int quantidade_valores; float x, y, somavalores; char sexo; char nome[40]; x = 1; y = 2; somavalores = x + y; printf("alo mundo"); printf("somavalores=%f", somavalores); system("pause"); #include <stdio.h> #include <stdlib.h> main() double n1, n2, n3, media; printf("digite 3 notas: "); scanf ("%lf %lf %lf",&n1, &n2, &n3); media=(n1+n2+n3)/3; printf ("Media: %.2lf",media); system("pause"); 12
FUNÇÕES MATEMÁTICAS FUNÇÃO EXEMPLO COMENTÁRIO ceil ceil (x) Arredonda o número real para cima: ceil (3.2) é 4 cos cos (x) Cosseno de x (dado em radiano) exp exp (x) Elevado a potência de x fabs fabs (x) Valor absoluto de x floor floor (x) Arredonda o número real para baixo: floor (3.2) é 3 log log (x) Logaritmo natural de x log10 log10 (x) Logaritmo decimal de x pow pow (x, y) Calcula x elevado à potência de y sin sin (x) Seno de x (dado em radiano) sqrt sqrt (x) Raiz quadrada de x tan tan (x) Tangente de x (dado em radiano) IDENTIFICANDO A SOLUÇÃO 1 Entender o problema; 2 Retirar as entradas necessárias; 3 Definir as saídas que o problema deve oferecer; 4 Determinar o que deve ser feito para transformar as entradas em saídas; 5- Apresentar os resultados; 6 Realizar um teste de mesa. 13
BOAS PRÁTICAS Coloque sempre o enunciado do problema; Faça uso de comentários; Utilize espaços e linhas em branco para separação; Escolhe nomes de variáveis representativos; Use um comando por linha; Acostume-se em utilizar parênteses. Utilize identação adequada. EXERCÍCIO 01 Faça um algoritmo que pergunte ao usuário os seguintes dados: Altura; Peso; Idade; Se é fumante ou não. A seguir exiba na tela uma em cada linha as respostas do usuário. 14
EXERCÍCIO 02 Tendo como dados de entrada a altura e o sexo de uma pessoa, construa um programa que calcule seu peso ideal, utilizado a seguinte fórmula: Peso ideal = (72.7*altura) - 58 EXERCÍCIO 03 Construa um programa que tendo como entrada dois pontos quaisquer de um plano P1 (x1, y1) e Q1 (x2, y2), imprima a distância entre eles: Fórmula da distância = +( )² 15
EXERCÍCIO 04 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: Cada lata de tinta custa R$ 20,00 e contém 5 litros; Cada litro de tinta pinta 3 metros² Área do cilindro = 3.14* raio² + 2*3.14*raio*altura DIRETIVA DEFINE Esta diretiva tem como função definir um valor constate que não se altera durante a execução de algum código. Esta definição é feita antes da função main. 16
EXEMPLO #include <stdio.h> #define PI 3.1416 #define VERSAO "2.02" main () printf ("Programa versão %s", VERSAO); printf ("O numero PI vale: %f", PI); System( PAUSE ); STRINGS Uma string consiste em uma cadeia de caracteres. Uma string sempre termina com um caractere nulo (\0). char nome[7]; J O A O \0...... 17
LEITURA DE UMA STRING A função utilizado para leitura de uma string é a gets. main() char string[1000]; printf("digite o seu nome:"); gets(string); printf("voce digitou: %s", string); system("pause"); ACESSANDO ALGUMA LETRA DE STRING Uma string consiste em um vetor com várias posições, com isso é possível acessar qualquer posição de uma string e verificar a letra da referida posição. string[1] = a ; 18
main() char string[1000]; printf("digite o seu nome:"); gets(string); string[1]='a'; printf("você digitou: %s", string); system("pause"); O que é uma condição? 19
COMANDO IF É um comando que representa uma tomada de decisão do tipo se isto então aquilo. Esta estrutura condicional é chamada de estrutura condicional simples, pois trata apenas uma condição. EXEMPLO #include <stdio.h> #include <stdlib.h> main() int num; printf( Digite um número: ); scanf( %d,&num); if(num>=10) printf( O número é maior ou igual a 10. ); system( PAUSE ); 20
COMANDO IF...ELSE Este comanda avalia se uma condição é verdadeira ou falsa, chamada de estrutura condicional composta, esta estrutura é do tipo se isto então aquilo senão aquele outro. #include <stdio.h> #include <stdlib.h> main() int num; printf( Digite um número: ); scanf( %d,&num); if(num>=10) printf( O número é maior ou igual a 10. ); else printf( O número é menor que 10. ); system( PAUSE ); 21
EXERCÍCIOS 01 Solicite que o usuário informe dois números inteiros quaisquer, a partir disso, informe qual o menor numero digitado. 02 Em uma universidade a média bimestral é formada por duas notas, peça ao usuário o nome, as duas notas, e partir disso informe sua média e se ele está aprovado ou não. A média para aprovação nesta universidade é 6. EXERCÍCIOS 03 Peça para que o usuário informe um número, a partir deste número verifique se ele é par ou ímpar. 04 A média bimestral é formada por duas notas, peça ao usuário o nome, as duas notas, e partir disso informe sua média e se ele está aprovado ou não. A média para aprovação nesta universidade é 6. 22