Compre o e-book deste material aqui!
Programar é criar um programa (um software) para ser executado em computador. Para isso, escreve-se um código em uma linguagem computacional (por exemplo, em Python), o qual é interpretado/compilado para gerar o programa final. Linguagens computacionais são técnicas, utilizam uma sintaxe simples, precisa e sem ambiguidades. Ou seja, para criarmos um programa com um determinado objetivo, precisamos escrever um código computacional técnico, que siga a sintaxe da linguagem escolhida e sem ambiguidades.
Um algoritmo pode ser definido uma sequencia ordenada e sem ambiguidade de passos para a resolução de um problema.
O cálculo da área de um triângulo de base e altura dadas por ser feito com o seguinte algoritmo:
Informe o valor da base .
Informe o valor da altura .
.
Imprima o valor de .
Algoritmos para a programação são pensados para serem facilmente transformados em códigos computacionais. Por exemplo, o algoritmo acima pode ser escrito em Python como segue:
Para criar um programa para resolver um dado problema, começamos desenvolvendo um algoritmo para resolvê-lo, este algoritmo é implementado na linguagem computacional escolhida, a qual gera o programa final. Aqui, o passo mais difícil costuma ser o desenvolvimento do algoritmo. Precisamos pensar em como podemos resolver o problema de interesse em uma sequência de passos ordenada e sem ambiguidades para que possamos implementá-los em computador.
Um algoritmo deve ter as seguintes propriedades:
Cada passo deve estar bem definido, i.e. não pode conter ambiguidades.
Cada passo deve contribuir de forma efetiva na solução do problema.
Deve ter número finito de passos que podem ser computados em um tempo finito.
(Mulher na Matemática.) A primeira pessoa a publicar um algoritmo para programação foi Augusta Ada King77endnote: 7Augusta Ada Byron King, Condessa de Lovelace, 1815 - 1852, matemática inglesa. Fonte: Wikipédia: Ada Lovelace.. O algoritmo foi criado para computar os números de Bernoulli88endnote: 8Jacob Bernoulli, 1655-1705, matemático suíço. Fonte: Wikipédia: Jakob Bernoulli..
Fluxograma é uma representação gráfica de um algoritmo. Entre outras, usam-se as seguintes formas para representar tipos de ações a serem executadas:
Terminal: início ou final do algoritmo.
Linha de fluxo: direciona para a próxima execução.
Entrada: leitura de informação/dados.
Processo: ação a ser executada.
Decisão: ramificação do processamento baseada em uma condição.
Saída: impressão de informação/dados.
O método de Heron99endnote: 9Heron de Alexandria, 10 - 80, matemático grego. Fonte: Wikipédia: Heron de Alexandria. é um algoritmo para o cálculo aproximado da raiz quadrada de um dado número , i.e. . Consiste na iteração
(2.1) | ||||
(2.2) |
para , onde é o número de iterações calculadas.
Na sequência, temos um algoritmo e seus fluxograma e código Python para computar a quarta aproximação de , assumindo como aproximação inicial.
O algoritmo tem um bug (um erro)! Consulte o Exercício 2.2.11.
Algoritmos escritos em uma forma próxima de uma linguagem computacional são, também, chamados de pseudocódigos. Na prática, pseudocódigos e fluxogramas são usados para apresentar uma forma mais geral e menos detalhada de um algoritmo. Usualmente, sua forma detalhada é escrita diretamente em uma linguagem computacional escolhida.
Complete as lacunas.
Programar é desenvolver um software para ser executado em um computador.
Linguagens computacionais tem uma sintaxe simples, precisa e sem ambiguidades.
Um algoritmo é uma sequência finita de passos bem definidos que permitem a resolução objetiva de um problema em tempo finito.
Pseudocódigo é um algoritmo escrito em uma forma próxima de uma linguagem computacional.
a) programa/código/software. b) sintaxe. c) bem definidos; objetiva; finito. d) Pseudocódigo.
Complete as lacunas.
Fluxograma é uma representação gráfica de um algoritmo.
Em um fluxograma, terminal indicada o início ou final de um algoritmo.
A linha de fluxo direciona para o próximo bloco de execução.
A leitura de dados é indicada por um bloco de entrada em um fluxograma.
Um bloco de processo indica uma ação a ser executada.
Uma ramificação do algoritmo é indicada no seu fluxograma por um bloco de decisão.
Em um fluxograma, o bloco de saída indica a impressão de um dado.
a) Fluxograma. b) terminal. c) linha de fluxo; execução. d) entrada. e) processo. f) decisão. g) saída.
Escreva um algoritmo/pseudocódigo e um fluxograma correspondente computar a média aritmética entre dois números e dados. Como desafio, tente escrever um código Python baseado em seu algoritmo.
Algoritmo
1. Entre com os valores de x e y 2. m = (x + y)/2 3. Imprime m
Fluxograma
Escreva um algoritmo/pseudocódigo e um fluxograma correspondente para computar a área de um quadrado de lado dado. Como desafio, tente escrever um código Python baseado em seu algoritmo.
Algoritmo
1. Entre com o valor de l 2. area = l*l 3. Imprime area
Escreva um algoritmo/pseudocódigo e um fluxograma correspondente para computar a área de um retângulo de lados dados. Como desafio, tente escrever um código Python baseado em seu algoritmo.
1. Entre com o valor de a 2. Entre com o valor de b 3. area = a*b 4. Imprime area
Escreva um algoritmo/pseudocódigo e um fluxograma correspondente para computar a área de um triângulo retângulo de dada hipotenusa e um dos lados dado. Como desafio, tente escrever um código Python baseado em seu algoritmo.
Algoritmo
1. Entre com o valor de h 2. Entre com o valor de l # o outro cateto 3. m = sqrt(h*h - l*l) 4. area = m*l/2. 5. Imprime area
Fluxograma
Escreva um algoritmo/pseudocódigo e um fluxograma correspondente para computar o zero de uma função afim
(2.3) |
dados os coeficientes e . Como desafio, tente escrever um código Python baseado em seu algoritmo.
1. Entre com o valor de a 2. Entre com o valor de b 3. x0 = -b/a 4. Imprime x0
Escreva um algoritmo/pseudocódigo e um fluxograma correspondente para computar as raízes reais de um polinômio quadrático
(2.4) |
dados os coeficientes , e . Como desafio, tente escrever um código Python baseado em seu algoritmo.
1. Entre com o valor de a 2. Entre com o valor de b 3. Entre com o valor de c # discriminante 4. delta = b*b - 4.*a*c # raízes 5. x1 = (-b - sqrt(delta))/2. 6. x2 = (-b + sqrt(delta))/2. 7. Imprime x1 e x2
A Série Harmônica é defina por
(2.5) |
Escreva um algoritmo/pseudocódigo e um fluxograma corresponde para computar o valor da série harmônica truncada em , com dado. Ou seja, dado , o objetivo é calcular
(2.6) |
Algoritmo
1. Entre com o valor de n. 2. s = 0. 3. Para i = 1, 2, ... n: 3.1. s = s + 1./i 4. Imprime s
Fluxograma
Escreva um algoritmo/pseudocódigo e um fluxograma corresponde para computar o fatorial de um dado número natural , i.e. computar
(2.7) |
1. Entre com o valor de n 2. fat = 1 3. Para i = 2, ..., n: 3.1. fat = fat*i 4. Imprime fat
Dica: o bug ocorre quando .
As informações preenchidas são enviadas por e-mail para o desenvolvedor do site e tratadas de forma privada. Consulte a Política de Uso de Dados para mais informações. Aproveito para agradecer a todas/os que de forma assídua ou esporádica contribuem enviando correções, sugestões e críticas!