Primos... Determinar se um inteiro é primo. 1. Um número é primo se apenas é divisível por ele próprio e por 1.

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

Download "Primos... Determinar se um inteiro é primo. 1. Um número é primo se apenas é divisível por ele próprio e por 1."

Transcrição

1 Primos... Problema 1. Determinar se um inteiro é primo. 1. Um número é primo se apenas é divisível por ele próprio e por Algoritmo: percorrer os inteiros de 2 a n-1 e verificar se dividem n:se nenhum dividir n é primo... (1 não é nem composto nem primo...) 3. #include <stdio.h> main() /* primalidade */ { int i = 2, n; scanf("%d",&n); while (n % i!= 0 && i < n) i++; if (i >= n) printf("%d e primo\n",n); Departamento de Ciência de Computadores da FCUP PI Aula 4 1

2 else printf("%d nao e primo\n",n); Departamento de Ciência de Computadores da FCUP PI Aula 4 2

3 Melhorar a eficiência do algoritmo Podemos optimizar o algoritmo verificar se é divisível por 2 2. senão basta percorrer os ímpares basta ir até n/2 4. se tiver um divisor próprio tem de ser menor que n (porquê?) Exercício 4.1. Garante que compreendes todas estas afirmações. Exercício 4.2. Supondo n = 1001 quantos números é necessário testar (no pior caso...) no algorimo anterior e no que é agora considerado? Departamento de Ciência de Computadores da FCUP PI Aula 4 3

4 #include <math.h> #include <stdio.h> main() { int i,n,md; printf("introduzir inteiro: "); scanf("%d",&n); if (n < 1) {printf("nao e positivo..."); return 0; if(n == 2 n == 3) { printf("primo\n"); return 1; if(n%2 == 0) printf("é par\n"); else { md=sqrt(n); i=3; while (n % i!= 0 && i <= md) i += 2; if (i > md) printf("%d e primo\n",n); Departamento de Ciência de Computadores da FCUP PI Aula 4 4

5 Execução %cc -oprimo -lm primo.c %primo Introduzir inteiro: e primo % primo Introduzir inteiro: 1001 % Se se pretender determinar todos os primos inferior a um dado n, podemos usar o crivo de Erastótenes (ver exercício das práticas...). Departamento de Ciência de Computadores da FCUP PI Aula 4 5

6 Apesar das optimizações é um algoritmo exponencial O tempo de execução é exponencial (2 n ) no tamanho dos dados (n). Porque n na base 2 (ou noutra base qualquer)... como n = 2 log n, log n é o número de dígitos... Porque são tão maus??? Vejamos como crescem algumas funções... n 2 n n! Departamento de Ciência de Computadores da FCUP PI Aula 4 6

7 ... se um inteiro não é primo é produto de primos... Problema 2. Factorização de um inteiro em factores primos 1. Algoritmo I: gerar os primos inferiores a n e verificar se são divisores...não é nada prático Algoritmo II: se for divisível por 2, fazer n = n/2 e ir dividindo até deixar de ser e contando o número de divisões, repetir para 3, 5, 7, 9(?),... Facto: por esse processo o próximo ímpar que o divide é primo..(porquê?) 3. Como no caso anterior, basta percorrer até n/2 ou melhor n... Departamento de Ciência de Computadores da FCUP PI Aula 4 7

8 Programa em C #include <math.h> #include <stdio.h> main() { /* factorizacao */ int i,n,md,p; printf("introduzir inteiro: "); scanf("%d",&n); printf("\n"); if (n<1) { printf("nao e positivo...\n"); return 0; if(n==2 n==3) { printf("primo\n"); return 1; p=0; while(n%2==0) { p++; n=n/2; Departamento de Ciência de Computadores da FCUP PI Aula 4 8

9 if (p>0) printf("2 ^ %d\n",p); if (n!=1) { md=sqrt(n); i=3; while (i<=md && n!=1) { p=0; while (n%i==0 && n!=1) { p++; n=n/i; if (p>0) printf("%d ^ %d\n",i,p); i+=2; if (n!=1) printf("%d \n",n); Departamento de Ciência de Computadores da FCUP PI Aula 4 9

10 Executando... % cc factor.c -ofactor -lm %./factor Introduzir inteiro: ^ 1 5 ^ 2 13 ^ %./factor Introduzir inteiro: %./factor Introduzir inteiro: ^ 11 % Departamento de Ciência de Computadores da FCUP PI Aula 4 10

11 Outros problemas relacionados primos de uma certa forma.os primos de Mersenne M p são da forma 2 p 1, com p primo.ver Primo M p maior conhecido: p= , dígitos Dados dois inteiros determinar se um é divide o outro. Determinar todos os divisores de um inteiro usando a factorização em primos...é lento procurando divisores como no algoritmo dos primos... determinados aos pares... números perfeitos: iguais à soma dos divisores próprios. 2 p 1 (2 p 1) é perfeito. e se existirem são Se 2 p 1 é primo máximo divisor comum entre dois inteiros (Algoritmo de Euclides) Departamento de Ciência de Computadores da FCUP PI Aula 4 11

12 Criptografia de chave pública (RSA): dado um número produto de primos (com mais de 100 dígitos) é difícil determinar quais os primos. E sabendo um dos valores (chave) e o número é fácil determinar o outro... Departamento de Ciência de Computadores da FCUP PI Aula 4 12

13 Algoritmo de Euclides Problema Determinar o maior divisor comum entre dois inteiros positivos mdc(12,9)= mdc(22,16)=2 Departamento de Ciência de Computadores da FCUP PI Aula 4 13

14 Algoritmo de Euclides II Sejam os inteiros m e n e suponhamos m < n. Dividir n por m. Se o resto r é zero, então m.d.c(m,n)=n. Senão dividir m por r e repetir... Pseudo-código Sejam os inteiros m e n e suponhamos m < n. Enquanto m 0 r = n % m n = m m = r Escreve n Departamento de Ciência de Computadores da FCUP PI Aula 4 14

15 Algoritmo de Euclides III #include <stdio.h> /* Versao iterativa */ main() { int n,m,r; printf("valores: "); scanf("%d %d",&n,&m); printf(" O m.d.c(%d,%d)= ",n,m); while( m!= 0 ){ r=n%m; n=m; m=r; printf("%d\n", n); Departamento de Ciência de Computadores da FCUP PI Aula 4 15

16 Correção do algoritmo O algoritmo termina sempre?e se termina o resultado escrito é sempre o m.d.c dos valores iniciais? Sejam M i e N i, i = 0, 1,... os sucessivos valores das variáveis m e n, respectivamente.pretende-se provar que se o algoritmo parar ao fim de k iterações, então m.d.c(m 0, N 0 ) = N k. Terminação Em cada iteração, o valor de m decresce e inicialmente o valor de m é positivo. Correção Se k = 1 Então N 0 % M 0 = 0 e N 1 = M 0. Isto significa que n é múltiplo de m, o m.d.c(m,n)=m e, portanto, o algoritmo neste caso está correcto. k > 1 Considere a seguinte afirmação: Dadas duas iterações consecutivas do ciclo, i e i + 1, um inteiro positivo p divide M i e N i se e só se p divide M i+1 e N i+1 Departamento de Ciência de Computadores da FCUP PI Aula 4 16

17 Exercício Certifique-se que compreende a afirmação. 2. Mostre que a afirmação é verdadeira. Sugestão: primeiro o se e depois o só se Conclua que se a afirmação é verdadeira, então o algoritmo está correcto. (Ver [Dewdney cap.10]). Sugestão: conclua que m.d.c(m i, N i ) = m.d.c(m i+1, N i+1 ) determine m.d.c(m k 1, N k 1 ) conclua que m.d.c(m 0, N 0 ) = N k Departamento de Ciência de Computadores da FCUP PI Aula 4 17

18 Repitições controladas por contadores Exemplo: contar até dez main() { int contador=1; while (contador <= 10) { printf("%d\n", contador); ++contador; [epd94, Cap ] main() { int contador=0; while (++contador <= 10) printf("%d\n", contador); 1. Uma variável de controlo (contador) 2. Um valor inicial para essa variável 3. Um incremento (ou decremento) dessa variável antes de cada repetição do ciclo Departamento de Ciência de Computadores da FCUP PI Aula 4 18

19 4. Uma condição que teste o valor final dessa variável (a partir do qual o ciclo deve terminar) 5. Um incremento (ou decremento) dessa variável antes de cada repetição do ciclo Podemos então usar uma instrução mais apropriada: main() { int contador; for(contador = 1; contador <= 10; contador++) printf("%d\n", contador); Departamento de Ciência de Computadores da FCUP PI Aula 4 19

20 Instrução for [epd94, Cap ] É uma instrução de ciclo da forma for(expr1; Expr2; Expr3) Inst onde Expr1, Expr2 e Expr3 são expressões e Inst uma instrução (que pode ser composta). for(x = 1; x <100; x++) if (x % 10 == 0) printf("%d",x); O que fazem? for(i = 100; i >= 1; i++); for(i = 7; i <= 77; i += 7); for(i = 99; i >= 0; i -= 11); for(j = 2; j <= 1000; j *= 2); Numa instrução for as expressões podem ser de qualquer tipo (mesmo omitidas) Departamento de Ciência de Computadores da FCUP PI Aula 4 20

21 e equivale (quase!) a: Expr1; while (Expr2){ Inst Expr3; A Expr1 ou Expr3 podem ser expressões múltiplas, i.e várias expressões separadas pelo operador,. for(x = 0, y = 0; x + y <10; ++x) scanf("%d",&y); for(i = 1,s = 5;i + s!= 7;) i++; s = 2; for(;;){s *= s; if (s > 100) break; Departamento de Ciência de Computadores da FCUP PI Aula 4 21

22 Instrução do while É uma instrução de ciclo da forma Funcionamento: do Inst while ( Expr ); [epd94, Cap. 4.8] 1. A instrução Inst é executada. 2. A expressão Expr é avaliada.se for não nula (verdadeira), volta a 1, se for nula (falsa) a instrução termina. do { scanf("%d",&i); while (i!=0); Departamento de Ciência de Computadores da FCUP PI Aula 4 22

23 Instrução break [epd94, Cap. 4.9] A instrução break termina a execução do ciclo mais interno ou instrução de escolha a que pertence. for(;;) { printf("introduz um numero (0 para sair): "); scanf("%d",&n); if (n == 0) break; printf("%d ao cubo é %d", n, n*n*n); Departamento de Ciência de Computadores da FCUP PI Aula 4 23

24 Instrução continue A instrução continue inicia uma nova iteração do ciclo mais interno a que pertence.nos ciclos while e do while obriga a que a Expr seja avaliada imediatamente;num for a expressão Expr3 é avaliada. for(i = 1; i < 10; i++) { if (i % 2!= 0) continue; printf("%d\n",i); Só imprime os pares... Nota: neste caso o for não é equivalente ao while dado acima... Departamento de Ciência de Computadores da FCUP PI Aula 4 24

25 Instruções do C (II) Departamento de Ciência de Computadores da FCUP PI Aula 4 25

26 Departamento de Ciência de Computadores da FCUP PI Aula 4 26

27 Leituras [epd94, Cap ,8-12] Departamento de Ciência de Computadores da FCUP PI Aula 4 27

28 Referências [epd94] H.M. Deitel e P.J. Deitel. C:How to Program. Prentice Hall International Editions, 2 edition, Departamento de Ciência de Computadores da FCUP PI Aula 4 28

Introdução à Programação

Introdução à Programação Introdução à Programação 1.Ano LCC-MIERSI DCC - FCUP Nelma Moreira Aula 5 1 Repitições controladas por contadores Contar até 10 main() { int contador=0; while (++contador

Leia mais

MC-102 Aula 07 Comandos Repetitivos

MC-102 Aula 07 Comandos Repetitivos MC-102 Aula 07 Comandos Repetitivos Instituto de Computação Unicamp 11 de Setembro de 2016 Roteiro 1 Variável Indicadora Números Primos Números em Ordem 2 Variável Contadora Números Primos 3 Outros Exemplos

Leia mais

Introdução à Programação

Introdução à Programação Introdução à Programação 1.Ano LCC-MIERSI DCC - FCUP Nelma Moreira Aula 3 Tipos, Expressões,Operadores Tipos de dados Variáveis Constantes Constantes Simbólicas Expressões Operadores aritméticos, relacionais

Leia mais

Programação Estruturada

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

Leia mais

Vejamos agora mais alguns exemplos de problemas envolvendo seqüência de números.

Vejamos agora mais alguns exemplos de problemas envolvendo seqüência de números. Aula 6 - Mais exemplos de repetição Vejamos agora mais alguns exemplos de problemas envolvendo seqüência de números. P16) Dado N>0 e uma seqüência de N números, determinar o maior elemento da seqüência.

Leia mais

Operador de atribuição

Operador de atribuição Operador de atribuição Variavel = Express~ao [epd94, Cap. 3.11-3.12] Suponhámos que y tem valor 5: x = y + 1; É calculada assim (e por esta ordem): A expressão da direita é calculada, susbtituindo a variável

Leia mais

MC102 Algoritmos e Programação de Computadores

MC102 Algoritmos e Programação de Computadores MC102 Algoritmos e Programação de Computadores Instituto de Computação UNICAMP Primeiro Semestre de 2014 Roteiro 1 Maior número 2 Soma de n números 3 Fatorial 4 Máximo Divisor Comum (MDC) 5 Números primos

Leia mais

INF 1005 Programação I

INF 1005 Programação I INF 1005 Programação I Aula 07 Estruturas de Repetição Edirlei Soares de Lima Estruturas de Repetição Diversos problemas somente podem ser resolvidos numericamente por um computador

Leia mais

PCI- Estrutura de Repetição II. Profa. Mercedes Gonzales Márquez

PCI- Estrutura de Repetição II. Profa. Mercedes Gonzales Márquez PCI- Estrutura de Repetição II Profa. Mercedes Gonzales Márquez Estrutura de Repetição Exemplo 1: Imprimir os n primeiros números inteiros positivos. int i, n; scanf("%d",&n); for (i=1; i

Leia mais

[epd94, Cap ] Usualmente pretendem-se valores noutros intervalos...se for entre 0 e a-1: srand() % a

[epd94, Cap ] Usualmente pretendem-se valores noutros intervalos...se for entre 0 e a-1: srand() % a Geração de números pseudo-aleatórios [epd94, Cap. 5.9-10] Utilização para simulação e jogos. Função rand() i = rand(); gera um inteiro entre 0 e RAND MAX, com igual probabilidade de ocorrer... O valor

Leia mais

Estruturas de repetição

Estruturas de repetição Título em português: FEITIÇO DO TEMPO (1993) Sinopse: Um repórter de televisão que faz previsões de meteorologia vai à uma pequena cidade para fazer uma matéria especial sobre o inverno. Querendo ir embora

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

Tipos de dados complexos

Tipos de dados complexos Tipos de dados complexos Considera os seguintes problemas: 1. Contar as ocorrências de cada caracter num ficheiro de texto. 2. Determinar a maior palavra de um ficheiro de texto. 3. Ordenar uma sequência

Leia mais

Introdução à Programação

Introdução à Programação Introdução à Programação 1.Ano LCC-MIERSI DCC - FCUP Nelma Moreira Aula 2 Etapas para o desenvolvimento dum programa 1. Perceber o problema 2. Encontrar um procedimento algorítmico para o resolver. Estratégias:

Leia mais

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

Aula 03 -Introdução àlinguagc Programação: Estrutura-Repetição. OPL e IC1 Prof: Anilton Joaquim da Silva Aula 03 -Introdução àlinguagc Programação: Estrutura-Repetição OPL e IC1 Prof: Anilton Joaquim da Silva Anilton.ufu@outlook.com 1 Estrutura de Repetição Em certas situações é necessária a repetição de

Leia mais

Capítulo 3: Repetições. Pontifícia Universidade Católica Departamento de Informática

Capítulo 3: Repetições. Pontifícia Universidade Católica Departamento de Informática Capítulo 3: Repetições Pontifícia Universidade Católica Departamento de Informática Construção de Laços Repetição: Diversos problemas de difícil solução podem ser resolvidos numericamente por um computador

Leia mais

INTRODUÇÃO À PROGRAMAÇÃO

INTRODUÇÃO À PROGRAMAÇÃO INTRODUÇÃO À PROGRAMAÇÃO 1.Ano LCC-MIERSI DCC - FCUP Nelma Moreira Aula 10 Geração de números pseudoaleatórios Função rand() i = rand(); gera um inteiro entre 0 e RAND_MAX, com igual probabilidade de ocorrer.

Leia mais

Aula 14: Repetição (Parte 2)

Aula 14: Repetição (Parte 2) Aula 14: Repetição (Parte 2) 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 Laços de repetição Comando de repetição

Leia mais

Introdução à Programação. Estruturas de Repetição

Introdução à Programação. Estruturas de Repetição Introdução à Programação Estruturas de Repetição Repetição de Comandos i 0 int somatorio(int n) { int soma = 0; int i = 0; soma = soma + i; i++; soma = soma + i; i++; soma = soma + i;... n i Faz esta seqüência

Leia mais

Programação Estruturada Aula - Estruturas de Repetição

Programação Estruturada Aula - Estruturas de Repetição Programação Estruturada Aula - Estruturas de Repetição Prof. Flávio Barros flavioifma@gmail.com www.flaviobarros.com.br 2 TESTE NO INÍCIO: WHILE Fundamentos TESTE NO INÍCIO: WHILE Estes comandos permitem

Leia mais

Programas simples em C

Programas simples em C Programas simples em C Problema 1. Escreve um programa em C que dados dois inteiros indique se são iguais ou qual o maior. Utilizar a construção em 5 etapas... quais? 1. Perceber o problema 2. Ideia da

Leia mais

Aula 10 Comandos de Repetição

Aula 10 Comandos de Repetição Aula 10 Comandos de Repetiçã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 Em certas situações é necessária

Leia mais

Programação estruturada

Programação estruturada Programação estruturada IPC2 1999/2000 F. Nunes Ferreira Acetatos baseados no livro C: How to Program (second edition) H. M. Deitel P. J. Deitel Prentice Hall, 1994 2 Exercício Desenvolvimento de um programa

Leia mais

Laboratório 3 Comandos de repetição while, do-while e for

Laboratório 3 Comandos de repetição while, do-while e for Laboratório 3 Comandos de repetição while, do-while e for Computação I (MAB-120) Prof. Silvana Rossetto 1 DCC/IM/UFRJ 29 de março de 2019 O objetivo desta aula de laboratório é praticar o uso dos comandos

Leia mais

Prova 1 QUESTÃO 1. (1) nusp % 3 == 1. MAC2166 Introdução à Computação para a Engenharia. # include <stdio.h>

Prova 1 QUESTÃO 1. (1) nusp % 3 == 1. MAC2166 Introdução à Computação para a Engenharia. # include <stdio.h> MAC2166 Introdução à Computação para a Engenharia Prova 1 QUESTÃO 1 Simule a execução do programa abaixo, destacando a saída do programa. A saída do programa é tudo que resulta dos comandos printf. Para

Leia mais

Lógica de Programação I

Lógica de Programação I Gilson de Souza Carvalho gaucho.gilson@hotmail.com 1 Comando Switch O comando Switch pode ser visto como uma especialização do comando if. Foi criado para facilitar um uso particular de comandos if encadeados.

Leia mais

Declarações. C diferencia letras maiúsculas de minúsculas! int n, N; n é diferente de N!

Declarações. C diferencia letras maiúsculas de minúsculas! int n, N; n é diferente de N! Declarações Os nomes das variáveis devem conter apenas letras, dígitos e o símbolo _ Os principais tipos são: int, float, double e char Exemplos: int n; int quantidade_valores; float x, y, somavalores;

Leia mais

Aula 16: Laços aninhados e desvios

Aula 16: Laços aninhados e desvios Aula 16: Laços aninhados e desvios 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 Comandos de Repetição (Parte

Leia mais

SSC304 Introdução à Programação Para Engenharias. Controle de Fluxo. GE4 Bio

SSC304 Introdução à Programação Para Engenharias. Controle de Fluxo. GE4 Bio Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação Introdução à Para Engenharias Controle de Fluxo GE4 Bio GE4Bio Grupo de Estudos em Sinais

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

INF1005: Programação 1. Repetições. 08/03/10 (c) Paula Rodrigues 1

INF1005: Programação 1. Repetições. 08/03/10 (c) Paula Rodrigues 1 INF1005: Programação 1 Repetições 08/03/10 (c) Paula Rodrigues 1 Tópicos Principais Construção de Laços com while Algoritmos com Repetição Construção de Laços com for Repetição com Teste no Final 08/03/10

Leia mais

Estruturas de Repetição

Estruturas de Repetição Estruturas de Repetição Alguns cálculos realizados pelo computador são feitos de forma repetitiva Exemplos: Cálculo de 25! fat = 25*24*23*22*21*20*19*18*17*16*15*14*13*12*11*10*9*8*7*6*5*4*3*2*1; Soma

Leia mais

Introdução à Programação. Ciclos 1ª parte

Introdução à Programação. Ciclos 1ª parte Introdução à Programação Ciclos 1ª parte Sumário Ciclos while Exercícios com instruções condicionais e ciclos Ciclos (while) while ( ) ; Enquanto for diferente de zero

Leia mais

MC-102 Aula 08 Comandos Repetitivos

MC-102 Aula 08 Comandos Repetitivos MC-102 Aula 08 Comandos Repetitivos Instituto de Computação Unicamp 13 de Setembro de 2016 Roteiro 1 Exemplos com laços Menu de Escolhas Representação Binário-Decimal Representação Decimal-Binário 2 Laços

Leia mais

controle de fluxo repetições iterativas

controle de fluxo repetições iterativas Controle de Fluxo Repetições iterativas INF1005 Programação I Prof. Hélio Lopes lopes@inf.puc-rio.br sala 408 RDC 1 controle de fluxo repetições iterativas tópicos while for do while break continue referência

Leia mais

Aula 7 Oficina de Programação Estruturas de Repetição no C. Profa. Elaine Faria UFU

Aula 7 Oficina de Programação Estruturas de Repetição no C. Profa. Elaine Faria UFU Aula 7 Oficina de Programação Estruturas de Repetição no C Profa. Elaine Faria UFU - 2017 Aula de Hoje Estruturas de repetição: do while while for Introdução Apresentar as estruturas de repetição do while,

Leia mais

Introdução à Programação

Introdução à Programação Introdução à Programação 1.Ano LCC-MIERSI DCC - FCUP Nelma Moreira Aula 12 Recursividade Recursão versus Iteração FACTORIAL outra vez! Muitas versões. n! = n (n - 1)... 1 int facti(int n){ int fac=n; while(--n>0){

Leia mais

Aula 11 - Repetições Encaixadas

Aula 11 - Repetições Encaixadas Aula 11 - Repetições Encaixadas Já vimos os seguintes comandos de repetição: while for do while O formato geral destes comando é: while (comparação) {c1; c2;...; cn; for (inicialização; comparação; incremento)

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

Estruturas de Repetição

Estruturas de Repetição Estruturas de Repetição Introdução As estruturas de repetição, permitem executar mais de uma vez um mesmo trecho de código. Trata-se de uma forma de executar blocos de comandos somente sob determinadas

Leia mais

Universidade Federal de Ouro Preto - UFOP Departamento de Computação - DECOM Programação de Computadores I - BCC701

Universidade Federal de Ouro Preto - UFOP Departamento de Computação - DECOM Programação de Computadores I - BCC701 Universidade Federal de Ouro Preto - UFOP Departamento de Computação - DECOM Programação de Computadores I - BCC701 www.decom.ufop.br/red 2017-1 Aula Teórica 05 Laços 1 Conteúdos da Aula Instrução de Repetição

Leia mais

Linguagem de Programação I. Aula 08 Linguagem C: Arrays

Linguagem de Programação I. Aula 08 Linguagem C: Arrays Linguagem de Programação I Aula 08 Linguagem C: Arrays Da Aula Anterior Tipos de dados básicos em C Modificadores de tipo Declaração de Variáveis Operadores em C Estruturas de Controle Nesta Aula Arrays

Leia mais

ESTRUTURAS DE CONTROLE

ESTRUTURAS DE CONTROLE ESTRUTURAS DE CONTROLE ESTRUTURAS DE REPETIÇÃO EM LINGUAGEM C 03/12/16 Repetição Contada Fluxograma Linguagem C I = C até F sim Comando não For (i=c; i

Leia mais

Estruturas de Repetição. for() while() do-while() break; continue;

Estruturas de Repetição. for() while() do-while() break; continue; Estruturas de Repetição for() while() do-while() break; continue; 1 Auto-Ajuda (!) Como ajudar a solucionar erros básicos do meu programa? Verificar os ; Verificar se não há comandos em maiúsculas; Verificar

Leia mais

C Comandos de Controle

C Comandos de Controle C Comandos de Controle Adriano Cruz adriano@nce.ufrj.br 19 de julho de 2017 Instituto de Matemática Departamento de Ciência da Computação UFRJ 1 Revisão da Seção Introdução Comandos de Teste Comandos de

Leia mais

INF1005 Programação I. Pontifícia Universidade Católica Departamento de Informática

INF1005 Programação I. Pontifícia Universidade Católica Departamento de Informática INF1005 Programação I Pontifícia Universidade Católica Departamento de Informática 1 INF1005 Expressões e Operadores Pontifícia Universidade Católica Departamento de Informática 2 Farinha, açúcar, manteiga,fermento...

Leia mais

Linguagem C (repetição)

Linguagem C (repetição) Linguagem C (repetição) André Tavares da Silva andre.silva@udesc.br Exercício Escrever um programa que conte (mostre na tela) os números de 1 a 100. Comandos aprendidos até o momento: printf, scanf, getchar,

Leia mais

Aula 15: Repetição (Parte 3)

Aula 15: Repetição (Parte 3) Aula 15: Repetição (Parte 3) 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

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

CURSO SUPERIOR DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS DISCIPLINA : INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO ASSUNTO: C CURSO SUPERIOR DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS DISCIPLINA : INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO ASSUNTO: C PROFESSOR : Romilson Lopes Sampaio Estruturas de Repetição São três estruturas

Leia mais

imprimir seus quadrados.

imprimir seus quadrados. 1) Dada uma seqüência de números inteiros não-nulos, seguida por 0, imprimir seus quadrados. int numero, /* usada para leitura da sequencia */ quadrado; /* guarda o quadrado do numero lido */ printf("\n\tcalculo

Leia mais

MC-102 Aula 04 Expressões Relacionais, Lógicas e Comandos Condicionais

MC-102 Aula 04 Expressões Relacionais, Lógicas e Comandos Condicionais MC-102 Aula 04 Expressões Relacionais, Lógicas e Comandos Condicionais Instituto de Computação Unicamp 26 de Agosto de 2016 Roteiro 1 Expressões relacionais 2 Expressões lógicas 3 4 Exercícios (Instituto

Leia mais

Apresentar os comandos de controle associados com as estruturas de repetição.

Apresentar os comandos de controle associados com as estruturas de repetição. Cláudio C. Rodrigues Faculdade da Computação - UFU LINGUAGEM C 03: ESTRUTURAS DE REPETIÇÃO 1 Objetivo Apresentar as estruturas de repetição while, do while e for... as quais nos permitem executar um trecho

Leia mais

1 se n = 0 n (n 1)! se n 1

1 se n = 0 n (n 1)! se n 1 Recursão versus Iteração Problema: Cálculo de n! = n (n 1)... 1 int facti(int n) { int fac=n; while(n>0){ fac=fac*n; n--; } return fac; } [epd94, Cap. 5.13-15] Definição recursiva: n! = { 1 se n = 0 n

Leia mais

Aula 15 Variáveis Indexadas (vetores)

Aula 15 Variáveis Indexadas (vetores) Aula 15 Variáveis Indexadas (vetores) Além das variáveis normais já conhecidas, podemos ter também variáveis indexadas. Tais variáveis são referenciadas por um nome e um índice. Especialmente úteis para

Leia mais

Introdução à Programação

Introdução à Programação Introdução à Programação 1.Ano LCC-MIERSI DCC - FCUP Nelma Moreira Aula 6 Números em vírgula flutuante Representação de um número em vírgula flutuante tem três componentes: um sinal, s uma fracção, f um

Leia mais

1) Operadores de auto incremento ++ e auto decremento --

1) Operadores de auto incremento ++ e auto decremento -- Aula 09 - Operadores de auto incremento e auto decremento, atribuição múltipla, atribuição na declaração, atribuição resumida e algumas regras de boa programação. 1) Operadores de auto incremento ++ e

Leia mais

Recursão David Déharbe

Recursão David Déharbe Recursão David Déharbe 1 1 Objetivos da aula O conceito de recursão. Exemplos. Programação em C. 2 2 Roteiro da aula Revisão de funções; Motivação; Definição; Dois exemplos básicos; Recursão mútua; Dois

Leia mais

Controle de Fluxo. Laços e Desvios incondicionais

Controle de Fluxo. Laços e Desvios incondicionais Controle de Fluxo Laços e Desvios incondicionais Laços Em C, há três comandos de ITERAÇÃO ou LAÇOS: for while do... while Estes permitem que um conjunto de instruções seja executado até que ocorra uma

Leia mais

Métodos Computacionais em Física

Métodos Computacionais em Física Métodos Computacionais em Física Tatiana G. Rappoport tgrappoport@if.ufrj.br 2014-2 Informações gerais Todas as informações sobre o curso, ementa, cronograma, listas de exercício etc podem ser encontradas

Leia mais

UNIVERSIDADE LUSÓFONA DE HUMANIDADES E TECNOLOGIAS 2º Semestre 2013/2014

UNIVERSIDADE LUSÓFONA DE HUMANIDADES E TECNOLOGIAS 2º Semestre 2013/2014 UNIVERSIDADE LUSÓFONA DE HUMANIDADES E TECNOLOGIAS 2º Semestre 2013/2014 Programação em C 18/06/2014 Leia com atenção as perguntas e justifique cuidadosamente todas as respostas 1. Qual o objetivo de uma

Leia mais

LINGUAGEM C: COMANDOS DE REPETIÇÃO

LINGUAGEM C: COMANDOS DE REPETIÇÃO LINGUAGEM C: COMANDOS DE REPETIÇÃO Prof. André Backes ESTRUTURAS DE REPETIÇÃO Uma estrutura de repetição permite que uma sequência de comandos seja executada repetidamente, enquanto determinadas condições

Leia mais

DURAÇÃO DA PROVA: 2 horas

DURAÇÃO DA PROVA: 2 horas MAC2166 Introdução à Computação Escola Politécnica Primeira Prova 07 de abril de 2015 Nome: Assinatura: N ō USP: Turma: Professor: Instruções: 1. Não destaque as folhas deste caderno. 2. A prova contém

Leia mais

Aula 7 - Mais problemas com inteiros

Aula 7 - Mais problemas com inteiros Aula 7 - Mais problemas com inteiros Já vimos nas aulas anteriores alguns detalhes de operações com inteiros. a) A divisão é inteira e o resultado é truncado b) Existe o operador % (resto da divisão) c)

Leia mais

5 - COMANDOS DE CONTROLE DE PROGRAMA Em C existem os comandos de decisões, os comandos de iteração (ou de laços) e os comandos de desvios.

5 - COMANDOS DE CONTROLE DE PROGRAMA Em C existem os comandos de decisões, os comandos de iteração (ou de laços) e os comandos de desvios. 3636363636363636363636363636363636363636363636363636 5 - COMANDOS DE CONTROLE DE PROGRAMA Em C existem os comandos de decisões, os comandos de iteração (ou de laços) e os comandos de desvios. 5.1 - Comandos

Leia mais

Introdução à Ciência da Computação

Introdução à Ciência da Computação Introdução à Ciência da Computação Introdução à Linguagem C: Parte II Prof. Ricardo J. G. B. Campello Sumário Seleção Simples Seleção Composta Seleção Encadeada Seleção de Múltipla Escolha Repetição com

Leia mais

Linguagem C estruturas de repetição

Linguagem C estruturas de repetição Linguagem C estruturas de repetição IF61A/IF71A - Computação 1 Prof. Leonelo Almeida Universidade Tecnológica Federal do Paraná Até agora... Introdução à linguagem C Estrutura de um programa Escrita e

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

Waldemar Celes e Roberto Ierusalimschy. 29 de Fevereiro de 2012

Waldemar Celes e Roberto Ierusalimschy. 29 de Fevereiro de 2012 Capítulo 5: Repetições Waldemar Celes e Roberto Ierusalimschy 29 de Fevereiro de 2012 1 Construção de laços Uma das principais características de um computador é sua capacidade para realizar cálculo e

Leia mais

Comandos de Repetição -Laços

Comandos de Repetição -Laços Comandos de Repetição -Laços Os comandos de repetição possibilitam que um conjunto de comandos possam ser repetidos seguindo uma determinada regra ou condição. alguns comandos repetem um conjunto de instruções

Leia mais

ECT1203 Linguagem de Programação

ECT1203 Linguagem de Programação Universidade Federal do Rio Grande do Norte Escola de Ciências e Tecnologia ECT1203 Linguagem de Programação Prof. Aquiles Burlamaqui Profa. Caroline Rocha Prof. Luiz Eduardo Leite Prof. Luciano Ferreira

Leia mais

Comandos de Repetição Parte II

Comandos de Repetição Parte II SSC0101 - ICC1 Teórica Introdução à Ciência da Computação I Comandos de Repetição Parte II Prof. Vanderlei Bonato: vbonato@icmc.usp.br Prof. Claudio Fabiano Motta Toledo: claudio@icmc.usp.br Sumário Estrutura

Leia mais

C Comandos de Controle

C Comandos de Controle C Comandos de Controle Adriano Cruz adriano@nce.ufrj.br Instituto de Matemática Departamento de Ciência da Computação UFRJ 15 de agosto de 2013 Adriano Cruz adriano@nce.ufrj.br (IM-DCC-UFRJ)C Comandos

Leia mais

Linguagens de programação. Introdução ao C (continuação)

Linguagens de programação. Introdução ao C (continuação) Linguagens de programação Introdução ao C (continuação) M@nso 2003 Sumário Introdução à programação Linguagem C Repetição de instruções Ciclos com controlo inicial ciclo While ciclo For Ciclos com controlo

Leia mais

Aula 4 ESTRUTURAS DE REPETIÇÃO (FOR)

Aula 4 ESTRUTURAS DE REPETIÇÃO (FOR) Aula 4 ESTRUTURAS DE REPETIÇÃO (FOR) Profa. Dra. Elisa Yumi Nakagawa 1o semestre/2017 Estruturas de Controle l ESTRUTURA SEQUENCIAL l ESTRUTURAS CONDICIONAIS l l l Estrutura Condicional Simples Estrutura

Leia mais

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

Repetição. Prof. Dr. Silvio do Lago Pereira. Departamento de Tecnologia da Informação Faculdade de Tecnologia de São Paulo Repetição Prof. Dr. Silvio do Lago Pereira Departamento de Tecnologia da Informação Faculdade de Tecnologia de São Paulo Operadores aritméticos de atribuição =

Leia mais

Controle de Fluxo Utilizando C

Controle de Fluxo Utilizando C Instituto Federal de Santa Catarina Câmpus Chapecó Ensino Médio Integrado em Informática Módulo III Unidade Curricular: Programação Estruturada Professora: Lara Popov Zambiasi Bazzi Oberderfer Controle

Leia mais

MC-102 Aula 09 Comandos Repetitivos

MC-102 Aula 09 Comandos Repetitivos MC-102 Aula 09 Comandos Repetitivos Instituto de Computação Unicamp 25 de Agosto de 2015 Roteiro 1 Laços Encaixados Números Primos Dados Mega-Sena 2 Exercícios (Instituto de Computação Unicamp) MC-102

Leia mais

Prof. A. G. Silva. 04 de abril de Prof. A. G. Silva INE5231 Computação Científica I 04 de abril de / 90

Prof. A. G. Silva. 04 de abril de Prof. A. G. Silva INE5231 Computação Científica I 04 de abril de / 90 INE5231 Computação Científica I Prof. A. G. Silva 04 de abril de 2017 Prof. A. G. Silva INE5231 Computação Científica I 04 de abril de 2017 1 / 90 Conteúdo programático O computador - [3 horas-aula] Representação

Leia mais

Cap. 3 Entrada e Saída e Controle de Fluxo

Cap. 3 Entrada e Saída e Controle de Fluxo Programação de Computadores II Cap. 3 Entrada e Saída e Controle de Fluxo Livro: Waldemar Celes, Renato Cerqueira, José Lucas Rangel. Introdução a Estruturas de Dados, Editora Campus (2004) Slides adaptados

Leia mais

MC-102 Aula 09 Comandos Repetitivos

MC-102 Aula 09 Comandos Repetitivos MC-102 Aula 09 Comandos Repetitivos Instituto de Computação Unicamp 15 de Setembro de 2016 Roteiro 1 Laços Encaixados Números Primos Dados Mega-Sena 2 Exercícios (Instituto de Computação Unicamp) MC-102

Leia mais

Linguagem C. Prof.ª Márcia Jani Cícero

Linguagem C. Prof.ª Márcia Jani Cícero Linguagem C Prof.ª Márcia Jani Cícero A estrutura Básica de um Programa em C Consiste em uma ou várias funções ou programas. main( ) // primeira função a ser executada // inicia a função // termina a função

Leia mais

Estruturas de repetição. Objetivos: - Compreender diversos tipos de comandos de repetições disponíveis na linguagem C.

Estruturas de repetição. Objetivos: - Compreender diversos tipos de comandos de repetições disponíveis na linguagem C. capa Estruturas de repetição Objetivos: - Compreender diversos tipos de comandos de repetições disponíveis na linguagem C. - Aprender a implementar algoritmos em C com laços de repetições. Estruturas de

Leia mais

Módulo 3 Controle de Fluxo

Módulo 3 Controle de Fluxo Estruturas de Dados Módulo 3 Controle de Fluxo 16/8/2005 (c) Marco A. Casanova - PUC-Rio 1 Referências Waldemar Celes, Renato Cerqueira, José Lucas Rangel, Introdução a Estruturas de Dados, Editora Campus

Leia mais

Controlo do fluxo de execução

Controlo do fluxo de execução Controlo do fluxo de execução pseudo-código Controlo do fluxo de execução caso Instrução adequada para situações de selecção múltipla em que uma expressão determina as situações alternativas. Essa expressão

Leia mais

Módulo 5. Instruções if e switch. Algoritmos e Estruturas de Dados I C++ (Rone Ilídio)

Módulo 5. Instruções if e switch. Algoritmos e Estruturas de Dados I C++ (Rone Ilídio) Módulo 5 Instruções if e switch Algoritmos e Estruturas de Dados I C++ (Rone Ilídio) Comando de decisão if Executa uma determinada seqüência de comandos se sua condição for verdadeira Sintaxe if (condição)

Leia mais

Linguagem C Estruturas de Repetição

Linguagem C Estruturas de Repetição Linguagem C Estruturas de Repetição José Gustavo de Souza Paiva Introdução Como fazer um programa que mostre na tela os 4 primeiros números ímpares? Primeira solução printf( 1 ); printf( 3 ); printf( 5

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

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

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

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

Estruturas de Repetição

Estruturas de Repetição Estruturas de Repetição 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: (outros

Leia mais

PROGRAMAÇÃO INSTRUÇÕES DA LINGUAGEM C

PROGRAMAÇÃO INSTRUÇÕES DA LINGUAGEM C PROGRAMAÇÃO INSTRUÇÕES DA LINGUAGEM C 1 2 Condicional 1 Se 'C' é verdadeira Então?; 3 Condicional 1 Se 'C' é verdadeira Então? if (C)?; 4 Condicional 2 Se 'C' é verdadeira Então? Senão?? 5 Condicional

Leia mais

Curso de C. Estruturas de Repetição 1/4/ :31 1

Curso de C. Estruturas de Repetição 1/4/ :31 1 Curso de C Estruturas de Repetição 1/4/2008 15:31 1 Estruturas de Repetição Objetivos: Aprender: Como vincular a repetição de blocos à condições Quando utilizar cada uma das estruturas disponíveis 1/4/2008

Leia mais

Aula 3: Algoritmos: Formalização e Construção

Aula 3: Algoritmos: Formalização e Construção Aula 3: Algoritmos: Formalização e Construção Fernanda Passos Universidade Federal Fluminense Programação de Computadores IV Fernanda Passos (UFF) Algoritmos: Formalização e Pseudo-Código Programação de

Leia mais

Estruturas de Decisão e loops

Estruturas de Decisão e loops Estruturas de Decisão e loops Nos códigos que vimos até agora, as instruções são seguidas seqüencialmente usando os valores de variáveis atuais a cada linha. Essa estrutura linear não é adequada para a

Leia mais

Computação eletrônica: Estruturas de repetição

Computação eletrônica: Estruturas de repetição Computação eletrônica: Estruturas de repetição Gurvan Huiban ghuiban@cin.ufpe.br Plano de aula 1 2 A estrutura while 3 A estrutura do-while 4 Observações Estruturas de repetição Repetir a execução de um

Leia mais

Estruturas de Repetição

Estruturas de Repetição Prof.: Edwar Saliba Júnior Fevereiro 2012 1 Nomenclaturas: Loopings, Laços ou Malhas de Repetição; Possibilidades de Parada: Quantidade de repetições previamente definida (melhoria na legibilidade e qualidade

Leia mais

PROGRAMAÇÃO INSTRUÇÕES DA LINGUAGEM C

PROGRAMAÇÃO INSTRUÇÕES DA LINGUAGEM C PROGRAMAÇÃO INSTRUÇÕES DA LINGUAGEM C 1 2 Repetição 1 Enquanto 'C' é verdadeira Fazer? 3 Repetição 1 Enquanto 'C' é verdadeira Fazer? while (C)?; 4 Enunciado: Construa um algoritmo para mostrar os 100

Leia mais

Estruturas de Controle de Fluxo

Estruturas de Controle de Fluxo Estruturas de Controle de Fluxo 1 Instrução condicional if () 187 Estruturas de Controle de Fluxo 1 Instrução condicional (continuação) if () else

Leia mais