Linguagem de Programação

Slides:



Advertisements
Apresentações semelhantes
INTRODUÇÃO A COMPUTAÇÃO ENG. CIVIL
Advertisements

Um programa em C Bibliotecas Variáveis globais
Linguagem de Programação IV
Linguagem C Marco Antonio – Julho/2009. Instalação A IDE que será utilizada é o Eclipse, com plugin para C/C++. Descompacte no diretório.
Manipulação de Strings Marco Reis. Novo arquivo Adicione ManipulacaoDeStrings.c ao projeto. Cada projeto pode ter apenas um método main. Como outros programas.
Funções em C.
TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS ESTRUTURAS DE DADOS AVANÇADAS Aula /08/2011 Professor Leomir J. Borba-
Algoritmos e Programação Linguagens de Programação Teoria Aula 7 (19/05) Universidade Federal do Vale do São.
Introdução à Computação - Jorge Macêdo
Introdução à Programação
Introdução à Linguagem C
Estruturas de Dados I Prof.: Sergio Pacheco Prof.: Sergio Pacheco 1 1.
LINGUAGEM ESTRUTURADA TURBO C
CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2013
CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2013 Capítulo II Confecção de Tabelas.
LINGUAGEM C Centro Federal de Educação Tecnológica da Paraíba Coordenação de Informática Professor: Lafayette B. Melo.
Linguagem C Funções.
Armazenamento de Dados em Arquivos
Estruturas de Repetição
Slides: Prof. João Fabro UTFPR - Curitiba
Linguagem C Estruturas de Seleção.
Armazenamento de Dados em Arquivos
Matrizes e Funções - Continuação
Slides: Prof. SIMÃO Revisão: Prof. João Fabro
Slides: Prof. João Fabro UTFPR - Curitiba
Estruturas de Decisão Permitir testes para decidir acções alternativas: if if - else switch (?:) Operador Condicional MF.
Revisão da Linguagem C.
Linguagem de Programação
Estrutura de decisão e repetição em JAVA
APRESENTAÇÃO: GIANCARLO DE GUSMÃO GONÇALVES CURSO DE C AULA 08: Tipos Estruturados.
APRESENTAÇÃO: DAVID ANDERSON CARDOSO DANTAS CURSO DE C AULA 04: Funções Maceió, Maio de 2010.
PROGRAMAÇÃO ESTRUTURADA II
© 2003 Introdução à programaçãoComputadores e programação I Linguagens de programação Introdução ao C (continuação)
UNIDADE 6 - complemento Funções recursivas
Programação II Estruturas de Dados Aula 02 - continuação
Seminário 1: Revisão de C
Programação de Computadores
Introdução à linguagem C
Algoritmo e Programação
Linguagem de Programação
APRENDER A APRENDER deve ser nossa meta. Comandos de Controle de Programa Comandos de Seleção Prof. Me. Jeime Nunes.
Introdução à Linguagem C
Capítulo IV – Comandos de Controle de Fluxo 4.1 – Comandos compostos 4.2 – Comandos condicionais 4.3 – Expressões condicionais 4.4 – Comandos repetitivos.
Declarando e Chamando Funções
 São utilizadas para dividir um código maior (mais complexo) em partes menores (mais simples).  Quando uma mesma tarefa é realizada várias vezes em um.
Linguagem de programação I A Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação Versão: _01.
Prof. Alessandro Gonçalves
PCI- Estrutura Condicional Profa. Mercedes Gonzales Márquez.
Revisão Luis Antonio Tavares
Comando de Seleção switch
Programação de Computadores I – Arquivos
CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2014 Capítulo IX Subprogramação e Recursividade.
Linguagem de Programação
Profº Antonio Carlos Marcelino de Paula
Profa. Maria Augusta Constante Puget
Linguagem de Programação
USP – ICMC – SSC SSC0300 2º Semestre 2015 Disciplina de Linguagem de Programação e Aplicações [ Eng. Elétrica / Eletrônica ] 1 Prof. Dr. Daniel Rodrigo.
ALGORITMOS Profº Antonio Carlos Marcelino de Paula 1.
D E V ISUAL G P ARA C++ Utilização do Dev C++. Todo programa C inicia sua execução chamando a função main(), sendo obrigatória a sua declaração no programa.
Algoritmo e Estrutura de Dados I Linguagem C – Comandos if-else-if e Switch Márcia Marra.
Computação – Informática Aula N. 05 Prof. SIMÃO Jean Marcelo SIMÃO Linguagem C “Matrizes em C”
Fundamentos de Programação 1 Slides 19 Prof. SIMÃO Jean Marcelo SIMÃO Linguagem C “Arquivos Binários”.
Fundamentos de Programação1 Aula N. 01 Prof. SIMÃO Jean Marcelo SIMÃO Linguagem C “Introdução e elementos principais”
Fundamentos de Programação 1 Aula N. 02 Prof. SIMÃO Jean Marcelo SIMÃO Linguagem C “Laços de Repetição em C”
Fundamentos de Programação 1 Slides C – Número 4 Prof. SIMÃO Jean Marcelo SIMÃO Estrutura de Dados Homogêneas “vetores de números e de caracteres”
Fundamentos de Programação 1 Slides 7 Prof. SIMÃO Jean Marcelo SIMÃO Linguagem C “Funções”
Fundamentos de Programação 1 Slides 21 Prof.ª Fabiany e Prof. SIMÃO Linguagem C “Lista Encadeada”.
Fundamentos de Programação 1 Slides 22 Prof.ª Fabiany e Prof. SIMÃO Linguagem C “Lista Duplamente Encadeada - Projeto com vários Arquivos”.
Fundamentos de Programação 1 Slides 18 Prof. SIMÃO Jean Marcelo SIMÃO Linguagem C “Arquivos Seqüências ou de Texto ”. 1.
PROGRAMAÇÃO I UNIDADE 3.
Transcrição da apresentação:

Linguagem de Programação Aula 07 – Macros e Funções

Exercícios - Macros Definir macros: eh_minuscula(c) => substitui por 0 ou 1 eh_maiuscula(c) => substitui por 0 ou 1 minuscula(c) => minúscula de c maiuscula(c)=> maiúscula de c

Solução - Macros # define eh_maiuscula(c) ((c)>=‘A’ && (c)<=‘Z’? 1: 0) # define eh_minuscula(c) ((c)>=‘a’ && (c)<=‘z’? 1: 0) Só faremos a conversão para minúscula se o caracter for maiúsculo. Neste caso, adicionamos ao ‘A’ a quantidade de caracteres que o c estiver distante de ‘a’: Por exemplo: se c = ‘f’, temos c – ‘a’ = 5 logo, ‘A’ + 5 => ‘F’ # define maiuscula(c) (eh_minuscula(c)? ‘A’+ (c) – ‘a’: (c)) # define minuscula(c) (eh_maiuscula(c)? ‘a’+ (c) – ‘A’: (c))

Testando a Solução # include <stdio.h> # include <conio.h> # define eh_maiuscula(c) ((c)>=‘A’ && (c)<=‘Z’? 1: 0) # define eh_minuscula(c) ((c)>=‘a’ && (c)<=‘z’? 1: 0) # define maiuscula(c) (eh_minuscula(c)? ‘A’+ (c) – ‘a’: (c)) # define minuscula(c) (eh_maiuscula(c)? ‘a’+ (c) – ‘A’: (c)) main() { char c; clrscr(); printf("\nDigite um caracter: "); scanf("%c", &c); printf("\nConverte para maiuscula: %c", maiuscula(c)); printf("\nConverte para minuscula: %c", minuscula(c)); getch(); }

Exercício para casa Crie o arquivo boolean.h com as definições necessárias para que o programa abaixo possa produzir a saída: true false true. main() { printf("%s ", bool(not false) ); printf("%s ", bool(false and true) ); printf("%s ", bool(true or false) ); }

Solução para boolean.h # define false 0 # define true 1 # define not ! # define and && # define or || # define bool(exp) ((exp)==0 ? “false”: “true”) main() { printf("%s ", bool(not false) ); printf("%s ", bool(false and true) ); printf("%s ", bool(true or false) ); }

Função X Macro Função e macro são a mesma coisa? Macro: substituição simples do código (durante o pré-processamento) Função: conj. de instruções com finalidade específica chamada em tempo de execução Possui parâmetros de entrada e saída bem definidos Aloca espaço de memória quando chamada Libera memória quando termina sua execução

Exercício de Fatorial Codifique a função fat(n), que devolve o fatorial de n. n! = n * (n-1) * (n-2) * ... * 2 * 1 0! = 1 (por definição) recebe parâmetro: n tipo devolvido: inteiro

Solução – Fatorial # include <stdio.h> # include <conio.h> int fat(int n) { int i, f; f = 1; for(i = n; i>0; i--) f = f*i; return f; } main() int n; printf("Digite n:"); scanf("%d", &n); printf("\nFatorial de %d : %d", n, fat(n)); getch();

Exercícios - Funções Codifique a função rodizio(placa), que recebe o número da placa de um veículo e exibe o dia em ele está no rodízio.

Solução criando arquivo rodizio.h void exibe_rodizio (int placa) { if (placa<0 || placa >9999) printf("Placa invalida"); else switch(placa%10) case 1: case 2: printf("%s", "Segunda-feira"); break; case 3: case 4: printf("%s", "Terca-feira"); case 5: case 6: printf("%s", "Quarta-feira"); case 7: case 8: printf("%s", "Quinta-feira"); default: printf("%s", "Sexta-feira"); }

Testando a função exibe_rodizio() # include <stdio.h> # include <conio.h> # include "rodizio.h" main() { int placa; clrscr(); printf("Placa:"); scanf("%d", &placa); printf("\nRodizio da placa %4d : ", placa); exibe_rodizio(placa); getch(); }

Função – devolve dia do rodízio int dia_rodizio (int placa) { if (placa<0 || placa >9999) return -1; switch(placa%10) case 1: case 2: return 1; case 3: case 4: return 2; case 5: case 6: return 3; case 7: case 8: return 4; default: return 5; }

Programa teste - dia_rodizio() # include <stdio.h> # include <conio.h> # include "rodizio.h" main() { int placa; clrscr(); printf("Placa:"); scanf("%d", &placa); printf("\nRodizio da placa %4d : ", placa); exibe_rodizio(placa); printf("\nNo %do dia da semana.", dia_rodizio(placa)); getch(); }

Outra solução – dia do rodízio int dia_rodizio_2 (int placa) { if (placa<0 || placa >9999) return -1; if (placa%10 == 0) return 5; return (placa%10 + 1)/2; }

Lista de Exercícios Questão 12 Quais os valores das variáveis x e y após a execução da instrução? Por quê? x=5; y = x++ + ++x; Recapitulando: A instrução: a = b++; a = ++b; Equivale a: a = b; b = b+1; b = b+1; a = b;

Solução A instrução: Equivale a: x = x +1; y = x + x; Portanto: Valores finais: X = 7 e y = 12

Lista de exercícios – Questão 4 Dados 3 números imprimir o maior. main() { int x, y, z; printf("\nDigite 3 numeros:\n "); scanf("%d %d %d", &x, &y, &z); if (x>y) { if (x>z) printf("\nMaior %d", x); else printf("\nMaior %d", z); } else { if (y>z) printf("\nMaior %d", y); else printf("\nMaior %d", z); } }

Exercícios para entregar Em sala: 2 5 8 Para casa: 12 16 17 24