PROGRAMAÇÃO DE MICROPROCESSADORES 2007 / 2008
|
|
- Márcio Galvão Figueiredo
- 6 Há anos
- Visualizações:
Transcrição
1 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 Luis Bernardo
2 1 Introdução Nos capítulos 5 e 6 do livro Linguagem C de Luís Damas, recomendado para a disciplina de Programação de Microprocessadores, é feita a introdução das funções e procedimentos, e dos vectores. Esta aula visa consolidar estas matérias através de um conjunto de exercícios. O objectivo desta aula é desenvolver um sistema apostas do totoloto, realizado em várias fases. As primeiras fases têm como objectivo complementar o estudo realizado na aula teórica. A última fase, que corresponde ao programa completo, é avaliada pelo docente. GUARDE O CÓDIGO desenvolvido na memória USB. Durante a próxima aula o docente pode pedir-lhe para mostrar o código desenvolvido neste trabalho, e pode fazer-lhe algumas perguntas. O método de trabalho é nos primeiros exercícios editar os ficheiros fonte com o código fornecido junto do enunciado, e realizar as modificações pedidas. No último exercício o objectivo é resolver o problema proposto, aplicando os conceitos aprendidos nesta secção da matéria. 2 Exercícios de aprendizagem Pretende-se desenvolver um jogo do totoloto (sem número suplementar) que aceite um boletim de apostas, realize o sorteio, e apresente o número total de números acertados em cada aposta. Este tema vai ser usado para realizar um conjunto de exercícios sobre utilização de funções e de vectores. Os vectores (também designados de arrays) são usados para memorizar as apostas (bidimensional) e as chaves (unidimensional). Todo o desenvolvimento é feito estruturando o código em funções. Assume que o aluno realizou os exercícios realizados nas três aulas práticas anteriores, sendo usadas matérias leccionadas nessas aulas. 2.1 ESTRUTURAS DE DADOS Uma aposta do totoloto é actualmente constituída por 6 números de 1 a 49. Para tornar o código capaz de evoluir para futuras versões do Totoloto, vamos definir os valores anteriores com Constantes. Assim, um exemplo de uma aposta é: #define NUMEROS_TOTOLOTO 6 #define MIN_TOTOLOTO 1 #define MAX_TOTOLOTO 49 int aposta[numeros_totoloto]= { 1, 2, 3, 4, 5, 6 ; No exercício final pretendem-se memorizar até o máximo de 10 apostas por boletim. Para isso, vai-se usa um vector de vectores. Isto é, com até dez elementos do tipo vector com NUMEROS_TOTOLOTO. A declaração é a seguinte: 2
3 #define NUMERO_APOSTAS 10 int boletim[numero_apostas][numeros_totoloto]; 2.2 EXERCÍCIO DE APRENDIZAGEM: JOGO COM UMA APOSTA Pretende-se desenvolver o código organizando-o em funções. O método seguido vai ser começar pela função main(), definindo-a como uma sequência de funções de alto nível. No resto deste exercício vão-se desenvolver as funções ler_aposta, sorteio, e resultado, decompondo-as também em sub-funções, até ter todo o programa desenvolvido. Designa-se esta abordagem top-down, ou literalmente, de cima para baixo. Repare que o código no ficheiro totoloto1.c começa com as declarações de #include, depois tem as declarações de constantes globais (#define), e só depois é que aparecem as funções. #include <stdio.h> #define NUMEROS_TOTOLOTO 6 #define MIN_TOTOLOTO 1 #define MAX_TOTOLOTO 49 main() { int aposta[numeros_totoloto]; int chave[numeros_totoloto]; int acertou; printf("introduza os %d números da sua aposta do totoloto\n", NUMEROS_TOTOLOTO); /* A função lê uma aposta para 'aposta' */ le_uma_aposta(aposta); /* Realiza o sorteio e preenche a variável 'chave' com o resultado do sorteio */ sorteio(chave); /* A função 'resultado_aposta' devolve o número de números que O apostador acertou */ acertou= resultado_aposta(chave, aposta); printf("acertou em %d número%s da chave\n", acertou, ((acertou==1)? "" : "s")); Se tentar compilar este código, vai ter três erros as três funções que não estão definidas. Comece por definir as três funções que faltam vazias para conseguir compilar este código (no caso da função resultado_aposta tem de colocar a instrução return 0; porque a função retorna um valor). As funções devem ser declaradas antes do local no código onde são usadas. Em alternativa, podem declarar-se os protótipos das funções após a secção de constantes globais, podendo depois colocar-se o código das funções em qualquer parte do ficheiro. Por exemplo: void le_uma_aposta(int aposta[numeros_totoloto]); Assim, a parte final do ficheiro com o código fica uma sequência de declarações de funções. 3
4 2.2.1 Ler uma aposta A sequência de acções para ler uma aposta será, limpar o vector da aposta, e ler um número de cada vez. Utilizando o exemplo da aula teórica, a função para limpar o vector pode ser: void limpa_chave (int chave[numeros_totoloto]) { int i; for (i= 0; i<numeros_totoloto; i++) chave[i]= 0; /* 0 é um número inválido que significa */ /* que a chave está livre */ Relembra-se que a passagem de vectores num argumento de uma função é feita por referência qualquer modificação dentro da função modifica o vector que é passado como argumento da função. Pelo contrário, a passagem de um tipo básico como argumento é feito por valor as modificações dentro da função não afectam uma variável que é passada como argumento. Assim, a função limpa_chave preenche todos os valores do vector que for indicado como argumento a zero. Para escrever o conteúdo de uma chave, vamos também criar a função escreve_chave. Esta função escreve todos os números, separando-os com vírgulas (excepto o primeiro número, na posição i). void escreve_chave(int chave[numeros_totoloto]) { int i; for (i= 0; i<numeros_totoloto; i++) printf("%s%d", (i==0? "" : ", "), chave[i]); Como uma aposta é constituída por NUMEROS_TOTOLOTO números, então a leitura de números pode ser realizada a partir de outra função mais simples, que lê apenas um número. Para ler um número, com um valor entre 'min' e 'max', pode usar-se a seguinte função: int le_numero(int min, int max) { int n= min-1; /* Número não válido */ do { if (scanf(" %d", &n)!= 1) { /* Se falhou leitura de número retira um carácter */ getchar(); /* e tenta ler um inteiro novamente */ while ((n>max) (n<min)); /* Se está fora de [min, max] */ É necessário garantir que uma aposta não tem números repetidos. Assim, é necessário criar uma função numero_existe que dada uma chave e um número, devolve 1 (verdadeiro) se o número existe, e devolve 0 (falso) se o número não existe. Não se esqueça que pode usar a instrução return para definir o valor retornado pela função, e que pode ter várias instruções return no código da função. int numero_existe(int chave[numeros_totoloto], int numero) { EXERCÍCIO 1: escreva o código desta função! 4
5 A partir das duas últimas funções, é fácil fazer uma função que devolve sempre um número único, diferente de todos os outros que já estão numa chave: int le_numero_unico(int chave[numeros_totoloto], int min, int max) { int n; do { /* Repete até que o número não exista na chave */ n= le_numero(min, max); /* Lê número entre min e max */ while (numero_existe(chave, n)); Como a função le_numero_unico devolve sempre um número diferente dos anteriores e válido, então, a função le_uma_aposta pode simplesmente ler NUMEROS_TOTOLOTO números únicos para as posições da aposta. Escreva o conteúdo da função. void le_uma_aposta(int aposta[numeros_totoloto]) { limpa_chave(aposta); EXERCÍCIO 2: escreva o código que falta nesta função para ler todos os números da aposta! /* Para validar o código escreve a aposta que leu */ printf("leu: "); escreve_chave(aposta); putchar('\n'); Quando completar o exercício, compile e teste o código com uma chave Realização do sorteio A sequência de acções para realizar um sorteio é: limpar o vector da chave e gerar um número aleatório de cada vez, de maneira a ser único. A programação da função sorteio pode tirar proveito de todas as funções desenvolvidas anteriormente. A principal diferença está na função geradora de números aleatórios. Vai-se usar a função da biblioteca C rand, introduzida na página 221 do livro Linguagem C. São usadas duas funções: a função numero_aleatorio, que devolve um número aleatório, e a função Inic_Random, que é usada para obter sequências diferentes de cada vez que se pede um número aleatório. Por omissão, a sequência de números gerada é sempre a mesma, excepto quando se define uma semente do gerador diferente. #include <stdlib.h> // Duas bibliotecas onde estão definidos os #include <time.h> // protótipos da função rand, srand, e time /* Deve ser chamada uma vez para ter números aleatórios * diferentes de cada vez que se corre a função numero_aleatorio */ void Inic_Random() { long ultime; time(&ultime); // Obtém hora actual srand((unsigned) ultime); // Define semente do gerador 5
6 /* Devolve um número aleatório entre min e max */ int numero_aleatorio(int min, int max) { return min + rand()%(max-min+1); A partir da função numero_aleatorio é possível criar uma função numero_aleatorio_unico, que devolve um número ainda não existe num vector; e com esta função é também simples criar finalmente a função sorteio: int numero_aleatorio_unico(int chave[numeros_totoloto], int min, int max) { int n; do { /* Repete até que o número não exista na chave */ n= numero_aleatorio(min, max); while (numero_existe(chave, n)); void sorteio(int chave [NUMEROS_TOTOLOTO]) { Inic_Random(); limpa_chave(chave); // Para ter chaves diferentes EXERCÍCIO 3: escreva o código que falta nesta função para sortear todos os números da chave! /* Para validar o código escreve a aposta que leu */ printf("a chave sorteada foi: "); escreve_chave(chave); putchar('\n'); Quando completar o exercício, compile e teste o código Verificar o resultado da aposta Para verificar o resultado da aposta, a função resultado_aposta vai ter de testar cada um dos números da aposta, e verificar se ele existe na chave. No final, deve contar quantos números aparecem, e retornar esse número. Deixa-se esta função para exercício. int resultado_aposta (int chave[numeros_totoloto], int aposta[numeros_totoloto]) { int n= 0; EXERCÍCIO 4: escreva o código que falta nesta função para contar os números correctos! 6
7 3 Exercício final: Jogo com várias apostas Pretende-se estender o programa desenvolvido anteriormente para aceitar boletins de até 10 apostas. Assim, o programa deve começar por pedir ao utilizador o número de apostas que pretende realizar, aceitando apenas um número entre 1 e 10. Depois, deve ler sequencialmente cada uma das apostas, até ao número escolhido pelo utilizador. Deve realizar um único sorteio, e mostrar o resultado de cada uma das apostas individualmente. Repare que se adoptar a declaração de boletim apresentada na secção 2.1 para memorizar os dados, boletim[0] é um vector de NUMEROS_TOTOLOTO com elementos do tipo inteiro. Logo, podem usar-se todas as funções que foram definidas no exercício 2 sobre os elementos do boletim, e logo, para realizar este exercício final. Recomenda-se que crie um novo ficheiro a partir do ficheiro gerado durante a secção 2 (totoloto_final.c), e que o modifique até desenvolver o programa pretendido. Neste trabalho vai ser avaliada a capacidade estruturar e de reaproveitar o código desenvolvido anteriormente. Na janela seguinte ilustra-se a interacção com a aplicação pretendida. A negrito e sublinhado aparece o que o utilizador escrever o resto foi escrito pela aplicação../totoloto_final Quantas apostas quer realizar (1-10)? 2 Introduza os 6 números da sua aposta[1] do totoloto Leu: 1, 2, 3, 4, 5, 6 Introduza os 6 números da sua aposta[2] do totoloto Leu: 7, 8, 9, 10, 11, 12 A chave sorteada foi: 22, 46, 12, 16, 17, 13 Na aposta 1 acertou em 0 números da chave Na aposta 2 acertou em 1 número da chave Este exercício vai ser avaliado pelo docente durante a próxima aula. Caso tenha conseguido terminar durante a aula chame o docente e mostre o trabalho a funcionar. Senão, complete o trabalho após o fim da aula, e traga-o completo para a próxima aula. 7
PROGRAMAÇÃ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 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 maisPROGRAMAÇÃO DE MICROPROCESSADORES 2009 / 2010
Departamento de Engenharia Electrotécnica PROGRAMAÇÃO DE MICROPROCESSADORES 2009 / 2010 Mestrado Integrado em Engenharia Electrotécnica e Computadores 1º ano 2º semestre Trabalho nº 5 Funções e Vectores
Leia maisPROGRAMAÇÃO DE MICROPROCESSADORES 2009 / 2010
Departamento de Engenharia Electrotécnica PROGRAMAÇÃO DE MICROPROCESSADORES 2009 / 2010 Mestrado Integrado em Engenharia Electrotécnica e Computadores 1º ano 2º semestre Trabalho nº 6 Strings e Apontadores
Leia mais3. Vectores: Algoritmos de Pesquisa. João Pascoal Faria (versão original) Ana Paula Rocha (versão 2004/2005) Luís Paulo Reis (versão 2005/2006)
3. Vectores: Algoritmos de Pesquisa João Pascoal Faria (versão original) Ana Paula Rocha (versão 2004/2005) Luís Paulo Reis (versão 2005/2006) FEUP - MIEEC Prog2-2006/2007 Introdução Algoritmo: conjunto
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 maisAlgoritmos e Estruturas de Dados 2005/2006. Algoritmo: conjunto claramente especificado de instruções a seguir para resolver um problema
Vectores: Algoritmos de Pesquisa Algoritmos e Estruturas de Dados 2005/2006 Introdução Algoritmo: conjunto claramente especificado de instruções a seguir para resolver um problema noção de algoritmo muito
Leia maisPROGRAMAÇÃO DE MICROPROCESSADORES 2009 / 2010
Departamento de Engenharia Electrotécnica PROGRAMAÇÃO DE MICROPROCESSADORES 2009 / 2010 Mestrado Integrado em Engenharia Electrotécnica e Computadores 1º ano 2º semestre Trabalho nº 3 Testes, condições
Leia maisFundamentos de Programação
Fundamentos de Programação CP41F Aula 2 Prof. Daniel Cavalcanti Jeronymo Conceito de algoritmo. Raciocínio lógico na construção de algoritmos. Estrutura de algoritmos. Universidade Tecnológica Federal
Leia maisProgramação: Vetores
Programação de Computadores I Aula 09 Programação: Vetores José Romildo Malaquias Departamento de Computação Universidade Federal de Ouro Preto 2011-1 1/62 Motivação Problema Faça um programa que leia
Leia mais1 Introdução. 2 Algumas funções úteis para lidar com strings
Departamento de Engenharia Electrotécnica PROGRAMAÇÃO DE MICROPROCESSADORES 2007 / 2008 Mestrado Integrado em Engenharia Electrotécnica e Computadores 1º ano 1º semestre Strings e apontadores http://tele1.dee.fct.unl.pt
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 maisIntrodução a linguagem C. Introdução à Programação 06/07
Introdução a linguagem C Introdução à Programação 06/07 A LINGUAGEM DE PROGRAMAÇÃO C A linguagem C foi criada, na década de setenta, por Dennis M. Ritchie; Apesar de se considerar uma linguagem de alto
Leia maisLinguagem de Programação I. Aula 10 Funções
Linguagem de Programação I Aula 10 Funções Da Aula Anterior Tipos de dados básicos e operadores em C Declaração de variáveis e modificadores de tipo Estruturas de Controle Arrays unidimensionais Geração
Leia maisProgramação. Folha Prática 5. Lab. 5. Departamento de Informática Universidade da Beira Interior Portugal Copyright 2010 All rights reserved.
Programação Folha Prática 5 Lab. 5 Departamento de Informática Universidade da Beira Interior Portugal 2015 Copyright 2010 All rights reserved. 1. Revisão. 2. Objectivos. 3. Exercícios LAB. 5 5ª semana
Leia maisVetores. e o programa deverá ler os valores separadamente:
Vetores Vetor é um tipo de dado usado para representar uma certa quantidade de variáveis de valores homogêneos (do mesmo tipo). Imagine o seguinte problema: calcular a média das notas da prova de 5 alunos.
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 maisLINGUAGEM C: FUNÇÕES FUNÇÃO 04/07/2017. Funções são blocos de código que podem ser nomeados e chamados de dentro de um programa.
LINGUAGEM C: FUNÇÕES Prof. André Backes FUNÇÃO Funções são blocos de código que podem ser nomeados e chamados de dentro de um programa. printf(): função que escreve na tela scanf(): função que lê o teclado
Leia mais1.a) Qual a diferença entre uma linguagem de programação de alto nível e uma linguagem de programação de baixo nível?
P1 Conceitos (2,4 valores) 1.a) Qual a diferença entre uma linguagem de programação de alto nível e uma linguagem de programação de baixo nível? (0.8v) 1.b) Indique três vantagens de criar um programa
Leia maisProgramação de Computadores ( ) Sexta folha de Problemas
Programação de Computadores (2013-2014) Sexta folha de Problemas Matéria abordada: funções (passagem de parâmetros por valor), alcance das variáveis, ciclos (while, do while, for), switch; gama dos números
Leia maisLeitura e Validação de Dados I
Leitura e Validação de Dados I Muitas vezes, um programa interativo requer que sejam lidos e processados vários dados até que um valor que indica o final do programa é lido e, então, o programa é encerrado.
Leia maisLEIA ATENTAMENTE AS INSTRUÇÕES PARA A RESOLUÇÃO DO
Nome:... B.I. :... Nº de Estudante:... Curso:... Turma:... Unidade Curricular:...Programação por Objectos Código: 21093 Data: 22 de Julho 2010 Assinatura do Vigilante:... Classificação ( ) Assinatura do
Leia maisLaboratório 4 Correcção de erros sintácticos e tipos de dados primitivos
Instituto Politécnico de Setúbal Escola Superior de Tecnologia Departamento de Sistemas e Informática Laboratório 4 Correcção de erros sintácticos e tipos de dados primitivos Disciplina de Introdução à
Leia maisLISTA DE EXERCÍCIOS - ro. 02
USP ICMC SSC SSC0100 - Introdução à Ciência da Computação I (Prática) Professor responsável: Fernando Santos Osório Semestre: 2009/1 Horário: Terça 14h20 (Turma A2) E-mail: fosorio.at. icmc.usp.br fosorio.at.
Leia maisProgramação. MEAer e LEE. Manipulação de ficheiros de texto. Bertinho Andrade da Costa. Instituto Superior Técnico. 2010/2011 1º Semestre
Programação MEAer e LEE Bertinho Andrade da Costa 2010/2011 1º Semestre Instituto Superior Técnico Manipulação de ficheiros de texto Programação 2010/2011 IST-DEEC Manipulação de Ficheiros 1 Sumário Ficheiros
Leia maisVariáveis, Tipos de Dados e Operadores
! Variáveis, Tipos de Dados e Operadores Engenharias Informática Aplicada 2.o sem/2013 Profa Suely (e-mail: smaoki@yahoo.com) VARIÁVEL VARIÁVEL É um local lógico, ligado a um endereço físico da memória
Leia maisEstruturas. K&R: Capitulo 6. Estruturas IAED, 2014/2015. Introdução às Estruturas Estruturas e Funções Vectores de Estruturas Typedef Exemplo
Estruturas K&R: Capitulo 6 Estruturas Introdução às Estruturas Estruturas e Funções Vectores de Estruturas Typedef Exemplo 2 1 Motivação Definir uma representação agregada na linguagem C para manipular
Leia maissystem("pause"); //Envia comando para o sistema operacional solicitando parada de execução do programa } //limitador do corpo do programa
Atividade Prática no Ambiente Dev C++ Para as nossas atividades práticas vamos utilizar o ambiente de desenvolvimento da Linguagem C, Dev C++, ele é bastante fácil de utilizar e com muitos recursos. Segue
Leia maisAula 1 Apresentação do Curso
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 1 Apresentação do Curso Responsável Prof. Seiji Isotani (sisotani@icmc.usp.br)
Leia mais1 Exercícios com ponteiros
Computação para Informática Funções e Ponteiros1 EXERCÍCIOS COM PONTEIROS Computação para Informática - Prof. Adriano Joaquim de Oliveira Cruz Aula Prática - Funções e ponteiros O objetivo desta aula prática
Leia maisALGORITMOS E LÓGICA DE PROGRAMAÇÃO PRÉ AULA PRÉ AULA 31/08/2015
ALGORITMOS E LÓGICA DE PROGRAMAÇÃO Prof. Esp. Fabiano Taguchi http://fabianotaguchi.wordpress.com fabianotaguchi@gmail.com PRÉ AULA algoritmo Cálculo detempo numero: inteiro escreva( Digite um número:
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 maisC 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 maisLinguagem C. André Tavares da Silva.
Linguagem C André Tavares da Silva dcc2ats@joinville.udesc.br Lógica de Programação O objetivo da lógica de programação é exercitar os métodos de raciocínio e elaborar soluções coerentes para determinados
Leia maisUniversidade Federal de Goiás Instituto de Informática Simulado da Prova 2 de Introdução a Programação
Universidade Federal de Goiás Instituto de Informática Simulado da Prova 2 de Introdução a Programação Instruções: 1. A prova deve ser realizada individualmente e sem consultas. 2. As respostas deverão
Leia mais... Subprogramas Após fazer as tarefas previstas o nosso programa devolve o comando ao sistema operativo. Isto está numa hierarquia onde o nosso progr
26 - Subprogramas Executar um programa é pedir ao sistema operativo (que é o programa principal de um computador) que passe o comando do computador para o nosso programa. ... Subprogramas Após fazer as
Leia maisProgramação Estruturada Prof. Rodrigo Hausen Organização e Gerenciamento de Memória
Programação Estruturada Prof. Rodrigo Hausen http://progest.compscinet.org Organização e Gerenciamento de Memória 1 AULA PASSADA - vetores ou arrays Declaração de um vetor (array) em C: tipo nome[tamanho];
Leia maisFunções em Linguagem C Parte II
Slides inicialmente preparados pelo Prof. Dr. Claudio Fabiano Motta Toledo Funções em Linguagem C Parte II Profa. Dra. Elisa Yumi Nakagawa 1. Semestre 2017 Sumário Introdução a Ponteiros Escopo de Variáveis
Leia maisPROGRAMAÇÃ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 maisESCOLA SUPERIOR DE TECNOLOGIA DE TOMAR DEPARTAMENTO DE ENGENHARIA INFORMÁTICA 2006/2007
ESCOLA SUPERIOR DE TECNOLOGIA DE TOMAR DEPARTAMENTO DE ENGENHARIA INFORMÁTICA INTRODUÇÃO À PROGRAMAÇÃO (ENG. INFORMÁTICA) COMPUTADORES E PROGRAMAÇÃO I (ENG. ELECTROTÉCNICA) 2006/2007 TRABALHO PRÁTICO Nº
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 mais4 MDP. void média e dp(int a[],int n,float em,float ed) 7. Variáveis auxiliares 7. Faça ed igual ao desvio padrão 6 }
1 MDP INTRODUCÃO 1 1. Introducão. Esta é uma demonstração do sistema CWEB (veja http://www.ime.usp.br/~pf/ CWEB/) de Knuth e Levy. Um programa CWEB, como este que você está lendo, é uma espécie de jogo
Leia maisIntrodução à Programação C
Introdução à Programação C Fabio Mascarenhas - 2014.2 http://www.dcc.ufrj.br/~fabiom/introc Recapitulando Um programa C é uma sequência de diretivas (#include e #define), declarações de funções auxiliares,
Leia mais1 Resumo: Matrizes. 2.1 Como declarar uma matriz IME/USP. Departamento de Ciência da Computação
Departamento de Ciência da Computação MAC2166 Introdução a Computação IME/USP Matrizes 1 Resumo: Matrizes são estruturas bi-dimensionais utilizadas para armazenar dados de um mesmo tipo. Para declarar
Leia maisLinguagem C++ Estruturas de controle Parte II Estruturas de repetição
Fundamentos de Programação Linguagem C++ Estruturas de controle Parte II Estruturas de repetição Prof. Bruno E. G. Gomes IFRN 1 Estruturas de Controle Permitem o controle da sequência de execução de um
Leia maisponteiros INF Programação I Prof. Roberto Azevedo
ponteiros INF1005 -- Programação I -- 2016.1 Prof. Roberto Azevedo razevedo@inf.puc-rio.br ponteiros tópicos o que são ponteiros operadores usados com ponteiros passagem de ponteiros para funções referência
Leia maisComo começar a Jogar? Para iniciar o jogo a forma mais fácil é ir a e começar a jogar.
Manual do Utilizador Como começar a Jogar? Para iniciar o jogo a forma mais fácil é ir a http://mega.ist.utl.pt/~jsnl/sudoku/ e começar a jogar. O que preciso para jogar? Precisa de um computador, ligaçã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 mais11 - Estrutura de um programa em C
11 - Estrutura de um programa em C directivas para o compilador { main ( ) declarações instruções } -É possível utilizar comentários, exemplo: /* Comentário */ que não são traduzidos pelo compilador, pois
Leia maisAlgoritmos e Introdução à Programação. Lógica e Linguagem de Programação
Algoritmos e Introdução à Programação Lógica e Linguagem de Programação Prof. José Honorato Ferreira Nunes honoratonunes@softwarelivre.org http://softwarelivre.org/zenorato/honoratonunes Linguagem C Seleção
Leia maisCurso de Programação C em Ambientes Linux Aula 05
Curso de Programação C em Ambientes Linux Aula 05 Centro de Engenharias da Mobilidade - UFSC Professores Gian Berkenbrock e Giovani Gracioli http://www.lisha.ufsc.br/c+language+course+resources Conteúdo
Leia maisMestrado em Engenharia Física Tecnológica
2 a Aula - Os Meus Primeiros Programas em C Programação Mestrado em Engenharia Física Tecnológica Samuel M. Eleutério sme@tecnico.ulisboa.pt Departamento de Física Instituto Superior Técnico Universidade
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 maisPROGRAMAÇÃO FUNÇÕES NA LINGUAGEM C
PROGRAMAÇÃO FUNÇÕES NA LINGUAGEM C 1 Implementações básicas: a) Implementar o procedimento LerMatriz que preenche uma matriz de L linhas por C colunas de inteiros (L, C 1); b) Implementar o procedimento
Leia maisLinguagem C. Programação Estruturada. Modularização (Funções) Prof. Luis Nícolas de Amorim Trigo
Programação Estruturada Linguagem C Modularização (Funções) Prof. Luis Nícolas de Amorim Trigo nicolas.trigo@ifsertao-pe.edu.br Sumário Introdução Por que usar funções? Escopo de Variáveis Declarando uma
Leia maisSSC INTRODUÇÃO À COMPUTAÇÃO PARA ENGENHARIA AMBIENTAL MODULARIZAÇÃO. Profa. Dra. Milena Guessi Margarido
SSC 301 - INTRODUÇÃO À COMPUTAÇÃO PARA ENGENHARIA AMBIENTAL MODULARIZAÇÃO Profa. Dra. Milena Guessi Margarido (milena@icmc.usp.br) MODULARIZAÇÃO Um problema complexo é melhor abordado se for dividido primeiramente
Leia maisPROGRAMAÇÃO INSTRUÇÕES DA LINGUAGEM C
PROGRAMAÇÃO INSTRUÇÕES DA LINGUAGEM C 1 Instruções de Entrada Entrada/Leitura de dados Introduzir um valor inteiro/real para X 2 Instruções de Entrada Entrada/Leitura de dados Introduzir um valor inteiro/real
Leia maisObjectivos. Programação I (2010/2011) 2 o Trabalho de Programação
Programação I (2010/2011) 2 o Trabalho de Programação Introdução As progressões aritméticas e geométricas são exemplos de sucessões numéricas onde o elemento n + 1 depende do elemento n e de uma constante.
Leia maisLinguagens de Programação. Programação Funcional e Haskell Programação Interativa Thiago Alves
Linguagens de Programação Programação Funcional e Haskell Programação Interativa Thiago Alves 1 Introdução Vimos como Haskell pode ser usado para escrever programas batch que recebem todas suas entradas
Leia maisIntrodução aos Algoritmos
Introdução aos Algoritmos Aula 05 Diogo Pinheiro Fernandes Pedrosa http://www2.ufersa.edu.br/portal/professor/diogopedrosa diogopedrosa@ufersa.edu.br Universidade Federal Rural do Semiárido Bacharelado
Leia maisLinguagem C Ficheiros Compilação Separada
Linguagem C Ficheiros Compilação Separada typedef definição de tipos Apontadores para estruturas Ficheiros na bibiloteca standard do C Compilação Separada Definição de novos tipos em C É possível definir
Leia maisTÉCNICO DE INFORMÁTICA - SISTEMAS
782 - Programação em C/C++ - estrutura básica e conceitos fundamentais Linguagens de programação Linguagem de programação são conjuntos de palavras formais, utilizadas na escrita de programas, para enunciar
Leia maisFundamentos de Programação
Licenciatura em Engenharia Informática e de Computadores Fundamentos de Programação Trabalho para casa 22 de Setembro de 2008 Este trabalho corresponde à instalação, no seu computador, do interpretador
Leia maisAULA 2: INTRODUÇÃO A PYTHON. Luís Feliphe Silva Costa
AULA 2: INTRODUÇÃO A PYTHON Luís Feliphe Silva Costa Sumário Variáveis simples Entrada e Saída de dados Operadores Estruturas Condicionais Estruturas de repetição Funções Tratamento de erros Variáveis
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 maisCurso de C. Introdução by Arnaldo V. Moura e Daniel F. Ferber 3/10/ :43 AM
Curso de C Introdução 1 Introdução Roteiro: Recordando Algoritmos Linguagem de Programação O computador Instruções de Máquina Níveis de Abstração Compilação 2 Algoritmos Recordando: Algoritmo: conjunto
Leia maisINF 1005 Programação I lista 09
INF 1005 Programação I lista 09 Vetores 1. [tarefa 115 modificada] Utilizando vetores, implemente e teste um programa que leia as notas dos alunos (uma nota por aluno) do arquivo "notas.txt". Este programa
Leia maisAula 3 Primeiros programas
Aula 3 Primeiros programas FACOM-UFMS 2012 OBJETIVOS DA AULA Introdução ao CodeBlocks; Criação dos primeiros programas; Esta aula foi baseada nos capítulos 3 e 4 da apostila de Programação de Computadores
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 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 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 maisMAC 2166 Introdução à Computação para Engenharia Escola Politécnica Primeiro Semestre de 2003 Primeira Prova 2 de abril de 2003
MAC 2166 Introdução à Computação para Engenharia Escola Politécnica Primeiro Semestre de 2003 Primeira Prova 2 de abril de 2003 Nome: Assinatura: N ō USP: Turma: Instruções: Professor: 1. Não destaque
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º 2 Tipos de dados básicos
Leia maisProgramação C/C++ Slide 5 Nielsen Castelo Damasceno
Programação C/C++ Slide 5 Nielsen Castelo Damasceno Programação estruturada Programação estruturada Programação estruturada Programação estruturada Programação estruturada vetores vetores vetores vetores
Leia maisEstrutura básica de um programa Instruções do Programa Sintaxe das instruções Diretivas apenas o contexto Variáveis e Constantes Tipos e modificadores
Objetivo: Estruturar uma sequencia de comandos em Linguagem C Estrutura básica de um programa Instruções do Programa Sintaxe das instruções Diretivas apenas o contexto Variáveis e Constantes Tipos e modificadores
Leia maisComputação 2. Aula 5. Profª. Fabiany defines vetor, strings e matriz por parâmetros de função
Computação 2 Aula 5 defines vetor, strings e matriz por parâmetros de função Profª. Fabiany fabianyl@utfpr.com.br #define A diretiva #define define um identificador e uma string que o substituirá toda
Leia maisComputação e Programação
Computação e Programação 4ª Aula de (Funções) Instituto Superior Técnico, Dep. de Engenharia Mecânica - Secção Sistemas, Grupo de Controlo Automação e Robótica Exercício 1 ENUNCIADO: Escreva as seguintes
Leia mais5 Comando de Seleção Simples e Composta
5 Comando de Seleção Simples e Composta Ronaldo F. Hashimoto e Carlos H. Morimoto Essa aula introduz o comando de seleção, que permite ao seu programa tomar decisões sobre o fluxo do processamento, ou
Leia maisIntroduçã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 maisProgramação de Computadores I Funções de Repetição da Linguagem C PROFESSORA CINTIA CAETANO
Programação de Computadores I Funções de Repetição da Linguagem C PROFESSORA CINTIA CAETANO Comando WHILE O comando while executa um bloco de comandos enquanto a condição testada for verdadeira (diferente
Leia maisAula 25: Funções com Arrays
CI208 - Programação de Computadores Aula 25: Funções com Arrays Prof. MSc. Diego Roberto Antunes diegor@inf.ufpr.br www.inf.ufpr.br/diegor Universidade Federal do Paraná Setor de Ciências Exatas Departamento
Leia maisUniversidade Federal de Uberlândia Faculdade de Computação. Linguagem C: funções
Universidade Federal de Uberlândia Faculdade de Computação Linguagem C: funções Prof. Renato Pimentel 1 Subprogramas Subprograma: programa que auxilia o programa principal na realização de uma determinada
Leia maisFundamentos da Programação. Ano lectivo , 2 o Semestre Projecto Primeira Parte 1. Nim
Fundamentos da Programação Ano lectivo 2013-14, 2 o Semestre Projecto Primeira Parte 1 Nim Nim é um jogo de estratégia matemática, que pode ser jogado casualmente usando um conjunto de objectos dispostos
Leia mais1 Exercícios com ponteiros
Computação para Informática - Prof. Adriano Joaquim de Oliveira Cruz Oitava Aula Prática - 29 de outubro de 2010 O objetivo desta aula prática é exercitar ponteiros e funções. 1 Exercícios com ponteiros
Leia maisResolução De Problemas Em Informática. Docente: Ana Paula Afonso Resolução de Problemas. 1. Analisar o problema
ALGORITMIA Resolução De Problemas Em Informática Docente: Ana Paula Afonso 2000-2001 Resolução de Problemas 1. Analisar o problema Conhecer o bem o problema Descrever o problema: subdividir, detalhar 2.
Leia maisComputação e Programação
Computação e Programação MEMec, LEAN - 1º Semestre 2015-2016 Aula Teórica 10 Exemplo de desenvolvimento de Programa Modular: Máquina de venda de bilhetes D.E.M. Área Científica de Controlo Automação e
Leia maisCapítulo 6: Arquivos
Capítulo 6: Arquivos Waldemar Celes e Roberto Ierusalimschy 29 de Fevereiro de 2012 1 Funções de entrada e saída em arquivos Nos capítulos anteriores, desenvolvemos programas que capturam seus dados de
Leia maisProgramas Interativos
Programação Funcional DECOM UFOP 2012-1 Aula prática Capítulo 8 Prof. José Romildo Malaquias Programas Interativos Resumo Nesta aula pretende-se explorar construção de programas interativos usando ações
Leia maisVetores são estruturas indexadas utilizadas para armazenar dados de um mesmo tipo: int, char, float ou double. Oexemploaseguirédeumvetordeinteiros:
18 Vetores Ronaldo F. Hashimoto e Carlos H. Morimoto Nessa aula vamos introduzir o tipo vetor. Aofinaldessaaulavocêdeverásaber: Descrever o que são vetores na linguagem C. Declarar vetores. Como acessar
Leia maisProgramação. Folha Prática 6. Lab. 6. Departamento de Informática Universidade da Beira Interior Portugal. Copyright 2010 All rights reserved.
Programação Folha Prática 6 Lab. 6 Departamento de Informática Universidade da Beira Interior Portugal Copyright 2010 All rights reserved. 1. Revisão. 2. Objectivos. 3. Exercícios LAB. 6 6ª semana SUBPROGRAMAS
Leia maisIntrodução à Programação. Introdução a Linguagem C. Prof. José Honorato F. Nunes
Introdução à Programação Introdução a Linguagem C Prof. José Honorato F. Nunes honorato.nunes@ifbaiano.bonfim.edu.br Resumo da aula Introdução Variáveis Tipos de dados Operadores e Expressões: Operadores
Leia maisIntrodução a Programação de Jogos
Introdução a Programação de Jogos Aula 03 Introdução a Linguagem C Edirlei Soares de Lima Estrutura de um Programa C Inclusão de bibliotecas auxiliares: #include Definição
Leia maisFigura 1: Uma matriz contem elementos de um mesmo tipo, com início em (0,0). 30 é o número de colunas!
22 Matrizes Ronaldo F Hashimoto e Carlos H Morimoto Oobjetivodestaaulaéintroduzirotipomatriz Aofinaldessaaulavocêdeverásaber: descrever o que são matrizes em C Declarar matrizes Como acessar elementos
Leia maisSubprogramas. Prof. Carlos Lopes
Subprogramas Prof. Carlos Lopes Motivação Escreva um programa C capaz de calcular a combinação de n valores tomados p a p. Para realizar este cálculo, você deverá utilizar a seguinte fórmula: C n n! p
Leia maisPROGRAMAÇÃO E ALGORITMOS (LEI) Universidade da Beira Interior, Departamento de Informática Hugo Pedro Proença, 2016/2017
PROGRAMAÇÃO E ALGORITMOS (LEI) Universidade da Beira Interior, Departamento de Informática Hugo Pedro Proença, 2016/2017 Resumo Exercícios Gestão de Memória Leitura / Escrita de Ficheiros Tipos de Dados
Leia maisComputação 2. Diego Addan Aula 3. Funções
Computação 2 Aula 3 Funções Diego Addan diegoaddan@gmail.com Funções Função é um subprograma que auxilia o programa principal através da realização de uma determinada subtarefa. As funções são chamados
Leia maisFunções Vetores Matrizes
Funções Vetores Matrizes Além dos tipos elementares (float, double, char, etc.), é possível também passar um vetor ou uma matriz como parâmetro de funções. Quando um vetor é passado como parâmetro, o que
Leia maisLP II Estrutura de Dados
LP II Estrutura de Dados Linguagem C Seleção e Repetição Prof. José Honorato F. Nunes honorato.nunes@ifbaiano.bonfim.edu.br Resumo da aula Estruturas de Seleção Simples Composta Aninhada Estruturas de
Leia maisEstruturas de Dados. Introdução Definição de Ponteiros Declaração de Ponteiros em C Manipulação de Ponteiros em C
Estruturas de Dados Revisão de Ponteiros Prof. Ricardo J. G. B. Campello Sumário Introdução Definição de Ponteiros Declaração de Ponteiros em C Manipulação de Ponteiros em C Operações Ponteiros e Arranjos
Leia maisUniversidade Federal do Espírito Santo. Programação I Tipos de Dados Básicos - C Professora: Norminda Luiza
Universidade Federal do Espírito Santo Programação I Tipos de Dados Básicos - C Professora: Norminda Luiza Variáveis Tipos de Dados Básicos Formação dos identificadores o nome deve começar com uma letra
Leia mais