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

Documentos relacionados
Introdução à Programação em C (I)

Introdução à Programação em C

Estrutura do programa

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

Introdução a Programação de Jogos

Capítulo 1: Introdução à Linguagem C. Pontifícia Universidade Católica Departamento de Informática

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

Disciplina de Algoritmos e Programação

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

Introdução a Computação

Estruturas da linguagem C. 1. Identificadores, tipos primitivos, variáveis e constantes, operadores e expressões.

PROGRAMAÇÃO INSTRUÇÕES DA LINGUAGEM C

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

Introdução à Linguagem C Variáveis e Expressões

Linguagens de Programação

Introdução à Programação. Operadores, Expressões Aritméticas e Entrada/Saída de Dados

Linguagens de Programação I

Aula 5 Oficina de Programação Introdução ao C. Profa. Elaine Faria UFU

Legibilidade do código fonte

Tipos de Dados, Variáveis e Entrada e Saída em C. DCC 120 Laboratório de Programação

Lógica e Linguagem de Programação Convertendo um algoritmo em pseudocódigo para a linguagem C Professor: Danilo Giacobo

PROGRAMAÇÃO INSTRUÇÕES DA LINGUAGEM C

3. Linguagem de Programação C

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

Princípios de Desenvolvimento de Algoritmos MAC122

#include <stdio.h> Void main() { printf( Cheguei!\n"); } INTRODUÇÃO A LINGUAGEM C

Hello World. Linguagem C. Tipos de Dados. Palavras Reservadas. Operadores Aritméticos. Pré e pós incremento e pré e pós decremento

INF 1005 Programação I

Linguagem de Programação C

LÓGICA DE PROGRAMAÇÃO. PROFª. M.Sc. JULIANA H Q BENACCHIO

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

Introdução à Computação MAC0110

TÉCNICAS DE LINGUAGEM DE PROGRAMAÇÃO

Capítulo 2: Introdução à Linguagem C

Programação: Vetores

Introdução à Linguagem C

ALGORITMOS E ESRUTRA DE DADOS I. Ponteiros Passagem por Valor e Referência Alocação de Memória

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

Fundamentos de Programação 1

Computação para Informática - Prof. Adriano Joaquim de Oliveira Cruz Segunda Aula Prática - 29 de agosto de 2008

Programação de Computadores I Introdução ao C PROFESSORA CINTIA CAETANO

Programação em C. Variáveis e Expressões. Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação

Introdução à Linguagem de Programação C: Variáveis, Constantes, Expressões, Atribuição, Tipos de dados, Entrada e Saída de Dados

UNIVERSIDADE DA BEIRA INTERIOR

Introdução à Programação

ALGORITMOS AULA 01. Baseado nas aulas do Prof. Jorgiano Vidal

3. Linguagem de Programação C

Programação Estruturada

Características da Linguagem C

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

Algoritmos e Estruturas de Dados I (DCC/003) Estruturas Básicas. Aula Tópico 2

Linguagem C Princípios Básicos (parte 1)

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

PROGRAMAS BÁSICOS EM C++ Disciplina: Introdução à Ciência da Computação Prof. Modesto Antonio Chaves Universidade estadual do Sudoeste da Bahia

Disciplina de Algoritmos e Programação

Algoritmos II prof. Daniel Oliveira

Apresentação da ferramenta de programação. Comandos de entrada e saída. Prof. Alex Camargo

LP II Estrutura de Dados

PROGRAMAÇÃO I E N T R A DA E S A Í DA D E DA D O S

Aula 07 Introdução à Programação Subprogramas

Algoritmos e Programação

Linguagem de Programação III

Introdução a Programação na Linguagem C.

Conceitos Básicos Linguagem C

Computação L2. Linguagem C++ Observação: Material Baseado na Disciplina Computação Eletrônica.

Programação Básica. Estrutura de um algoritmo

ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO

Linguagem de Programação JAVA. Tiago Alves de Oliveira

RESULUÇÃO DOS EXERCÍCIOS E INSTRUÇÕES DE DECISÃO (if{} e else{}) Profº André Aparecido da Silva Disponível em:

Linguagem C estruturas de repetição

Capítulo 2 Operadores. A função scanf()

Entender o problema Encontrar um algoritmo para resolvê-lo. Implementar o algoritmo numa linguagem de programação

Linguagem C (estruturas condicionais)

C++ - Funções. Forma geral das funções C++

Linguagem C: Introdução

Conhecendo a Linguagem de Programação C

Transcrição:

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

Factorial Definição de função para cálculo de factorial Scheme (define (factorial n) (if (= n 1) 1 (* n (factorial (- n 1))))) C int factorial (int n) { if (n == 1) return 1; else return n*factorial(n-1); 2

Factorial int factorial (int n) { if (n == 1) return 1; else return n*factorial(n-1); Novidades em C Linguagem tipificada Notação infixa Operador de comparação de igualdade é == Operador = é usado para atribuição 3

Factorial int factorial (int n) { if (n == 1) return 1; else return n*factorial(n-1); Tipo de dados do valor de retorno da função Tipos básicos/simples: char, int, long int, double e float; Tipos complexos/estruturados: estruturas, uniões, tabelas/vectores unidimensionais ou multidimensionais Ponteiros para valores de um determinado tipo e ponteiros para funções 4

Factorial int factorial (int n) { if (n == 1) return 1; else return n*factorial(n-1); Tipo de dados do parâmetro n Todos os parâmetros são precedidos pelo seu tipo 5

Factorial int factorial (int n) { if (n == 1) return 1; else return n*factorial(n-1); Sintaxe da estrutura de controlo: if-else if (<condição>) <instrução1> else <instrução2> Se a condição é verdadeira, executa instrução1 Caso contrário, executa instrução2 6

Factorial int factorial (int n) { if (n == 1) return 1; else return n*factorial(n-1); Sintaxe da instrução return return <expressão>; Termina a execução da função Resultado da expressão é o valor de retorno da função 7

Réplica do Z3, considerado o primeiro computador programável completamente automático Deutsches Museum, Munique 8

Construir um programa que escreve uma tabela de conversão de temperaturas da escala Fahrenheit para escala Celsius 0-17 20-6 42 4.4... 260 126 280 137 300 148 9

Algoritmo Inicia no limite inferior de temperatura na escala Fahrenheit Converte temperatura para escala Celsius Escreve linha da tabela com temperaturas Aumenta valor de temperatura na escala Fahrenheit 10

Algoritmo Inicia no limite inferior de temperatura na escala Fahrenheit Converte temperatura para escala Celsius Escreve linha da tabela com temperaturas Aumenta valor de temperatura na escala Fahrenheit 11

Algoritmo Inicia no limite inferior de temperatura na escala Fahrenheit Enquanto temperatura não for superior ao limite superior Converte temperatura para escala Celsius Escreve linha da tabela com temperaturas Aumenta valor de temperatura na escala Fahrenheit 12

Algoritmo Inicia no limite inferior de temperatura na escala Fahrenheit fahr = inferior; Enquanto temperatura não for superior ao limite superior while (fahr <= superior) { Converte temperatura para escala Celsius celsius = 5 * (fahr-32) / 9; Escreve linha da tabela com temperaturas printf("%d\t%d\n", fahr, celsius); Aumenta valor de temperatura na escala Fahrenheit fahr = fahr + passo; 13

#include <stdio.h> /* Conversao Fahrenheit-Celsius */ main () { int fahr, celsius; int inferior, superior, passo; inferior = 0; superior = 300; passo = 20; fahr = inferior; while (fahr <= superior) { celsius = 5 * (fahr-32) / 9; printf("%d\t%d\n", fahr, celsius); fahr = fahr + passo; 14

#include <stdio.h> /* Conversao Fahrenheit-Celsius */ main () { int fahr, celsius; int inferior, superior, passo; Comentários Texto entre /* e */ 15

main () { int fahr, celsius; int inferior, superior, passo; inferior = 0; superior = 300; passo = 20; Declaração de variáveis 16

main () { int fahr, celsius; int inferior, superior, passo; inferior = 0; superior = 300; passo = 20; Instruções de atribuição de um valor a uma variável Sintaxe: <variável> = <expressão> 17

Algoritmo Inicia no limite inferior de temperatura na escala Fahrenheit fahr = inferior; Enquanto temperatura for inferior ao limite superior while (fahr <= superior) { Converte temperatura para escala Celsius celsius = 5 * (fahr-32) / 9; Escreve linha da tabela com temperaturas printf("%d\t%d\n", fahr, celsius); Aumenta valor de temperatura na escala Fahrenheit fahr = fahr + passo; 18

fahr = inferior; while (fahr <= superior) { celsius = 5 * (fahr-32) / 9; printf("%d\t%d\n", fahr, celsius); fahr = fahr + passo; Ciclo while Síntaxe: while (<expressao>) <instrução> Indentação ajuda a perceber estrutura do programa Erro frequente: while (i >= 0); i = i-1; 19

fahr = inferior; while (fahr <= superior) { celsius = 5 * (fahr-32) / 9; printf("%d\t%d\n", fahr, celsius); fahr = fahr + passo; Divisão entre inteiros é divisão inteira Resultado é o quociente da divisão (número inteiro) Exemplo: 5/9 é 0 20

fahr = inferior; while (fahr <= superior) { celsius = 5 * (fahr-32) / 9; printf("%d\t%d\n", fahr, celsius); fahr = fahr + passo; printf permite efectuar escrita formatada %d inteiro decimal, \t caracter tabulação Melhorar formatação: printf("%3d\t%6d\n", fahr, celsius); Problema: 0 o F são -17,8 o C e não -17 o C 21

#include <stdio.h> /* Conversao Fahrenheit-Celsius */ main () { int fahr, celsius; int inferior, superior, passo; inferior = 0; superior = 300; passo = 20; fahr = inferior; while (fahr <= superior) { celsius = 5 * (fahr-32) / 9; printf("%3d\t%6d\n", fahr, celsius); fahr = fahr + passo; 22

#include <stdio.h> /* Conversao Fahrenheit-Celsius */ main () { float fahr, celsius; int inferior, superior, passo; inferior = 0; superior = 300; passo = 20; fahr = inferior; while (fahr <= superior) { celsius = (5.0/9.0) * (fahr-32); printf("%3.0f\t%6.1f\n", fahr, celsius); fahr = fahr + passo; 23

#include <stdio.h> /* Conversao Fahrenheit-Celsius */ main () { float fahr, celsius; int inferior, superior, passo; inferior = 0; superior = 300; passo = 20; fahr = inferior; while (fahr <= superior) { celsius = (5.0/9.0) * (fahr-32); printf("%3.0f\t%6.1f\n", fahr, celsius); fahr = fahr + passo; 24

#include <stdio.h> /* Conversao Fahrenheit-Celsius */ main () { float fahr, celsius; int inferior, superior, passo; inferior = 0; superior = 300; passo = 20; fahr = 0; while (fahr <= 300) { celsius = (5.0/9.0) * (fahr-32); printf("%3.0f\t%6.1f\n", fahr, celsius); fahr = fahr + 20; 25

#include <stdio.h> /* Conversao Fahrenheit-Celsius */ main () { float fahr, celsius; fahr = 0; while (fahr <= 300) { celsius = (5.0/9.0) * (fahr-32); printf("%3.0f\t%6.1f\n", fahr, celsius); fahr = fahr + 20; Má prática utilizar valores explícitos Alternativa: utilização de constantes com #define 26

#include <stdio.h> /* Conversao Fahrenheit-Celsius */ #define INFERIOR 0 #define SUPERIOR 300 #define PASSO 20 main () { float fahr, celsius; fahr = INFERIOR; while (fahr <= SUPERIOR) { celsius = (5.0/9.0) * (fahr-32); printf("%3.0f\t%6.1f\n", fahr, celsius); fahr = fahr + PASSO; 27

while ( ) { celsius = (5.0/9.0) * (fahr-32); printf("%3.0f\t%6.1f\n", fahr, celsius); for ( ; ; ) { celsius = (5.0/9.0) * (fahr-32); printf("%3.0f\t%6.1f\n", fahr, celsius); 28

fahr = INFERIOR; while ( ) { celsius = (5.0/9.0) * (fahr-32); printf("%3.0f\t%6.1f\n", fahr, celsius); for (fahr = INFERIOR; ; ) { celsius = (5.0/9.0) * (fahr-32); printf("%3.0f\t%6.1f\n", fahr, celsius); 29

fahr = INFERIOR; while (fahr <= SUPERIOR) { celsius = (5.0/9.0) * (fahr-32); printf("%3.0f\t%6.1f\n", fahr, celsius); for (fahr = INFERIOR; fahr <= SUPERIOR; ) { celsius = (5.0/9.0) * (fahr-32); printf("%3.0f\t%6.1f\n", fahr, celsius); 30

fahr = INFERIOR; while (fahr <= SUPERIOR) { celsius = (5.0/9.0) * (fahr-32); printf("%3.0f\t%6.1f\n", fahr, celsius); fahr = fahr + PASSO; for (fahr = INFERIOR; fahr <= SUPERIOR; fahr = fahr + PASSO) { celsius = (5.0/9.0) * (fahr-32); printf("%3.0f\t%6.1f\n", fahr, celsius); Inicialização de variáveis: fahr = INFERIOR Teste: fahr <= SUPERIOR Incremento: fahr = fahr + PASSO 31

Resumo Sintaxe para definição de funções Definição de variáveis e atribuição Estruturas de controlo if e if-else Ciclos utilizando a estrutura de controlo while Ciclos utilizando a estrutura de controlo for Definição de constantes usando #define 32

Exercício para Casa (1) Usar a função factorial para construir um programa que escreve uma tabela com os valores do factorial de 1 a 10. 1 1 2 2 3 6 4 24... 10 3628800 33

Exercício para Casa (2) Aumente o limite do programa anterior para mostrar o valor do factorial de 1 a 30. Observe o resultado. 1 1 2 2 3 6 4 24... 15 3628800...... 30??? 34

Exercício para Casa (3) Implemente uma nova versão da função factorial, mas não use recursão. Utilize a estrutura de controlo while. 35

Exercício para Casa (4) Implemente uma nova versão do programa de conversão de temperaturas utilizando a função convertefarhcelsius. 36