1) O documento discute conceitos fundamentais de lógica de programação e algoritmos, incluindo suas definições, características e representações.
2) São apresentados exemplos de algoritmos cotidianos e exercícios para representar algoritmos usando descrição narrativa, fluxogramas e pseudocódigo.
3) O documento é uma aula sobre algoritmos para o curso de Programação de Computadores I da UFOP.
Curso de Delphi - Lógica de ProgramacaoJosé Araújo
O documento apresenta os principais conceitos de lógica de programação, incluindo lógica, algoritmos, variáveis, estruturas de decisão e repetição. Explica como a lógica é usada no dia a dia e como ela é essencial para desenvolvimento de sistemas. Também introduz a linguagem Portugol para escrever algoritmos de forma estruturada.
O documento descreve um curso de Algoritmos e Programação. Apresenta os objetivos do curso, que são desenvolver algoritmos coerentes e válidos para solucionar problemas e implementá-los em linguagem de programação. Também lista os tópicos que serão abordados, como lógica de programação, estruturas de controle, estruturas de dados, modularização de algoritmos. Por fim, descreve a forma de avaliação, que será composta por três notas com provas e trabalhos.
O documento apresenta os principais conceitos da linguagem de programação Pascal, incluindo sua história, características, tipos de variáveis, estruturas de decisão e repetição. Exemplos de código ilustram como declarar variáveis, ler e escrever dados, usar operadores lógicos e laços For/To e While/Do.
Curso de Delphi - Lógica de Programação 2José Araújo
A última aula de Lógica de Programação 2 cobriu operadores relacionais e lógicos, estruturas de decisão e repetição em Portugol, incluindo os comandos SE/ENTÃO/SENÃO e ENQUANTO/FAÇA. O professor também forneceu exemplos e exercícios sobre essas estruturas e operadores para que os alunos possam praticar.
1) O documento discute algoritmos e programação, apresentando conceitos como lógica, sequência lógica, instruções e algoritmos.
2) Aborda formas de representar algoritmos e tópicos preliminares de programação, como estruturas de controle e dados.
3) Detalha o conteúdo programático, avaliação e bibliografia do curso de Algoritmos e Programação.
Slides machine learning festival path pdfFabio Bottura
Machine learning é o combustível da inteligência artificial e pode ser aplicado em diversas áreas como reconhecimento de imagens, processamento de linguagem natural, geração de conteúdo e previsões. As redes neurais aprendem de dados rotulados e podem reconhecer padrões complexos, enquanto aprendizado não supervisionado agrupa dados sem rótulos. A longo prazo, machine learning pode automatizar muitas tarefas e ter impactos significativos.
Pyoquê? é um documento que resume a linguagem de programação Python. Ele descreve que Python foi criada por Guido van Rossum em 1991 e é uma linguagem de programação interpretada, tipagem dinâmica e orientada a objetos. O documento também menciona que Python é popular e usada por muitas empresas e cientistas de dados.
Curso de Delphi - Lógica de ProgramacaoJosé Araújo
O documento apresenta os principais conceitos de lógica de programação, incluindo lógica, algoritmos, variáveis, estruturas de decisão e repetição. Explica como a lógica é usada no dia a dia e como ela é essencial para desenvolvimento de sistemas. Também introduz a linguagem Portugol para escrever algoritmos de forma estruturada.
O documento descreve um curso de Algoritmos e Programação. Apresenta os objetivos do curso, que são desenvolver algoritmos coerentes e válidos para solucionar problemas e implementá-los em linguagem de programação. Também lista os tópicos que serão abordados, como lógica de programação, estruturas de controle, estruturas de dados, modularização de algoritmos. Por fim, descreve a forma de avaliação, que será composta por três notas com provas e trabalhos.
O documento apresenta os principais conceitos da linguagem de programação Pascal, incluindo sua história, características, tipos de variáveis, estruturas de decisão e repetição. Exemplos de código ilustram como declarar variáveis, ler e escrever dados, usar operadores lógicos e laços For/To e While/Do.
Curso de Delphi - Lógica de Programação 2José Araújo
A última aula de Lógica de Programação 2 cobriu operadores relacionais e lógicos, estruturas de decisão e repetição em Portugol, incluindo os comandos SE/ENTÃO/SENÃO e ENQUANTO/FAÇA. O professor também forneceu exemplos e exercícios sobre essas estruturas e operadores para que os alunos possam praticar.
1) O documento discute algoritmos e programação, apresentando conceitos como lógica, sequência lógica, instruções e algoritmos.
2) Aborda formas de representar algoritmos e tópicos preliminares de programação, como estruturas de controle e dados.
3) Detalha o conteúdo programático, avaliação e bibliografia do curso de Algoritmos e Programação.
Slides machine learning festival path pdfFabio Bottura
Machine learning é o combustível da inteligência artificial e pode ser aplicado em diversas áreas como reconhecimento de imagens, processamento de linguagem natural, geração de conteúdo e previsões. As redes neurais aprendem de dados rotulados e podem reconhecer padrões complexos, enquanto aprendizado não supervisionado agrupa dados sem rótulos. A longo prazo, machine learning pode automatizar muitas tarefas e ter impactos significativos.
Pyoquê? é um documento que resume a linguagem de programação Python. Ele descreve que Python foi criada por Guido van Rossum em 1991 e é uma linguagem de programação interpretada, tipagem dinâmica e orientada a objetos. O documento também menciona que Python é popular e usada por muitas empresas e cientistas de dados.
(A03) LabMM3 - Introdução à programaçãoCarlos Santos
Este documento apresenta dois problemas de algoritmia e suas soluções. O Problema 1 propõe trocar objetos entre as mãos e sua solução é um algoritmo e programa que troca as bolas azul e laranja entre as mãos. O Problema 2 pede para ler 3 números e mostrar o maior, e sua solução é um algoritmo que lê os números, compara-os e escreve o maior. O documento também discute conceitos como variáveis, memória RAM e tabela ASCII.
Este documento apresenta a jornada do autor em programação, desde os anos 80 até chegar à linguagem Elixir. Ele descreve como usou várias linguagens funcionais como Clojure e Erlang e ficou interessado em Elixir por ser funcional e influenciado por Clojure. O autor também discute como usa Elixir em seu trabalho acadêmico e projetos de pesquisa.
O documento discute a linguagem de programação Elixir. Apresenta o palestrante Adolfo Neto e seu trabalho com Elixir, incluindo ensinar lógica para computação usando Elixir. Também discute como aprender mais sobre Elixir, projetos com a linguagem e empregos em Elixir.
O documento descreve um curso de Fundamentos de Programação, apresentando sua ementa, objetivos, avaliação e metodologia. Serão abordados conceitos básicos de lógica de programação sem escrever códigos reais, utilizando ferramentas para aprendizado. As aulas ocorrerão de forma remota com encontros ao vivo e atividades no Google Classroom.
O documento apresenta uma aula introdutória sobre programação com Python. A aula ensina conceitos básicos como tipos de dados, variáveis, entrada e saída de dados e estruturas condicionais. Como exemplo prático, é desenvolvido um jogo de adivinhação de número em duas etapas, mostrando como melhorar a lógica do programa.
Aula2 ambientação a linguagem deprogramação pythonCleyton Fábio
Este documento fornece uma introdução à linguagem de programação Python, abordando tópicos como: instalação do interpretador Python, tipos de dados primitivos, variáveis, strings, contagem e acesso a caracteres de strings. O documento também explica porque Python é uma boa opção para programação e apresenta alguns comandos básicos como type(), len() e print().
Paradigmas de Linguagens de programacao - Aula #2Ismar Silveira
1) O documento discute os conceitos fundamentais da programação imperativa, incluindo variáveis, atribuições, fluxo de controle e subrotinas.
2) As primeiras linguagens imperativas foram códigos de máquina e o FORTRAN, enquanto o ALGOL ajudou a expressar algoritmos matemáticos.
3) A programação imperativa se baseia nos conceitos de estados de máquina, reconhecedores de estados e comandos de atribuição e controle.
O documento apresenta os conceitos fundamentais de algoritmos e linguagens de programação. Resume os tópicos discutidos: 1) o que é um algoritmo e sua estrutura básica de entrada, processamento e saída; 2) exemplos de algoritmos para receitas e trocar lâmpada; 3) representações de algoritmos em linguagem natural, pseudocódigo e fluxograma. Também apresenta os tipos de linguagem: de máquina, montagem, programação compilada, interpretada e híbrida.
O documento descreve o problema do 8-Puzzle, incluindo sua formulação como um problema de busca, com estados iniciais e finais, operações legais e custo de caminho. Ele também discute técnicas de busca como busca em largura e profundidade para resolver o problema, além de requisitos funcionais e não funcionais para implementar um protótipo do problema.
O documento discute conceitos básicos de lógica, algoritmos e programação. Define lógica como a ciência do raciocínio e do pensamento formal. Explica que algoritmos são sequências de passos para resolver problemas e que programação é a codificação de algoritmos em linguagens de programação para serem executados por computadores. Também apresenta exemplos de linguagens como Pascal.
O documento discute os tipos de dados em linguagens de programação. Aborda tipos primitivos como inteiros, caracteres, lógicos e pontos flutuantes, além de tipos compostos como strings, vetores e registros. Também explica como linguagens como Java encapsulam tipos primitivos em classes wrapper para permitir o uso de objetos.
Criptografia com bloco de correção de erros aplicados à evolução autômatosAnderson Chaves
Este documento discute a aplicação de criptografia baseada em autômatos celulares. Primeiro, apresenta os fundamentos da criptografia e autômatos celulares, incluindo suas definições, componentes e regras de evolução. Em seguida, descreve um modelo criptográfico proposto usando autômatos celulares elementares e regras complementares de evolução. Por fim, discute resultados experimentais iniciais e melhorias realizadas com a adição de pré-processamento, pós-processamento e correção de erros.
O documento descreve as regras e objetivos de um Coding Dojo, que é um evento de programação colaborativa sem competição onde os participantes praticam programação em pares durante turnos curtos. O foco é na prática deliberada de técnicas como test driven development em linguagens como JavaScript.
Introdução a Linguagem de Programação PythonFlávio Ribeiro
O documento apresenta uma introdução à linguagem de programação Python. Aborda o que é Python, por que usá-la, o interpretador interativo, variáveis e tipos, regras de sintaxe, funções, entrada e saída, instruções condicionais e de repetição. Inclui também exemplos de código Python.
O documento discute o paradigma de programação lógica, com foco na linguagem Prolog. Ele descreve que a programação lógica se originou com o trabalho de John Alan Robinson em 1965 e que Prolog foi proposta em 1972, sendo baseada em cálculo de predicados de primeira ordem. Também apresenta brevemente que em Prolog os programas são escritos como regras lógicas no formato "goal :- subgoals" para provar um objetivo.
Este documento apresenta um resumo de tópicos de matemática, física e química para estudantes do ensino médio, incluindo variação de variáveis, domínio e contradomínio de funções, expressões algébricas e uma equação linear. Também fornece instruções sobre como usar um software educacional e descreve as etapas do método científico aplicado a experimentos.
2 - Algoritmos e Estruturas de Dados - Algoritmo.pptxrapc987
O documento discute conceitos fundamentais de algoritmos e programação de computadores. Em três frases:
1) Apresenta que algoritmos envolvem abstração da realidade para capturar apenas aspectos relevantes de um contexto e que programação requer codificar essa abstração em linguagens de programação.
2) Explica que programação de sistemas computacionais envolve exercitar constantemente a abstração da realidade e codificá-la em linguagens de programação para processamento de entrada, saída e memória.
3) Discorre sobre estruturas lógicas
O documento discute algoritmos e fornece exemplos. Em três frases:
Discutem-se definições e características de algoritmos, como sequências finitas de passos para resolver problemas. Fornecem-se exemplos de algoritmos, como receitas culinárias e troca de lâmpadas. Abordam-se também representações gráficas como fluxogramas para descrever algoritmos.
1) O documento apresenta os tópicos de Lógica de Programação, Algoritmos e Estruturas de Dados.
2) Aborda conceitos como funções básicas de software, introdução a algoritmos, lógica e estruturas de dados.
3) Inclui exemplos de algoritmos, exercícios de lógica e introdução a pseudocódigo.
O documento apresenta conceitos básicos sobre algoritmos e lógica de programação. Discutem-se tópicos como definição de algoritmos, características, formas de representação e estruturas chaves para construção. Apresentam-se também exemplos de jogos lógicos como exercícios práticos e site com jogos adicionais.
(A03) LabMM3 - Introdução à programaçãoCarlos Santos
Este documento apresenta dois problemas de algoritmia e suas soluções. O Problema 1 propõe trocar objetos entre as mãos e sua solução é um algoritmo e programa que troca as bolas azul e laranja entre as mãos. O Problema 2 pede para ler 3 números e mostrar o maior, e sua solução é um algoritmo que lê os números, compara-os e escreve o maior. O documento também discute conceitos como variáveis, memória RAM e tabela ASCII.
Este documento apresenta a jornada do autor em programação, desde os anos 80 até chegar à linguagem Elixir. Ele descreve como usou várias linguagens funcionais como Clojure e Erlang e ficou interessado em Elixir por ser funcional e influenciado por Clojure. O autor também discute como usa Elixir em seu trabalho acadêmico e projetos de pesquisa.
O documento discute a linguagem de programação Elixir. Apresenta o palestrante Adolfo Neto e seu trabalho com Elixir, incluindo ensinar lógica para computação usando Elixir. Também discute como aprender mais sobre Elixir, projetos com a linguagem e empregos em Elixir.
O documento descreve um curso de Fundamentos de Programação, apresentando sua ementa, objetivos, avaliação e metodologia. Serão abordados conceitos básicos de lógica de programação sem escrever códigos reais, utilizando ferramentas para aprendizado. As aulas ocorrerão de forma remota com encontros ao vivo e atividades no Google Classroom.
O documento apresenta uma aula introdutória sobre programação com Python. A aula ensina conceitos básicos como tipos de dados, variáveis, entrada e saída de dados e estruturas condicionais. Como exemplo prático, é desenvolvido um jogo de adivinhação de número em duas etapas, mostrando como melhorar a lógica do programa.
Aula2 ambientação a linguagem deprogramação pythonCleyton Fábio
Este documento fornece uma introdução à linguagem de programação Python, abordando tópicos como: instalação do interpretador Python, tipos de dados primitivos, variáveis, strings, contagem e acesso a caracteres de strings. O documento também explica porque Python é uma boa opção para programação e apresenta alguns comandos básicos como type(), len() e print().
Paradigmas de Linguagens de programacao - Aula #2Ismar Silveira
1) O documento discute os conceitos fundamentais da programação imperativa, incluindo variáveis, atribuições, fluxo de controle e subrotinas.
2) As primeiras linguagens imperativas foram códigos de máquina e o FORTRAN, enquanto o ALGOL ajudou a expressar algoritmos matemáticos.
3) A programação imperativa se baseia nos conceitos de estados de máquina, reconhecedores de estados e comandos de atribuição e controle.
O documento apresenta os conceitos fundamentais de algoritmos e linguagens de programação. Resume os tópicos discutidos: 1) o que é um algoritmo e sua estrutura básica de entrada, processamento e saída; 2) exemplos de algoritmos para receitas e trocar lâmpada; 3) representações de algoritmos em linguagem natural, pseudocódigo e fluxograma. Também apresenta os tipos de linguagem: de máquina, montagem, programação compilada, interpretada e híbrida.
O documento descreve o problema do 8-Puzzle, incluindo sua formulação como um problema de busca, com estados iniciais e finais, operações legais e custo de caminho. Ele também discute técnicas de busca como busca em largura e profundidade para resolver o problema, além de requisitos funcionais e não funcionais para implementar um protótipo do problema.
O documento discute conceitos básicos de lógica, algoritmos e programação. Define lógica como a ciência do raciocínio e do pensamento formal. Explica que algoritmos são sequências de passos para resolver problemas e que programação é a codificação de algoritmos em linguagens de programação para serem executados por computadores. Também apresenta exemplos de linguagens como Pascal.
O documento discute os tipos de dados em linguagens de programação. Aborda tipos primitivos como inteiros, caracteres, lógicos e pontos flutuantes, além de tipos compostos como strings, vetores e registros. Também explica como linguagens como Java encapsulam tipos primitivos em classes wrapper para permitir o uso de objetos.
Criptografia com bloco de correção de erros aplicados à evolução autômatosAnderson Chaves
Este documento discute a aplicação de criptografia baseada em autômatos celulares. Primeiro, apresenta os fundamentos da criptografia e autômatos celulares, incluindo suas definições, componentes e regras de evolução. Em seguida, descreve um modelo criptográfico proposto usando autômatos celulares elementares e regras complementares de evolução. Por fim, discute resultados experimentais iniciais e melhorias realizadas com a adição de pré-processamento, pós-processamento e correção de erros.
O documento descreve as regras e objetivos de um Coding Dojo, que é um evento de programação colaborativa sem competição onde os participantes praticam programação em pares durante turnos curtos. O foco é na prática deliberada de técnicas como test driven development em linguagens como JavaScript.
Introdução a Linguagem de Programação PythonFlávio Ribeiro
O documento apresenta uma introdução à linguagem de programação Python. Aborda o que é Python, por que usá-la, o interpretador interativo, variáveis e tipos, regras de sintaxe, funções, entrada e saída, instruções condicionais e de repetição. Inclui também exemplos de código Python.
O documento discute o paradigma de programação lógica, com foco na linguagem Prolog. Ele descreve que a programação lógica se originou com o trabalho de John Alan Robinson em 1965 e que Prolog foi proposta em 1972, sendo baseada em cálculo de predicados de primeira ordem. Também apresenta brevemente que em Prolog os programas são escritos como regras lógicas no formato "goal :- subgoals" para provar um objetivo.
Este documento apresenta um resumo de tópicos de matemática, física e química para estudantes do ensino médio, incluindo variação de variáveis, domínio e contradomínio de funções, expressões algébricas e uma equação linear. Também fornece instruções sobre como usar um software educacional e descreve as etapas do método científico aplicado a experimentos.
2 - Algoritmos e Estruturas de Dados - Algoritmo.pptxrapc987
O documento discute conceitos fundamentais de algoritmos e programação de computadores. Em três frases:
1) Apresenta que algoritmos envolvem abstração da realidade para capturar apenas aspectos relevantes de um contexto e que programação requer codificar essa abstração em linguagens de programação.
2) Explica que programação de sistemas computacionais envolve exercitar constantemente a abstração da realidade e codificá-la em linguagens de programação para processamento de entrada, saída e memória.
3) Discorre sobre estruturas lógicas
O documento discute algoritmos e fornece exemplos. Em três frases:
Discutem-se definições e características de algoritmos, como sequências finitas de passos para resolver problemas. Fornecem-se exemplos de algoritmos, como receitas culinárias e troca de lâmpadas. Abordam-se também representações gráficas como fluxogramas para descrever algoritmos.
1) O documento apresenta os tópicos de Lógica de Programação, Algoritmos e Estruturas de Dados.
2) Aborda conceitos como funções básicas de software, introdução a algoritmos, lógica e estruturas de dados.
3) Inclui exemplos de algoritmos, exercícios de lógica e introdução a pseudocódigo.
O documento apresenta conceitos básicos sobre algoritmos e lógica de programação. Discutem-se tópicos como definição de algoritmos, características, formas de representação e estruturas chaves para construção. Apresentam-se também exemplos de jogos lógicos como exercícios práticos e site com jogos adicionais.
Este documento apresenta os conceitos básicos de lógica de programação, incluindo algoritmos, variáveis, tipos de dados, operadores lógicos e aritméticos, estruturas de controle e repetição como if/else, while e for, funções e módulos.
Este documento apresenta notas de aula sobre a linguagem C, abordando tópicos como: 1) introdução à linguagem C, sua estrutura e objetivos do curso; 2) características e aplicações da linguagem C; 3) comparação da linguagem C com outras linguagens. Exercícios sobre a linguagem C são propostos no final.
O documento discute diferentes formas de representar algoritmos, incluindo descrição narrativa, fluxograma e linguagem algorítmica. Ele também explica estruturas básicas de algoritmos como sequenciação, decisão e repetição.
O documento apresenta uma introdução à linguagem de programação LISP em 15 minutos. Apresenta uma breve história da linguagem, criada em 1958 por John McCarthy, e define suas principais características como a estrutura de listas ligadas e a notação prefixa. Explica como código e dados recebem o mesmo tratamento na linguagem e como macros permitem criar DSLs (domain-specific languages) próprias. Finaliza mostrando como LISP permite dividir código em blocos pequenos e reutilizáveis.
O documento apresenta uma introdução à linguagem de programação Ruby por meio de slides. Os principais pontos apresentados são: (1) Apresentação do autor Saulo Arruda; (2) Breve descrição de Ruby como linguagem dinâmica e de fácil leitura; (3) Exemplos interativos da linguagem no terminal IRB.
Este documento fornece uma introdução à programação, incluindo: (1) Uma breve história da programação e da computação, (2) Conceitos básicos como algoritmos, variáveis e tipos de dados, e (3) Estruturas de programação como instruções condicionais e de repetição. O documento também apresenta exemplos de algoritmos em pseudocódigo para auxiliar na compreensão dos conceitos.
1) O documento discute algoritmos e programação, apresentando conceitos como lógica, sequência lógica, instruções e algoritmos.
2) Aborda formas de representar algoritmos e tópicos preliminares de programação, como estruturas de controle e dados.
3) Detalha o conteúdo programático, avaliação e bibliografia do curso de Algoritmos e Programação.
CURSO JAVA - AULA 1 - INTRODUÇÃO LÓGICA DE PROGRAMAÇÃOMicrosoft
O documento discute conceitos fundamentais de lógica de programação, incluindo:
1) O objetivo de desenvolver o raciocínio lógico do aluno para programação de computadores.
2) Diferentes tipos de linguagens de programação como imperativa, funcional, lógica e orientada a objetos.
3) Conceitos como algoritmos, variáveis, constantes, diagramas de blocos e pseudocódigo para representar algoritmos.
Este documento apresenta um guia sobre funções e estruturas de repetição em Portugol, incluindo: 1) As funções MOD e DIV para resto e quociente de divisão; 2) Laços como FOR e WHILE para repetir instruções; 3) A função SWITCH/CASE para escolhas múltiplas; 4) Vetores para armazenar múltiplos dados do mesmo tipo. Exemplos de algoritmos são fornecidos para ilustrar o uso dessas estruturas.
A apresentação discute a importância dos algoritmos e suas características, formas de representação e estruturas chaves. São apresentados exemplos de algoritmos para tarefas como escovar os dentes, trocar uma lâmpada e preparar um drink. O documento encerra com um exercício sobre a torre de Hanói e considerações finais.
As técnicas de algoritmos apresentadas incluem algoritmos de força bruta, pesquisa exaustiva, dividir e conquistar, gulosos e backtracking. O documento explica o conceito de backtracking, características como podas quando não há solução e busca em profundidade, e fornece exemplos como labirintos, problema das N rainhas e problema dos filósofos para ilustrar a técnica.
Este documento introduz o conceito de algoritmos, definindo-o como um conjunto de passos lógicos para resolver um problema. Explica que algoritmos devem ser claros e precisos, sem ambiguidades. Apresenta exemplos de algoritmos para tarefas como se vestir e trocar uma lâmpada. Discute também representações de algoritmos e partes fundamentais como entrada, processamento e saída de dados.
2. LÓGICA DE PROGRAMAÇÃO: é a técnica de
encadear pensamentos para atingir determinado
objetivo; técnica necessária para o
desenvolvimento de sistemas e programas.
ALGORITMO: é uma sequencia de passos finitos
com o objetivo de solucionar o problema.
UFOP - ICEB - DECOM
Prof. Marcelo Luiz Silva (Red)
3. “Um conjunto finito de regras que provê uma
seqüência de operações para resolver um tipo de
problema específico” - [Knuth]
“Seqüência ordenada, e não ambÍgua, de passos
que levam à solução de um dado problema” -
[Tremblay]
UFOP - ICEB - DECOM
Prof. Marcelo Luiz Silva (Red)
DEFINIÇÃO DE ALGORITMO
4. ♦ Diante de um problema, busca-se a solução!
♦ O algoritmo não é a solução de um problema,
pois, se assim fosse, cada problema teria um único
algoritmo;
♦ O algoritmo é um conjunto de passos (ações)
que levam à solução de um determinado problema,
ou então, é um caminho para a solução de um
problema.
♦ Os caminhos podem ser muitos!
♦ Objetivo deste estudo: possibilitar ao aluno, a
partir das soluções apresentadas, construir sua
própria lógica de programação.
UFOP - ICEB - DECOM
Prof. Marcelo Luiz Silva (Red)
POR QUE ESTUDAR ALGORITMOS?
5. ♦ Ligação de um telefone público
Problema: falar com alguém pelo telefone.
1) retirar o telefone do gancho
2) esperar o sinal
3) colocar o cartão
4) discar o número
5) falar no telefone
6) colocar o telefone no gancho
UFOP - ICEB - DECOM
Prof. Marcelo Luiz Silva (Red)
EXEMPLOS DE ALGORITMOS COTIDIANOS
6. ♦ Algoritmo para levar um leão, uma cabra e um pé
de alface, de um lado para outro de um rio,
atravessando com um bote. Sabe-se que nunca o
leão pode ficar sozinho com a cabra e nem a cabra
sozinha com o alface.
1) levar a alface e o leão
2) voltar com o leão
3) deixar o leão
4) levar a cabra
5) deixar a cabra
6) voltar com o alface
7) levar o leão e o alface
UFOP - ICEB - DECOM
Prof. Marcelo Luiz Silva (Red)
EXEMPLOS DE ALGORITMOS COTIDIANOS
7. ♦ Algoritmo para fazer uma prova
1) ler a prova;
2) pegar a caneta;
3) enquanto ( (houver questão em branco) e
(tempo não terminou) ) faça
se (souber a questão)
resolvê-la;
senão
pular para a outra;
fim-enquanto;
4) entregar a prova.
UFOP - ICEB - DECOM
Prof. Marcelo Luiz Silva (Red)
EXEMPLOS DE ALGORITMOS COTIDIANOS
8. Fazer um algoritmo para levar 3 missionários e 3
canibais de um lado para outro de um rio,
atravessando com um bote. Sabe-se que nunca
pode ter mais missionários do que canibais,
porque senão os missionários catequizam os
canibais. O que fazer para levar os 6 de uma
margem para a outra?
UFOP - ICEB - DECOM
Prof. Marcelo Luiz Silva (Red)
D E S A F I O
9. ♦ Cada linha do algoritmo (passo) é uma instrução
finita e compreensível para que a executa;
♦ INSTRUÇÃO: indica a um computador uma ação
elementar a ser executada;
♦ Ao formularmos um algoritmo, temos de ter
clareza a respeito do aspecto estático dessa
seqüência de ações escritas num pedaço de papel.
O aspecto dinâmico só se evidencia ao
executamos essa seqüência no computador e daí,
poderemos ter certeza se conseguimos ou não
resolver o problema.
UFOP - ICEB - DECOM
Prof. Marcelo Luiz Silva (Red)
ALGORITMOS ...
10. ♦PROGRAMA DE COMPUTADOR: é um algoritmo
escrito em uma linguagem de programação
qualquer (C, Pascal, Eiffel, Java, etc.). É a tradução
da linguagem do algoritmo para a linguagem de
programação.
♦ O mais importante de um programa é a sua
lógica, raciocínio utilizado para resolver o
problema que é exatamente o algoritmo.
PROGRAMA =
ALGORITMO + LINGUAGEM DE PROGRAMAÇÃO
UFOP - ICEB - DECOM
Prof. Marcelo Luiz Silva (Red)
ALGORITMO – PROGRAMA DE COMPUTADOR
11. Algoritmo
1) retire uma moeda do bolso;
2) coloque a moeda sobre a mesa;
3) volte ao passo 1;
Problema: e quando não houver mais moedas no
bolso?
O algoritmo não sabe o que fazer...
UFOP - ICEB - DECOM
Prof. Marcelo Luiz Silva (Red)
O PROBLEMA DA AMBIGUIDADE
12. ♦ Ter um início e fim claros;
♦ Não dar margem a interpretações duplas
(ambiguidade);
♦ ter zero ou mais informações de entrada;
♦ ter uma ou mais informações de saída;
♦ ter passos claros e bem definidos.
UFOP - ICEB - DECOM
Prof. Marcelo Luiz Silva (Red)
CARACTERÍSTICAS DE UM ALGORITMO
13. ♦ Para representar-se os algoritmos requer-se
alguma forma de linguagem;
♦ Algumas formas de representação:
♦ descrição narrativa;
♦ fluxograma;
♦ Pseudocódigo: português estruturado ou
portugol.
UFOP - ICEB - DECOM
Prof. Marcelo Luiz Silva (Red)
REPRESENTAÇÃO DE ALGORITMOS
14. ♦ Os algoritmos são expressos diretamente em
linguagem natural (Português).
♦ Exemplo: Cálculo da média de um aluno
1) Obter as notas da primeira e da segunda prova;
2) Calcular a média aritmética entre as duas notas;
3) Se a média for maior ou igual a 6.0, o aluno foi
aprovado, senão ele foi reprovado.
UFOP - ICEB - DECOM
Prof. Marcelo Luiz Silva (Red)
Descrição Narrativa
15. VANTAGEM
♦ O português é bastante conhecido por nós.
DESVANTAGEM
♦ Imprecisão e Extensão, isto é, escreve-se muito
para dizer pouca coisa.
UFOP - ICEB - DECOM
Prof. Marcelo Luiz Silva (Red)
Descrição Narrativa
16. Utilização de símbolos gráficos padronizados para
representar os algoritmos.
UFOP - ICEB - DECOM
Prof. Marcelo Luiz Silva (Red)
FLUXOGRAMA
17. Cálculo da média
de um aluno.
UFOP - ICEB - DECOM
Prof. Marcelo Luiz Silva (Red)
FLUXOGRAMA
18. VANTAGENS
♦ Uma das ferramentas mais conhecidas;
♦ Figuras dizem mais que palavras;
♦ Padrão mundial.
DESVANTAGENS
♦ Pouca atenção aos dados, não oferecendo
recursos para descrevê-los e representá-los;
♦ Torna-se complicado a medida que o algoritmo
cresce.
UFOP - ICEB - DECOM
Prof. Marcelo Luiz Silva (Red)
FLUXOGRAMA
19. ♦Combina a facilidade da linguagem natural com a
precisão da linguagem de programação.
JOGO DA FORCA
1) escolher a palavra;
2) montar o diagrama do jogo;
3) enquanto ( (houver lacunas vazias) e
(corpo incompleto) ) faça
se (acertar uma letra)
escrever na lacuna correspondente;
senão
desenhar uma parte do corpo na forca;
4) fim
UFOP - ICEB - DECOM
Prof. Marcelo Luiz Silva (Red)
PSEUDOCÓDIGO
20. VANTAGENS
♦ Usa o português como base;
♦ Pode-se definir quais e como os dados vão
estar estruturados;
♦ Passagem quase que imediata do algoritmo
para uma linguagem de programação qualquer.
DESVANTAGENS
♦ Não padronizado
UFOP - ICEB - DECOM
Prof. Marcelo Luiz Silva (Red)
PSEUDOCÓDIGO
21. 1) Escreva o algoritmo na forma de descrição
narrativa para fritar um ovo.
2) Escreva os algoritmos utilizando fluxogramas:
a) Obter a soma (S) e o produto (P) de dois valores
(A; B) inseridos por teclado. Imprimir o resultado.
b) Calcular a área (A) de um retângulo. A base (B) e
a altura (H) do retângulo são inseridos por teclado.
Imprimir o resultado.
3) Escrever os pseudocódigos para:
a) Dados 2 valores por teclado mostrá-los em
ordem crecente.
b) Dado um número, responder se ele é positivo ou
negativo
UFOP - ICEB - DECOM
Prof. Marcelo Luiz Silva (Red)
EXERCÍCIOS