Programação de Computadores

Documentos relacionados
Alguns exercícios em pseudocódigo

Programação de Computadores:

Programação de Computadores III

Programação de Computadores III

Fluxograma Pseudocódigo Estruturas de decisão. Professor Leandro Augusto Frata Fernandes

Programação de Computadores

Programação Estruturada

Estruturas de controle: Estrutura de DECISÃO

Algoritmos e Programação - Engenharia da Computação -

Noções de algoritmos - Aula 1

Fluxogramas e variáveis

Introdução à Programação. João Manuel R. S. Tavares

LINGUAGEM C: COMANDOS DE REPETIÇÃO

ESTRUTURAS DE REPETIÇÃO - PARTE 1

Programação de Computadores. Professor Ilaim Costa Junior

ALGORITMOS. O que é Algoritmo? Algoritmo é um dos processo para criação

Algoritmos e Estruturas de Dados I. Universidade Federal de São João del-rei Pedro Mitsuo Shiroma Sala 119 Bloco 3

Algoritmos Estrutura Condicional

A palavra ALGORITMO teve origem com um Matemático Persa, al. Khawarizmi. O seu trabalho mais famoso foi Al-jabr walmuquabalah,

SSC Introdução à Programação para Engenharias. Lista 01 Entrega em 06/04/ h10

Programação de Computadores

Universidade Estadual de Mato Grosso do Sul Ciência da Computação Algoritmos e Estruturas de Dados I (AED-I)

Fluxogramas. Vanessa Braganholo

AULA 07. HABILIDADES TRABALHADAS: Desenvolver algoritmos utilizando laços a partir da leitura de fluxogramas ou algoritmos em portugol.

Algoritmos - 5. Alexandre Diehl. Departamento de Física - UFPel

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

Programação de Computadores

Introdução à Programação

CAPÍTULO 5 ESTRUTURAS DE REPETIÇÃO

Processamento Sequencial e Condicional

1.3. Algoritmos e Fluxogramas

Algoritmos e Programação

Universidade Federal de Uberlândia Faculdade de Computação. Estruturas de repetição

Fundamentos de Lógica e Algoritmos Aula 2.5 Conceitos Básicos de Algoritmos. Prof. Dr. Bruno Moreno

Algoritmo. Prof. Anderson Almeida Ferreira. Agradeço ao prof. Guilherme Tavares de Assis por fornecer slides que fazem parte desta apresentação

Unidade 2: Algoritmos e programação

ESTRUTURAS DE CONTROLE

Fluxogramas. Leonardo Gresta Paulino Murta.

Sistemas Operacionais e Introdução à Programação. Introdução à Lógica de Programação: estruturas de repetição

ESTRUTURAS DE CONTROLE ESTRUTURAS DE REPETIÇÃO

Programação Procedimental

PDA - Repetição. Estruturas de repetição. Slides adaptação de Deise Saccol

A única diferença entre o difícil e o impossível é que o último demora um pouco mais de tempo para ser alcançado..

LISTA DE EXERCÍCIOS. 2) Explique a diferença entre algoritmo computacional e não computacional.

Aula 02. Algoritmos e Pseudocódigo

Aula 4 ESTRUTURAS DE REPETIÇÃO (FOR)

Microcontroladores. Programação: fluxogramas, pseudocódigos e lógica. Prof. Daniel

Fundamentos de Programação 1

Engenharia Civil. Introdução à Programação

Programação científica C++

Desenvolvimento de programas. Análise do problema. Análise do problema. Análise do problema. Desenvolvimento do algoritmo. Codificação do programa

Aula 4 Estruturas Condicionais

08/05/2012. Tipos de dados. Tipos de dados. Elementos Básicos. Tipos de dados. Elementos Básicos Tipos de dados. Dados e seus tipos:

ESTRUTURAS DE CONTROLE ESTRUTURAS DE REPETIÇÃO

Aula 7: Estrutura de Decisão

Aula Bibliografia - Definições - Operadores - Criação de um algoritmo - Exercícios. Algoritmo e Programação. Prof.

Algoritmos e Estruturas de Dados I

01/08/2011. Tipos de dados Numéricos Alfanuméricos Lógicos. Numéricos. Tipos de dados. Dados Numéricos Inteiros. Dados Numéricos Reais.

5. Expressões aritméticas

CAPÍTULO 4 ESTRUTURAS DE CONTROLE

ALGORITMOS E APLICAÇÕES. FATEC IPIRANGA ADS Noturno 1º semestre de 2012 Prof. Luiz Carlos de Jesus Junior

2. Complexidade de Algoritmos

Noções de algoritmos - Aula 1

Fluxograma. Conjunto de símbolos utilizados em fluxogramas

Aula 7 Oficina de Programação Estruturas de Repetição no C. Profa. Elaine Faria UFU

Lógica e Linguagem de Programação Aula 04 - Estruturas de Repetição Repetição com Teste no Início Enquanto - GABARITO Professor: Danilo Giacobo

Prof. Jorge Cavalcanti

Algoritmos e Programação

Linguagem C ESTRUTURA DE CONTROLE

Algoritmos e Lógica de Programação 80 horas // 4 h/semana. Exercício... Para começar... Resolução... Para começar... Para começar...

ESTRUTURAS DE CONTROLE - LAÇOS OU MALHAS DE REPETIÇÃO

Estruturas de Repetição

Processamento de Dados aplicado à Geociências. AULA 3: Algoritmos computacionais Representação de Algoritmos Sintaxe Tipos de dados Expressões

Algoritmos - 3. Alexandre Diehl. Departamento de Física - UFPel

Transcrição:

Programação de Computadores Instituto de Computação UFF Departamento de Ciência da Computação Otton Teixeira da Silveira Filho

Conteúdo Alguns Conceitos sobre Linguagens Conceito de Algoritmo Pseudocódigo Tipos de Variáveis Operadores Estruturas de Controle Estruturas de Dados Subprogramação

Fluxograma É uma descrição esquemática de um processo que usa figuras geométricas padronizadas que representam elementos da computação necessária ao processo. Abaixo temos alguns Início Dados Decisão Conector Fim Processo Conector fora da página

Pseudocódigo É a representação em linguagem natural de comandos computacionais No nosso caso escreveremos o pseudocódigo com palavras em português Os comandos do pseudocódigo serão introduzidos a medida quer forem necessários

Fazendo o Chinês Fazer o Chinês é escrever os resultados de todos os passos de um determinado procedimento -É uma forma tradicional de detectar erros de lógica de um programa

Fazendo o Chinês Fazer o Chinês é escrever os resultados de todos os passos de um determinado procedimento -É uma forma tradicional de detectar erros de lógica de um programa Obs: Existem ferramentas sofisticadas de depuração de códigos usadas em trabalhos mais complexos

Um exemplo: Baskara Seja o polinômio a x 2 +b x+c, onde a, b, c R. Determine as raízes reais deste polinômio usando a fórmula de Baskara: x= b± b 2 4 a c 2a Começaremos a descrição do algorítmo de forma ingênua

Baskara Fluxograma 1 de Baskara Início a, b, c x 1 ( b+ b 2 4 ac )/2a x 2 ( b b 2 4 ac )/2 a x 1, x 2 Fim

Baskara Porque este fluxograma está errado? 1 Caso a seja zero teremos uma indeterminação 2 Caso b 2 4 a c for negativo não teremos resposta compatível com o especificado pelo problema

Baskara Porque este fluxograma está errado? 1 Caso a seja zero teremos uma indeterminação 2 Caso b 2 4 a c for negativo não teremos resposta compatível com o especificado pelo problema Resolveremos um problema por vez

Baskara Antes apresentemos a estrutura de decisão

Baskara Decisão Processo1 s decisão n Processo2 A decisão é avaliada se verdadeira Caso for verdadeira (S) o processo1 é executado Caso não for verdadeira (N) o processo2 é executado

Baskara Com esta apresentação poderemos dar continuidade à criação do fluxograma para a fórmula de Baskara

Baskara Fluxograma 2 de Baskara Início 1 a, b, c x 2=( b b 2 4 a c )/2 a x= c/b n Se a 0 duas raizes : x 1, x 2 a=0.uma raiz : x s x 1=( b+ b 2 4 ac)/2 a Fim 2 2 1

Baskara Porque este fluxograma ainda está errado ao resolver o problema de número 1?

Baskara Porque este fluxograma ainda está errado ao resolver o problema de número 1? Caso b seja zero teremos uma indeterminação

Baskara Fluxograma 3 de Baskara Início 1 n Se b 0 a, b, c x 2=( b b 2 4 a c )/2 a s x= c/b n Se a 0 duas raizes : x 1, x 2 a=0.uma raiz : x s x 1=( b+ b 2 4 ac)/2 a Fim 2 2 1 a=0, b=0. Não há raizes

Baskara Mas ainda há uma incorreção Caso a for nulo, como também b, então se c for nulo teremos uma identidade e temos que prever esta possibilidade Vamos corrigir...

Baskara Fluxograma 3b de Baskara Início 1 n Se b 0 a, b,c x 2=( b b 2 4 a c )/2 a n Se c = 0 s 3 s x= c/b a=0.umaraiz : x 2 n s Se a 0 x 1=( b+ b 2 4 ac)/2 a 1 duas raizes : x 1, x 2 Fim 2 a=0, b=0. Não há raizes 3 a, b, c nulos

Baskara Vamos incluir a análise de b 2 4 a c

Baskara Fluxograma 4 de Baskara Início 1 n Se c = 0 s n s Se b 0 x c/b n a, b, c Se a 0 x 1 ( b+ b 2 4 ac)/2a x 2 ( b b 2 4 ac )/2 a a=0.uma raiz : x s duas raizes : x 1, x 2 a, b, c nulos 2 s n Se b 2-4ac>=0 n 2 Fim a=0, b=0. Não há raizes 1 Não há raizes reais

Baskara Vamos apresentar os pseudocódigos equivalentes a alguns estes fluxogramas

Baskara Programa Baskara1 Reais a, b, c, x1, x2 Leia a, b, c x 1 ( b+ b 2 4 ac)/2a x 2 ( b b 2 4 ac )/2 a Imprima x1, x2 Fim Início a, b, c x 1 ( b+ b 2 4 ac )/2a x 2 ( b b 2 4 ac )/2 a x 1, x 2 Fim

Baskara Programa Baskara1 Reais a, b, c, x1, x2 Leia a, b, c x 1 ( b+ b 2 4 ac)/2a x 2 ( b b 2 4 ac )/2 a Imprima x1, x2 Fim Início do programa Declaração de variáveis Leitura de dados Cálculo e atribuição de valor Cálculo e atribuição de valor Impressão dos resultados Fim do programa

Baskara Programa Baskara1b Reais a, b, c, x1, x2 a 3 b 2 c 2 x 1 ( b+ b 2 4 ac )/2a x 2 ( b b 2 4 ac)/2 a Imprima x1, x2 Fim Início do programa Declaração de variáveis Atribuição de valores Cálculo e atribuição de valor Cálculo e atribuição de valor Impressão dos resultados Fim do programa

Baskara Fluxograma 3b de Baskara Início 1 n Se b 0 a, b,c x 2 ( b b 2 4 ac )/2 a n Se c = 0 s 3 s x c/b a=0.umaraiz : x 2 n s Se a 0 x 1 ( b+ b 2 4 ac)/2a 1 duas raizes : x 1, x 2 Fim 2 a=0, b=0. Não há raizes 3 a, b, c nulos

Baskara Programa Baskara3b Reais a, b, c, x1, x2 Leia a, b, c se a 0 senão fim se x 1 ( b+ b 2 4 a c )/ 2a x 2 ( b b 2 4 a c )/2a Imprima x1, x2 se b 0 x c/b senão fim se se c = 0 Imprima a,b,c nulos senão imprima a,b nulos. Não há raizes fim se Fim Baskara3b

Baskara Fluxograma 4 de Baskara Início 1 n Se c = 0 s n s Se b 0 x c/b n a, b, c Se a 0 x 1 ( b+ b 2 4 ac)/2a x 2 ( b b 2 4 ac )/2 a a=0.uma raiz : x s duas raizes : x 1, x 2 a, b, c nulos 2 s n Se b 2-4ac>=0 n 2 Fim a=0, b=0. Não há raizes 1 Não há raizes reais

Baskara Programa Baskara4 Reais a, b, c, x1, x2 Leia a, b, c se a 0 se b 2 4 a c 0 x 1 ( b+ b 2 4 a c )/2a x 2 ( b b 2 4 a c )/2 a Imprima x1, x2 senão imprima não há raízes reais fim se senão se b 0 x c/b senão se c = 0 imprima a,b,c nulos senão imprima a,b nulos. Não há raizes fim se fim se fim se Fim Baskara4

Baskara Observe que aqui pegamos como exemplo um problema que você provavelmente acha muito fácil

Baskara Observe que aqui pegamos como exemplo um problema que você provavelmente acha muito fácil Mas observe o número de decisões e alternativas que você tem no processo de usar a fórmula de Baskara

Baskara Observe que aqui pegamos como exemplo um problema que você provavelmente acha muito fácil Mas observe o número de decisões e alternativas que você tem no processo de usar a fórmula de Baskara Programar nos exige ficar conscientes de cada passo do algoritmo.

Repetições Processo Decisão Valor inicial Valor final Incremento Processo Processo Processo Processo Repetição condicional Repetição contável

Um exemplo com repetição Obtenha a soma dos números inteiros de 1 a 10

Um exemplo com repetição início s 0 i 1 até 10 s s + i s fim

Um exemplo com repetição A variável s é convencionalmente chamada de acumulador enquanto a variável i é chamada de contador.

Um exemplo com repetição início s 0 i 1 até 10 s s + i s Programa soma Inteiro s, i s 0 para i 1 até 10 passo 1 s s + i fim para imprima s fim fim

Um exemplo com repetição início s 0 i 1 até 10 s s + i s Programa soma Inteiro s, i s 0 para i 1 até 10 s s + i fim para imprima s fim fim

Um outro exemplo com repetição Obtenha o fatorial de um número inteiro não negativo n

Um outro exemplo com repetição início n fat 1 i 1 até n fat fat * i fat fim programa fatorial inteiro fat, i, n leia n fat 1 para i 1 até n fat fat * i fim para imprima fat fim

E mais outro exemplo com repetição Calcule o valor da função exponencial no ponto x=1 usando a série de Taylor truncada em n termos que é dada por e x =1+ x 1! + x2 2! + x3 3! + + x n n!

E mais outro exemplo com repetição Aproveitaremos o pseudocódigo que fizemos para o fatorial

Um outro exemplo com repetição Programa exponencial Real exp Inteiro fat, i, j, n leia n exp exp + 1/fat fim para imprima exp fim exp 1 para i 1 até n fat 1 para j 1 até i fat fat * j fim para

Um outro tipo de repetição Além da repetição contável encontramos nas linguagens de programação a repetição condicional. Em pseudocódigo podemos representar esta repetição como.. enquanto <condição> faça.. fim enquanto..

Um outro tipo de repetição O fragmento de pseudocódigo i 1 enquanto (i <= n) faça fat fat * i i i + 1 fim enquanto é equivalente ao fragmento para i 1 até n fat fat * i fim para

Um exemplo com repetição condicional Dados dos valores a e b inteiros distintos, sendo que a < b. Faça o somatório dos valores compreendidos entre a e b inclusive.

Um exemplo com repetição condicional Programa soma inteiros a, b, s, i leia a, b s a i a enquanto (i < b) faça i i + 1 s s + i fim enquanto imprima A soma de, a, ate, b, =, s fim

Um exemplo com repetição condicional Dados dos valores a e b inteiros distintos, sendo que a < b. Faça o somatório dos valores compreendidos entre a e b inclusive até que o produto a*b seja maior que 30.

Um exemplo com repetição condicional Programa soma inteiros a, b, s, i leia a, b s a i a enquanto ((i < b) E (a*b < 30)) faça i i + 1 s s + i fim enquanto imprima A soma de, a, ate, b, =, s fim

Um exemplo com repetição condicional Foi apresentado informalmente uma série de tipos de variáveis e operadores. Agora partiremos para uma apresentação mais rigorosa destes dois elementos.