CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2014 Capítulo III Comandos de Controle.

Slides:



Advertisements
Apresentações semelhantes
Programação em Java Prof. Maurício Braga
Advertisements

INTRODUÇÃO A COMPUTAÇÃO ENG. CIVIL
CES-10 INTRODUÇÃO À COMPUTAÇÃO
Estruturas de Controle
Programação em Java Prof. Maurício Braga
Estruturas de Repetição
Introdução à Computação - Jorge Macêdo
Introdução à Programação
Linguagem C LPG-I – Estruturas de Repetição Prof. Flavio Marcello
LINGUAGEM ESTRUTURADA TURBO C
CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2013
CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2013 Capítulo III Comandos de Controle.
CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2013 Capítulo II Confecção de Tabelas.
Lógica de Programação Módulo II
Linguagem C Funções.
Vetores, Matrizes e Funções
Vetores, Matrizes e Funções
Linguagem C Estruturas de Seleção.
Matrizes e Funções - Continuação
O Portal do Estudante de Computação
Aula 5 - Exercícios Prof. Leandro M. Almeida.
Linguagem de Programação I Parte II
Construção de Algoritmos AULA 03
© 2003 Introdução à programaçãoComputadores e programação I Linguagens de programação Introdução ao C (continuação)
PROGRAMAÇÃO I UNIDADE 4.
Programação II Estruturas de Dados Aula 02 - continuação
Estruturas de Dados Módulo 3 – Controle de Fluxo
Aula 6 - Estruturas de Controle
Algoritmo e Programação
CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2014
Técnicas de Desenvolvimento de Programas
CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2014
APRENDER A APRENDER deve ser nossa meta. Comandos de Controle de Programa Comandos de Seleção Prof. Me. Jeime Nunes.
Capítulo V – Comandos de Entrada e Saída 5.1 – Equipamentos de entrada e saída 5.2 – Saída no vídeo-texto 5.3 – Entrada pelo teclado 5.4 – Entrada e saída.
Introdução à Linguagem C
Capítulo IV – Comandos de Controle de Fluxo 4.1 – Comandos compostos 4.2 – Comandos condicionais 4.3 – Expressões condicionais 4.4 – Comandos repetitivos.
Aula prática 2 Operadores e Expressões Comandos de Decisão Comentários
Joaquim José Hangalo  Podemos entender a memória do computador como um conjunto de células que armazenam informações.  Cada célula.
CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2014 Capítulo VII Variáveis Indexadas Numéricas.
Aula prática 3 Aprofundando em Funções Parâmetros de uma função Uso do return Execução Variáveis Global, local e estática Monitoria de Introdução à.
CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2013
Capítulo VI – Variáveis Indexadas 6.1 – A necessidade de variáveis indexadas 6.2 – Vetores e matrizes 6.3 – Aplicações com vetores numéricos 6.4 – Aplicações.
CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2014 Capítulo I Comandos Simples e Repetições.
CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2013 Capítulo I Comandos Simples e Repetições.
PCI- Estrutura Condicional Profa. Mercedes Gonzales Márquez.
Introdução à Programação
Aula 5 - Exercícios Prof. Leandro M. Almeida.
Revisão Luis Antonio Tavares
Programação de Computadores I – Arquivos
CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2014 Capítulo IX Subprogramação e Recursividade.
Algoritmos.
ALGORITMIA. ALGORITMO Conjunto de instruções ou acções que ao serem executadas, permitirão realizar uma determinada tarefa.
Introdução a Programação
CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2014 Capítulo X Encadeamento de Estruturas por Ponteiros.
Programação Computacional Aula 8: Entrada e Saída pelo Console Prof a. Madeleine Medrano
Algoritmo e Programação
Técnicas de Programação I Prof:. Msc. Arimatéia Junior Fortaleza-2011.
Informática e Computação Aula 12 Estrutura de Repetição
Profa. Maria Augusta Constante Puget
FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS Tecnologia em Redes de Computadores Algoritmos e linguagens de programação 1 (aula 08) Prof. Alessandro Bernardo.
Linguaguem de Programação II
Comandos de Repetição (While, Do..While e For)
ALGORITMOS Profº Antonio Carlos Marcelino de Paula 1.
Fundamentos de Programação 1 Aula N. 02 Prof. SIMÃO Jean Marcelo SIMÃO Linguagem C “Laços de Repetição em C”
1Unidade 04 – Estruturas de Repetição Algoritmos e Linguagens de Programação Estruturas de Repetição Prof.: Guilherme Baião S. Silva
1 CCO 016 FUNDAMENTOS DE PROGRAMAÇÃO Universidade Federal de Itajubá Prof. Dr. Edison Oliveira de Jesus.
Prof. Tertuliano Estrutura Condicional em C++
1 Estruturas Condicionais Aula – Tópico 3 Algoritmos e Estruturas de Dados I (DCC/003)
Grupos de Slides No 5. Prof. SIMÃO
Algoritmos Grupos de Slides No 7. Prof. SIMÃO Estrutura de Repetição “para - passo”” for Feito por Prof. Jean Marcelo SIMÃO e revisado por Prof. Luis Alberto.
Transcrição da apresentação:

CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2014 Capítulo III Comandos de Controle

Programa 3.1: Comandos condicionais #include #include int main () { char estahfrio; printf ("Estah frio? (s/n): "); scanf ("%c", &estahfrio); if (estahfrio == 's' || estahfrio == 'S') printf ("\n\tVista seu casaco!!"); else printf ("\n\tDeixe seu casaco no guarda-roupas!!"); printf ("\n\n"); system ("pause"); return 0; } Digitar, salvar e executar o seguinte programa Fluxogramas explicativos: ==: usado para comparar dois valores =: usado para atribuir uma expressão a uma variável ||: operador ‘or’ entre duas condições &&: operador ‘and’ entre duas condições

Programa 3.2: Outro comando repetitivo: do-while #include #include int main () { int n; char c, lixo; printf ("PAR OU IMPAR"); do { printf ("\n\nDigite um numero seguido de : "); printf ("\n\nDigite um numero seguido de : "); scanf ("%d%c", &n, &lixo); scanf ("%d%c", &n, &lixo); if (n % 2 == 0) printf ("\t%d eh par", n); else printf ("\t%d eh impar", n); printf ("\n\nVerificar paridade? (s/n): "); printf ("\n\nVerificar paridade? (s/n): "); scanf ("%c%c", &c, &lixo); scanf ("%c%c", &c, &lixo); } while (c == 's' || c == 'S'); printf ("\n\n"); system ("pause"); return 0; } Digitar, salvar e executar o seguinte programa Comandos Condição V F Fluxograma explicativo Os comandos são executados pelo menos uma vez n % 2: resto da divisão de n por 2

Programa 3.2: Outro comando repetitivo: do-while #include #include int main () { int n; char c, lixo; printf ("PAR OU IMPAR"); do { printf ("\n\nDigite um numero seguido de : "); printf ("\n\nDigite um numero seguido de : "); scanf ("%d%c", &n, &lixo); scanf ("%d%c", &n, &lixo); if (n % 2 == 0) printf ("\t%d eh par", n); else printf ("\t%d eh impar", n); printf ("\n\nVerificar paridade? (s/n): "); printf ("\n\nVerificar paridade? (s/n): "); scanf ("%c%c", &c, &lixo); scanf ("%c%c", &c, &lixo); } while (c == 's' || c == 'S'); printf ("\n\n"); system ("pause"); return 0; } Para o scanf, tudo o que é digitado, inclusive o, fica depositado numa região chamada “buffer do teclado” O computador só espera digitação se esse buffer estiver vazio Depois da leitura para n e c, o fica no buffer e será usado na próxima leitura Nos dois scanf’s, o será lido e guardado na variável lixo

Programa 3.2: Outro comando repetitivo: do-while #include #include int main () { int n; char c, lixo; printf ("PAR OU IMPAR"); do { printf ("\n\nDigite um numero seguido de : "); printf ("\n\nDigite um numero seguido de : "); scanf ("%d%c", &n, &lixo); scanf ("%d%c", &n, &lixo); if (n % 2 == 0) printf ("\t%d eh par", n); else printf ("\t%d eh impar", n); printf ("\n\nVerificar paridade? (s/n): "); printf ("\n\nVerificar paridade? (s/n): "); scanf ("%c%c", &c, &lixo); scanf ("%c%c", &c, &lixo); } while (c == 's' || c == 'S'); printf ("\n\n"); system ("pause"); return 0; } Para o scanf, tudo o que é digitado, inclusive o, fica depositado numa região chamada “buffer do teclado” O computador só espera digitação se esse buffer estiver vazio Se a variável lixo não fosse usada, o do primeiro scanf seria lido para a variável c, no segundo scanf Aí o do-while se encerraria sem nova digitação para a variável c

Com as seguintes construções, escreve-se grande variedade de programas: Comandos Condição V F do Comandos while (Condição); Comandos Condição V F while (Condição) Comandos Comandos 2 Condição VF Comandos 1 Condição V F Comandos if (Condição) Comandos if (Condição) Comandos 1 else Comandos 2 Além dos comandos: variável = expressão; scanf ( ); printf ( );

Programa 3.3: Divisibilidade por 7 – vários números Em C, uma divisão em que os 2 operandos são inteiros produz resultado inteiro truncado Em C, uma divisão em que os 2 operandos são inteiros produz resultado inteiro truncado Exemplo: 7 / 3 = 2 Exemplo: 7 / 3 = 2 Se um dos operandos for real, o resultado será real Se um dos operandos for real, o resultado será real Operador %: resto de divisão Operador %: resto de divisão  Exemplo: 7 % 3 = 1  Os operandos devem ser inteiros Para testar se um número ‘n’ é divisível por 7, basta verificar se a condição n % 7 == 0 é satisfeita

Divisibilidade por 7 { Escrever um título inicial que diga o assunto do programa Perguntar ao operador se deseja testar divisibilidade por 7 Obter a resposta do operador Enquanto a resposta for “sim” { Pedir o dividendo ao operador Obter o dividendo do operador Testar a divisibilidade do dividendo por 7 e dar a resposta Perguntar novamente ao operador se deseja testar divisibilidade por 7 Obter a resposta do operador } Fechar a tela de execução } Desenvolvimento do programa Algoritmo do programa, escrito em Português, num certo nível de detalhes

Divisibilidade por 7 { Escrever um título inicial que diga o assunto do programa Perguntar ao operador se deseja testar divisibilidade por 7 Obter a resposta do operador Enquanto a resposta for “sim” { Pedir o dividendo ao operador Obter o dividendo do operador Testar a divisibilidade do dividendo por 7 e dar a resposta Perguntar novamente ao operador se deseja testar divisibilidade por 7 Obter a resposta do operador } Fechar a tela de execução }

int main () { Escrever um título inicial que diga o assunto do programa Perguntar ao operador se deseja testar divisibilidade por 7 Obter a resposta do operador Enquanto a resposta for “sim” { Pedir o dividendo ao operador Obter o dividendo do operador Testar a divisibilidade do dividendo por 7 e dar a resposta Perguntar novamente ao operador se deseja testar divisibilidade por 7 Obter a resposta do operador } Fechar a tela de execução }

int main () { Escrever um título inicial que diga o assunto do programa Perguntar ao operador se deseja testar divisibilidade por 7 Obter a resposta do operador Enquanto a resposta for “sim” { Pedir o dividendo ao operador Obter o dividendo do operador Testar a divisibilidade do dividendo por 7 e dar a resposta Perguntar novamente ao operador se deseja testar divisibilidade por 7 Obter a resposta do operador } Fechar a tela de execução }

#include #include int main () { printf ("DIVISIBILIDADE POR 7"); Perguntar ao operador se deseja testar divisibilidade por 7 Obter a resposta do operador Enquanto a resposta for “sim” { Pedir o dividendo ao operador Obter o dividendo do operador Testar a divisibilidade do dividendo por 7 e dar a resposta Perguntar novamente ao operador se deseja testar divisibilidade por 7 Obter a resposta do operador } Fechar a tela de execução }

#include #include int main () { printf ("DIVISIBILIDADE POR 7"); Perguntar ao operador se deseja testar divisibilidade por 7 Obter a resposta do operador Enquanto a resposta for “sim” { Pedir o dividendo ao operador Obter o dividendo do operador Testar a divisibilidade do dividendo por 7 e dar a resposta Perguntar novamente ao operador se deseja testar divisibilidade por 7 Obter a resposta do operador } Fechar a tela de execução }

#include #include int main () { char testar, lixo; printf ("DIVISIBILIDADE POR 7"); printf ("\n\nTestar divisibilidade? (s/n): "); scanf ("%c%c", &testar, &lixo); Enquanto a resposta for “sim” { Pedir o dividendo ao operador Obter o dividendo do operador Testar a divisibilidade do dividendo por 7 e dar a resposta Perguntar novamente ao operador se deseja testar divisibilidade por 7 Obter a resposta do operador } Fechar a tela de execução }

#include #include int main () { char testar, lixo; printf ("DIVISIBILIDADE POR 7"); printf ("\n\nTestar divisibilidade? (s/n): "); scanf ("%c%c", &testar, &lixo); Enquanto a resposta for “sim” { Pedir o dividendo ao operador Obter o dividendo do operador Testar a divisibilidade do dividendo por 7 e dar a resposta Perguntar novamente ao operador se deseja testar divisibilidade por 7 Obter a resposta do operador } Fechar a tela de execução }

#include #include int main () { char testar, lixo; printf ("DIVISIBILIDADE POR 7"); printf ("\n\nTestar divisibilidade? (s/n): "); scanf ("%c%c", &testar, &lixo); while (testar == 's' || testar == 'S') { Pedir o dividendo ao operador Obter o dividendo do operador Testar a divisibilidade do dividendo por 7 e dar a resposta Perguntar novamente ao operador se deseja testar divisibilidade por 7 Obter a resposta do operador } Fechar a tela de execução }

#include #include int main () { char testar, lixo; printf ("DIVISIBILIDADE POR 7"); printf ("\n\nTestar divisibilidade? (s/n): "); scanf ("%c%c", &testar, &lixo); while (testar == 's' || testar == 'S') { Pedir o dividendo ao operador Obter o dividendo do operador Testar a divisibilidade do dividendo por 7 e dar a resposta Perguntar novamente ao operador se deseja testar divisibilidade por 7 Obter a resposta do operador } Fechar a tela de execução }

#include #include int main () { char testar, lixo; int dvdo; printf ("DIVISIBILIDADE POR 7"); printf ("\n\nTestar divisibilidade? (s/n): "); scanf ("%c%c", &testar, &lixo); while (testar == 's' || testar == 'S') { printf ("\n\tDigite o dividendo seguido de : "); scanf ("%d%c", &dvdo, &lixo); Testar a divisibilidade do dividendo por 7 e dar a resposta Perguntar novamente ao operador se deseja testar divisibilidade por 7 Obter a resposta do operador } Fechar a tela de execução }

#include #include int main () { char testar, lixo; int dvdo; printf ("DIVISIBILIDADE POR 7"); printf ("\n\nTestar divisibilidade? (s/n): "); scanf ("%c%c", &testar, &lixo); while (testar == 's' || testar == 'S') { printf ("\n\tDigite o dividendo seguido de : "); scanf ("%d%c", &dvdo, &lixo); Testar a divisibilidade do dividendo por 7 e dar a resposta Perguntar novamente ao operador se deseja testar divisibilidade por 7 Obter a resposta do operador } Fechar a tela de execução }

#include #include int main () { char testar, lixo; int dvdo; printf ("DIVISIBILIDADE POR 7"); printf ("\n\nTestar divisibilidade? (s/n): "); scanf ("%c%c", &testar, &lixo); while (testar == 's' || testar == 'S') { printf ("\n\tDigite o dividendo seguido de : "); scanf ("%d%c", &dvdo, &lixo); Testar a divisibilidade do dividendo por 7 e dar a resposta printf ("\n\nTestar divisibilidade? (s/n): "); scanf ("%c%c", &testar, &lixo); } printf ("\n\n"); system ("pause"); return 0; printf ("\n\n"); system ("pause"); return 0;}

#include #include int main () { char testar, lixo; int dvdo; printf ("DIVISIBILIDADE POR 7"); printf ("\n\nTestar divisibilidade? (s/n): "); scanf ("%c%c", &testar, &lixo); while (testar == 's' || testar == 'S') { printf ("\n\tDigite o dividendo seguido de : "); scanf ("%d%c", &dvdo, &lixo); Testar a divisibilidade do dividendo por 7 e dar a resposta printf ("\n\nTestar divisibilidade? (s/n): "); scanf ("%c%c", &testar, &lixo); } printf ("\n\n"); system ("pause"); return 0; printf ("\n\n"); system ("pause"); return 0;}

#include #include int main () { char testar, lixo; int dvdo; printf ("DIVISIBILIDADE POR 7"); printf ("\n\nTestar divisibilidade? (s/n): "); scanf ("%c%c", &testar, &lixo); while (testar == 's' || testar == 'S') { printf ("\n\tDigite o dividendo seguido de : "); scanf ("%d%c", &dvdo, &lixo); if (dvdo % 7 == 0) printf ("\n\t%d eh divisivel por 7", dvdo); else printf ("\n\t%d nao eh divisivel por 7", dvdo); printf ("\n\nTestar divisibilidade? (s/n): "); scanf ("%c%c", &testar, &lixo); } printf ("\n\n"); system ("pause"); return 0; printf ("\n\n"); system ("pause"); return 0;}

#include #include int main () { char testar, lixo; int dvdo; printf ("DIVISIBILIDADE POR 7"); printf ("\n\nTestar divisibilidade? (s/n): "); scanf ("%c%c", &testar, &lixo); while (testar == 's' || testar == 'S') { printf ("\n\tDigite o dividendo seguido de : "); scanf ("%d%c", &dvdo, &lixo); if (dvdo % 7 == 0) printf ("\n\t%d eh divisivel por 7", dvdo); else printf ("\n\t%d nao eh divisivel por 7", dvdo); printf ("\n\nTestar divisibilidade? (s/n): "); scanf ("%c%c", &testar, &lixo); } printf ("\n\n"); system ("pause"); return 0; printf ("\n\n"); system ("pause"); return 0;}

#include #include int main () { char testar, lixo; int dvdo; printf ("DIVISIBILIDADE POR 7"); printf ("\n\nTestar divisibilidade? (s/n): "); scanf ("%c%c", &testar, &lixo); while (testar == 's' || testar == 'S') { printf ("\n\tDigite o dividendo seguido de : "); scanf ("%d%c", &dvdo, &lixo); if (dvdo % 7 == 0) printf ("\n\t%d eh divisivel por 7", dvdo); else printf ("\n\t%d nao eh divisivel por 7", dvdo); printf ("\n\nTestar divisibilidade? (s/n): "); scanf ("%c%c", &testar, &lixo); } printf ("\n\n"); system ("pause"); return 0; printf ("\n\n"); system ("pause"); return 0;} Salvar e executar Este programa só testa divisibilidade por 7

Exercício: Alterar o programa anterior de forma que o divisor também seja digitado pelo operador Cuidado: o divisor não pode ser zero Cuidado: o divisor não pode ser zero Se o operador digitar 0 (zero) para o divisor, o programa deve insistir para ele refazer a digitação, até que não mais cometa esse erro Se o operador digitar 0 (zero) para o divisor, o programa deve insistir para ele refazer a digitação, até que não mais cometa esse erro

#include #include int main () { char testar, lixo; int dvdo, dsor; printf ("Testar divisibilidade? (s/n): "); scanf ("%c%c", &testar, &lixo); while (testar == 's' || testar == 'S') { printf ("\n\tDigite o dividendo e o divisor seguidos de : "); scanf ("%d%d%c", &dvdo, &dsor, &lixo); while (dsor == 0) { while (dsor == 0) { printf ("\n\tDigite novamente o divisor seguido de : "); scanf ("%d%c", &dsor, &lixo); } if (dvdo % dsor == 0) printf ("\n\t%d eh divisivel por %d", dvdo, dsor); else printf ("\n\t%d nao eh divisivel por %d", dvdo, dsor); printf ("\n\nTestar divisibilidade? (s/n): "); scanf ("%c%c", &testar, &lixo); } printf ("\n\n"); system ("pause"); return 0; printf ("\n\n"); system ("pause"); return 0;} Uma possível solução

Exercício do Lab 3: Escrever um programa amigável em C para: Inicialmente, ler um número inteiro positivo digitado e guardá-lo na variável n Inicialmente, ler um número inteiro positivo digitado e guardá-lo na variável n  Caso o operador não digite um número positivo para n, o programa deve insistir para ele refazer a digitação, até que não mais cometa esse erro Em seguida, o programa deve ler n números inteiros digitados Continua no próximo slide

Realizar com os números inteiros lidos as seguintes tarefas: Realizar com os números inteiros lidos as seguintes tarefas: 1.Contabilizar e imprimir a média aritmética dos números lidos Inicializar uma variável soma com zero e com zero também uma variável cont, contadora de números lidos Inicializar uma variável soma com zero e com zero também uma variável cont, contadora de números lidos A cada número lido num, fazer A cada número lido num, fazer soma = soma + num; cont = cont + 1; No final, dividir soma por cont (resultado real) No final, dividir soma por cont (resultado real)

Realizar com os números inteiros lidos as seguintes tarefas: Realizar com os números inteiros lidos as seguintes tarefas: 2.Contabilizar e imprimir a soma dos números lidos que são pares Inicializar outra variável somapares com zero Inicializar outra variável somapares com zero A cada número lido num que for par, fazer A cada número lido num que for par, fazer somapares = somapares + num;

Realizar com os números inteiros lidos as seguintes tarefas: Realizar com os números inteiros lidos as seguintes tarefas: 3.Contabilizar e imprimir a soma dos números lidos positivos que são múltiplos de 3 ou de 7 Inicializar outra variável soma3ou7 com zero Inicializar outra variável soma3ou7 com zero A cada número lido num que for positivo e múltiplo de 3 ou de 7, fazer A cada número lido num que for positivo e múltiplo de 3 ou de 7, fazer soma3ou7 = soma3ou7 + num;

Realizar com os números inteiros lidos as seguintes tarefas: Realizar com os números inteiros lidos as seguintes tarefas: 4.Para cada número positivo lido, notificar o caso de ele ser o fatorial de algum número inteiro positivo 5.Encontrar e imprimir o maior e o menor em valores relativos dentre todos os números lidos Inicializar duas variáveis maior e menor com o primeiro dos n números digitados Inicializar duas variáveis maior e menor com o primeiro dos n números digitados A cada novo número lido num, caso ele seja maior relativamente que o valor de maior, fazer A cada novo número lido num, caso ele seja maior relativamente que o valor de maior, fazer maior = num; Analogamente para o valor de menor Analogamente para o valor de menor

Realizar com os números inteiros lidos as seguintes tarefas: Realizar com os números inteiros lidos as seguintes tarefas: 6.Para cada número positivo lido, notificar o caso de ele ser um dos termos da Série de Fibonacci A Série de Fibonacci é a seguinte: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, , onde A Série de Fibonacci é a seguinte: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, , onde – O primeiro termo é 0 (zero), o segundo é 1 (um) – Os outros termos são dados por termo[i] = termo [i-1] + termo [i-2] Não usar as chamadas variáveis indexadas Não usar as chamadas variáveis indexadas