PROGRAMAÇÃO DE MICROPROCESSADORES 2007 / 2008

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

Download "PROGRAMAÇÃO DE MICROPROCESSADORES 2007 / 2008"

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 Testes, condições e ciclos Luis Bernardo

2 1 Introdução Nos capítulos 3 e 4 do livro Linguagem C de Luís Damas, recomendado para a disciplina de Programação de Microprocessadores, são apresentados respectivamente os testes e condições, e os ciclos. Esta aula visa consolidar estas matérias através de um conjunto de exercícios. Os primeiros quatro exercícios têm como objectivo complementar o estudo realizado na aula teórica. O último exercício é avaliado 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 para este exercício, e pode fazer-lhe algumas perguntas. O método de trabalho é nos primeiros exercícios, editar os ficheiros fontes com o código proposto, e realizar as modificações pedidas, seguindo as instruções do enunciado. No último trabalho é resolver o problema proposto, aplicando os conceitos aprendidos nesta secção da matéria. 2 Exercícios de aprendizagem 2.1 TESTES E CONDIÇÕES Ao contrário de outras linguagens, a linguagem C não define um tipo específico para guardar valores Booleanos (Verdadeiro/Falso). É utilizado o tipo inteiro, onde Falso é representado pelo valor 0 (zero), e verdadeiro, por qualquer valor diferente de 0. Os valores dos tipos básicos apresentados nos exercícios da última aula podem ser comparados utilizando-se as operações: > (maior), >= (maior ou igual), < (menor), <= (menor ou igual), == (igual), e!= (diferente). Os valores Booleanos podem ser combinados utilizando as operações && (AND), (OR), ou! (Negação). As condições Booleanas podem ser testadas, de forma a afectar a sequência do programa executado. A instrução base é a sequência if (cond) then-expr1; else expr2; ou simplesmente if (cond) then-expr1;. Caso se queiram utilizar várias instruções em expr1, e expr2, é necessário colocar estas expressões entre chavetas {. Existem duas formas compactas de teste, baseadas na instrução switch, e no operador ternário?:, com os significados representados na figura abaixo. Deve-se sempre indentar o código dentro de chavetas, e dentro de uma instrução if, else, ou switch, de forma a o tornar legível. switch (var) { case valor1: expr1; break; case valor2: expr2; break; default: exprd; é equivalente a var= cond? expr1 : expr2; é equivalente a if (var == valor1) { expr1; else if (var == valor2) { expr2; else { exprd; if (cond) var= expr1; else var= expr2; EXERCÍCIO 1: Crie um ficheiro novo com o nome nota.c e introduza o código apresentado de seguida, omitindo os comentários (entre /* e */). Este código pretende determinar a nota final à disciplina de Programação de Microprocessadores. No entanto, falta realizar duas regras: a) Um aluno com duas faltas só pode ter no máximo 14 na 2

3 nota de laboratório; b) Um aluno com três faltas só pode ter no máximo 12 valores na nota final. Complete o código com os testes necessários! /* * Exercício 1 - cálculo da nota final de PM * Ficheiro: nota.c */ #include <stdio.h> main() { /* Dados do aluno */ unsigned int nota_teorica= 0, nota_pratica= 0, faltas= 0; float media; /* média final */ unsigned int nota_final; /* nota final */ printf("cálculo da nota final a PM\n\n"); printf("introduza os seguintes dados:\n"); printf("\tnúmero de faltas nos trabalhos práticos: "); scanf("%d", &faltas); printf("\tnota dos trabalhos práticos: "); scanf(" %d", &nota_pratica); printf("\tnota dos testes e exames: "); scanf(" %d", &nota_teorica); /* Calcula média */ if (faltas > 3) { printf("reprovou à disciplina por faltas\n"); else { /* EXERCÍCIO: CORRIJA O QUE FALTA AQUI! */ media= 0.5*nota_pratica + 0.5*nota_teorica; /* Arredonda real a 0.5 e converte para int! */ nota_final= (int)(media+0.5); printf("aprovado com a nota final de %d valores (%.1f)\n", nota_final, media); /* Escreve só 1 casa decimal */ 2.2 CICLOS A instrução while é usada para repetir a realização de outra instrução (ou grupo de instruções entre {) enquanto uma condição se mantiver verdadeira. Existem depois, outras duas instruções, for e do-while, que são formas compactas de while especialmente dedicadas respectivamente a percorrer um conjunto finito de valores, e a realizar um ciclo onde a expressão é sempre realizada uma vez. for (init; cond; pos-inst) while(cond); é equivalente a é equivalente a init; while (cond) { pos-inst; while(cond) { Um ciclo tem geralmente uma variável de controlo do tipo inteiro que percorre uma gama de valores, ou uma variável Booleana, que determina quando se sai do ciclo. 3

4 No primeiro caso, existe a instrução var++ especialmente destinada a incrementar em uma unidade um inteiro ou carácter, ou a instrução var += valor que realiza um incremento de valor unidades sobre a variável var. Também se pode sair do ciclo com a instrução break, ou saltar para a próxima iteração do ciclo com a instrução continue. O código seguinte exemplifica a utilização do ciclo for para a variável i percorrer todos os inteiros entre 0 e i-1, escrevendo uma tabela com os valores de i 2. /* * Exercício 2 - Tabela de n^2 * Ficheiro: ciclo.c */ #include <stdio.h> #include <stdlib.h> /* define exit() para sair do programa */ main() { int i, n=0; long long int res; printf(" TABELA n²\n"); printf("introduza o número de elementos pretendidos: "); if (scanf(" %d", &n)!= 1) { /* Se leu um elemento */ printf("número de elementos inválido\n"); exit(1); /* Sai do programa */ for (i= 0; i<n; i++) { /* i tem valores entre 0 e n-1 */ res= i*i; /* Quadrado do número */ printf("\t%d\t%lld\n", i, res); EXERCÍCIO 2: Crie um ficheiro novo com o nome ciclo.c e introduza o código apresentado na figura anterior, omitindo os comentários (entre /* e */). De seguida modifique o código para escrever a sequência de números de Fibonacci, que têm a 0 Se i == 0 seguinte definição: F ( i) = 1 Se i == 1. F( n 1) + F( n 2) Se i > 1 Sugere-se que declarem duas variáveis auxiliares (Fn1, Fn2) do mesmo tipo de res, para guardar respectivamente os valores de F(n-1) e F(n-2). Depois, dentro do ciclo, teste o valor de i, aplicando a expressão correcta da fórmula. Não se esqueça de actualizar o valor de Fn1 e Fn2 dentro de cada passo do ciclo, para a próxima iteração. EXERCÍCIO 3: Crie um ficheiro novo com o nome substituicao.c e introduza o código apresentado na figura abaixo, omitindo os comentários (entre /* e */). Este código realiza um codificador de substituição (apenas para os caracteres 0, 1 e 2 ), que troca letra a letra uma mensagem, segundo uma chave introduzida pelo utilizador. Este código ilustra a utilização do ciclo do-while para ler cada elemento da chave, garantindo-se que não há letras duplicadas na chave. O getchar a seguir ao ciclo remove o \n que é deixado no buffer de leitura após o número introduzido. Depois, entra num ciclo onde lê a mensagem carácter a carácter sequencialmente e codifica-o utilizando a instrução switch para seleccionar a chave correcta. Desta forma, usa-se o fim de linha da mensagem para parar a leitura ( \n ). Repare que a variável fim funciona como variável de controlo do ciclo, sendo colocada a TRUE quando é lido o primeiro carácter 4

5 diferente de 0, 1 ou 2. Por outro lado, a variável primeiro_caracter é usada para garantir que se escreve apenas uma vez a mensagem A mensagem codificada é:. Pretende-se que modifique o codificador, de forma a codificar os caracteres de 0 a 5, mantendo o mesmo modo de funcionamento: ler a chave e depois ler uma mensagem e codificá-la. /* * Exercício 3 - Cifra substituição * Ficheiro: substituicao.c */ #include <stdio.h> main() { const int FALSE= 0; /* constante Booleana FALSO */ const int TRUE=!FALSE; /* constante Booleana VERDADEIRO */ char k0,k1,k2; /* Guardam chave de '0', '1' e '2' */ char msg, cod; /* Variáveis para guardar mensagem */ int primeiro_caracter= TRUE;/* Controlar 1ª escrita de char */ int fim= FALSE; /* Controlar fim de leitura de mensagem */ /* Ler chave */ printf("introduza a chave da cifra :\n"); printf("'0'="); scanf(" %c", &k0); while((k0<'0') (k0>'2'));//se não estiver entre '0' e '2' printf("'1'="); scanf(" %c", &k1); while((k1<'0') (k1>'2') (k1==k0)); /* ou igual a k0 */ printf("'2'="); scanf(" %c", &k2); while((k2<'0') (k2>'2') (k2==k0) (k2==k1)); /* */ getchar(); /* Retira '\n' do buffer de leitura */ /* Ciclo de leitura de mensagem */ printf("introduza a mensagem a cifrar: "); while (!fim) { msg= getchar(); /* Lê próximo carácter sem saltar espaço */ /* é equivalente a scanf("%c", &msg); */ switch(msg) { case '0': cod= k0; break; case '1': cod= k1; break; case '2': cod= k2; break; default : fim= TRUE; /* Carácter inválido */ if (primeiro_caracter) { /* Só corre uma vez; antecedendo a mensagem cifrada */ printf("\na mensagem codificada é: "); primeiro_caracter= FALSE; /*para não tornar a correr */ if (!fim) /* Se não está a terminar escreve */ putchar(cod); /* o valor codificado */ /* putchar(cod) é equivalente a printf("%c", cod) */ putchar('\n'); /* Muda de linha */ 5

6 3 Exercício final Pretende-se desenvolver um programa para ler valores de tempo no formato h(hora) m(minuto) s(segundo), devolvendo o número de segundos associado ao tempo introduzido. No entanto, o utilizador deve poder omitir campos (e.g. introduzir só h23 ). Para terminar a leitura o utilizador pode introduzir um carácter diferente de h, m ou s. Pretende-se também que o programa valide os valores introduzidos, não deixando introduzir valores de minutos ou segundos superiores a 59, nem introduzir campos repetidos (só se pode introduzir 0 ou 1 campo hora; 0 ou 1 campo minuto; 0 ou 1 campo segundo). Repare que: São necessárias variáveis para guardar cada componente do tempo; Só há leitura da parte numérica de uma componente do tempo se o carácter for válido; Dependendo do carácter lido, o valor numérico contribui para o valor final de tempo com um peso diferente; O ciclo de leitura de componentes do tempo não tem um número de componentes fixo, nem uma ordem fixa. Quando terminar o exercício, chame o docente e mostre a aplicação a funcionar durante a aula. Apresenta-se na figura seguinte um exemplo de utilização com a aplicação pretendida: m56 h37 s23 x Leu 37h 56m 23s = segundos h1 x Leu 1h 0m 0s = 3600 segundos h25 m70 x Erro: número de minutos inválidos h25 h70 x Erro: campo hora duplicado 6

PROGRAMAÇÃO DE MICROPROCESSADORES 2009 / 2010

PROGRAMAÇÃ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 mais

PROGRAMAÇÃO DE MICROPROCESSADORES 2007 / 2008

PROGRAMAÇÃ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

PROGRAMAÇÃO DE MICROPROCESSADORES 2007 / 2008

PROGRAMAÇÃ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 Ficheiros e estruturas http://tele1.dee.fct.unl.pt

Leia mais

PROGRAMAÇÃO DE MICROPROCESSADORES 2009 / 2010

PROGRAMAÇÃ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 mais

Linguagem de Programação C. Comandos de Seleção e Desvio

Linguagem de Programação C. Comandos de Seleção e Desvio Cristiano Lehrer Valores Lógicos Em C não existe nenhum tipo específico de dados para armazenar valores lógicos. Em C o valor lógico FALSO é representado por 0 (ZERO). Tudo aquilo que seja diferente de

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 30/06/2014 Leia com atenção as perguntas e justifique cuidadosamente todas as respostas 1. Qual o objetivo de um

Leia mais

Introdução à Programação em C Input / Output

Introduçã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 mais

PROGRAMAÇÃO DE MICROPROCESSADORES 2011 / 2012

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 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

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

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

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

Leia mais

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

Legibilidade do código fonte

Legibilidade 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 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

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 à Programação

Introdução à Programação Introdução à Programação Aula 05 Estruturas Condicionais Edirlei Soares de Lima Tomada de Decisão Até o momento, todas as instruções dos nossos programas eram executadas sequencialmente.

Leia mais

Estruturas de Decisão. Adaptado de Deise Saccol

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

Leia mais

Linguagem C (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

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

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

Leia mais

TÉCNICO DE INFORMÁTICA - SISTEMAS

TÉ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 mais

Programação Mestrado Integrado em Engenharia Aeronáutica 1º ano, 1º semestre. T. 04 Algoritmos e Programação Estruturada

Programação Mestrado Integrado em Engenharia Aeronáutica 1º ano, 1º semestre. T. 04 Algoritmos e Programação Estruturada Programação Mestrado Integrado em Engenharia Aeronáutica 1º ano, 1º semestre T. 04 Algoritmos e Programação Estruturada Objectivos: Aprender o conceito de algoritmo e suas características fundamentais

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

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

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

Leia mais

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

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

Leia mais

13 Operadores relacionais

13 Operadores relacionais 13 Operadores relacionais Os operadores relacionais permitam comparar valores (ou expressões) dos tipos: inteiro, real ou caracter devolvendo como resultado: verdadeiro (true) ou falso (false) E estes

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

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

Algoritmos e Programação

Algoritmos 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 mais

Programaçã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 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 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

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

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

Linguagem C (estruturas condicionais)

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

Leia mais

LEI 2016 LICENCIATURA EM ENGENHARIA INFORMÁTICA

LEI 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 mais

Introdução à Linguagem C

Introduçã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 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

PROGRAMAÇÃO DE MICROPROCESSADORES 2009 / 2010

PROGRAMAÇÃ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 mais

Linguagem C. André Tavares da Silva.

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

Leia mais

Tópicos Cap. 3 Entrada e Saída e Controle de Fluxo Livro printf e scanf if e? while for switch break continue Entrada e Saída Entrada e Saída

Tópicos Cap. 3 Entrada e Saída e Controle de Fluxo Livro printf e scanf if e? while for switch break continue Entrada e Saída Entrada e Saída Tópicos Programação de Computadores II Cap. 3 e Controle de Fluxo Livro: Waldemar Celes, Renato Cerqueira, José Lucas Rangel. Introdução a Estruturas de Dados, Editora Campus (2004) Slides adaptados dos

Leia mais

Linguagens de Programação I

Linguagens 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 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

PROGRAMAÇÃO INSTRUÇÕES DA LINGUAGEM C

PROGRAMAÇÃ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 mais

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

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

Leia mais

Programação II. Aula 3

Programação II. Aula 3 Programação II Aula 3 Algoritmo Algoritmo: REVISÃO qualquer procedimento bem definido que toma algum valor como entrada e produz algum valor como saída. Técnica de refinamentos sucessivos: dividir um processo

Leia mais

COMANDOS DE CONTROLE DE FLUXO. Luís Charneca.

COMANDOS DE CONTROLE DE FLUXO. Luís Charneca. COMANDOS DE CONTROLE DE FLUXO Luís Charneca luis.charneca@gmail.com O Comando IF (1) Os comandos de controle de fluxo são aqueles que permitem ao programador alterar a sequência de execução do programa.

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

Introducao a Programacao Estruturas de decisão

Introducao a Programacao Estruturas de decisão Introducao a Programacao Estruturas de decisão p ericlesmiranda@gmail.com Slides fornecidos pelo professor Gurvan Huiban Plano de aula 1 Estrutura if-then 2 Estrutura if-then-else 3 O operador condicional

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

Working 03 : Conceitos Básicos I

Working 03 : Conceitos Básicos I Working 03 : Conceitos Básicos I Objetivos: Dominar os conceitos básicos da linguagem de programação C; Aprender a utilizar o compilador, identificando os erros de sintaxe do código fonte; Prazo de Envio:

Leia mais

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

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

Leia mais

A linguagem C (visão histórica)

A 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 mais

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

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

Leia mais

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

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

Leia mais

Linguagem C Controle do Fluxo de Execução. Lógica de Programação

Linguagem C Controle do Fluxo de Execução. Lógica de Programação Linguagem C Controle do Fluxo de Execução Lógica de Programação Caro(a) aluno(a), Aqui começaremos a escrever os nossos primeiros programas em uma Linguagem de Programação. Divirta-se!!! Estrutura Seqüencial

Leia mais

Universidade Federal de Uberlândia Faculdade de Computação. Linguagem C: estruturas de repetição While / Do While / For

Universidade Federal de Uberlândia Faculdade de Computação. Linguagem C: estruturas de repetição While / Do While / For Universidade Federal de Uberlândia Faculdade de Computação Linguagem C: estruturas de repetição While / Do While / For Prof. Renato Pimentel 1 Estruturas de repetição O real poder dos computadores está

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

INF1007: Programação 2. 0 Revisão. 06/08/2015 (c) Dept. de Informática - PUC-Rio 1

INF1007: Programação 2. 0 Revisão. 06/08/2015 (c) Dept. de Informática - PUC-Rio 1 INF1007: Programação 2 0 Revisão 06/08/2015 (c) Dept. de Informática - PUC-Rio 1 Tópicos Principais Variáveis e Constantes Operadores e Expressões Entrada e Saída Tomada de Decisão Construção com laços

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

PROGRAMAÇÃO DE MICROPROCESSADORES 2011 / 2012

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º 2 Tipos de dados básicos

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

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

Exercícios Repetição

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

Leia mais

LINGUAGEM C: COMANDOS DE CONTROLE CONDICIONAL

LINGUAGEM C: COMANDOS DE CONTROLE CONDICIONAL LINGUAGEM C: COMANDOS DE CONTROLE CONDICIONAL Prof. André Backes FLUXOGRAMAS Condição ou Decisão Representado por losangos Normalmente contém uma pergunta do tipo Sim/Não ou um teste de Verdadeiro/Falso.

Leia mais

Métodos Computacionais. Comandos Condicionais e de Repetição em C

Métodos Computacionais. Comandos Condicionais e de Repetição em C Métodos Computacionais Comandos Condicionais e de Repetição em C Tópicos da Aula Hoje vamos acrescentar comportamentos mais complexos a programas em C Comandos Condicionais if-else switch Comandos de Repetição

Leia mais

Estruturas de Repetição

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

Leia mais

TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS LINGUAGEM DE PROGRAMAÇÃO I. Aula 5

TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS LINGUAGEM DE PROGRAMAÇÃO I. Aula 5 TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS LINGUAGEM DE PROGRAMAÇÃO I Aula 5 02/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com http://professorleomir.wordpress.com 1 Agenda Operador

Leia mais

Programaçã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. Copyright 2010 All rights reserved. Programação Folha Prática 5 Lab. 5 Departamento de Informática Universidade da Beira Interior Portugal Copyright 2010 All rights reserved. 1. Revisão. 2. Objectivos. 3. Exercícios LAB. 5 5ª semana ESTRUTURAS

Leia mais

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA ESTRUTURA COM DECISÃO MÚLTIPLA. Prof. Dr. Daniel Caetano

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA ESTRUTURA COM DECISÃO MÚLTIPLA. Prof. Dr. Daniel Caetano LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA ESTRUTURA COM DECISÃO MÚLTIPLA Prof. Dr. Daniel Caetano 2013-1 Objetivos Entender o que são decisões múltiplas Compreender como implementar decisões múltiplas Capacitar

Leia mais

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

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

Leia mais

UNIVERSIDADE LUSÓFONA DE HUMANIDADES E TECNOLOGIAS CURSO DE ENGENHARIA ELECTROTÉCNICA/INDUSTRIAL

UNIVERSIDADE LUSÓFONA DE HUMANIDADES E TECNOLOGIAS CURSO DE ENGENHARIA ELECTROTÉCNICA/INDUSTRIAL UNIVERSIDADE LUSÓFONA DE HUMANIDADES E TECNOLOGIAS CURSO DE ENGENHARIA ELECTROTÉCNICA/INDUSTRIAL 1º Semestre 2005/2006 Introdução à Programação Correcção do Exame de 4/02/2006 Leia com atenção as perguntas

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

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

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

Leia mais

Introdução à Programação (CC111)

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 mais

Capítulo 4: Condicionais

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

Leia mais

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

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

Leia mais

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

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 06: Condicionais (switch)

Aula 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 mais

Resumo da matéria: - Sintaxe da definição duma função C: - Diagramas sintácticos do if e dos mecanismos de ciclos em C:

Resumo 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 mais

Introdução à Programação em C

Introduçã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 mais

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

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

Leia mais

Introdução à Programação SCC-121

Introdução à Programação SCC-121 ICMC USP 1.semestre/2009 Introdução à Programação SCC-121 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

Leia mais

Introdução a Programação de Jogos

Introdução a Programação de Jogos Introdução a Programação de Jogos Aula 06 Estruturas Condicionais Edirlei Soares de Lima Tomada de Decisão Até o momento, todas as instruções dos nossos programas eram executadas

Leia mais

Linguagem C++ Estruturas de controle Parte II Estruturas de repetição

Linguagem 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 mais

Abaixo vemos um programa que coloca os primeiros 100 números inteiros na tela:

Abaixo vemos um programa que coloca os primeiros 100 números inteiros na tela: O Comando for O loop for é usado para repetir um comando, ou bloco de comandos, diversas vezes, de maneira que se possa ter um bom controle sobre o loop. Sua forma geral é: for (inicialização; condição;

Leia mais

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.

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. 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 mais

Introdução à Programação em C (II)

Introduçã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 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

ESTRUTURA COM DECISÃO COMPOSTA

ESTRUTURA COM DECISÃO COMPOSTA LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA ESTRUTURA COM DECISÃO COMPOSTA Prof. Dr. Daniel Caetano 2018-1 Objetivos Entender o que são decisões compostas Compreender como implementar decisões compostas Capacitar

Leia mais

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

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

Leia mais

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

controle de fluxo - condicionais

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

Leia mais

Algoritmos: Conceitos Fundamentais

Algoritmos: Conceitos Fundamentais Algoritmos: Conceitos Fundamentais Instituto de Ciências Matemáticas e de Computação Slides elaborados pela Prof(a). Simone do Rocio Senger de Souza 1o semestre/2012 DADOS, INSTRUÇÕES E EXPRESSÕES TIPO

Leia mais

Conceitos básicos. Computação eletrônica: Gurvan Huiban

Conceitos 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 mais

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

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

Leia mais

Prof. A. G. Silva. 28 de agosto de Prof. A. G. Silva INE5603 Introdução à POO 28 de agosto de / 1

Prof. A. G. Silva. 28 de agosto de Prof. A. G. Silva INE5603 Introdução à POO 28 de agosto de / 1 INE5603 Introdução à POO Prof. A. G. Silva 28 de agosto de 2017 Prof. A. G. Silva INE5603 Introdução à POO 28 de agosto de 2017 1 / 1 Comandos de decisão simples e compostas Objetivos: Utilização de controles

Leia mais