[epd94, Cap ] Usualmente pretendem-se valores noutros intervalos...se for entre 0 e a-1: srand() % a
|
|
- Dalila Aveiro Aragão
- 6 Há anos
- Visualizações:
Transcrição
1 Geração de números pseudo-aleatórios [epd94, Cap ] 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 da constante simbólica RAND MAX e o protótipo da função encontram-se em <stdlib.h>. #include <stdlib.h> #include <stdio.h> main() { int i; for(i = 1; i <= 100; i++) printf("%d\n",rand()); Usualmente pretendem-se valores noutros intervalos...se for entre 0 e a-1: srand() % a Departamento de Ciência de Computadores da FCUP PI Aula 6 1
2 Simulação do lançamento duma moeda: #include <stdlib.h> #include <stdio.h> cara 0 e coroa 1 main() { int i; for(i=1; i<=10; i++) { if (rand() % 2) printf("cara\n"); else printf("coroa\n"); Execução: % moeda Cara Coroa Cara Cara Cara Cara Coroa Coroa Cara Cara À medida que o número de lançamentos aumenta, o número de coroas deve ser igual ao número de caras. Departamento de Ciência de Computadores da FCUP PI Aula 6 2
3 Alice e Bob atiram a moeda ao ar Lançando uma moeda ao ar repetidamente, a Alice ganha o jogo se aparecer primeiro uma determinada sequência de três valores consecutivos e o Bob ganha se aparecer primeiro outra dessas sequências. 1. A Alice escolhe a sequência 000 (cara, cara, cara) e o Bob a sequência A Alice escolhe a sequência 001 (cara, cara, cara) e o Bob a sequência 011 Quem tem mais probabilidade de ganhar? Isto é, em vários jogos quem ganha mais vezes? Para cada uma das escolhas, serão as sequências da Alice e do Bob equiprováveis? Vamos simular N lançamentos e para cada jogador contabilizar os jogos ganhos e qual a sua frequência (número de jogos ganhos/ número de jogos total). Departamento de Ciência de Computadores da FCUP PI Aula 6 3
4 Algoritmo para um jogo Tem de haver pelo menos 3 lançamentos... ant2 = rand()% 2 ant = rand()% 2 Enquanto (1) fazer t = rand() % 2 se saiu a sequencia da Alice (p.e ant2==0 && ant==0 &&t==1) entao Escreve Alice ganha e parar se saiu a sequencia do Bob (p.e ant2==0 && ant==1 &&t==1) entao Escreve Bob ganha e parar ant2 = ant ant = t Departamento de Ciência de Computadores da FCUP PI Aula 6 4
5 Programa em C para MAXJ jogos #include <stdlib.h> #include <stdio.h> #define MAXJ 1000 main() { int i, a = 0, b = 0, t, ant, ant2; printf("alice Bob\n"); printf(" \n"); for(i=1; i<maxj; i++) { ant2 = rand()%2; ant = rand()%2; while (1) { t = rand()%2; if (ant2 == 0 & ant == 0 & t == 1) {a++; break; else if (ant2 == 0 & ant == 1 & t == 1) {b++; break; else { ant2 = ant; ant = t; printf("%2d %2.1f %2d %2.1f\n",a,((float) a / MAXJ), b, ((float) b / Departamento de Ciência de Computadores da FCUP PI Aula 6 5
6 Execução Alice ganha se aparecer primeiro 000, Bob se aparecer primeiro 111 % alice Alice Bob Conclusão: Como era de esperar, têm a mesma probabilidade de ganhar! Alice ganha se aparecer primeiro 001, Bob se aparecer primeiro 011 % alice Alice Bob Conclusão: Alice tem maior probabilidade de ganhar! Porquê? A prova anaĺıtica é complicada mas o método probabiĺıstico (de Monte Carlo) permite uma aproximação... Departamento de Ciência de Computadores da FCUP PI Aula 6 6
7 Sementes da geração de pseudo-aleatórios Se executarmos várias vezes o programa anterior, a sequência de valores gerada é sempre a mesma! Não é muito aleatório! % alice1 Alice Bob % alice1 Alice Bob % alice1 Alice Bob Não foi cut&paste! Departamento de Ciência de Computadores da FCUP PI Aula 6 7
8 Função srand() A função rand() gera uma sequência de valores que se repete igual a si própria sempre que o programa é executado. Isto, porque, a semente da sequência é sempre a mesma (1)! Para que produza-se uma sequência diferente é necessário, mudar a semente usando a função srand(), cujo argumento inteiro (sem sinal) é a nova semente e que não retorna nenhum valor. srand(41); Se se pretender uma sequência diferente, sempre que o programa é executado, e o utilizador não seja obrigado a introduzir a semente, podemos usar uma função que retorna o valor do relógio do computador em segundos (e cujo protótipo está em time.h): srand(time(null)); Departamento de Ciência de Computadores da FCUP PI Aula 6 8
9 Números aleatórios num intervalo Para gerar inteiros entre a e a+b-1: [epd94, Cap ] i=a + rand() % b; Simulação de lançamentos de um dado Valores entre 1 e 6: 1 + rand() % 6 #include <stdlib.h> #include <stdio.h> main() { int i; for(i = 1; i <= 20; i++) { printf("%3d",1 + (rand() % 6)); if (i % 5 == 0) printf("\n"); %cc dado1.c -o dado1 % dado % Departamento de Ciência de Computadores da FCUP PI Aula 6 9
10 Determinar a frequência absoluta de cada número de 1 a 6, em 6000 lançamentos Algoritmo 1. Definir um contador para cada um dos valores: f1, f2, f3, f4, f5 e f6. 2. Para cada valor gerado (entre 1 e 6), incrementar o contador correspondente. main() { int vez, face, f1 = 0, f2 = 0, f3 = 0, f4 = 0, f5 = 0, f6 = 0; for(vez = 1; vez <= 6000; vez++) { face = 1 + (rand() % 6); if (face == 1) ++f1; else if (face == 2) ++f2; else if (face == 3) else if (face == 4) ++f4; else if (face == 5) ++f5; else ++f6; printf("1 \t2 \t3 \t4 \t5 \t6 \n\n"); printf ("%4d\t%4d\t%4d\t%4d\t%4d\t%4d\t\n",f1,f2,f3,f4,f5,f6); Departamento de Ciência de Computadores da FCUP PI Aula 6 10
11 É preferível usar uma nova instrução... main() { int vez, face, f1 = 0, f2 = 0, f3 = 0, f4 = 0, f5 = 0, f6 =0; for(vez=1; vez<=6000; vez++) { face = 1 + (rand() % 6); switch(face) { case 1: ++f1; break; case 2: ++f2; break; case 3: ++f3; break; case 4: ++f4; break; case 5: ++f5; break; default: ++f6 printf("1 \t2 \t3 \t4 \t5 \t6 \n\n"); printf ("%4d\t%4d\t%4d\t%4d\t%4d\t%4d\t\n",f1,f2,f3,f4,f5,f6); Departamento de Ciência de Computadores da FCUP PI Aula 6 11
12 Execução Cada um devia ocorrer 1000 vezes... % cc dados1.c -o dados1 % dados % Departamento de Ciência de Computadores da FCUP PI Aula 6 12
13 Instrução de escolha switch Permite a selecção de uma de várias alternativas. switch(expr){ case Exp1: Insts1 case Exp2: Insts2... default: Instsd [epd94, Cap. 4.7] Funcionamento: A Expr é calculada. Se for igual a Exp1, a instrução Insts1 é executada,..., etc.se não for igual a nenhuma, é executada Instsd. As expressões Exp1, Exp2,... têm de ser constantes. Cada grupo de instruções Insts1, Insts2 é normalmente terminado com a instrução break. Se não for, a execução continua com as instruções à frente (nas outras alternativas). A parte de default é opcional. Departamento de Ciência de Computadores da FCUP PI Aula 6 13
14 Departamento de Ciência de Computadores da FCUP PI Aula 6 14
15 Departamento de Ciência de Computadores da FCUP PI Aula 6 15
16 Tipos de inteiros em C Os inteiros em C podem ser com sinal ou sem sinal: int i; unsigned int u; E cada um pode ter vários tamanhos: short ou long short int i; long int l; unsigned int u; unsigned long g; unsigned short int s; Os intervalo de números que representam tem haver com o número de bits usados para representar um int:16, 32 ou Departamento de Ciência de Computadores da FCUP PI Aula 6 16
17 Tipo Valor menor Valor Maior 16-bits short int (2 15 1) unsigned short int (2 16 1) int unsigned int long int unsigned long int bits short int unsigned short int int (2 31 1) unsigned int (2 32 1) long int unsigned long int Para saber quais os valores do teu sistema, ver em limits.h... Departamento de Ciência de Computadores da FCUP PI Aula 6 17
18 Caracteres e Código ASCII (American Standard Code for Information Interchange) 0:... 16:... 32:! " # $ % & ( ) * +, -. / 48: : ; < = >? A B C D E F G H I J K L M N O 80: P Q R S T U V W X Y Z [ \ ] ^ _ 96: a b c d e f g h i j k l m n o 112: p q r s t u v w x y z { ~ 128: : : : : À Á ^A ~A Ä Å Æ Ç È É ^E Ë Ì Í ^I Ï 208: -- D ~N Ò Ó ^O ~O Ö Ø Ù Ú ^U Ü Ý l b ß 224: à á ^a ~a ä å æ ç è é ^e ë ì í ^ı ï 240: ~n ò ó ^o ~o ö ø ù ú ^u ü ý l b ÿ Programa que obteve a tabela anterior: Departamento de Ciência de Computadores da FCUP PI Aula 6 18
19 #include <stdio.h> #define LINE 16 main() { int c; for(c = 0;c < 256;c++) { if (c % LINE == 0) printf ("\n %3d: ",c); if(c < 32 (c > 127 && c < 192)) printf(". "); else printf("%c ",c); printf("\n\n"); O tipo char representa o código (ASCII) de um caracter e corresponde a um byte (inteiro de 8-bits). Pode ser signed (-128 a 127) ou unsigned (0 a 256)... Na dúvida pode-se usar int... apenas se gasta mais memória... Departamento de Ciência de Computadores da FCUP PI Aula 6 19
20 Uma constante do tipo char é um caracter entre plicas. Ex: a, A,!, 0. Um caracter também pode ser especificado por \nnn onde nnn é representação em octal do seu código. #include<stdio.h> main(){ int x = 99, y = \120 ; printf("%c tem o codigo ASCII %d\n",x,x); printf("o codigo ASCII %d (octal %o) corresponde a %c\n",y,y,y); Exercício 6.1. Escreva uma tabela dos códigos ASCII de caracteres (superiores a 32) em 4 colunas uma com o caracter e as outras com o seu valor em decimal, hexadecimal e octal, respectivamente. Departamento de Ciência de Computadores da FCUP PI Aula 6 20
21 Ler e escrever caracteres O conversor %c permite o scanf e o printf ler e escrever caracteres: int ch; scanf("%c", &ch); printf("%c",ch); Por exemplo pode-se ler até ao fim da linha: do{ scanf("%c", &ch); while( ch!= \n ); Mas há maneiras mais simples e rápidas de ler e escrever caracteres... Departamento de Ciência de Computadores da FCUP PI Aula 6 21
22 Função getchar() A função getchar() lê um caracter e retorna um inteiro que é: o código do caracter, ou o valor -1 que corresponde a fim de ficheiro (ou a constante simbólica EOF) int ch; ch = getchar(); while ( getchar()!= \n ); Problema 1. Contar a s #include<stdio.h> main() { int c, i = 0; while ((c = getchar())!= -1) if (c == a ) i++; printf("foram lidos %d a\ s",i); Departamento de Ciência de Computadores da FCUP PI Aula 6 22
23 Execução: % cc aa.c -o aa % aa saghaghghggahgghshah y1ty21wjhaajakajka Foram lidos 7 a s Problema 2. Contar o número de vogais de uma sequência de caracteres Algoritmo 1. Definir um contador para cada vogal: na, ne, ni, no e nu 2. Para cada caracter lido determinar se é uma vogal e, se for, incrementar o contador correspondente. Notar que não vale muito a pena ter uma função que determine se um caracter é vogal As vogais minúsculas e maiúsculas têm códigos diferentes e devem ser ambas consideradas e também se podem contar os restantes caracteres... Departamento de Ciência de Computadores da FCUP PI Aula 6 23
24 Programa main() { int c, na = 0, ne = 0, ni = 0, no = 0, nu = 0,nc = 0; while((c = getchar())!= EOF) { switch (c) { case a : case A : ++na; break; case e : case E : ++ne; break; case i : case I : ++ni; break; case o : case O : ++no ;break; case u : case U : ++nu; break; default: ++nc; printf("\n A\t E\t I\t O\t U\t Outros\n\n"); printf ("%d\t%d\t%d\t%d\t%d\t\n",na,ne,ni,no,nu,nc); % vogais < vogais.c A E I O U Outros Departamento de Ciência de Computadores da FCUP PI Aula 6 24
25 Função putchar() A função putchar(c) tem como argumento um inteiro (entre 0 e 255) e escreve o caracter cujo código é esse inteiro. Problema 3. Substituir letras maiúsculas por minúsculas. int maiuscula(int c) {return (c >= A && c <= Z ); main(){ int c; while((c=getchar())!=-1) if(maiuscula(c)) putchar(c+( a - A )); /* a - A = 32 */ else putchar(c); $ cc minus.c -o minus $ minus saku8qwwuinmsa SDHH HDH SJSJKjjjk90986$%%^fqt saku8qwwuinmsa sdhh hdh sjsjkjjjk90986$%%^fqt Departamento de Ciência de Computadores da FCUP PI Aula 6 25
26 Funções para manipular caracteres Acessiveis incluindo o cabeçalho ctype.h. Função Descrição Exemplo isalpha(c) Retorna 0 se c não é uma letra ispalpha( a ) é 0 islower(c) Retorna 0 se c não é uma letra minúscula ispalpha( A ) é 0 isupper(c) Retorna 0 se c não é uma letra maiúscula ispalpha( A ) é 0 isdigit(c) Retorna 0 se c não é um algarismo ispalpha( 5 ) é 0 isalnum(c) Retorna 0 se c não é uma letra nem um ispalnum(? ) é 0 algarismo isspace(c) Retorna 0 se c não é um dos caracteres isspace( ) é 0 brancos ((,\n,\t,\r,\f)) tolower(c) Se c é uma letra maiúscula, retorna a tolower( A ) é a minúscula correspondente, são retorna o próprio caracter toupper(c) Se c é uma letra minúscula, retorna a maiúscula correspondente, são retorna o próprio caracter toupper( a ) é A Departamento de Ciência de Computadores da FCUP PI Aula 6 26
27 A minha versão do Word Count (wc) Exercício 6.2. Para o algoritmo: Contar o número de caracteres, linhas e palavras dum ficheiro 1. contador de caracteres, nc: para cada caracter lido é incrementado; 2. cada linha termina com um caracter \n: contar a ocorrência desses caracteres (nl). 3. Uma palavra é uma sequência de caracteres entre brancos. Vamos usar a função isspace(). Como contar palavras?considerar dois estados: FORA e DENTRO duma palavra. Quando se está FORA e aparece um caracter que não é um branco, passa-se a DENTRO e incrementa-se o contador.se se está DENTRO, passa-se a FORA quando se encontra um branco. Dois ou mais brancos consecutivos não definem palavras. Contador: np Departamento de Ciência de Computadores da FCUP PI Aula 6 27
28 Algoritmo:Para cada caracter lido (diferente de -1), incrementar nc, se o caracter for \n, incrementar nl; se for um separador, o estado é FORA, senão se o estado fosse FORA passa a DENTRO e incrementa np. #include <stdio.h> #include<ctype.h> #define DENTRO 0 #define FORA 1 main() { char c; int nc = 0, np = 0,nl = 0, estado = FORA; while((c=getchar())!= -1) { ++nc; if (c == \n ) ++nl; if (isspace(c)) estado = FORA; else if (estado == FORA) { estado = DENTRO; ++np; printf("\n Caracteres: %d\n Palavras: %d \n Linhas: %d \n",nc,np,nl) Departamento de Ciência de Computadores da FCUP PI Aula 6 28
29 Execução e comparação com o comando wc do UNIX: %cc contapal.c -o contapal % contapal < contapal.c Caracteres: 519 Palavras: 76 Linhas: 25 % wc < contapal.c % Exercício 6.3. Reescreve o programa anterior sem usar as variáveis de estado e, usando eventualmente um outro ciclo interior. Departamento de Ciência de Computadores da FCUP PI Aula 6 29
30 Leituras [epd94, Cap. 4.7,5.9-10] Departamento de Ciência de Computadores da FCUP PI Aula 6 30
31 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 6 31
Introdução à Programação (CC111)
Introdução à Programação (CC111) 1.Ano LCC-MIERSI Nelma Moreira Aula 11 Tipos de inteiros em C Os inteiros em C podem ser com sinal ou sem sinal: int i; unsigned int u; E cada um pode ter vários tamanhos:
Leia maisINTRODUÇÃ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 maisIntrodução à Programação
Introdução à Programação 1.Ano LCC-MIERSI DCC - FCUP Nelma Moreira Aula 7 Tipos de inteiros em C Os inteiros em C podem ser com sinal ou sem sinal:e cada um pode ter vários tamanhos: int i; unsigned int
Leia maisIntroduçã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 maisIntrodução à Programação em C Input / Output
Introdução à Programação em C Input / Output Resumo Aula Anterior Programa começa com função main() Sintaxe para definição de funções Definição de variáveis e atribuições Estruturas de controlo if-then
Leia maisIntrodução à Programação em C (II)
Introdução à Programação em C (II) Resumo Streams de Texto Leitura e escrita de caracteres Caracteres como números inteiros Exemplos Cópia de Ficheiros Contagem de Caracteres Contagem de Linhas Contagem
Leia maisPrimos... Determinar se um inteiro é primo. 1. Um número é primo se apenas é divisível por ele próprio e por 1.
Primos... Problema 1. Determinar se um inteiro é primo. 1. Um número é primo se apenas é divisível por ele próprio e por 1. 2. Algoritmo: percorrer os inteiros de 2 a n-1 e verificar se dividem n:se nenhum
Leia maisLinguagem 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 maisIntrodução à Linguagem C
Engenharia de CONTROLE e AUTOMAÇÃO Introdução à Linguagem C Aula 02 DPEE 1038 Estrutura de Dados para Automação Curso de Engenharia de Controle e Automação Universidade Federal de Santa Maria beltrame@mail.ufsm.br
Leia mais3.1 - Funções para manipular dados de entrada e saída padrão
1616161616161616161616161616161616161616161616161616 3- ENTRADA E SAÍDA EM C Os principais meios para executar operações de entrada e saída (E/S) são: Entrada e saída pelo console (ou padrão): teclado
Leia maisIntrodução à Programação. Strings
Introdução à Programação Strings Sumário Caracteres (ASCII) Exercícios Vectores de caracteres Strings Exercícios Definição Uma string é um conjunto de caracteres armazenados num vector. Em C, o vector
Leia maisIntroduçã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 maisChar e Strings de Caracteres
Atualizado em 27/08/2009 Caracteres Caracteres ocupam 1 byte (8 bits) na memória e são declarados com o tipo char. Declaração: char a, b; char x = a ; char y[12]; char z[26] = { abcdefghijklmnopqrstuvwxyz
Leia maisChar e Strings de Caracteres
Caracteres Caracteres ocupam 1 byte (8 bits) na memória e são declarados com o tipo char. Declaração: /* variáveis simples */ char a, b; char x = a ; /* vetores */ char y[12]; char z[26] = { abcdefghijklmnopqrstuvwxyz
Leia maisLinguagens de Programação I
Linguagens de Programação I Tema # 6 Geração de Números Aleatórios Introdução a Funções Susana M. Iglesias 1 NUMEROS ALEATÓRIOS Uma aplicação divertida e popular da programação é sua utilização, em criar
Leia maisAula 11. Prof. Laura Silva de Assis. Engenharia da Computação. CEFET/RJ - Centro Federal de Educação Tecnológica Celso Suckow da Fonseca
Programação I Aula 11 Prof. Laura Silva de Assis Engenharia da Computação 2 o Período CEFET/RJ - Centro Federal de Educação Tecnológica Celso Suckow da Fonseca UnED Petrópolis 2 o semestre - 2015 1 Sumário
Leia maisLinguagens de Programação
Linguagens de Programação 128 13 129 Linguagens de Programação Uma linguagem de programação é um vocabulário e um conjunto de regras gramaticais usadas para escrever programas de computador. Esses programas
Leia maisVariáveis, Comandos de Atribuição e Comando de Entrada e Saída
BCC 201 - Introdução à Programação Variáveis, Comandos de Atribuição e Comando de Entrada e Saída Guillermo Cámara-Chávez UFOP 1/1 Estrutura Básica de um programa C I < d i r e t i v a s do pré p r o c
Leia maisIntrodução à Programação em C
Introdução à Programação em C Funções Resumo Aula Anterior Tabelas Strings (Tabelas de Caracteres) 2 1 Resumo Funções Definição Protótipo e implementação return e void Passagem por valor Exemplos 3 Funções
Leia maisESTRUTURAS 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 maisK&R: Capitulo 2 IAED, 2012/2013
Elementos da Linguagem C K&R: Capitulo 2 Elementos da Linguagem C Identificadores Tipos Constantes Declarações Operadores aritméticos, lógicos e relacionais Conversões de tipos Operadores de incremento
Leia mais5 - 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 maisModulo 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 maisESTRUTURAS 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 maisA linguagem C (visão histórica)
A linguagem C (visão histórica) A linguagem C é uma linguagem de programação desenvolvida no ínício dos anos 70 por Dennis Ritchie, que trabalhava nos laboratórios Bell e que também inciou em paralelo,
Leia maisEstruturas da linguagem C. 1. Identificadores, tipos primitivos, variáveis e constantes, operadores e expressões.
1 Estruturas da linguagem C 1. Identificadores, tipos primitivos, variáveis e constantes, operadores e expressões. Identificadores Os identificadores seguem a duas regras: 1. Devem ser começados por letras
Leia maisHello World. Linguagem C. Tipos de Dados. Palavras Reservadas. Operadores Aritméticos. Pré e pós incremento e pré e pós decremento
Hello World Linguagem C printf("hello world!\n"); main é a função principal, a execução do programa começa por ela printf é uma função usada para enviar dados para o vídeo Palavras Reservadas auto double
Leia maisIntroduçã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 maisConceitos básicos. Computação eletrônica: Gurvan Huiban
Computação eletrônica: Conceitos básicos Gurvan Huiban ghuiban@cin.ufpe.br Plano de aula 1 Estrutura de um programa em C 2 Variáveis e constantes 3 Comandos de entrada e saída Estrutura de um programa
Leia maisLINGUAGEM DE PROGRAMAÇÃO C AULA 2. Professor: Rodrigo Rocha
LINGUAGEM DE PROGRAMAÇÃO C AULA 2 Professor: Rodrigo Rocha TIPOS, VARIÁVEIS E CONSTANTES Tipos de Dados Variáveis Constantes Introdução a entrada e saída Printf Scanf Ferramentas: Dev-C++ Code::Blocks
Leia maisAula 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 maisProgramas 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 maisLinguagem C. André Tavares da Silva.
Linguagem C André Tavares da Silva dcc2ats@joinville.udesc.br Variáveis Posição nomeada de memória que é usada para guardar um valor que pode ser modificado pelo programa. Todas as variáveis devem ser
Leia maisLinguagens de Programação I
Linguagens de Programação I Tema # 4 Operadores em C Susana M Iglesias FUNÇÕES ENTRADA-SAÍDA I/O printf(), utilizada para enviar dados ao dispositivo de saída padrão (stdout), scanf(), utilizada para ler
Leia maisPROGRAMAÇÃO DE MICROPROCESSADORES 2011 / 2012
Departamento de Engenharia Electrotécnica PROGRAMAÇÃO DE MICROPROCESSADORES 2011 / 2012 Mestrado Integrado em Engenharia Electrotécnica e Computadores 1º ano 1º semestre Trabalho nº 5 Funções http://tele1.dee.fct.unl.pt/pm
Leia maisLinguagem 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 maisPROGRAMAÇÃO DE MICROPROCESSADORES 2007 / 2008
Departamento de Engenharia Electrotécnica PROGRAMAÇÃO DE MICROPROCESSADORES 2007 / 2008 Mestrado Integrado em Engenharia Electrotécnica e Computadores 1º ano 1º semestre Testes, condições e ciclos http://tele1.dee.fct.unl.pt
Leia maisIntroduçã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 maisCaracteres e Cadeias de Caracteres
Caracteres e Cadeias de Caracteres INF1005 Programação I Prof. Hélio Lopes lopes@inf.puc-rio.br sala 408 RDC 1 caracteres e cadeias de caracteres tópicos caracteres cadeias de caracteres (strings) vetor
Leia maisProgramação de Computadores I Introdução ao C PROFESSORA CINTIA CAETANO
Programação de Computadores I Introdução ao C PROFESSORA CINTIA CAETANO Introdução Criada em 1972, por Dennis Ritchie; Centro de Pesquisas da Bell Laboratories; Para utilização no S.O. UNIX; C é uma linguagem
Leia maisEstruturas de Dados. Profa. Juliana Pinheiro Campos
Estruturas de Dados Profa. Juliana Pinheiro Campos Vetores Forma mais simples de estruturar um conjunto de dados. Exemplo: int p[10]; // vetor de inteiros com 10 elementos Reserva de um espaço de memória
Leia maisProgramaçã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 maisEstruturas 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 maisLinguagem C. IF61A/IF71A - Computação 1 Prof. Leonelo Almeida. Universidade Tecnológica Federal do Paraná
Linguagem C IF61A/IF71A - Computação 1 Prof. Leonelo Almeida Universidade Tecnológica Federal do Paraná Até agora... Sabemos construir algoritmos que tenham: Variáveis Comandos sequenciais Entrada e saída
Leia maisProgramaçã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 maisCaracterísticas da Linguagem C
Características da Linguagem C Na aula passada, foi implementado o exemplo utilizado do reajuste salarial O resultado impresso pode ser visualizado da seguinte forma: Características da Linguagem C Introdução
Leia maisComputaçã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 maisProgramação Estruturada
Programação Estruturada Entrada e Saída. Mais sobre dados Professores Emílio Francesquini e Carla Negri Lintzmayer 2018.Q3 Centro de Matemática, Computação e Cognição Universidade Federal do ABC Saída
Leia maisControlo 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 maisEscreva a função e_caracter que verifica se um determinado caracter é um numero ou não. Escreva um Programa de teste da função.
Engenharia informatica Escreva a função e_caracter que verifica se um determinado caracter é um numero ou não. Escreva um Programa de teste da função. #include Int e_caracter (char c) { Return(
Leia maisResumo da matéria: - Sintaxe da definição duma função C: - Diagramas sintácticos do if e dos mecanismos de ciclos em C:
Aula de PGI 15.4.2014 Exercícios que envolvem ciclos e funções Resumo da matéria: - Sintaxe da definição duma função C: tipovalorretorno nomedafuncao( tipo nomevar, tipo nomevar1 ){ int v; // Aqui consta
Leia maisModulo 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 maisLinguagem 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 maisCorreção da prova David Déharbe
Correção da prova David Déharbe 1 1 int w (int n) { int i = 0; while (i * i
Leia maisC 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 maisLinguagem C. Brian W. Kernighan, Dennis Ritchie (K&R) Slides adaptados, inspirados, muitos copiados dos slides do professor Pedro Pereira
Linguagem C Brian W. Kernighan, Dennis Ritchie (K&R) Slides adaptados, inspirados, muitos copiados dos slides do professor Pedro Pereira Centro de Cálculo Instituto Superior de Engenharia de Lisboa João
Leia maisSistemas 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 maisPrimeiro programa em C
SCC120 - Capítulo 3 Variáveis e Condicionais em C João Luís Garcia Rosa Instituto de Ciências Matemáticas e de Computação Universidade de São Paulo - São Carlos http://www.icmc.usp.br/~joaoluis 2010 1
Leia maisAula 3 Constantes e funções de E/S
Programação I Aula 3 e funções de E/S Prof. Laura Silva de Assis e Prof. Luis Carlos Retondaro Engenharia de Computação 2o Período CEFET/RJ - Centro Federal de Educação Tecnológica Celso Suckow da Fonseca
Leia mais3. 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.2. Estrutura de Programas e Representação
Leia maisUNIVERSIDADE 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 maisCURSO 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 maisAlgoritmos e Estruturas de Dados I IEC012. Linguagem C - Guia de bolso - Prof. César Melo
Algoritmos e Estruturas de Dados I IEC012 Linguagem C - Guia de bolso - Prof. César Melo Histórico A linguagem C é uma linguagem de programação inventada na década de 1970 por Dennis Ritchie Brian Kennigaham.
Leia maisControlo de Execução. K&R: Capitulo 3
Controlo de Execução K&R: Capitulo 3 IAED, 2009/2010 Controlo de Execução Instruções e Blocos if else-if switch Ciclos: Instruçõeswhile e for Instruçãodo-while break e continue goto e labels 2 IAED, 2009/2010
Leia mais15/03/2018. Professor Ariel da Silva Dias Paradigma Imperativo
Professor Ariel da Silva Dias Paradigma Imperativo Imperare Comandar É o mais antigo de todos; Baseado no modo de funcionamento do computador; Caracterizada por três conceitos Variáveis; Atribuições; Sequência;
Leia maisCOMANDOS DE DECISÕES. O COMANDO if. O comando if instrui o computador a tomar uma decisão simples. Forma Geral: if (expressão de teste) instrução;
COMANDOS DE DECISÕES O COMANDO if O comando if instrui o computador a tomar uma decisão simples. Forma Geral: if (expressão de teste) instrução; Por exemplo: /* testif.c*/ /* mostra o uso do comando if*/
Leia maisCIT Aula 02 Variáveis e Estruturas de desvio condicional. Autor: Max Rodrigues Marques Carga Horária: 2 h 22/07/15 1
CIT 2015.2 Aula 02 Variáveis e Estruturas de desvio condicional Autor: Max Rodrigues Marques Carga Horária: 2 h 22/07/15 1 Variáveis Uma variável nada mais é que um nome que damos a uma determinada posição
Leia maisEstruturas 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 maisTécnicas de Programação: Comandos de Controle de DEE UFPB
Técnicas de Programação: Comandos de Controle de Programa Prof. Protásio DEE UFPB 1 Comandos de Controle de Programa Comandos que direcionam o fluxo de execução de programa. Em C, tem se 3 categorias:
Leia maisAlgoritmos e Programação
Universidade Federal do Vale do São Francisco Curso de Engenharia da Produção / Elétrica Parte 08 Prof. Jorge Cavalcanti jorge.cavalcanti@univasf.edu.br www.univasf.edu.br/~jorge.cavalcanti www.twitter.com/jorgecav
Leia maisFaculdade de Computação
Faculdade de Computação Programação Procedimental 1 o Laboratório de Programação C Prof. Cláudio C. Rodrigues 1. Introdução O objetivo desta aula prática é exercitar o uso de variáveis de vários tipos
Leia maisPROGRAMAÇÃO DE MICROPROCESSADORES 2007 / 2008
Departamento de Engenharia Electrotécnica PROGRAMAÇÃO DE MICROPROCESSADORES 2007 / 2008 Mestrado Integrado em Engenharia Electrotécnica e Computadores 1º ano 1º semestre Funções e Vectores http://tele1.dee.fct.unl.pt
Leia mais#include <stdio.h> Void main() { printf( Cheguei!\n"); } INTRODUÇÃO A LINGUAGEM C
#include Void main() { printf( Cheguei!\n"); } INTRODUÇÃO A LINGUAGEM C ANTES DO C ERA A LINGUAGEM B B foi essencialmente uma simplificação da linguagem BCPL. B só tinha um tipo de dado, que
Leia maisLinguagens de Programação PROGRAMAÇÃO DE COMPUTADORES. Linguagem C. Linguagem C Estrutura Básica. Constante (literais) Linguagem C Primeiro Programa
Linguagens de Programação PROGRAMAÇÃO DE COMPUTADORES Linguagem C - Introdução Linguagens de Máquina Representação numérica Difícil utilização e compreensão Específica para cada máquina Linguagens Simbólicas(Assembly)
Leia maisSlides trabalhados durante a quinta aula
Slides trabalhados durante a quinta aula prática Estruturas de Controle de Fluxo 3. Laços de repetição (continuação) Exercício: Construa um algoritmo, representando-o através de um pseudocódigo e de um
Leia maisIntrodução à Programação. Prof. Gustavo Callou
Introdução à Programação Prof. Gustavo Callou gustavo.callou@ufrpe.br gcallou@gmail.com Roteiro Histórico Linguagens de Programação Cararterísticas de C Expressões básicas Gustavo Callou DEINFO/UFRPE 2
Leia maisAula 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 maisUNIVERSIDADE 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 30/06/2014 Leia com atenção as perguntas e justifique cuidadosamente todas as respostas 1. Qual o objetivo de um
Leia maisLinguagem de Programação C
Universidade Federal Rural de Pernambuco Departamento de Estatística e Informática Linguagem de Programação C Disciplina : Paradigmas de Programação Prof.: Gláucya Carreiro Boechat glaucyacboechat@gmail.com
Leia maisIntroduçã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 maisPara 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 maisICMC USP. 1.semestre/2011 SCC120 - ICC. Aula: Comandos em C. Profa. Roseli Ap. Francelin Romero
ICMC USP 1.semestre/2011 SCC120 - ICC Aula: Comandos em C Profa. Roseli Ap. Francelin Romero O comando if if ( expressão é verdadeira ) execute comando ou bloco de comandos ; else /* se expressão é falsa
Leia maisRESUMO DE CONCEITOS BÁSICOS DE C
Universidade de São Paulo São Carlos Instituto de Ciências Matemáticas e de Computação RESUMO DE CONCEITOS BÁSICOS DE C 1 Material preparado pela profa Silvana Maria Affonso de Lara 2º semestre de 2010
Leia maisFunções de Entrada e Saída
inicio Escrita no ecrã (Saída de dados) Escrever( introduza o valor do raio ) Raio Leitura do valor do raio S Raio < 0 N O utilizador insere o valor do raio (Entrada de dados do teclado) Escrita no ecrã
Leia maisLEI 2016 LICENCIATURA EM ENGENHARIA INFORMÁTICA
LEI 2016 LICENCIATURA EM ENGENHARIA INFORMÁTICA Avaliam expressões. Estabelecem relações entre operandos. Devolvem Verdadeiro (1) ou Falso (0). Operador Nome Exemplo Significado do Exemplo == Igualdade
Leia maisLinguagem de Programação I. Aula 06 Linguagem C: Tipos de Dados
Linguagem de Programação I Aula 06 Linguagem C: Tipos de Dados Da Aula Anterior Linguagens de Programação A Linguagem C: Como tudo começou Principais características da Linguagem C O primeiro programa
Leia maisProgramação Estruturada
Programação Estruturada Introdução à linguagem C Professores Emílio Francesquini e Carla Negri Lintzmayer 2018.Q3 Centro de Matemática, Computação e Cognição Universidade Federal do ABC Programação estruturada
Leia maisComputação para Informática - Prof. Adriano Joaquim de Oliveira Cruz Segunda Aula Prática - 29 de agosto de 2008
Computação para Informática - Prof. Adriano Joaquim de Oliveira Cruz Segunda Aula Prática - 29 de agosto de 2008 Introdução O objetivo desta aula prática é exercitar comandos de entrada e saída simples
Leia maisComando Switch. Embora a escada if else-if possa executar testes de várias maneiras, ela não é de maneira nenhuma elegante.
Comando Switch Embora a escada if else-if possa executar testes de várias maneiras, ela não é de maneira nenhuma elegante. O código pode ficar difícil de ser seguido e confundir até mesmo o seu autor no
Leia maisAula 14: Estruturas de Seleção e Controle em C
Aula 14: Estruturas de Seleção e Controle em C Fernanda Passos Universidade Federal Fluminense Programação de Computadores IV Fernanda Passos (UFF) Estruturas de Seleção e Controle Programação de Computadores
Leia maisLegibilidade do código fonte
Sumário Legibilidade do código fonte Exemplos Normas Instrução switch Sintaxe e Semântica Exemplo Tipos enumerados Exemplo Programação 2007/2008 DEEC-IST 1 Legibilidade do código fonte Exemplo: Considere
Leia maisLinguagem 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 maisDisciplina de Algoritmos e Programação
Disciplina de Algoritmos e Programação Último Conteúdo Estruturas de condição Estrutura condicional simples Utilização da estrutura de condição if com expressões lógicas simples Utilização do comando if
Leia mais3. 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 maisAula 06: Condicionais (switch)
Aula 06: Condicionais (switch) 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 Condicionais (if - else) Exemplos
Leia maisLinguagem 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 maisExpressões lógicas, expressões condicionais, prioridades e operadores, base binária, operadores de bits
Expressões lógicas, expressões condicionais, prioridades e operadores, base binária, operadores de bits Equivalência entre valores lógicos e aritméticos Quando uma expressão lógica é calculada dentro do
Leia maisLISTA DE EXERCÍCIOS MÊS 03
São José dos Campos, 21 de Maio de 2008 Disciplina: CES 10 Introdução à Computação. Semestre 2008-2º Período Professor: Carlos Henrique Quartucci Forster Estagiária: Michelle de Oliveira Parreira Instituto
Leia maisAlgoritmos RESUMO - LINGUAGEM C
Algoritmos RESUMO - LINGUAGEM C 1 Sintaxe da linguagem C Componentes reconhecidos pela linguagem C (sintaxe da linguagem): tipos propriedades dos dados; declarações partes do programa, podendo dar significado
Leia mais