5- A Lógica da Programação Comandos If-else

Tamanho: px
Começar a partir da página:

Download "5- A Lógica da Programação Comandos If-else"

Transcrição

1 5. A Lógica da programação 5- A Lógica da Programação Comandos If- Unesp Campus de Guaratinguetá Curso de Programação Computadores Profa. Cassilda Ribeiro Neste tópico começaremos a ver em detalhes, a lógica que está por traz dos programas computacionais. Para tanto vamos, ao mesmo tempo, aprender a fazer algoritmos e a colocá-los em linguagem C. Exemplo : Dados os comprimentos dos lados de um triângulo (nas variáveis LADO e LADO2), fazer um algoritmo para determinar e imprimir o comprimento do terceiro lado (HIPOTENUSA). Suponha que todas as variáveis sejam inteiras. lado 5. Introdução hipotenusa? lado2 H = (L 2 +L 22 ) / Introdução Declarações Algoritmo: Pitágoras variáveis LADO, LADO2, Q, Q2: inteiros. HIPOTENUSA:real; Inicio. [Ler dados conhecidos] Leia (LADO, LADO2); 2. [Calcular os quadrados dos lados conhecidos] Q LADO 2; Q2 LADO2 2; 3. [Calcular o comprimento do terceiro lado] HIPOTENUSA SQRT (Q + Q2); 4. [Sair resultado] Escreva ( Lados =`, LADO, LADO2, HIPOTENUSA); Instruções 3 5. Introdução Algoritmo Algoritmo: Pitágoras Declarar variáveis; Inicio Leia (L, L2); Q L 2; Q2 L2 2; H SQRT (Q + Q2); Escreva (L,L2,H); Código C // Dados os 2 catetos de um triângulo, //este programa calcula a hipotenusa! #include <math.h> main() //Inicio float L, L2, H, Q,Q2; printf( Forneça L e L2: ); scanf( %f%f,&l,&l2); Q=pow(L,2); Q2=pow(L2,2); H = sqrt(q + Q2); printf( L=%f, L2=%f, H=%f \n,l,l2,h); system( pause ); // 4

2 5.2. Rastreando um Algoritmo 5.2. Rastreando um Algoritmo Depois de elaborado um algoritmo, como saber se ele faz o que se supõe que faça? Para se descobrir isto, deve-se rastrear o algoritmo, isto é, executá-lo manualmente, com dados numéricos, utilizando lápis e papel para registrar os valores tomados pelas variáveis a cada passo. L=3 L2=4 Algoritmo H=5 O exemplo 2 a seguir ilustra o rastreamento do algoritmo do exemplo. 5 4 Passo L L2 Q Q2 H Saída Rastreando um Algoritmo Exemplo 2: Rastrear Pitágoras Suponha que conheçamos os dois catetos de um triângulo retângulos cujas medidas são 3cm e 4cm. Então os dados de entrada são 3 e ??? ?? ? ,4,5 Algoritmo Algoritmo: Pitágoras Declarar variáveis; Inicio Leia (L, L2); Q L 2; Q2 L2 2; 2 H SQRT (Q + Q2); Escreva (L,L2,H); Rastreando um Algoritmo 5.2. Rastreando um Algoritmo Exemplo 3: Calcular Média Fazer um algorítmo que leia quatro notas (NOTA, NOTA2, NOTA3 e NOTA4 ) e calcula a nota média, armazena o resultado na variável MEDIA. O resultado final deve ser impresso com uma mensagem explicativa. Toda as variáveis são reais. Algoritmo Algoritmo Notas Variáveis N, N2, N3, N4, MEDIA; Inicio. [Ler as notas individuais] Escreva( digite as 4 notas ) Leia ( N, N2, N3, N4 ); 2. [Calcular a nota média] MEDIA ( N + N2 + N3 + N4 ) / 4.0; 3. [Sair resultados] Escreva ( Nota Final =`, MEDIA); Aqui está sendo dada uma ordem para que o computador leia os dados necessários para calcular a média. 7 Exemplo 3: Calcular Média Fazer um algorítmo que leia quatro notas (NOTA, NOTA2, NOTA3 e NOTA4 ) e calcula a nota média, armazena o resultado na variável MEDIA. O resultado final deve ser impresso com uma mensagem explicativa. Toda as variáveis são reais. Algoritmo Algoritmo Notas Variáveis N, N2, N3, N4, MEDIA; Inicio. [Ler as notas individuais] Escreva( digite as 4 notas ) Leia ( N, N2, N3, N4 ); 2. [Calcular a nota média] MEDIA ( N + N2 + N3 + N4 ) / 4.0; 3. [Sair resultados] Escreva ( Nota Final =`, MEDIA); Aqui está sendo dada uma ordem para que o computador escreva na tela o valor da média que ele calculou. 8

3 5.2. Rastreando um Algoritmo Exemplo 3: Código C include<stdlib.h> include<stdio.h> main() float n, n2, n3, n4,media; printf( Forneça as notas n, n2, n3 e n4: ); scanf( %f%f%f%f,&n,&n2,&n3,&n4); media = (n + n2 + n3 + n2)/4.0; 2 printf( Nota Final = %f \n,media); 3 system( pause ); Passo N N2 N3 N4 M Saída ?? ? Trabalhando com a Linguagem C Uma outra forma de escrever em Linguagem C o programa associado ao algoritmo que resolve o Exemplo 3 é: /* * * Programa do exemplo 3- Tópico 5 * * Cálculo da média final entre 4 notas * * */ main() float N, N2, N3, N4, MEDIA; printf("digite A NOTA "); scanf("%f",&n); Aqui está sendo dada uma ordem para que o computador escreva a frase DIGITE A NOTA Aqui está sendo dada uma ordem para que o computador guarde na memória a NOTA que foi digitada 9 continua na pg. seguinte Trabalhando com a Linguagem C 5.3. Trabalhando com a Linguagem C printf("nota=%f\n",nota); printf("\ndigite A NOTA2 "); scanf("%f",&n2); printf("nota2=%f\n",nota2); printf("\ndigite A NOTA3 "); scanf("%f",&n3); printf("nota3=%f\n,nota3); printf("\ndigite A NOTA4 "); scanf("%f",&n4); printf("nota4=%f\n",nota4); MEDIA = (N+N2+N3+N4)/4.0; printf("\n "); printf("nota FINAL = %f\n", MEDIA); system("pause"); Aqui está sendo dada uma ordem para que o computador escreva a frase NOTA=, seguido do valor da variável que está armazenado na memória. Aqui está sendo calculado o valor da MEDIA Aqui está sendo dada uma ordem para que o computador escreva a frase NOTA FINAL=, seguido do valor da MEDIA que foi calculada anteriormente. Ao se executar o programa do exemplo 3, aparece a seguinte tela: 2

4 5.3. Trabalhando com a Linguagem C Exemplo 4: Fazer um algoritmo que leia um valor em dólar e o converta para real. Algoritmo Conversão Variáveis: Qdolar, Qreal,taxa: real Inicio.[Ler a taxa e quantidade Qdolar] Leia (taxa, Qdolar) 2. [Converter dolar para real] Qreal taxa * Qdolar. 3. [Sair resultados] Escreva (Qdolar dolar =Qreal reais) O Exemplo 4 em Linguagem C torna-se: Trabalhando com a Linguagem C /*==================================== * Este eh o programa do exemplo 4- tópico 5 * *====================================*/ main() float taxa, Qdolar, Qreal; //ler dados Ordena ao computador que escreva na tela a frase em vermelho printf("digite o valor da taxa em reais\n"); scanf("%f",&taxa); printf("digite a quantidade de dolares que deseja trocar\n"); scanf("%f",&qdolar); //Converter dolar para real Qreal = taxa * Qdolar; // Sair resultados printf ("%.2f dolares = %.2f reais\n",qdolar,qreal); system("pause"); // Ordena ao computador que leia e armazene na memória o número digitado pelo usuário Trabalhando com a Linguagem C Exemplo 5: Fazer um algoritmo que leia uma quantidade de chuvas em polegadas e converta para milímetros. Todas as variáveis são reais. Todas as variáveis em questão são reais. Algoritmo Converte_Chuva Variáveis: POL, MILIM: real. Inicio. [Ler dados conhecidos] Escreva ( Digite o valor da chuva em polegadas ) Colocando o Exemplo 5 Leia ( POL ) em Linguagem C 2. [Converter polegadas em milímetros] MILIM 25.4 * POL 3. [Sair resultado] Escreva ( Quantidade de chuva em mm =`,MILIMETROS) Trabalhando com a Linguagem C /*====================================== * Este é o programa do exemplo 5 - tópico 5 * *======================================*/ # include <stdio.h> # include <stdlib.h> main() float POL,MILIM; printf("digite o valor da chuva em polegadas="); scanf("%f",&pol); printf("\n "); printf("chuva em Polegadas = %f\n", POL); MILIM = 25.4 * POL; printf ("\n"); printf("chuva em Milímetros = %f\n", MILIM); printf("\n "); system("pause"); Programa do Exemplo 5 6

5 5.3. Trabalhando com a Linguagem C 5.3. Trabalhando com a Linguagem C : Algoritmo do Exemplo 6 Programa do Exemplo 5 : Continuação Ao se executar o programa do exemplo 5, aparece a seguinte tela: Exemplo 6: Fazer um algoritmo que leia uma quantidade de itens comprados ( HAM, CHE, FRITAS, REFRI, MILK ), bem como seus custos ( C, C2, C3, C4, C5 ) e calcule a conta final. As variáveis relativas a itens comprados são inteiras e as variáveis relativas a custo são reais. 7 Algoritmo Lanchonete Variáveis: HAM, CHE, C, FRITAS, REFRI, MILK: inteiro CONTA, C, C2, C3, C4, C5, CUSTO CUSTO2 CUSTO3 CUSTO4, CUSTO5 : real. inicio.[ler dados de entrada] Leia ( HAM, C ) Leia ( CHE, C2 ) Leia (FRITAS, C3 ) Leia ( REFRI, C4 ) Leia ( MILK, C5 ) Trabalhando com a Linguagem C : Algoritmo do Exemplo Trabalhando com a Linguagem C : Programa do Exemplo 6 2. [Calcular o custo total de cada item] CUSTO HAM * C CUSTO2 CHE * C2 CUSTO3 FRITAS * C3 CUSTO4 REFRI * C4 CUSTO5 MILK * C5 3. [Calcular a conta final] CONTA CUSTO + CUSTO2 + CUSTO3 + CUSTO4 + CUSTO5 4. [Impressão de resultados] Escreva ( Hambúrguer (R$,C`)`,CUSTO) Escreva ( Chesburguer (R$,C2`)`,CUSTO2) Escreva ( Batatas fritas (R$,C3`)`,CUSTO3) Escreva ( Refrigerantes (R$,C4`)`,CUSTO4) Escreva ( Milkshake (R$,C5`)`,CUSTO5) Escreva ( Total`,CONTA) Saída Colocando o Exemplo 6 em Linguagem C 9 /* * Programa do exemplo 6 - Tópico 5 * * Cálculo da Conta de uma Lanchonete * * */ main() float C, C2, C3, C4,C5, CONTA; //Declara variáveis float CUSTO, CUSTO2, CUSTO3, CUSTO4,CUSTO5; int HAM, CHE, FRITAS, REFRI, MILK; /*Ler dados de entrada*/ printf("digite A quantidade de hamburgueres\n"); printf("consumida e o seu custo unitario "); scanf("%d%f",&ham,&c); printf("\n\n"); 20

6 Programa do Exemplo 6 : Continuação Programa do Exemplo 6 : Continuação printf("digite A quantidade de Chesburgueres\n"); printf("consumida e o seu custo unitario "); scanf("%d%f",&che,&c2); printf("\n\n"); printf("digite A quantidade de Fritas\n"); printf("consumida e o seu custo unitario "); scanf("%d%f",&fritas,&c3); printf("\n\n"); printf("digite A quantidade de Refrigerantes\n"); printf("consumida e o seu custo unitario "); scanf("%d%f",&refri,&c4); printf("\n\n"); 2 printf("digite A quantidade de Milkshake\n"); printf("consumida e o seu custo unitario "); scanf("%d%f",&milk,&c5); /*Calcular o custo de cada item*/ CUSTO = HAM * C; CUSTO2 = CHE * C2; CUSTO3 = FRITAS * C3; CUSTO4 = REFRI * C4; CUSTO5 = MILK * C5; /*Calcular a conta final*/ CONTA = CUSTO + CUSTO2 + CUSTO3 + CUSTO4 + CUSTO5; 22 Programa do Exemplo 6 : Continuação Programa do Exemplo 6 : Continuação /*Impressão de resultados*/ printf("===================================\n\n"); printf ("Hamburguer (%f R$) = %f\n",c,custo); printf ("Chesburguer (%f R$) = %f\n",c2,custo2); printf ("Batatas fritas(%f R$) = %f\n",c3,custo3); printf ("Refrigerantes (%f R$) = %f\n",c4,custo4); printf ("Milkshake (%f R$) = %f\n",c5,custo5); printf ("==================Total = %f\n\n",conta); system("pause"); Ao se executar o programa do exemplo 6, aparece a seguinte tela: 23 24

7 5.4 Seleção de Ações Alternativas Suponha que temos duas variáveis numéricas, A e B, cujos valores são diferentes, e desejamos imprimir a maior delas. Neste caso utilizamos uma construção chamada Se_Então_Senão 5.4 Seleção de Ações Alternativas Em Linguagem Algorítmica a construção Se_Então_Senão tem o seguinte formato: Se condição então alternativa verdadeira senão alternativa falsa SIM escreva (A) A > B? NÃO escreva (B) Exemplo: Se A > B então Escreva ( A ) senão Escreva ( B ) Seleção de Ações Alternativas Um conjunto especial de operadores relacionais é solicitado para expressar condições. São eles: Operador em Linguagem Algorítmica > < = Operador em Linguagem C > < == >= <=!= Significado maior do que menor do que igual a maior do que ou igual a menor do que ou igual a não igual ( diferente de ) Seleção de Ações Alternativas Exemplo 7: Fazer um algorítmo em que dadas as três notas individuais em três aspectos do ano escolar (Lab, Exame_inter, Exame_final) para um estudante chamado Nome. O algorítmo deve calcular a média final com pesos de 20%, 30% e 50%, respectivamente. O relatório de saída deve fornecer o nome do aluno, suas notas individuais,sua média final e uma mensagem caso o aluno esteja reprovado. A variável Média é real. Algoritmo Relatório Variáveis: Lab, Exame_inter, Exame_final, Média : reais Nome : cadeia de caractere Início. [Ler dados] Leia [Nome, Lab, Exame_inter, Exame_final] 2. [Calcular a média] Média 0.2 * Lab * Exame_inter * Exame_final 28

8 5.4 Seleção de Ações Alternativas Exemplo 7: Continuação [Imprimir resultados] Escreva ( Nome estudante:, Nome) Escreva ( Nota Laboratório:`, Lab) Escreva ( Exame Intermediário:`, Exame_inter) Escreva ( Exame Final`, Exame_final) Escreva ( Média Final:`, Média) 4. [Verificar se tem aluno reprovado] Se Media < 5.0 então Escreva ( Reprovado`) Seleção de Ações Alternativas Exemplo 8: Faça um algoritmo que leia dois valores, determine o maior deles e o imprima com uma mensagem de identificação. Assumir que todas as variáveis são inteiras. Algoritmo Mostre Variáveis: Valor, Valor2, Max : inteiras Início. [Ler os valores] Leia ( Valor, Valor2 ) 2. [Determinar o maior] Se Valor > Valor2 então Max Valor Escreva ( O Primeiro valor é maior`) senão Max Valor2 Escreva ( O Segundo Valor é maior`) 3. [Imprimir o maior valor] Escreva ( Maior Valor =`, Max) 4. [Terminar] Seleção de Ações Alternativas 5.4. Diagrama de blocos - Fluxograma 5.4. Diagrama de blocos - Fluxograma Como já foi dito anteriormente, antes de se fazer um programa, deve-se fazer um algoritmo de problema. Para tanto temos utilizado uma linguagem algorítmica que também chamamos de portugol. Uma outra maneira de se escrever algoritmos é através de fluxograma ou diagrama de bloco. No fluxograma, as ações a serem executadas são representadas de maneira gráfica. Embora a linguagem algorítmica seja mais utilizada, existem vários livros que utilizam o fluxograma para explicar partes do algoritmo, devido ao seu forte apelo visual A seguir mostramos rapidamente as ferramentas utilizadas para a Símbolo Inicio/ Descrição Delimita o início ou o final das instruções. Leitura de dados (através do teclado, pex) confecção de um fluxograma. Leitura Cond Resultados Operacoes Avaliação de uma condição. Apresentação de resultados. Atribuição ou operação de processamento. Fluxo de execução. Conexão entre partes do algoritmo.

9 5.4. Diagrama de blocos - Fluxograma Seleção de Ações Alternativas : Ses Encaixados Problema Maior Suponha duas variáveis numéricas, A e B, com valores diferentes, e deseja-se imprimir a maior delas. Algoritmo Maior Variaveis A, B; Inicio. Ler(A,B); 2. Se (A > B) entao imprimir A; Senao imprimir B; Inicio Ler A,B; Se A>B V F Escreva(A); Escreva(B); Final Seleção de Ações Alternativas : Ses Encaixados Em algumas aplicações, uma das alternativas de uma estrutura Se_Então_Senão pode envolver outras decisões Exemplo 9 : Faça um algoritmo que leia três números A, B e C e imprima o valor do maior. Assumir valores distintos e reais. Algorítmo Max_3 Variáveis A, B, C, Max : reais Início. [Ler dados] Leia (A, B, C) Seleção de Ações Alternativas : Ses Encaixados Exemplo 9: Continuação [Determinar o maior valor, comparando pares] Se A > B Então Se A > C então Max A ( A > B,A > C ) senão Max C ( C > A > B ) Senão Se B > C então Max B ( B > A, B > C ) senão Max C ( C > B > A ) 3. [Imprimir o maior valor] Escreva ( Maior valor =`, Max) 4. [Terminar] V V Se A > C F Inicio Ler A,B,C; Se A > B V A; C; B; Escreva(Max); Final F Se B > C F C; Seleção de Ações Alternativas : Ses Encaixados Cuidado com a paragrafação Ex: Se C então Se C2 então S senão S2 Em que condições S2 é executado? Isso não fica claro. onde: C e C2 significam condições e S e S2, comandos 36

10 5.4.2 Seleção de Ações Alternativas : Ses Encaixados Seleção de Ações Alternativas : Ses Encaixados Ex2: Se C então Se C2 então S senão S2 Se C então Se C2 então S senão S2 Exemplo 0: Uma empresa decidiu dar uma gratificação de Natal a seus funcionários. Esta gratificação é calculada com base no número de horas extras trabalhadas e o número de horas de falta. A fórmula para se calcular o prêmio é a seguinte: Extra 2 /3 * Faltas. O prêmio é distribuído segundo a tabela a seguir: Neste exemplo, o comando Se C2 só será executado se a condição C for Verdadeira. Se C for falsa, nenhum comando será Executado. Neste exemplo, o comando Se C2 só será executado se a condição C for verdadeira. Se ela for falsa, o comando S2 será executado Extra 2/3 * Faltas > 40 horas > 30 mas <= 40 horas > 20 mas <= 30 horas > 0 mas <= 20 horas <= 0 horas Prêmio (R$) Pede-se um algoritmo e um programa em C, para ler informações de funcionários e calcular o prêmio a ser dado Exemplo 0: continuação Algoritmo Bônus Variáveis: Extras, Faltas, Pagamentos : reais Nome : cadeia Início. [Ler informações de um funcionário] Leia (Nome, Extras, Faltas) 2. [Calcular o prêmio] Se Extras (2/3.0) * Faltas > 40 Então Pagamento 50 Senão Se Extras (2/3.0) * Faltas >30 Então Pagamento 40 Senão Se Extras (2/3.0) * Faltas >20 Então Pagamento 30 Senão Se Extras (2/3.0)*Faltas>0 Então Pagamento 20 Senão Pagamento 0 3. [Imprimir resultados] Escreva ( Prêmio para`, Nome,`=R$`, Pagamento) Se A > 40 F Se A > 30 F Se A > 20 F Se A > 0 F V V P 40; V P 30; V P 20; P 50; Exemplo 0: continuação Podemos melhorar este algorítmo, calculando o valor do teste (Extra (2/3.0) * Faltas) somente uma vez. Para isto vamos introduzir uma variável temporária (Valor_teste). 2. [Calcular o valor teste] Valor_teste Extras (2/3.0) * Faltas 2.2 [Calcular o prêmio] Se (Valor_teste > 40) Então Pagamento 50 Senão Se Valor_teste > 30 Então Pagamento 40 Senão Se Valor_teste > 20 Então Pagamento 30 Senão Se Valor_teste > 0 Então Pagamento 20 P 0; Senão Pagamento 0

11 5.4.3 Seleção de Ações Alternativas: O Comando if Em linguagem C a construção Se Então - Senão é feita através do: Comando if Seleção de Ações Alternativas: O Comando if OBS: Quando dentro do comando if, forem executados mais de um comando (bloco de comando) é necessário colocar chaves,, para marcar o inicio e o fim dos comandos a serem executados. # Sintaxe: if (expressão é verdadeira) execute comando ou bloco de comandos # Exemplo: if (contador > 9) contador = 0; Falso = 0 Verdadeiro 0 # Exemplo: Chave marcando o inicio da condição verdadeira Chave marcando o fim da condição verdadeira if (contador >9) contador = 0; soma = 32 Aqui tem duas ações sendo feitas dentro da condição verdadeira Seleção de Ações Alternativas: O Comando if Seleção de Ações Alternativas: O Comando Exemplo Fazer um programa em C que leia um número e imprima uma mensagem dizendo se ele é maior que 0, menor ou igual a 0. Observe a chave marcando o inicio do if main () /* Inicio do programa */ int num; printf ("Digite um numero: "); scanf ("%d",&num); if (num > 0) printf ("\n\n O numero digitado eh maior que 0"); if (num == 0) /* Inicio do if */ printf ("\n\n Voce acertou!\n"); printf ("O numero digitado e igual a 0."); /* fim do if*/ if (num < 0) printf ("\n\n O numero digitado eh menor que 0"); system("pause"); 43 O Comando pode ser considerado um complemento do comando if, cujos comandos serão executados SOMENTE SE a expressão, especificada após o comando if, for 0 (falsa). # Sintaxe: if (expressão é verdadeira) Falso = 0 Verdadeiro 0 execute comando ou bloco de comandos execute comando2 ou bloco2 de comandos 44

12 5.4.4 Seleção de Ações Alternativas: O Comando Seleção de Ações Alternativas: if- encaixados main ( ) int num; printf ("Digite um numero: "); scanf ("%d", &num); if (num == 0) //inicio então printf ("\n\n Voce acertou!\n"); printf ("O numero e igual a 0.\n"); //fim então //inicio senão printf ("\n\n Voce errou!\n"); printf ("O numero eh diferente de 0.\\nn"); //fim senão system("pause"); Exemplo 2 Refazer o programa em C do exemplo anterior, utilizando o comando 45 É possível aninhar construções do tipo if- em diversos níveis. if (cond) /* if */ if (cond2) /* if2 */ comando if2 ; /* 2 */ comando 2 ; /* */ if (cond3) /* if3 */ if (cond4) /* if4 */ comando if4 ; /* 4 */ comando 4 ; /* 3 */ comando 3 ; Exercícios resolvidos - Comando If Exercícios resolvidos - Comando If- Exercício : Colocar o Exemplo 7 em Linguagem C main() // declarar variáveis float lab,exame, exame_final, media; char nome[30]; //. [Ler dados] printf( "Digite o nome do aluno: " ); scanf("%s",&nome); printf("\n\n" ); printf("digite as notas de: lab, exame e exame_final, do aluno:%d\n", nome); scanf("%f%f%f",&lab,&exame,&exame_final); //2. [Calcular a média] // 3. [imprimir resultados] printf ("\nnome. estudante:%s\n",nome); printf("\n"); printf("nota Laboratorio: %f\n\n",lab); printf("exame: %f\n\n",exame); printf("exame Final: %f\n\n",exame_final); printf("media Final: %f\n\n",media); if(media < 5.0 ) printf("reprovado\n\n\n"); printf("aprovado\n\n"); system("pause"); // fim programa Continuação do Exercício media= 0.2*lab * exame + 0.5*exame_final; continua na página seguinte 47 48

13 Exercícios resolvidos - Comando If- Exercício 2: Colocar o Exemplo 9 em Linguagem C main( ) // declarar variáveis float A, B, C, max; //. [Ler dados] printf( "Digite tres numeros A, B, C\n" ); scanf("%f%f%f",&a,&b,&c); // 2. [Determinar o maior valor, comparando pares] if (A > B) if (A > C) max = A ; //( A > B, A > C ) printf( "\no maior valor eh o A\n" ); max = C ; // (A > B e C >A ) printf( "\no maior valor eh o C\n" ); Exemplo 9 : Faça um programa que leia três números A, B e C e imprima o valor do maior.assumir valores distintos e reais. continua na página Exercícios resolvidos - Comando If- if (B > C) // ( B > A, B > C ) Continuação do Exercício 2 max = B; printf( "\no maior valor eh o B\n" ); max = C; // ( C > B > A ) printf( "\no maior valor eh o C\n" ); // 3. [Imprimir o maior valor] printf ("\nmaior valor =%f\n\n", max); system("pause"); //4. do programa Exercícios resolvidos - Comando If Exercícios resolvidos - Comando If- main ( ) int a, b, c, maior, meio, menor ; // declaração de variáveis. // Leitura de dados printf(" Entre com tres numeros inteiros\n"); scanf("%d%d%d",&a,&b,&c); if ( a > b ) if ( a > c ) maior = a; if ( b > c ) meio = b; menor = c; meio = c; menor = b; Exercício 3: Refazer o programa do Exercício 2 para imprimir os 3 números na ordem crescente. maior = c; meio = a; menor = b; continua na próxima página 5 Continuação do Exercício 3 if ( a > c ) maior = b; meio = a; menor = c; menor = a; if ( b > c ) maior = b; meio = c; maior = c; meio = b; printf("em ordem crescente: %d %d %d\n\n", menor, meio, maior); system("pause"); //fim programa 52

14 Exercícios para Casa - Comando If- ) Colocar em Linguagem C os algoritmos dos exemplos 8, e 0. 2) Fazer um programa em C que leia 4 números (A, B, C, D) e encontre o maior deles. Imprima uma mensagem dizendo qual deles é o maior e o valor do maior. 3) Faça um programa em C que calcule o aumento de salário para o corrente ano. Se salário >000 o aumento é de 5%. Senão o aumento é de 7%. 4) Preparar um algoritmo e um programa em C para ler os comprimentos dos três lados de um triângulo (S, S 2, e S 3 ) e determinar que tipo de triângulo temos, com base nos seguintes casos. Sejam A o maior dos lados de S, S 2, e S 3 e B e C os outros dois lados. Então: Se A B + C nenhum triangulo é formado Se A 2 = B 2 + C 2 um triangulo retangulo é formado, Se A 2 > B 2 + C 2 um triangulo obtusangulo é formado Se A 2 < B 2 + C 2 um triangulo acutangulo é formado Exercícios para Casa - Comando If- 5) Faça um programa que leia dois valores, o primeiro servindo de indicador de operação e o segundo correspondendo ao raio de uma circunferência. Caso o primeiro valor lido seja igual a, calcular e imprimir a área desta circunferência. Se o valor lido for 2, calcular e imprimir o perímetro da circunferência. E se o valor lido for diferente destes dois valores; imprimir uma mensagem dizendo que o indicador de operação foi mal fornecido. 6) Fazer um programa que: dada a altura e peso de uma pessoa, calcule seu índice de massa corporal. Fórmula: peso dividido por altura ao quadrado. Faixas: <= 8,5 - abaixo do peso normal; > 8,5 e <= 25 - peso normal; > 25 e <=30 - peso acima do normal; acima de 30 - peso excessivo Exercícios para Casa - Comando If- Resolução Exercícios para Casa () 7) Faça um programa que leia dois valores, o primeiro servindo de indicador de operação e o segundo correspondendo ao raio de uma circunferência. Caso o primeiro valor lido seja igual a, calcular e imprimir a área desta circunferência. Se o valor lido for 2, calcular e imprimir o perímetro da circunferência. E se o valor lido for diferente destes dois valores; imprimir uma mensagem dizendo que o indicador de operação foi mal fornecido. 8)Fazer um programa que resolva uma equação de segundo grau, realizando consistências dos valores do discriminante e do coeficiente "a". Caso o discriminante seja negativo, deverá apenas ser impressa a mensagem: " Esta equação não possui raízes reais". Caso o coeficiente "a" seja igual à zero, deverá ser impressa a mensagem: " Esta não é uma equação de segundo grau" e deverá ser fornecido o valor da única raiz. Se o discriminante for maior ou igual a zero e o coeficiente "a" não for nulo, deverão ser impressas: "as raízes da equação: ax2 + bx + c = 0 são R = xxx e R2 = xxx" // Programa: Mostre o maior de 2 numeros main() int Valor, Valor2, Max; //. [Ler os valores] printf("digite dois numeros \n"); scanf("%d%d",&valor,&valor2 ); //2. [Determinar o maior] if (Valor > Valor2) Max = Valor; printf ("\no Primeiro valor eh maior\n"); Ex casa : Colocar o exemplo 8 em C continua na próxima página 56

15 Resolução Exercício para Casa Max = Valor2; printf ("\no Segundo Valor eh maior\n"); //3. [Imprimir o maior valor] printf("maior Valor =%d\n\n", Max); //4. [Terminar] system("pause"); 57 #include <math.h> main() int a, b, c; float delta, raiz, raiz2; printf("digite os coeficientes a, b, c da equacao\n"); scanf("%d%d%d",&a,&b,&c); if(a==0) printf(" esta equacao eh de o. grau\n"); raiz= -c/b; printf(" sua raiz eh: %f \n", raiz); delta=(pow(b,2)-4*a*c); if(delta >= 0) raiz=(b+sqrt(delta))/(2*a); raiz2=(b-sqrt(delta))/(2*a); printf("as raizes sao:r= %f,r2=%f \n",raiz,raiz2); printf("esta equacao nao possui raizes reais\n"); system("pause"); Resolução Exercício para Casa (8) Aplicação: O paradoxo da inovação Aplicação: O paradoxo da inovação Os dados do censo (que ocorre a cada 0 anos) de 880 dos EUA levaram quase 8 anos para serem processados. Temia-se que os dados do censo de 890 não estivessem processados em 900. Lei de Moore: O fundador da Intel, Gordon Moore, constatou que a capacidade de processamento dos computadores dobra a cada ano, enquanto os custos permanecem fixos. Herman Hollerith (estatístico): Foi encarregado pela Agência Estatística dos EUA de desenvolver uma técnica para acelerar o processamento dos dados do censo, levando apenas 3 anos. 59?! Problema: Imagine que uma tarefa deve ser processada e levará 8 anos e que não pode ser movida da máquina uma vez iniciada. De acordo com a Lei de Moore deve-se esperar a melhoria dos processadores ou deve-se começar hoje? Solução: O senso comum diz que é melhor começar agora, mas antes de por a mão na massa é bom olhar a Tabela dada a seguir: 60

16 Início 0º. ano º. ano 2º. ano Aplicação: O paradoxo da inovação Tempo de Desenvolvimento (anos) Tempo de Processamento (anos) Tempo Total (anos) Final 8º. ano 5º. ano 4º. ano 3º. ano 3 4 4º. ano 4º. ano 4 0,5 4,5 4º. ano Aplicação: O paradoxo da inovação Forma Geral: O paradoxo da inovação pode ser formulado de acordo com três parâmetros: tempo de desenvolvimento t, taxa de aperfeiçoamento a e tempo de processamento p. No caso anterior, os valores eram: p = 8 e a = 50% = 0.5. A fórmula para o caso geral será dada por: 8 y= t+ t 2 y = t + p (/ a ) t! Observação: É melhor começar no 2º. ou 3º. Ano, pois com isso pode-se terminar antes a tarefa. Esta análise também pode ser útil para dividir recursos entre produção e pesquisa. 6 Considerando-se t variável, a e p fixos, para encontrar o menor tempo y, pode-se fazer dy/dt = 0. Alternativa: Vale a pena esperar se p/(/a) > 62 Início 0º. ano º. ano 2º. ano Aplicação: O paradoxo da inovação No caso anterior: 8/(/0.5) = 4 > Tempo de Desenvolvimento (anos) Tempo de Processamento (anos) Tempo Total (anos) Final 8º. ano 5º. ano 4º. ano 3º. ano 3 4 4º. ano 4º. ano 4 0,5 4,5 4º. ano Aplicação: O paradoxo da inovação Exemplo 2 Algoritmo: Inovação variáveis: r,p,a: real; Inicio Escreva( Forneça a e p ) Leia (a, p); r (p/(/a)); Se (r >.0) Então Escreva( Espere ); Senão Escreva( Comece ); Código C // Programa: paradoxo da inovação. main() float a, p, r; printf( Forneça a e p: ); scanf( %f %f,&a,&p); r = p/(/a); if (r >.0) printf( Espere ); printf( Comece ); system( pause ); 64

17 5.4.8 Aplicação: Ano Bissexto Um problema simples: Ano Bissexto. Simples? Aplicação: Ano Bissexto Egito Antigo: 365 dias 4 anos = dia intercalar Calendário Alexandrino Roma Antiga: 365,25 dias 4 anos = ano bissexto Calendário Juliano Mas o ano solar dura: 365,24299 dias! Ou seja: Quantos dias demora a Terra para dar uma volta completa no Sol? , º Ano 2º Ano 3º Ano Aplicação: Ano Bissexto Ano Calendário 365 dias 2*365 dias 3*365 dias Ano Solar * * Aplicação: Ano Bissexto Em 582, Gregório XIII: Nova definição para ano bissexto Calendário Gregoriano 365, º Ano 4*365 dias Ano Bissexto! 4 * * Mais um dia no ano! Cada 4 anos + dia Cada 00 anos - dia Mas e quanto aos demais termos? 67 Cada 400 anos + dia 68

18 5.4.8 Aplicação: Ano Bissexto Aplicação: Ano Bissexto- Programa em C Exemplo 6- Ano Bissexto (a) Não divisível por 00 e divisível por 4. (b) Divisível por 00 e 400. (c) Os demais anos não são Bissextos. Em 582, Gregório XIII: Nova definição para ano bissexto Calendário Gregoriano Algoritmo Se resto(ano/00) é 0 então Se (ano/400) = 0 então bissexto; (b) Senão não_bissexto; (c) Senão Se (ano/4) = 0 então bissexto; (a) Senão não_bissexto; (c) OBSERVAÇÃO: Subtrair dia do calendário a cada 3300 anos 69 //Exemplo 3: Programa que calcula quando um ano é Bissexto # include <stdio.h> # include <stdlib.h> main ( ) int ano, resto; printf("forneca o ano:"); scanf("%d",&ano); if (ano%00 == 0) if (ano%400 == 0) printf("o Ano %d eh bissexto \n\n", ano); printf(" O Ano %d Nao eh bissexto \n\n", ano); if (ano%4 == 0) printf("o Ano %d eh bissexto \n\n", ano ); printf(" O Ano %d nao eh bissexto \n", ano); system("pause"); Seleção de Ações Alternativas: Condições Compostas Utilização de Condições Compostas Alguns problemas ficam mais simples se utilizarmos condições compostas ao invés de relações simples. As condições compostas podem ser do tipo e conjunção, ou disjunção e não negação. Seja a variável UM =. As expressões a seguir resultam em: Seleção de Ações Alternativas: Condições Compostas b) Exemplo de disjunção : UM < 2 ou UM < 0 verdadeiro falso verdadeiro c) Exemplo de negação : Não UM < 2 falso a) Exemplo de Conjunção : UM < 2 e UM < 0 verdadeiro falso falso 7 OBS: As condições compostas podem ser utilizadas tanto nos comandos Se como nos repita condicionais. 72

19 5.4.9 Seleção de Ações Alternativas: Condições Compostas Seleção de Ações Alternativas: Condições Compostas ) Suponha que I e J sejam variáveis inteiras com valores 6 e 2, respectivamente. Quais das seguintes condições são verdadeiras? a) 2 * J b) 2 * I < J c) I > 0 e I 0 d) I > 25 ou (I < 8 e J > 0) e) I < 4 ou J > 5 Verdadeiro Verdadeiro Verdadeiro Verdadeiro f) Não I > 6 Verdadeiro Verdadeiro 73 2) Assuma que A, B, C e D são variáveis e S, S 2, S 3 e S 4 são comandos ou alternativas. a) Usando condições compostas reescreva as instruções abaixo: Se A > B Então Se B C Senão S 4 então Se C D senão S 3 então S senão S Seleção de Ações Alternativas: Condições Compostas Seleção de Ações Alternativas: Condições Compostas Solução : Se (A > B e B C) Então Se C D então S senão S 2 Senão Se (A > B e B > C) Então S 3 Se (A B) Então S 4 Solução 2: Se (A > B e B C ) e (C D) então S Se (A > B e B C ) e (C = D) então S 2 Se (A > B) e (B > C) então S 3 Se (A B) então S 4 75 b) Reescrever a instrução abaixo, como uma estrutura Se utilizando somente condições simples. Se (A < B e C D) e (B > D ou B = D) então S Solução : Se A < B Então Se C D então Se B D então S 76

20 5.4.9 Seleção de Ações Alternativas: Condições Compostas Operadores Lógicos em C A Falso Verdade Falso Verdade B Falso Falso Verdade Verdade Operador Conjunção Significado && Conjunção lógica ( and ). Disjunção lógica ( or ).! Negação lógica ( not ). A&&B Falso Falso Falso Verdade A!A Verdade Falso Negação Falso Verdade A Falso Verdade Falso Verdade Conjunção B Falso Falso Verdade Verdade A B Falso Verdade Verdade Verdade Seleção de Ações Alternativas: Condições Compostas Exemplo4: Refazer o programa do Ano Bissexto usando Condições Compostas # include <stdio.h> # include <stdlib.h> main ( ) int ano, resto; printf("forneca o ano:"); scanf("%d",&ano); if ((ano%00 == 0) && (ano%400 == 0)) printf("o Ano %d eh bissexto \n\n", ano); if ((ano%4 == 0) && (ano%00!= 0)) printf("o Ano %d eh bissexto \n\n", ano ); printf(" O Ano %d nao eh bissexto \n", ano); system("pause"); Seleção de Ações Alternativas: Condições Compostas Seleção de Ações Alternativas: Condições Compostas Exemplo5: Usando condições compostas, fazer um algoritmo em um programa em C que leia três números, A, B e C e imprima o maior deles. Assuma que os valores são diferentes. Algorítmo Max_3 Variáveis A, B, C, Max : real Início. [Ler dados] Leia ( A, B, C ) 2. [Determinar o maior valor] Se (A > B e A > C) então Max A Se (B > A e B > C) então Max B Se (C > A e C > B) então Max C 3. [Imprimir maior valor] Escreva ( Maior valor =`, Max ) 4. [Terminar] 79 Programa em C main() //Inicio float A, B, C, Max; //. [Ler dados] printf("digite tres numero diferentes\n"); scanf("%f%f%f",&a,&b,&c ); //2. [Determinar o maior valor] if (A > B && A > C) Max = A; if (B > A && B > C) Max = B; if (C > A && C > B) Max = C; //3. [Imprimir maior valor] printf("maior valor =%3.f\n\n", Max ) system("pause"); 80

21 5.4.9 Seleção de Ações Alternativas: Condições Compostas Seleção de Ações Alternativas: Condições Compostas Exemplo6: Fazer um algoritmo e um programa em C, utilizando condições compostas, que leia três números e imprima o maior e menor deles. Assume-se que os valores são diferentes. Algorítmo Max_Min_3 Variáveis A, B, C, Max, Min : real Início. [Ler dados] Leia ( A, B, C ) 2. [Determinar o maior e menor valor] Se (A > B e A > C) e (B < C) então Max A Min B Se (A > B e A > C) e (C < B) então Max A Min C Se (B > A e B > C) e (A > C) então Max B Min C Se (B > A e B > C) e (A < C) então Max B Min A Se (C > A e C > B) e (B > A) então Max C Min A Se (C > A e C > B) e (B < A) então Max C Min B 3. [Imprimir o maior e o menor valor] Escreva ( Maior valor =`, Max ) Escreva ( Menor valor =`, Min ) 4. [Terminar] 8 Programa em C main() float A,B, C,Max, Min; //. [Ler dados] printf("digite tres numeros diferentes\n" ); scanf("%f%f%f",&a,&b,&c); //2. [Determinar o maior e menor valor] if(a > B && A > C && B > C) Max = A; Min = C; if(a > B && A > C && B < C) Max = A; Min = B; if(b > A && B > C && A > C) Max = B; Min =C; continua na próxima pg Seleção de Ações Alternativas: Condições Compostas Seleção de Ações Alternativas: Comando Switch if(b > A && B > C && A < C) continuação Max= B; Min = A; if(c > A && C > B && B >A) Max =C; Min= A; if (C > A && C > B && B < A) Max = C; Min = B; //3. [Imprimir o maior e o menor valor] printf("maior valor =%4.f\n\n",Max); printf("menor valor =%4.f\n\n", Min); system( "PAUSE"); 83 O Comando Switch Quando for necessário escolher uma dentre várias opções, ao invés de aninhar construções do tipo if- em diversos níveis, pode ser preferível utilizar o comando Switch. A sintaxe do switch é dada por: switch (expressão) case (constante ): intruções ; break; case (constante 2): intruções 2; break;... case (constante n): intruções n; break; default: instruções; 84

22 5.4.0 Seleção de Ações Alternativas: Comando Switch Seleção de Ações Alternativas: Comando Switch A palavra expressão indica qualquer avaliação cujo resultado seja um valor numérico dos tipos char, int ou long. O switch compara o resultado da expressão com o valor de cada constante que segue a cada um dos case. Se o valor não for igual a nenhuma das constantes apresentadas pelos case, então, são executadas as instruções que seguem o default. A utilização do comando default é opcional. Cada case do switch só pode avaliar uma única constante do tipo char, int ou long Observação importante: Após um comando case ser selecionado, se não existir o break, todos os cases subseqüentes e suas instruções Exemplo 7: Estado Civil Fazer um programa que leia um caractere ch indicando o estado civil e imprima uma mensagem de acordo com a correspondência: Se (ch = C) Escreva( Casado ); Se (ch = S) Escreva( Solteiro ); Se (ch = D) Escreva( Divorciado ); Se (ch = V) Escreva( Viuvo ); Default Escreva( Estado Incorreto ); Não esquecer o break! Programa: Estado Civil main ( ) char ch; printf ( Qual estado civil: "); scanf ("%c", &ch); switch (ch) case C : printf ( Casado \n ); break; case S : printf ( Solteiro \n ); break; case D : printf ( Divorcio \n ); break; case V : printf ( Viuvo \n ); break; default: printf( Est. Inc. ); break; //fim switch system("pause"); serão executados Seleção de Ações Alternativas: Comando Switch Seleção de Ações Alternativas: Comando Switch Programa: Estado Civil main ( ) char ch; printf ( Qual estado civil: "); scanf ("%c", &ch); switch (ch) case C : printf ( Casado \n ); case S : printf ( Solteiro \n ); case D : printf ( Divorcio \n ); case V : printf ( Viuvo \n ); default: printf( Est. Inc. ); //fim switch system("pause");! Sem o break; todos os case abaixo do case selecionado serão executados. Resultado da Execução Qual estado civil: C Casado Solteiro Divorcio Viuvo Pressione uma tecla para continuar 87 OBS: o comando break interrompe a execução do switch, e continua a execução do programa na instrução seguinte ao switch Ex. ) Escreva um programa que pede para o usuário entrar um número correspondente a um dia da semana e que então apresente na tela o nome do dia, utilizando o comando switch. 88

23 5.4. Exercícios Seleção de Ações Alternativas 5.4. Exercícios Seleção de Ações Alternativas // programa exemplo switch main () int dia; char ch; printf("\tdigite o dia da semana:\n "); printf("\t==> para segunda feira\n"); printf("\t2==> para terca feira\n"); printf("\t3==> para quarta feira\n"); printf("\t4==> para quinta feira\n"); printf("\t5==> para sexta feira\n"); printf("\t6==> para sabado\n"); printf("\t7==> para domingo\n"); switch (dia) case : printf (" O dia escolhido eh Segunda Feira\n");break; case 2: printf (" O dia escolhido eh Terca Feira\n");break; case 3: printf (" O dia escolhido eh Quarta Feira\n"); break; case 4: printf (" O dia escolhido eh Quinta Feira\n"); break; case 5: printf (" O dia escolhido eh Sexta Feira\n");break; case 6: printf (" O dia escolhido eh Sabado\n");break; case 7: printf (" O dia escolhido eh Domingo\n");break; default: printf(" Dia Inexistente\n"); //fim switch system("pause"); Ex - Continuação scanf ("%d",&dia); Exercícios sobre Seleção de Ações Alternativas 5.4. Exercícios sobre Seleção de Ações Alternativas Ex. 2) Dadas as seguintes informações de um funcionário: Nome, Numero funcional, idade, cargo e o seu salário bruto e considerando que: a) O salário bruto teve um reajuste de 38%. b) O funcionário receberá uma gratificação de 20% do salário bruto. c) O Salário liquido total é descontado em 5% Faça um programa para: Imprimir Nome, Numero funcional, idade e cargo. Imprimir o salário bruto. Imprimir o salário líquido. 9 Solução Ex. 2 main() int num_func, idade; float Sal_Bruto, Reajuste,Sal_liq,GRAT,Desconto; char nome[30], cargo[30]; printf("digite o nome do funcionario\n"); gets(nome); printf("digite o cargo do funcionario\n"); gets(cargo); printf("digite o numero funcional\n"); scanf("%d",&num_func); printf("digite o valor do salario bruto %s\n",nome); scanf("%f",&sal_bruto); 92

24 5.4. Exercícios sobre Seleção de Ações Alternativas 5.4. Exercícios sobre Seleção de Ações Alternativas Solução Ex. 2 - Continuação Reajuste = Sal_Bruto*0.38; GRAT = Sal_Bruto * 0.20; Sal_Bruto = Sal_Bruto+GRAT+Reajuste; Desconto = Sal_Bruto*0.5; Sal_liq = Sal_Bruto - Desconto; printf("\n\n"); printf("nome:%s cargo:%s No. Funcional:%d\n", nome, cargo,num_func); printf("===================================================\n"); printf("salario Bruto \t%.2f\n",sal_bruto); printf("reajuste \t%.2f\n",reajuste); printf("gratificacao \t%.2f\n",grat); printf("desconto \t%.2f\n",desconto); printf("salario Liquido \t%.2f\n",sal_liq); printf("====================================================\n"); system("pause"); Exercícios sobre Seleção de Ações Alternativas 3) O salário liquido de um professor da rede pública é calculado da seguinte maneira: Os vencimentos recebidos são: Salário Base inicial (SBI), Gratificação de representação(grat), Qüinqüênio (QUIN) e Sexta parte (SEXT_P). A gratificação de representação (GRAT) é paga na sua totalidade para quem está exercendo um cargo de chefia. Se a pessoa não está exercendo o cargo de chefia, mas já exerceu, ela recebe 20% do valor total da gratificação para cada dois ano exercido, assim se ela exerceu o cargo por 4 anos, ela recebe 20% do valor total da gratificação. A cada 5 anos a pessoa recebe 5% de aumenta relativo ao qüinqüênio (QUIN), assim quem está trabalhando a 7 anos recebe 5% de aumento relativo a 3 qüinqüênios. Depois de 20 anos de serviço a pessoa recebe mais a sexta parte do salário, calculado do seguinte modo: SEXT_P= (SBI+QUIN+GR)/ Exercícios sobre Seleção de Ações Alternativas Os descontos efetuados são IAMSP, Previdência e Imposto de renda. O desconto relativo ao IAMSP é de 2% e o da previdência é de %. Isto é feito sobre o total de vencimentos (SBT),onde: SBT=SBI+GRAT+SEXT_P+QUIN. O desconto do IR é feito sobre o SBT-IAMSP-PREV-50.69* numero de dependentes., de acordo com a tabela abaixo: Base de Cálculo em R$ Até De à De à De 2995,70 à Acima de Alíquota % Parcela a deduzir do imposto em R$

25 5.4. Exercícios sobre Seleção de Ações Alternativas Isto é, verificar em qual faixa o VALOR=(SBT-IAMSP-PREV-50.69* N_dep) se encaixa. Por exemplo, se VALOR >= à reais, o imposto a ser pago será: IR = (VALOR*0.275) O salário liquido final será: SL=SBT-IAMSP-PREV Fazer um programa em C que leia o nome do professor, seu cargo, seu salário base inicial, o número de seus dependentes, o tempo de serviço em anos, se está ou não exercendo cargo de chefia ou se já exerceu e por quanto tempo e a seguir calcule e imprima o seu salário bruto, cada um dos descontos efetuados, o total de descontos e por fim o salário liquido Exercícios sobre Seleção de Ações Alternativas Para fazer esse programa é necessário começar a pensar em quais variáveis precisam ser criadas. São necessárias as seguintes variáveis: SBI para armazenar o valor do salário inicial GRAT para armazenar o valor da gratificação relativo a cargo de chefia. QUIN para armazenar o valor do acréscimo salarial relativo ao tempo de serviço SBT para armazenar o valor do salário bruto total. Lembre-se que SBL=(SBI+GRAT+QUIN+SEXT_P) SL para armazenar o valor do salário Liquido SEXT_P para armazenar o valor do acréscimo salarial relativo a sexta parte por 20 anos de serviço IAMSP para armazenar o desconto relativo ao iamsp que é de 2% de (SBI+GRAT) PREV para armazenar o desconto relativo a previdencia que é de % de (SBI+GRAT) Exercícios sobre Seleção de Ações Alternativas IR para armazenar o valor do imposto de renda a ser pago. SL para armazenar o valor do salário liquido que é obtido pelo SBT-IAMSP-PREV-IR. Todas essas variáveis devem ser do tipo float porque elas representam dinheiro. Para se calcular o valor da gratificação GRAT será necessário criar as seguintes variáveis: chefe, nchefe, perc_grat. A variável chefe vai ser lida e seu valor será zero se o funcionário não está exercendo atualmente um cargo de chefia ou caso contrário. Se a pessoa estiver exercendo o cargo de chefia, GRAT = Se a pessoa não está exercendo, mas já exerceu cargo de chefia, ela receberá 20% de 046. R$, a cada 2 anos que esteve como chefe, e esta porcentagem é armazenada em perc_grat. Então essa porcentagem é calculada da seguinte maneira: perc_grat= 20*(nchefe/2), onde nchefe é o numero de anos que a pessoa esteve como chefe Exercícios sobre Seleção de Ações Alternativas Observe que nchefe é uma variável do tipo inteira que está sendo dividida pelo numero inteiro 2. O resultado dessa divisão é um numero inteiro. Assim, se a pessoa esteve como chefe por 3 anos, a divisão de nchefe/2 será, porque divisão de inteiro por inteiro resulta na parte inteira da divisão. Neste caso a variável perc_grat será: perc_grat= 20*(nchefe/2) = 20*(3/2) = 20 E a gratificação será de GRAT=(046.*20)/00.0; Para se calcular o valor do aumento relativo aos qüinqüênios (QUIN) é necessário calcular o numero de qüinqüênios, para tanto são necessárias as variáveis nquin, e Temp_serv, ambas do tipo inteiro.temp_serv vai armazenar quantos anos de serviço tem o funcionário, e este valor deve ser lido, isto é o usuário vai fornecer via teclado este valor. Deste modo o numero de qüinqüênios será nquin = Temp_serv/5. Como Temp_serv é inteira e está sendo dividida por 5 inteiro, o valor armazenado em nquin será a parte inteira divisão. Assim, se Temp_serv=9, nquin =. Deste modo o valor 00

26 5.4. Exercícios sobre Seleção de Ações Alternativas Do aumento relativo aos qüinqüênios é dado por: QUIN= (SBI+GRAT)*(Nquin*0.05); Observe que antes de se calcular o valor do qüinqüênio foi calculado o valor da gratificação GRAT. O calculo da Sexta Parte deve ser feito somente após o calculo do qüinqüênio, pois a sexta parte é calculada por: Se o tempo de serviço for maior ou igual 20 anos SEXT_P=(SBI+GRAT+QUIN)/6.0.. Senão SEXT_P=0.0 No calculo do imposto de Renda (IR), serão necessárias as variáveis Valor, Alíquota, Parcela, todas do tipo float para armazenar respectivamente, o Valor para se calcular em qual faixa o funcionário se encontra e assim calcular a Alíquota a ser paga e a Parcela a se deduzir do imposto. Será necessário também a variável N-dep, do tipo int para armazenar o numero de dependentes do funcionário. Este numero deve ser lido. A variável valor será calculada por: Valor = SBT-IAMSP-PREV-50.69*N_dep; Exercícios sobre Seleção de Ações Alternativas Observe que para se calcular a variável valor é necessário ter calculado antes as variáveis: SBT= salário bruto total, IAMSP e PREV O valor do salário liquido será : SL = SBT-IAMSP-PREV-IR; A seguir é apresentado o programa, solicitado, bem como a execução de exemplo Exercícios sobre Seleção de Ações Alternativas 5.4. Exercícios sobre Seleção de Ações Alternativas Solução Exercício 3 main() int N_dep, Nquin, Temp_serv,chefe, nchefe, perc_grat; float SBI,SBT, Valor, QUIN, SEXT_P, IAMSP, PREV,IR,SL; float GRAT, Aliquota, Parcela; char nome[30], cargo[30]; printf("digite o nome do funcionario\n"); gets(nome); printf("digite o cargo do funcionario\n"); gets(cargo); printf("digite o valor do salario base inicial do %s\n",nome); scanf("%f",&sbi); printf("digite o numero de dependentes do %s\n", nome); scanf("%d",&n_dep); printf("digite o tempo de servico do %s\n", nome); scanf("%d",&temp_serv); 03 Solução Exercício 3 - Continuação printf("o funcionario em questao esta exercendo algum cargo de chefia?\n"); printf("digite para sim e zero para nao\n"); scanf(" %d",&chefe); //Calculo da gratificação if(chefe==) GRAT=046.; nchefe=0; printf("se o funcionario exerceu no passado algum cargo de chefia,\n digite o numero de anos.\n"); scanf("%d",&nchefe); perc_grat= 20*(nchefe/2); GRAT=(046.*perc_grat)/00.0; 04

27 5.4. Exercícios sobre Seleção de Ações Alternativas 5.4. Exercícios sobre Seleção de Ações Alternativas Solução Exercício 3 - Continuação // Calculo do quinquenio Nquin= Temp_serv/5; QUIN= (SBI+GRAT)*(Nquin*0.05); // Calculo da Sexta Parte. if(temp_serv >= 20) SEXT_P=(SBI+GRAT+QUIN)/6.0; SEXT_P=0.0; // Calculo do Salario bruto total SBT=(SBI+GRAT+QUIN+SEXT_P); //calculo dos descontos IAMSP, PREV IAMSP=SBT*0.02; PREV=SBT*0.; 05 //Calculo do IR Valor = SBT-IAMSP-PREV-50.69*N_dep; if( Valor< 499.5) Aliquota=0; Parcela=0; if( Valor< ) Aliquota=0.075; Parcela=2.43; if( Valor< ) Aliquota=0.5; Parcela=280.94; if( Valor< ) Aliquota=0.225; Parcela=505.62; Aliquota=0.275; Parcela=692.78; IR=(Valor*Aliquota)-Parcela; SL = SBT-IAMSP-PREV-IR; Solução Exercício 3 - Continuação Exercícios sobre Seleção de Ações Alternativas Solução Exercício 3 - Resultado printf("nome:%s cargo:%s\n", nome, cargo); printf("==============================================\n"); printf("vencimento \t%.2f\n",sbi); printf("gratif. de representacao\t%.2f\n",grat); printf("adicional Tempo Servico \t%.2f\n",quin); printf("sexta Parte \t%.2f\n",sext_p); printf("salario Bruto \t%.2f\n",sbt); printf("======= Descontos==============================\n"); printf("contribuicao Previdencia\t%.2f\n",PREV); printf("iamsp \t%.2f\n",iamsp); printf("imposto DE RENDA \t%.2f\n",ir); printf("==============================================\n"); printf("total de Descontos \t%.2f\n",prev+iamsp+ir); printf("==============================================\n"); printf("salario Liquido \t%.2f\n",sl); printf("===============================================\n\n\n"); system("pause"); Solução Exercício 3 - Continuação 07 08

28 Mas, Continua... do if Este material foi desenvolvido por: Aníbal Tavares de Azevedo e Cassilda Maria Ribeiro 09

8 Testes e Condições. Unesp Campus de Guaratinguetá

8 Testes e Condições. Unesp Campus de Guaratinguetá 8 Testes e Condições Unesp Campus de Guaratinguetá Curso de Programação Computadores Prof. Aníbal Tavares Profa. Cassilda Ribeiro Ministrado por: Prof. André Amarante 8.1 Aplicação: Ano Bissexto Um problema

Leia mais

7 Testes e Condições. Unesp Campus de Guaratinguetá

7 Testes e Condições. Unesp Campus de Guaratinguetá 7 Testes e Condições Unesp Campus de Guaratinguetá Curso de Programação Computadores Prof. Aníbal Tavares Profa. Cassilda Ribeiro Ministrado por: Prof. André Amarante 7 Seleção de Ações Alternativas Suponha

Leia mais

Comandos If-else. Unesp Campus de Guaratinguetá. Curso de Programação Computadores Prof. Aníbal Tavares Profa. Cassilda Ribeiro. 5.

Comandos If-else. Unesp Campus de Guaratinguetá. Curso de Programação Computadores Prof. Aníbal Tavares Profa. Cassilda Ribeiro. 5. 5- A Lógica da Programação Comandos If-else Unesp Campus de Guaratinguetá Curso de Programação Computadores Prof. Aníbal Tavares Profa. Cassilda Ribeiro 1 5. A Lógica da programação 5.1 Introdução! Neste

Leia mais

Aula 05: Condicionais (if / else)

Aula 05: Condicionais (if / else) Aula 05: Condicionais (if / else) Introdução a Programação Túlio Toffolo & Puca Huachi http://www.toffolo.com.br BCC201 2019/1 Departamento de Computação UFOP Aula Anterior Breve Revisão Comandos de Decisão

Leia mais

Lista de Exercícios Revisão de Lógica. 01. Desenvolva um programa em C que receba três valores numéricos inteiros e mostre a soma desses três números.

Lista de Exercícios Revisão de Lógica. 01. Desenvolva um programa em C que receba três valores numéricos inteiros e mostre a soma desses três números. Lista de Exercícios Revisão de Lógica 01. Desenvolva um programa em C que receba três valores numéricos inteiros e mostre a soma desses três números. /*declaração de variáveis*/ int n1, n2, n3, soma; printf("digite

Leia mais

Aula 2 Comandos de Decisão

Aula 2 Comandos de Decisão Departamento de Sistemas de Computação Universidade de São Paulo SSC 502 Laboratório de Introdução a Ciência de Computação I Aula 2 Comandos de Decisão Responsável Prof. Seiji Isotani (sisotani@icmc.usp.br)

Leia mais

Aula 6 Oficina de Programação Estruturas Condicionais no C. Profa. Elaine Faria UFU

Aula 6 Oficina de Programação Estruturas Condicionais no C. Profa. Elaine Faria UFU Aula 6 Oficina de Programação Estruturas Condicionais no C Profa. Elaine Faria UFU - 2017 Estrutura Condicional Simples Algoritmo se () entao instrução fimse A instrução só será executada se

Leia mais

ALGORITMO I ESTRUTURA DE CONTROLE DECISÃO SE / CASO;

ALGORITMO I ESTRUTURA DE CONTROLE DECISÃO SE / CASO; ALGORITMO I ESTRUTURA DE CONTROLE DECISÃO SE / CASO; Jaime Evaristo (http://professor.ic.ufal.br/jaime/) Slide 1 ESTRUTURA DE CONTROLE Operadores Relacionais Símbolo Significado LING. C = Igual == Diferente!=

Leia mais

Aula 02 -Introdução àlinguagc Programação: Estrutura-Seleção. OPL e IC1 Prof: Anilton Joaquim da Silva

Aula 02 -Introdução àlinguagc Programação: Estrutura-Seleção. OPL e IC1 Prof: Anilton Joaquim da Silva Aula 02 -Introdução àlinguagc Programação: Estrutura-Seleção OPL e IC1 Prof: Anilton Joaquim da Silva Anilton.ufu@outlook.com 1 Estrutura de Seleção Até agora não aprendemos a dizer para o computador Se

Leia mais

Aula 4 Introdução ao C

Aula 4 Introdução ao C Considere o nosso MSC. O Processador Central, entende o conjunto de instruções, leia, imprima, atribuição e condicional e com ela resolvemos vários problemas, construindo vários algoritmos. As instruções

Leia mais

Estrutura de Seleção Múltipla Switch

Estrutura de Seleção Múltipla Switch Estrutura de Seleção Múltipla Switch Disciplina: Algoritmos e Programação Luciano Moraes Da Luz Brum Universidade Federal do Pampa Unipampa Campus Bagé Email: lucianobrum18@gmail.com Horários de atendimento:

Leia mais

Comandos de decisão. Tiago Alves de Oliveira. Adaptado de slides das Profas. Patrícia Jaques, Mônica Py e Deise Sacol

Comandos de decisão. Tiago Alves de Oliveira. Adaptado de slides das Profas. Patrícia Jaques, Mônica Py e Deise Sacol Comandos de decisão Tiago Alves de Oliveira Adaptado de slides das Profas. Patrícia Jaques, Mônica Py e Deise Sacol 1 Operadores Relacionais Operador ==!= = < > Exemplo x == y x!= y x = y x

Leia mais

Modulo 4: while do while (limites de variáveis)

Modulo 4: while do while (limites de variáveis) PROGRAMAÇÃO DE COMPUTADORES V - TCC- 00.323 Modulo 4: while do while (limites de variáveis) Aura - Erick aconci@ic.uff.br, erickr@id.uff.br Roteiro Até aqui apreendemos as estruturas: If e If...else Switch

Leia mais

Algoritmos e Lógica de Programação 80 horas // 4 h/semana. Exercício... Para começar... Resolução... Para começar... Para começar...

Algoritmos e Lógica de Programação 80 horas // 4 h/semana. Exercício... Para começar... Resolução... Para começar... Para começar... Algoritmos e Lógica de Programação 80 horas // 4 h/semana Estrutura Condicional: aninhada, seleção de casos e outras. Aula 06 Prof. Piva Exercício... Faça um algoritmo que leia dois números inteiros e

Leia mais

Estruturas de Decisão. Adaptado de Deise Saccol

Estruturas de Decisão. Adaptado de Deise Saccol Estruturas de Decisão Adaptado de Deise Saccol 1 ESTRUTURAS DE DECISÃO Comandos de decisão ou desvio fazem parte das técnicas de programação, para construir estruturas de algoritmos que não são totalmente

Leia mais

Linguagem C (estruturas condicionais)

Linguagem C (estruturas condicionais) Linguagem C (estruturas condicionais) André Tavares da Silva atavares@joinville.udesc.br Comandos de Controle de Fluxo Todos os comandos devem ser terminados com um ;. { e são usados para delimitar um

Leia mais

Estruturas de Controle

Estruturas de Controle Estruturas de Controle ESTRUTURA SEQUENCIAL ESTRUTURAS CONDICIONAIS Estrutura Condicional Simples Estrutura Condicional Composta Seleção entre duas ou mais Seqüências de Comandos ESTRUTURA DE REPETIÇÃO

Leia mais

ESTRUTURAS CONDICIONAIS. Introdução à Ciência da ComputaçãoI Simone Senger de Souza

ESTRUTURAS CONDICIONAIS. Introdução à Ciência da ComputaçãoI Simone Senger de Souza ESTRUTURAS CONDICIONAIS Introdução à Ciência da ComputaçãoI Simone Senger de Souza Estruturas de Controle ESTRUTURA SEQUENCIAL ESTRUTURA CONDICIONAL ESTRUTURA DE REPETIÇÃO 2 Estruturas Condicionais Estrutura

Leia mais

SSC 0301 IC para Engenharia Ambiental

SSC 0301 IC para Engenharia Ambiental SSC 0301 IC para Engenharia Ambiental Comando de seleção if Prof. Márcio Delamaro e Prof. Jorge Luiz e Silva delamaro@icmc.usp.br; jsilva@icmc.usp.br SSC 0301 IC para Engenharia Ambiental ICMC/USP p. 1/36

Leia mais

Estruturas de seleção

Estruturas de seleção 94 Execução condicional Etapa em um programa onde uma condição é avaliada e, dependendo do resultado, diferentes ações podem ser realizadas. condição 95 Condicional simples Uma ou mais ações serão executadas

Leia mais

Faculdade Anglo-Americano Curso de Ciência da Computação Linguagem de Programação. Lista de Exercícios 1

Faculdade Anglo-Americano Curso de Ciência da Computação Linguagem de Programação. Lista de Exercícios 1 Faculdade Anglo-Americano Curso de Ciência da Computação Linguagem de Programação Lista de Exercícios 1 1. O programa seguinte tem vários erros em tempo de compilação. Encontre-os. Main() int a=1; b=2,

Leia mais

Linguagem C: Introdução

Linguagem C: Introdução Linguagem C: Introdução Linguagem C É uma Linguagem de programação genérica que é utilizada para a criação de programas diversos como: Processadores de texto Planilhas eletrônicas Sistemas operacionais

Leia mais

ESTRUTURAS CONDICIONAIS. Baseado nos slides de autoria de Rosely Sanches e Simone Senger de Souza

ESTRUTURAS CONDICIONAIS. Baseado nos slides de autoria de Rosely Sanches e Simone Senger de Souza ESTRUTURAS CONDICIONAIS Baseado nos slides de autoria de Rosely Sanches e Simone Senger de Souza Estruturas de Controle ESTRUTURA SEQUENCIAL ESTRUTURA CONDICIONAL ESTRUTURA DE REPETIÇÃO 2 Estruturas Condicionais

Leia mais

Algoritmos e Programação

Algoritmos e Programação Algoritmos e Programação Aula 3 Introdução a Linguagem C Profa. Marina Gomes marinagomes@unipampa.edu.br 1 Aula de Hoje - Criar programas simples em C utilizando a estrutura básica; - Declarar variáveis;

Leia mais

CCO 016 / COM 110 Fundamentos de Programação

CCO 016 / COM 110 Fundamentos de Programação CCO 016 / COM 110 Fundamentos de Programação Prof. Roberto Affonso da Costa Junior Universidade Federal de Itajubá AULA 05 Entrada de dados Leia scanf Entrada dos dados Entrada de dados compreende a operação

Leia mais

Introdução à Programação

Introdução à Programação Programação de Computadores Introdução à Programação Prof. Helton Fábio de Matos hfmatos@dcc.ufmg.br Agenda Algoritmo & Programa Variáveis Declaração de tipos Comando de entrada ou de leitura Comando de

Leia mais

Introdução à Ciência da Computação SCC0120 Prof. Zhao Liang. Aula de Laboratório 1: Operadores, comandos básicos e comando IF 27/03/2012

Introdução à Ciência da Computação SCC0120 Prof. Zhao Liang. Aula de Laboratório 1: Operadores, comandos básicos e comando IF 27/03/2012 Introdução à Ciência da Computação SCC0120 Prof. Zhao Liang Aula de Laboratório 1: Operadores, comandos básicos e comando IF 27/03/2012 PARTE 1: OPERADORES E COMANDOS BÁSICOS EXEMPLO 1.1: Programa que

Leia mais

12 - Dados Estruturados Vetores, Matrizes e Strings

12 - Dados Estruturados Vetores, Matrizes e Strings 12 - Dados Estruturados Vetores, Matrizes e Strings Unesp Campus de Guaratinguetá Curso de Programação Computadores Prof. Aníbal Tavares Profa. Cassilda Ribeiro Ministrado por: Prof. André Amarante Vetores,

Leia mais

3. Linguagem de Programação C

3. Linguagem de Programação C Introdução à Computação I IBM1006 3. Linguagem de Programação C Prof. Renato Tinós Departamento de Computação e Matemática (FFCLRP/USP) 1 3.3. Conceitos Básicos de C: Expressões, Operadores e Bibliotecas

Leia mais

PROGRAMAÇÃO A. Estrutura Condicional

PROGRAMAÇÃO A. Estrutura Condicional PROGRAMAÇÃO A Estrutura Condicional INTRODUÇÃO Uma expressão condicional é uma expressão cujo valor pode ser falso ou verdadeiro. Em C, falso é representado por 0 e verdadeiro é representado por 1. Uma

Leia mais

LINGUAGEM E TECNICAS DE PROGRAMAÇÃO

LINGUAGEM E TECNICAS DE PROGRAMAÇÃO LINGUAGEM E TECNICAS DE PROGRAMAÇÃO Aula 03 Lógica Entrada de dados Lógica Lógica, no seu sentido mais amplo, está presente em todos os passos de nossas vidas, servindo de base para resolução de nossos

Leia mais

CCO 016 / COM 110 Fundamentos de Programação

CCO 016 / COM 110 Fundamentos de Programação CCO 016 / COM 110 Fundamentos de Programação Prof. Roberto Affonso da Costa Junior Universidade Federal de Itajubá AULA 07 Comandos Sequenciais (se senao) Linguagem de Programação C (if else) Estrutura

Leia mais

SSC 0301 IC para Engenharia Ambiental

SSC 0301 IC para Engenharia Ambiental SSC 0301 IC para Engenharia Ambiental Tipos, variáveis e expressões Prof. Márcio Delamaro e Prof. Jorge Luiz e Silva delamaro@icmc.usp.br; jsilva@icmc.usp.br SSC 0301 IC para Engenharia Ambiental ICMC/USP

Leia mais

Programação Estruturada

Programação Estruturada Algoritmos e Técnicas - Estruturas de Controle de Fluxo - Programação Estruturada Programação estruturada é a técnica de construir e formular algoritmos de uma forma sistemática. Utilizada para apresentar

Leia mais

LISTA DE EXERCÍCIOS: 1ª Unidade

LISTA DE EXERCÍCIOS: 1ª Unidade LISTA DE EXERCÍCIOS: 1ª Unidade 1) Dado o trecho de código a seguir, qual será a saída se as entradas forem, respectivamente: A) 0 e 1 B) 2 e 3 C) 1 e 1 #include int main(){ float num1, num2;

Leia mais

Aula 8 Comandos de Seleção

Aula 8 Comandos de Seleção Aula 8 Comandos de Seleção Algoritmos e Programação de Computadores Profs: Ronaldo Castro de Oliveira ronaldo.co@ufu.br Anilton Joaquim da Silva anilton@ufu.br 1 Introdução Até agora não aprendemos a dizer

Leia mais

Operadores e instruções

Operadores e instruções Operadores e instruções Joyce França Professora de Ciência da Computação - IFNMG 2 Operadores Operadores são elementos funcionais que atuam sobre operandos e produzem um determinado resultado. podem ser

Leia mais

Linguagem C/C++ Estrutura Condicional. Prof: Rosemary Melo

Linguagem C/C++ Estrutura Condicional. Prof: Rosemary Melo Linguagem C/C++ Estrutura Condicional Prof: Rosemary Melo Estrutura Condicional if... (simples) Sintaxe (como o comando deve ser escrito): if (condição) comando; ou, no caso de mais de um comando: if (condição)

Leia mais

ESTRUTURA CONDICIONAL E SELEÇÃO

ESTRUTURA CONDICIONAL E SELEÇÃO Algoritmos e Estruturas de Dados 1 Prof. Eduardo 1 ESTRUTURA CONDICIONAL E SELEÇÃO 1 - ESTRUTURA CONDICIONAL (ESTRUTURAS DE CONTROLE OU DECISÃO) Até o momento da disciplina vimos algoritmos e programas

Leia mais

Decisão. Prof. Dr. Silvio do Lago Pereira. Departamento de Tecnologia da Informação Faculdade de Tecnologia de São Paulo

Decisão. Prof. Dr. Silvio do Lago Pereira. Departamento de Tecnologia da Informação Faculdade de Tecnologia de São Paulo Decisão Prof. Dr. Silvio do Lago Pereira Departamento de Tecnologia da Informação Faculdade de Tecnologia de São Paulo Valores lógicos C não oferece tipo de dados específico para valores lógicos. O número

Leia mais

Programação Básica. Estrutura de um algoritmo

Programação Básica. Estrutura de um algoritmo Programação Básica Estrutura de um algoritmo Código-fonte Como vimos na aula anterior um algoritmo pode ser representado usando um fluxograma Um algoritmo pode também ser representado usando texto Esse

Leia mais

Estruturas de Repetição

Estruturas de Repetição Algoritmos e Estruturas de Dados I (DCC/003) Estruturas de Repetição Aula Tópico 4 (while, for) 1 Problema 10 Suponha que soma (+) e subtração (-) são as únicas operações disponíveis em C. Dados dois números

Leia mais

Treinamento Olimpíada Brasileira de Informática

Treinamento Olimpíada Brasileira de Informática Treinamento Olimpíada Brasileira de Informática Prof. Roberto Affonso da Costa Junior Universidade Federal de Itajubá AULA 03 1/2 Estrutura Condicionais Linguagem de Programação C Bruno Otávio, George,

Leia mais

Oficina de Introdução de Programação usando Linguagem Python Prof. Ms. Perini

Oficina de Introdução de Programação usando Linguagem Python Prof. Ms. Perini Oficina de Introdução de Programação usando Linguagem Python Prof. Ms. Perini Apresentação do Professor Professor: José Carlos Perini E-mail: jose.perini@metrocamp.edu.br Blog: http://profperini.com Formação

Leia mais

Introdução aos Algoritmos

Introdução aos Algoritmos Introdução aos Algoritmos Aula 05 Diogo Pinheiro Fernandes Pedrosa http://www2.ufersa.edu.br/portal/professor/diogopedrosa diogopedrosa@ufersa.edu.br Universidade Federal Rural do Semiárido Bacharelado

Leia mais

3. Linguagem de Programação C

3. Linguagem de Programação C Introdução à Computação I IBM1006 3. Linguagem de Programação C Prof. Renato Tinós Departamento de Computação e Matemática (FFCLRP/USP) 1 Principais Tópicos 3.4. Estruturas de Controle 3.4.1. Comandos

Leia mais

Introdução à Computação

Introdução à Computação Introdução à Computação Tipos de Dados, Expressões, Operadores e Comandos Básicos Prof.: Julliano Rosa Nascimento julliano.rn@gmail.com Roteiro Tipos de Dados: Revisão Expressões Operadores Comandos Básicos

Leia mais

Programação Estruturada

Programação Estruturada Programação Estruturada Estruturas condicionais Professores Emílio Francesquini e Carla Negri Lintzmayer 2018.Q3 Centro de Matemática, Computação e Cognição Universidade Federal do ABC Comandos condicionais

Leia mais

GFM015 Introdução à Computação Algoritmos e Programação / Controle de Fluxo / Estutura Condicional

GFM015 Introdução à Computação Algoritmos e Programação / Controle de Fluxo / Estutura Condicional GFM015 Introdução à Computação Algoritmos e Programação / Controle de Fluxo / Estutura Condicional Ilmério Reis da Silva ilmerio@facom.ufu.br www.facom.ufu.br/~ilmerio/ic UFU/FACOM Programa 1. Noções básicas

Leia mais

Introdução aos Algoritmos

Introdução aos Algoritmos Introdução aos Algoritmos Aula 05 Diogo Pinheiro Fernandes Pedrosa http://www2.ufersa.edu.br/portal/professor/diogopedrosa diogopedrosa@ufersa.edu.br Universidade Federal Rural do Semiárido Bacharelado

Leia mais

Sub Rotinas. Estrutura de Dados. Prof. Kleber Rezende

Sub Rotinas. Estrutura de Dados. Prof. Kleber Rezende Sub Rotinas Estrutura de Dados Prof. Kleber Rezende Considerações Iniciais Uma dos métodos mais comuns e amplamente utilizados em programação de computadores é o Top-Down. Nesta abordagem um problema é

Leia mais

Para começar... Para começar... Para começar... Para começar... Algoritmos e Lógica de Programação 80 horas // 4 h/semana. Estruturas condicionais...

Para começar... Para começar... Para começar... Para começar... Algoritmos e Lógica de Programação 80 horas // 4 h/semana. Estruturas condicionais... Algoritmos e Lógica de Programação 80 horas // 4 h/semana Estrutura Condicional: simples e composta Aula 05 Prof. Piva Estruturas condicionais... Existem comandos que, a partir de uma condição, permitem

Leia mais

CCO 016 / COM 110 Fundamentos de Programação

CCO 016 / COM 110 Fundamentos de Programação CCO 016 / COM 110 Fundamentos de Programação Prof. Roberto Affonso da Costa Junior Universidade Federal de Itajubá AULA 07 Comandos Sequenciais (se senao) Linguagem de Programação C (if else) Estrutura

Leia mais

Fundamentos de Programação1

Fundamentos de Programação1 Fundamentos de Programação1 Linguagem C Introdução e elementos principais Aula N. 01 Prof. SIMÃO Jean Marcelo SIMÃO 1 Exemplo 2 % código em Octave/Matlab clc; A = 5; A = 4 ; if ( A > B ) printf ( A é maior

Leia mais

Controle de Fluxo - Condicionais. INF1005 Programação I Profa. Simone D.J. Barbosa sala 410 RDC

Controle de Fluxo - Condicionais. INF1005 Programação I Profa. Simone D.J. Barbosa sala 410 RDC Controle de Fluxo - Condicionais INF1005 Programação I Profa. Simone D.J. Barbosa simone@inf.puc-rio.br sala 410 RDC 1 controle de fluxo - condicionais tópicos if if else if else if else expressões booleanas

Leia mais

Programação 1. Atribuição, operadores aritméticos, entrada de dados. Técnico em Eletrônica Semestre 5 02

Programação 1. Atribuição, operadores aritméticos, entrada de dados. Técnico em Eletrônica Semestre 5 02 Programação 1 Atribuição, operadores aritméticos, entrada de dados Técnico em Eletrônica Semestre 5 02 Armazenando na memória tipo de variável #include #include main() { int ano; Declaração

Leia mais

Tabela T1: Tags para comandos de impressão.

Tabela T1: Tags para comandos de impressão. O que é um nome? O que chamamos rosa não cheiraria igualmente doce em outro nome? W. Shakespeare. PRINTF O comando printf é capaz de imprimir uma mensagem na tela, bem como o comando puts, que além de

Leia mais

Lista de Exercícios Complementares 1 - Prof. Red. Entrada e Saída de Dados

Lista de Exercícios Complementares 1 - Prof. Red. Entrada e Saída de Dados Lista de Exercícios Complementares 1 - Prof. Red Codifique os exercícios abaixo, codificando-os na Linguagem Scilab. Utilize as mensagens de texto para as entradas e saídas necessárias. Também, use comentários

Leia mais

Algoritmos e Estruturas de Dados I (DCC/003) Estruturas Básicas. Aula Tópico 2

Algoritmos e Estruturas de Dados I (DCC/003) Estruturas Básicas. Aula Tópico 2 Algoritmos e Estruturas de Dados I (DCC/003) Estruturas Básicas Aula Tópico 2 1 Problema 3 Exibir o maior número inteiro que pode ser representado no computador. 2 Qual o maior número inteiro? Para o compilador

Leia mais

Algoritmos e Estruturas de Dados I IEC012. Linguagem C - Estruturas de Controle - Seleção. Prof. César Melo

Algoritmos e Estruturas de Dados I IEC012. Linguagem C - Estruturas de Controle - Seleção. Prof. César Melo Algoritmos e Estruturas de Dados I IEC012 Linguagem C - Estruturas de Controle - Seleção Prof. César Melo Estruturas de Controle: Condicional Estruturas: Simples Composta Múltipla escolha Estrutura Condicional

Leia mais

3) Faça um algoritmo para ler a base e a altura de um triângulo. Em seguida, escreva a área do mesmo. Obs.: Área = ( Base * Altura ) / 2

3) Faça um algoritmo para ler a base e a altura de um triângulo. Em seguida, escreva a área do mesmo. Obs.: Área = ( Base * Altura ) / 2 Exercícios 2: 1) Faça um algoritmo para ler as seguintes informações de uma pessoa: Nome, Idade, Sexo, Peso, Altura, Profissão, Rua, Bairro, Cidade, Estado, CEP, Telefone. 2) Dado as seguintes informações

Leia mais

Programação I PRG Engenharia de Telecomunicações 2ª Fase Professor: Cleber Jorge Amaral

Programação I PRG Engenharia de Telecomunicações 2ª Fase Professor: Cleber Jorge Amaral Programação I PRG29002 Engenharia de Telecomunicações 2ª Fase Professor: Cleber Jorge Amaral 2016-1 Revisão da aula anterior Linguagens compiladas vs interpretadas Para que servem as bibliotecas? O que

Leia mais

ALGORITMOS COM SELEÇÃO 1 - ESTRUTURA CONDICIONAL (ESTRUTURAS DE CONTROLE)

ALGORITMOS COM SELEÇÃO 1 - ESTRUTURA CONDICIONAL (ESTRUTURAS DE CONTROLE) Algoritmos e Estruturas de Dados 1 Prof. Eduardo 1 ALGORITMOS COM SELEÇÃO 1 - ESTRUTURA CONDICIONAL (ESTRUTURAS DE CONTROLE) Até o momento da disciplina vimos comandos de entrada, processamento e saída

Leia mais

Lógica e Linguagem de Programação Convertendo um algoritmo em pseudocódigo para a linguagem C Professor: Danilo Giacobo

Lógica e Linguagem de Programação Convertendo um algoritmo em pseudocódigo para a linguagem C Professor: Danilo Giacobo Lógica e Linguagem de Programação Convertendo um algoritmo em pseudocódigo para a linguagem C Professor: Danilo Giacobo Este documento explica como transformar um algoritmo escrito na forma pseudocódigo

Leia mais

Oficina de Python Prof. Me. José Carlos Perini

Oficina de Python Prof. Me. José Carlos Perini Oficina de Python Prof. Me. José Carlos Perini Prof. José Carlos Perini Formação em Análise de Sistemas Univ. S. Francisco Pós em Administração Universidade S. Francisco Mestrado em Ciência da Computação

Leia mais

Programação para Games I

Programação para Games I Programação para Games I Estrutura de Decisão Estrutura de Decisão Uma estrutura de decisão examina uma ou mais condições e decide quais delas serão executadas Em jogos digitais, considere inicialmente

Leia mais

Linguagem de Programação C

Linguagem de Programação C ICMC USP Linguagem de Programação C Aula: Comandos em C Prof. Dr Alneu de Andrade Lopes O comando if Se condição verdadeira (1) executa comando ou sequencia de comandos. Forma geral: if (condição) { sequência_de_comandos_1;

Leia mais

Capítulo 4: Condicionais

Capítulo 4: Condicionais Capítulo 4: Condicionais INF1004 e INF1005 Programação 1 Pontifícia Universidade Católica Departamento de Informática Tomada de Decisão Até o momento, todas as instruções eram executadas, uma após a outra.

Leia mais

Oficina de Python Prof. Me. José Carlos Perini

Oficina de Python Prof. Me. José Carlos Perini Oficina de Python Prof. Me. José Carlos Perini Prof. José Carlos Perini Formação em Análise de Sistemas Univ. S. Francisco Pós em Administração Universidade S. Francisco Mestrado em Ciência da Computação

Leia mais

MC-102 Aula 06 Comandos Repetitivos

MC-102 Aula 06 Comandos Repetitivos MC-102 Aula 06 Comandos Repetitivos Instituto de Computação Unicamp 2 de Setembro de 2016 Roteiro 1 Comandos Repetitivos 2 Comando while 3 Comando do-while 4 O comando for 5 Exemplos com Laços Variável

Leia mais

controle de fluxo - condicionais

controle de fluxo - condicionais controle de fluxo - condicionais controle de fluxo - condicionais tópicos if if else if else if else expressões booleanas switch referências Capítulo 4 da apostila Capítulo 3 do livro condicionais (tomada

Leia mais

Programação em C. Variáveis e Expressões. Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação

Programação em C. Variáveis e Expressões. Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação Programação em C Variáveis e Expressões DCA0800 Algoritmos e Lógica de Programação Heitor Medeiros Florencio

Leia mais

ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO

ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO 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

Leia mais

Introdução à Programação. Expressões Booleanas e Comandos Condicionais

Introdução à Programação. Expressões Booleanas e Comandos Condicionais Introdução à Programação Expressões Booleanas e Comandos Condicionais Comandos Condicionais Misture os ingredientes Unte forma com manteiga Despeje a mistura na forma Algoritmo para preparação de bolo

Leia mais

Linguagem C. André Tavares da Silva.

Linguagem C. André Tavares da Silva. Linguagem C André Tavares da Silva dcc2ats@joinville.udesc.br Lógica de Programação O objetivo da lógica de programação é exercitar os métodos de raciocínio e elaborar soluções coerentes para determinados

Leia mais

Modulo 3: Else, Case, For...

Modulo 3: Else, Case, For... PROGRAMAÇÃO DE COMPUTADORES V - TCC- 00.323 Modulo 3: Else, Case, For... Aura - Erick aconci@ic.uff.br, erickr@id.uff.br Roteiro Mais Comandos Condicionais Estrutura de Repetição Contável 2 Exemplo de

Leia mais

As bibliotecas iostream e cstdlib permitem a utilização de diversos comandos de entrada e saída e funções básicas.

As bibliotecas iostream e cstdlib permitem a utilização de diversos comandos de entrada e saída e funções básicas. Roteiro 2 Estrutura Sequencial em C/C++ A estrutura sequencial na linguagem C/C++ #include Bloco de comandos; Bibliotecas são arquivos contendo várias funções que podem ser incorporadas

Leia mais

Sistemas Operacionais e Introdução à Programação. Programação com linguagem C

Sistemas Operacionais e Introdução à Programação. Programação com linguagem C Sistemas Operacionais e Introdução à Programação Programação com linguagem C 1 Entrada e saída: escrevendo na tela Veja uma comparação entre um programa Portugol e seu equivalente em C: Inicio Inteiro

Leia mais

LISTA DE EXERCÍCIOS. 2) Explique a diferença entre algoritmo computacional e não computacional.

LISTA DE EXERCÍCIOS. 2) Explique a diferença entre algoritmo computacional e não computacional. LISTA DE EXERCÍCIOS 1) Qual a definição de lógica de programação? 2) Explique a diferença entre algoritmo computacional e não computacional. 3) Qual a definição de instruções em computação? 4) Qual a definição

Leia mais

Capítulo 1: Introdução à Linguagem C. Pontifícia Universidade Católica Departamento de Informática

Capítulo 1: Introdução à Linguagem C. Pontifícia Universidade Católica Departamento de Informática Capítulo 1: Introdução à Linguagem C Pontifícia Universidade Católica Departamento de Informática Programa Programa é um algoritmo escrito em uma linguagem de programação. No nosso caso, a linguagem C.

Leia mais

PCI- Operadores, Expressões e Funções. Profa. Mercedes Gonzales Márquez

PCI- Operadores, Expressões e Funções. Profa. Mercedes Gonzales Márquez PCI- Operadores, Expressões e Funções. Profa. Mercedes Gonzales Márquez Constantes São valores previamente determinados e que não se alteram ao longo do programa. Assim como as variáveis, as constantes

Leia mais

Lista de Exercícios 2

Lista de Exercícios 2 Universidade Federal de Ouro Preto UFOP Instituto de Ciências Exatas e Biológicas ICEB Departamento de Computação DECOM Disciplina: BCC201 Introdução a Programação Professores: Túlio A. M. Toffolo e Puca

Leia mais

Variáveis, Tipos de Dados e Operadores

Variáveis, Tipos de Dados e Operadores ! Variáveis, Tipos de Dados e Operadores Engenharias Informática Aplicada 2.o sem/2013 Profa Suely (e-mail: smaoki@yahoo.com) VARIÁVEL VARIÁVEL É um local lógico, ligado a um endereço físico da memória

Leia mais

Fundamentos de Programação Instituto Federal de Educação, Ciência e Tecnologia do Rio Grande do Norte 15 de maio de 2018.

Fundamentos de Programação Instituto Federal de Educação, Ciência e Tecnologia do Rio Grande do Norte 15 de maio de 2018. 1 INSTRUÇÃO DE SAÍDA Fundamentos de Programação Instituto Federal de Educação, Ciência e Tecnologia do Rio Grande do Norte 15 de maio de 2018 Exercícios 1 Instrução de Saída 1. Implementar um programa

Leia mais

printf( \n %d dividido por %d eh%d e o resto eh%d \n, x, y, resultado)

printf( \n %d dividido por %d eh%d e o resto eh%d \n, x, y, resultado) Exercícios de Entrada e Saída 1. Escreva um programa que exiba na tela o seguinte texto: Estou testando o printf. Depois faça o mesmo, mas no seguinte formato: Estou testando o printf.. Escreva programas

Leia mais

Operadores. A linguagem C é muito rica em operadores internos. Ela define quatro classes de operadores:

Operadores. A linguagem C é muito rica em operadores internos. Ela define quatro classes de operadores: Operadores A linguagem C é muito rica em operadores internos. Ela define quatro classes de operadores: Aritmético: -, +, *, /, %, --, ++ Relacionais: >, =,

Leia mais

Primeira Lista de Exercícios

Primeira Lista de Exercícios Primeira Lista de Exercícios SCC0121 - Introdução à Programação Prof. Alneu de Andrade Lopes Estagiário PAE: Nils Ever Murrugarra Llerena 22 de março de 2010 1 Algoritmos e Estruturas Seqüenciais 1. Elabore

Leia mais

Working 03 : Conceitos Básicos II

Working 03 : Conceitos Básicos II Universidade Federal do Espirito Santo Centro Tecnologico Working 03 : Conceitos Básicos II Objetivos: Dominar a construção de estruturas de seleção em C; Aperfeiçoarse na resolução de problemas, da primeira

Leia mais

ESTRUTURAS DE CONTROLE

ESTRUTURAS DE CONTROLE ESTRUTURAS DE CONTROLE ESTRUTURA SEQUENCIAL E ESTRUTURAS CONDICIONAIS Introdução à Ciência da Computação Estruturas de Controle ESTRUTURA SEQUENCIAL ESTRUTURAS CONDICIONAIS Estrutura Condicional Simples

Leia mais

Exercícios Repetição

Exercícios Repetição Curso de Engenharia de Controle e Automação Disciplina: Informática para a Automação Professor: Marcelo Cendron Exercícios Repetição 1.1 8.3 Exercícios 1. Faça um programa utilizando o comando while, que

Leia mais

Capítulo 2: Condicionais. Pontifícia Universidade Católica Departamento de Informática

Capítulo 2: Condicionais. Pontifícia Universidade Católica Departamento de Informática Capítulo 2: Condicionais Pontifícia Universidade Católica Departamento de Informática Tomada de Decisão Até o momento, todas as instruções eram executadas, uma após a outra. No capítulo 3, vimos que a

Leia mais

Programação científica C++

Programação científica C++ Programação científica C++ NIELSEN CASTELO DAMASCENO Slide 3 Exercícios Escreva um programa para armazenar o valor 20 em uma variável X e o valor 5 em uma variável Y. A seguir, armazenar a soma do valor

Leia mais

Estrutura do programa

Estrutura do programa Linguagem C Estrutura do programa Exemplo: #include #include main() { printf( Ola, mundo! ); system( pause ); }

Leia mais

SSC Introdução à Programação para Engenharias. Lista 01 Entrega em 06/04/ h10

SSC Introdução à Programação para Engenharias. Lista 01 Entrega em 06/04/ h10 Nota SSC0304 - Introdução à Programação para Engenharias Lista 01 Entrega em 06/04/2018 08h10 Nome N.º USP Obs 1: Utilize essa primeira página como capa da sua lista de exercícios Obs 2: Esta lista é em

Leia mais

Controle de Fluxo - Condicionais

Controle de Fluxo - Condicionais Controle de Fluxo - Condicionais INF1005 Programação I Prof. Hélio Lopes lopes@inf.puc-rio.br sala 408 RDC 1 controle de fluxo - condicionais tópicos if if if if expressões booleanas operadores relacionais

Leia mais

CURSO SUPERIOR DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS DISCIPLINA : INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO ASSUNTO: ALGORITMOS

CURSO SUPERIOR DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS DISCIPLINA : INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO ASSUNTO: ALGORITMOS CURSO SUPERIOR DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS DISCIPLINA : INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO ASSUNTO: ALGORITMOS PROFESSOR : Romilson Lopes Sampaio Introdução a Lógica de Programação

Leia mais

Métodos Computacionais. Operadores, Expressões Aritméticas e Entrada/Saída de Dados

Métodos Computacionais. Operadores, Expressões Aritméticas e Entrada/Saída de Dados Métodos Computacionais Operadores, Expressões Aritméticas e Entrada/Saída de Dados Tópicos da Aula Hoje aprenderemos a escrever um programa em C que pode realizar cálculos Conceito de expressão Tipos de

Leia mais