3 Introdução aos algoritmos

Tamanho: px
Começar a partir da página:

Download "3 Introdução aos algoritmos"

Transcrição

1 3 Introdução aos algoritmos 3.1 Motivação Por que estudar algoritmos? Olhe em sua volta, ou melhor, olhe em seu computador: você já percebeu quantos softwares diferentes você utiliza diariamente? O próprio sistema operacional, carregado inicialmente, antes mesmo que você possa executar algo, é composto por uma série de processos (e podemos entender cada processo como sendo um programa que atua de forma independente dos demais). Se você já precisou em algum momento elaborar um artigo científico, um panfleto publicitário ou um trabalho escolar, provavelmente já se utilizou de algum processador de texto. Se já necessitou de alguma ferramenta para realização de cálculos, talvez tenha usado uma planilha eletrônica ou mesmo uma calculadora. Todos esses programas em nosso computador, todos esses softwares, foram criados por alguém. E o que aconteceria se você mesmo pudesse criar softwares que desejasse? Talvez você já tenha pensado alguma vez em algum programa que funcionasse como uma calculadora, mas com uma finalidade bastante específica, e não encontrou uma versão já pronta. E se você tivesse o conhecimento necessário para implementá-la ou ao menos soubesse um meio de especificar seu funcionamento nos menores detalhes para um programador tal que ele pudesse criá-la para você? Não seria fantástico? Pois bem, é para isso que estamos aqui, para aprender algoritmos, que são uma forma de descrever como uma determinada tarefa pode ser executada e ao descrever corretamente como a tarefa pode ser executada, conseguimos também descrever como deve funcionar um software para executar aquela tarefa O que é um programa / software? É bem provável que você já tenha utilizado algum software em algum momento de sua vida: há processadores de textos, ferramentas para criação de apresentações, calculadoras, planilhas eletrônicas, ferramentas para edição gráfica, softwares para gestão de estoque ou folha de pagamentos, simuladores, jogos eletrônicos, etc. Todos eles são exemplos de software. Dizemos sempre que um computador pronto para uso é formado por hardware mais software. Hardware é todo equipamento físico necessário para que o mesmo funcione. Já o software é a parte lógica, necessária para determinar como o hardware deve se comportar, que informações devem ser requisitadas e enviadas ao usuário. Enfim, um software (ou programa, como também chamamos) é todo sistema para computador que executa tarefas de forma sequencial. E podemos compreender uma

2 tarefa como sendo um conjunto de comandos e decisões necessários para alcançar um determinado objetivo. Agora que já sabemos que um software é um sistema capaz de executar uma tarefa de forma sequencial, surge uma dúvida: como podemos, então, descrever como o software deveria resolver um problema? Esse é o papel do algoritmo. 3.2 Definição de algoritmo O conceito de algoritmo não existe somente no mundo da Computação, sendo empregado em toda tarefa que seja complexa e aparente necessitar de uma forma para especificar como deve ser executada. Um algoritmo é, assim, uma sequência de ações finitas que descreve como um problema deve ser resolvido. Exemplos de algoritmos são: o processo de troca de um pneu, modo como os cabelos devem ser penteados (sim, é possível descrever um algoritmo para isso!) e o cálculo da média de um aluno (neste caso, podemos pode-se pensar até em um programa que poderia ser implementado a partir desse algoritmo e seria muito útil!). 3.3 Características de um algoritmo Uma vez que um algoritmo descreve como uma determinada tarefa pode ser executada, algumas características devem estar presentes tal que o mesmo possa ser realmente aplicável na prática, seja por um humano, seja por uma máquina: Finitude Todo algoritmo deve ser formado por um conjunto finito de passos, isto é, possuir início e fim. Um algoritmo não pode, então, ser executado indefinidamente; Definição Cada ação ou passo de um algoritmo deve ser escrito de forma bastante precisa, sem ambigüidades ou dúvidas quanto à sua execução; Sequencial Um algoritmo é formado por uma série de passos que devem ser executados em uma ordem seqüencial; Entradas Um algoritmo deve apresentar zero ou mais entradas, isto é, informações que devem ser inseridas por um usuário ou por outra fonte externa; Saídas Um algoritmo deve apresentar uma ou mais saídas, isto é, informações pré-definidas e/ou resultantes do processamento das entradas; Eficiência Um algoritmo deve ser eficiente, significando que suas operações devem ser suficientemente básicas tal que um ser humano seja hábil a executá-las com precisão em papel e lápis em um tempo finito.

3 3.4 Formas de representação dos algoritmos Há várias formas de representar um algoritmo, cada qual com suas próprias vantagens e desvantagens, sendo as mais comuns a descrição narrativa, representação gráfica, o uso de pseudocódigo e implementação em uma linguagem de programação. Analisaremos agora cada uma dessas formas Descrição narrativa A descrição narrativa é a forma mais comum de encontrarmos algoritmos. Toda vez que tentamos descrever como uma tarefa deve ser executada por meio de um texto, seja ele verbal ou escrito, estamos nos usando de uma descrição para representar o algoritmo capaz de resolver aquele problema. Um exemplo bastante comum de descrição narrativa é a receita de um bolo. Veja só como um cozinheiro pode auxiliar outro lhe oferecendo uma descrição da receita: Separar os ingredientes Bater os ovos em ponto de neve na batedeira Acrescentar açúcar e farinha de trigo Acrescentar uma colher de manteiga Acrescentar uma colher de fermento em pó Colocar na forma Colocar no forno e assar Tirar da forma e servir Fim do processo! A principal vantagem dessa forma de representação é que ela é muito fácil de ser compreendida e empregada no dia-a-dia, qualquer um capaz de compreender alguma língua pode falar ou escrever uma narrativa na mesma. Entretanto, tal método possui como uma de suas desvantagens a inexistência de regras que ditem como cada ação deve ser descrita a fim de evitar ambiguidades ou problemas de clareza quanto à sua compreensão.

4 3.4.2 Fluxogramas Outra forma de representar um algoritmo bastante comum é por meio de representações gráficas, geralmente fluxogramas. Um fluxograma trata-se de um diagrama composto por várias ações e entidades representadas em caixas de diversos formatos (o formato de cada qual determina o tipo de ação a ser tomado ali) e setas interligando todas essas caixas de forma a criar-se um caminho com início e fim. A sequência de ações que deve ser tomada, então, é encontrada percorrendo-se o fluxograma de seu início até o seu fim, sendo então executada cada ação ou teste como está escrito. Abaixo, um exemplo de fluxograma: A principal vantagem da representação gráfica de um algoritmo por meio de um fluxograma é mais concisa que a descrição narrativa, representando visualmente desvios e laços. Entretanto, tal método tem como desvantagem a necessidade de aprender simbologia necessária para a construção de fluxogramas Pseudocódigo (Portugol) Outra forma de representar um algoritmo é por meio de um pseudocódigo, isto é, a representação textual das ações por meio de comandos pré-definidos em uma espécie de linguagem similar a uma linguagem de programação, porém muito mais próxima da nossa própria.

5 No Brasil, como nosso idioma é o Português, podemos nos utilizar de um pseudocódigo conhecido como Português Estruturado, também conhecido por Portugol. Abaixo, um exemplo de um pseudocódigo em Portugol para o cálculo da média de um aluno a partir de suas quatro notas. programa calculo_de_media; leia notaa, notab, notac, notad; media <- (notaa + notab + notac + notad) / 2; retorne media; A principal vantagem da adoção de um pseudocódigo como forma de representar um algoritmo é que a sua transcrição para código-fonte em uma linguagem de programação qualquer é bastante direta, principalmente quando especificado em Portugol, uma vez que este apresenta regras, expressões e conceitos muito similares aos presentes na maioria das linguagens de programação. A principal desvantagem é que, a fim de utilizar-se corretamente de um pseudocódigo para representar um algoritmo, temos que aprender todas as regras daquele pseudocódigo, o que pode ser quase tão complexo quanto aprender uma linguagem de programação Em uma linguagem de programação E a última forma de representação de um algoritmo que estudaremos aqui é utilizando-se de uma linguagem de programação tal que possamos elaborar diretamente o código-fonte do programa que desejamos. Abaixo, um exemplo de algoritmo escrito na linguagem C efetuando a soma dos números 3 e 2 e posteriormente a impressão do mesmo. void main() { } int a; a = 3 + 2; printf( Resultado: %d, a); A principal vantagem desta forma de representação é bem clara: por meio dela, já temos o código-fonte do programa que desejamos construir, assim, precisamos somente compilá-la e construir o executável da aplicação. A principal desvantagem é que é necessário conhecimentos suficientes de uma linguagem de programação a fim de escrever o código-fonte da mesma, exigindo assim muito mais do aprendiz do que as demais formas de representação.

6 3.5 Vantagens do uso de algoritmos Deve-se lembrar que um algoritmo, isto é, a descrição das ações a serem executadas a fim de cumprir uma tarefa, é independente das linguagens de programação. Isso significa que a partir de um algoritmo deve-se ser capaz de convertê-lo para qualquer outra linguagem de programação mesmo quando o mesmo já foi escrito em uma linguagem de programação! A adoção de um algoritmo na definição da tarefa facilita a compreensão acerca da solução adotada, ao descrevê-la na forma de passos seqüenciais não-ambíguos. Além disso, não há um formalismo rígido sobre como um algoritmo deve ser escrito, ficando assim a cargo do responsável a escolha pelo método que melhor lhe convém. 3.6 Elementos fundamentais de um algoritmo Analisemos agora os elementos que compõem um algoritmo. Para ficar mais claro do que estamos falando, consideremos como exemplo um algoritmo que, dado um número N, deve retornar o fatorial de N como solução Entrada São os dados de entrada do algoritmo, toda informação necessária para a execução correta do mesmo e que deve ser informada pelo usuário do sistema e/ou ser proveniente de outras fontes externas (como bancos de dados, arquivos, etc.). No exemplo supracitado, o valor de N será a nossa entrada, necessária para a realização do cálculo Processamento São os procedimentos utilizados para chegar ao resultado final. Todo algoritmo pode executar algum tipo de processamento sobre os valores recebidos e então devolver os novos valores encontrados. Em nosso exemplo, todo o cálculo necessário para determinar o fatorial de N deve ser considerado parte do processamento.

7 3.6.3 Saída São os dados já processados e prontos para serem enviados ao usuário ou armazenados em alguma fonte externa. Em nosso exemplo, o resultado final, isto é, o fatorial de N, é a nossa saída. Abaixo uma figura ilustrando como isso ocorre em um algoritmo: Entrada Processamento Saída 3.7 Linguagem de programação, compilador e IDE A fim de melhor facilitar o nosso aprendizado, conheçamos agora três conceitos importantes para quem está aprendendo a programa: linguagem de programação, compilador e IDE Linguagem de programação Uma linguagem é um conjunto de regras sintáticas e semânticas com o intuito de facilitar a comunicação. No campo da Computação, uma linguagem de programação refere-se ao conjunto de regras sintáticas e semânticas utilizado para definir um programa de computador Compilador Programa que, a partir de um código escrito em uma linguagem de programação, o código-fonte, e cria um programa semanticamente equivalente, porém escrito em outra linguagem, o código-objeto. O código-objeto ainda não é o nosso executável final, em código de máquina. Antes disso, entrará em ação outra ferramenta, o linkeditor (ou ligador, como os portugueses traduzem tal termo), cuja tarefa é pegar o código-objeto, as bibliotecas necessárias para a execução do mesmo e vários outros arquivos e parâmetros e converter tudo em um arquivo executável agora sim, pronto para a execução em qualquer máquina com a arquitetura para a qual foi projetado. Abaixo uma imagem representando todo esse processo:

8 Lembre-se: um compilador é bem diferente de um interpretador! No caso do interpretador, não há geração de código-objeto e, portanto, não há também a tarefa de linkedição. Em vez disso, ao executar-se um programa em um interpretador ele irá carregar o código-fonte e converter on the fly (isto é, durante sua execução, in run time) cada instrução em uma instrução reconhecível pela máquina tal que possa ser executada IDE IDE é a abreviatura de Integrated Development Environment ambiente para desenvolvimento integrado, em uma tradução livre. Refere-se a um ambiente integrado onde o desenvolvedor pode organizar todos os arquivos relacionados ao desenvolvimento de um programa, editá-los, compilá-los e testar seu programa de forma fácil e rápida. Antes do uso de IDEs no desenvolvimento, o código-fonte era escrito em qualquer editor de texto (dessa forma, sem o uso de certos benefícios como funcionalidades para auto-completar o código, verificação de sintaxe em tempo de edição e outras) e era comum o uso de prompt de linha de comando para as tarefas de compilação, linkedição, etc. As IDEs atuais oferecem também muitas facilidades para debugging, isto é, testes da aplicação a fim de analisar se o seu funcionamento está correto.

9 Abaixo, uma imagem da IDE do Code::Blocks:

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

Programação de Computadores I Introdução PROFESSORA CINTIA CAETANO Programação de Computadores I Introdução PROFESSORA CINTIA CAETANO Introdução Resolução de problemas Encontrar uma maneira de descrever este problema de uma forma clara e precisa. Encontremos uma seqüência

Leia mais

PROGRAMAÇÃO I. Introdução

PROGRAMAÇÃO I. Introdução PROGRAMAÇÃO I Introdução Introdução 2 Princípios da Solução de Problemas Problema 1 Fase de Resolução do Problema Solução na forma de Algoritmo Solução como um programa de computador 2 Fase de Implementação

Leia mais

Introdução à Programação

Introdução à Programação Introdução à Programação Aula 02 Algoritmos e Ciclo de Desenvolvimento Edirlei Soares de Lima Modelo de um Computador Linguagem de Máquina Um processador executa instruções de máquina.

Leia mais

Introdução à Programação

Introdução à Programação INF1005: Programação 1 Introdução à Programação 08/03/10 (c) Paula Rodrigues 1 Tópicos Principais Modelo de um Computador Ciclo de Desenvolvimento 08/03/10 (c) Paula Rodrigues 2 Modelo de um Computador

Leia mais

Algoritmos e Técnicas de Programação Introdução Givanaldo Rocha de Souza

Algoritmos e Técnicas de Programação Introdução Givanaldo Rocha de Souza Algoritmos e Técnicas de Programação Introdução Givanaldo Rocha de Souza givanaldo.rocha@ifrn.edu.br http://docente.ifrn.edu.br/givanaldorocha Conceitos Lógica de Programação técnica de encadear pensamentos

Leia mais

Desenvolvimento de Aplicações Desktop

Desenvolvimento de Aplicações Desktop Desenvolvimento de Aplicações Desktop Conceitos Básicos de Programação Professor: Charles Leite O Desenvolvimento de Programas A programação consiste em indicar como o computador (hardware) deve trabalhar

Leia mais

Disciplina de Algoritmos e Programação

Disciplina de Algoritmos e Programação Disciplina de Algoritmos e Programação Atividades Plano de ensino Conteúdos da disciplina, definição das datas, critérios de avaliação e bibliografias Início da matéria Conceito e definição de algoritmos

Leia mais

Algoritmo de Programação. Aula1

Algoritmo de Programação. Aula1 Algoritmo de Programação Aula1 Conceituação Muitas definições podem ser dadas à palavra algoritmo. Atualmente, tem-se associado algoritmo à computação, mas este não é um termo restrito à computação ou

Leia mais

Linguagens de Programação

Linguagens de Programação Universidade Federal do Rio Grande do Norte Centro de Tecnologia Departamento de Computação e Automação Linguagens de Programação Professor Responsável: Luiz Affonso Henderson Guedes de Oliveira Prof.

Leia mais

Conceitos Básicos ENTRADA PROCESSAMENTO SAÍDA

Conceitos Básicos ENTRADA PROCESSAMENTO SAÍDA Aula 02 - Algoritmos Disciplina: Algoritmos Prof. Allbert Velleniche de Aquino Almeida E-mail: allbert.almeida@fatec.sp.gov.br Site: http://www.allbert.com.br /allbert.almeida Conceitos Básicos Desde o

Leia mais

Algoritmos Computacionais

Algoritmos Computacionais UNIDADE 2 ALGORITMO E RESOLUÇÃO DE PROBLEMAS Noções de lógica para construção de algoritmos Construção de algoritmos sobre problemas do cotidiano O QUE É LÓGICA? Em termos usuais falamos de lógica no nosso

Leia mais

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

Aula 5 Oficina de Programação Introdução ao C. Profa. Elaine Faria UFU Aula 5 Oficina de Programação Introdução ao C Profa. Elaine Faria UFU - 2017 Linguagem de Programação Para que o computador consiga ler um programa e entender o que fazer, este programa deve ser escrito

Leia mais

Computadores = cérebros eletrônicos?

Computadores = cérebros eletrônicos? Prof. André Backes Introdução Computadores = cérebros eletrônicos? Computadores são máquinas e, por si sós, não podem ser inteligentes. Alguém as projetou e deu a ela todas as características que possuem.

Leia mais

Programação Mestrado Integrado em Engenharia Aeronáutica 1º ano, 1º semestre. T. 04 Algoritmos e Programação Estruturada

Programação Mestrado Integrado em Engenharia Aeronáutica 1º ano, 1º semestre. T. 04 Algoritmos e Programação Estruturada Programação Mestrado Integrado em Engenharia Aeronáutica 1º ano, 1º semestre T. 04 Algoritmos e Programação Estruturada Objectivos: Aprender o conceito de algoritmo e suas características fundamentais

Leia mais

Algoritmos e Fluxogramas

Algoritmos e Fluxogramas Introdução Algoritmos e Fluxogramas Computadores = cérebros eletrônicos? Computadores são máquinas e, por si sós, não podem ser inteligentes. Alguém as projetou e deu a ela todas as características que

Leia mais

Unidade 2: Algoritmos e programação

Unidade 2: Algoritmos e programação Unidade 2: Algoritmos e programação 2.1. Algoritmos Os computadores estão sendo utilizados para resolver problemas cada vez de maior porte e complexidade. A utilização do computador para resolver problemas

Leia mais

Algoritmos e Programação

Algoritmos e Programação Algoritmos e Programação 2 O que é um algoritmo? É um caminho para a solução de um problema. Problema Algoritmo Solução 3 No contexto computacional... É um conjunto finito de regras, bem definidas, para

Leia mais

Aula 02. MC Algoritmos e Programação de Computadores. Algoritmos: Definição e Exemplos.

Aula 02. MC Algoritmos e Programação de Computadores. Algoritmos: Definição e Exemplos. Aula 02 MC 102 - Algoritmos e Programação de Computadores Algoritmos: Definição e Exemplos. 2o. Sem. 2007 Algoritmos e Programação de Computadores - Turmas I J K L 1 Programação de Computadores Atividade

Leia mais

INF 1005 Programação I

INF 1005 Programação I INF 1005 Programação I Aula 02 Algoritmos e Ciclo de Desenvolvimento Edirlei Soares de Lima Modelo de um Computador Linguagem de Máquina Um processador executa instruções de máquina

Leia mais

Fundamentos de Programação

Fundamentos de Programação Fundamentos de Programação CP41F Aula 2 Prof. Daniel Cavalcanti Jeronymo Conceito de algoritmo. Raciocínio lógico na construção de algoritmos. Estrutura de algoritmos. Universidade Tecnológica Federal

Leia mais

Introdução à Ciência da Computação ICC0001 Prof. Diego Buchinger

Introdução à Ciência da Computação ICC0001 Prof. Diego Buchinger Algoritmos e Linguagens de Programação Introdução à Ciência da Computação ICC0001 Prof. Diego Buchinger Conceitos Básicos Para dizer o que um computador deve fazer devemos programá-lo através de instruções

Leia mais

CONCEITO DE ALGORITMO

CONCEITO DE ALGORITMO CONCEITO DE ALGORITMO De forma geral podemos definir o algoritmo como uma sequência finita de ações executáveis para a obtenção de um objetivo bem definido. O termo algoritmo se originou, provavelmente,

Leia mais

Aula 02. Algoritmos e Pseudocódigo

Aula 02. Algoritmos e Pseudocódigo Aula 02 Algoritmos e Pseudocódigo Tópicos Principais Definição de Algoritmo Formas de representação Condicionais Repetições Definição de Algoritmo Um algoritmo é uma sequência de ações que resolve um problema.

Leia mais

4) Defina o que vem a ser um algoritmo, e porque, o mesmo depende do processo.

4) Defina o que vem a ser um algoritmo, e porque, o mesmo depende do processo. Lista de Exercício 1 Algoritmo e Programação 29/08/2018 (Solução) 1) Escreva conforme a premissas computacionais, o que vem a ser, lógica. R: São as premissas básicas para se executar instruções, alocadas

Leia mais

SERVIÇO PÚBLICO FEDERAL MINISTÉRIO DA EDUCAÇÃO E DO DESPORTO CENTRO FEDERAL DE EDUCAÇÃO TECNOLÓGICA DE MINAS GERAIS CEFET-MG UNIDADE DE ENSINO

SERVIÇO PÚBLICO FEDERAL MINISTÉRIO DA EDUCAÇÃO E DO DESPORTO CENTRO FEDERAL DE EDUCAÇÃO TECNOLÓGICA DE MINAS GERAIS CEFET-MG UNIDADE DE ENSINO SERVIÇO PÚBLICO FEDERAL MINISTÉRIO DA EDUCAÇÃO E DO DESPORTO CENTRO FEDERAL DE EDUCAÇÃO TECNOLÓGICA DE MINAS GERAIS CEFET-MG UNIDADE DE ENSINO DESCENTRALIZADA DE VARGINHA CAMPUS VIII 1 Algoritmo, Contexto

Leia mais

Linguagem de Programação

Linguagem de Programação Linguagem de Programação aula 4 Engenharia Elétrica e Engenharia de Automação Introdução à Computação 1.o sem/2013 Profa Suely (e-mail: smaoki@yahoo.com) Programas Programas são seqüências de instruções

Leia mais

1 Introdução e Conceitos básicos

1 Introdução e Conceitos básicos 1 Introdução e Conceitos básicos Aula 01 Sumário Capítulo 1 Introdução e Conceitos básicos 1.1 Definições 1.1.1. Por que e como usar o computador à nosso favor? 1.1.2. Linguagem humana x linguagem máquina

Leia mais

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

Aula Bibliografia - Definições - Operadores - Criação de um algoritmo - Exercícios. Algoritmo e Programação. Prof. - Bibliografia - - Operadores - Criação de um algoritmo - Exercícios Aula 01 Colegiado de Engenharia da Computação Slide 1 O que é Algoritmo? Segundo o Dicionário Aurélio, a palavra algoritmo origina-se

Leia mais

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

ALGORITMOS. O que é Algoritmo? Algoritmo é um dos processo para criação O que é Algoritmo? Algoritmo é um dos processo para criação de um programa. Putz????? Definições de Algoritmos Algoritmo é uma sequência de passos que visa atingir um objetivo bem definido.(forbellone,

Leia mais

Ciência da Computação. Prof. Dr. Leandro Alves Neves Prof. Dr. Adriano Cansian

Ciência da Computação. Prof. Dr. Leandro Alves Neves Prof. Dr. Adriano Cansian Algoritmos e Programação Informática II Ciência da Computação Prof. Dr. Leandro Alves Neves Prof. Dr. Adriano Cansian 1 Sumário Noções de lógica Representação do Conhecimento Lógica na Programação Lógica

Leia mais

Sumário. Ciência da Computação. Prof. Dr. Leandro Alves Neves. Aula 06. Algoritmos e Programação. Informática II. q Noções de lógica

Sumário. Ciência da Computação. Prof. Dr. Leandro Alves Neves. Aula 06. Algoritmos e Programação. Informática II. q Noções de lógica Algoritmos e Programação Informática II Ciência da Computação Prof. Dr. Leandro Alves Neves Aula 06 1 Sumário Noções de lógica Representação do Conhecimento Lógica na Programação Lógica e Algoritmo: Resolução

Leia mais

ALGORITMOS AULA 1. Profª Amanda Gondim

ALGORITMOS AULA 1. Profª Amanda Gondim ALGORITMOS AULA 1 Profª Amanda Gondim O que é lógica? NOÇÕES DE LÓGICA A lógica trata da correção do pensamento Ensina-nos a usar corretamente as leis do pensamento É a arte de pensar corretamente A forma

Leia mais

Ferramentas Programação. UDESC - Prof. Juliano Maia 1

Ferramentas Programação. UDESC - Prof. Juliano Maia 1 Ferramentas Programação UDESC - Prof. Juliano Maia 1 Índice Seção 1 Linguagens de Programação Seção 2 Interpretador Seção 3 Compilador / Linkeditor Seção 4 Ambientes de Desenvolvimento UDESC - Prof. Juliano

Leia mais

INFORMÁTICA APLICADA AULA 02 ALGORITMOS

INFORMÁTICA APLICADA AULA 02 ALGORITMOS UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: Bacharelado em Ciências e Tecnologia INFORMÁTICA APLICADA AULA 02 ALGORITMOS Profª ª Danielle Casillo ALGORITMOS Um algoritmo é uma sequência de instruções

Leia mais

Aula 08 Introdução à Algoritmos. Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes

Aula 08 Introdução à Algoritmos. Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes Aula 08 Introdução à Algoritmos Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes http://www.profbrunogomes.com.br/ Agenda da Aula Introdução aos Algoritmos: Conceitos Iniciais; Programa

Leia mais

1.1 Linguagens de Programação

1.1 Linguagens de Programação Fundamentos Procurando fazer com que haja uma melhor compreensão para o estudo e desenvolvimento utilizando linguagens de programação, este capítulo apresenta conceitos básicos sobre como um programa pode

Leia mais

Introdução aos Algoritmos

Introdução aos Algoritmos Introdução aos Algoritmos Aula 05 Diogo Pinheiro Fernandes Pedrosa http://www2.ufersa.edu.br/portal/professor/diogopedrosa diogopedrosa@ufersa.edu.br Universidade Federal Rural do Semiárido Bacharelado

Leia mais

Introdução à Programação. Ceça Moraes

Introdução à Programação. Ceça Moraes Introdução à Programação Ceça Moraes Conteúdo Algoritmos Representação Exercícios Linguagens de Programação Compilador Interpretador 2 Lógica O que é lógica? Ciência que estuda as leis do raciocínio. Correção/validação

Leia mais

Programação Estruturada Aula - Introdução a Linguagem de Programação

Programação Estruturada Aula - Introdução a Linguagem de Programação Programação Estruturada Aula - Introdução a Linguagem de Programação Prof. Flávio Barros flavioifma@gmail.com www.flaviobarros.com.br ORGANIZAÇÃO BÁSICA DE UM COMPUTADOR 2 ORGANIZAÇÃO BÁSICA DE UM COMPUTADOR

Leia mais

Capítulo 1 Conceitos Básicos

Capítulo 1 Conceitos Básicos Capítulo 1 Conceitos Básicos Licenciatura em Computação Fundamentos de Lógica para Programação Prof. Nícolas Trigo nicolas.trigo@ifsertao-pe.edu.br http://professor.ifsertao-pe.edu.br/nicolas.trigo Introdução

Leia mais

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

Engenharia Civil. Introdução à Programação Engenharia Civil Introdução à Programação Retomada Computador: é uma máquina capaz de coletar, manipular e fornecer os resultados da manipulação de informações para um ou mais objetivos Hardware é a parte

Leia mais

Introdução à Programação Aula 02. Prof. Max Santana Rolemberg Farias Colegiado de Engenharia de Computação

Introdução à Programação Aula 02. Prof. Max Santana Rolemberg Farias Colegiado de Engenharia de Computação Introdução à Programação Aula 02 Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br Colegiado de Engenharia de Computação QUAIS SÃO OS COMPONENTES BÁSICOS DO HW DE UM SISTEMA COMPUTACIONAL?

Leia mais

Introdução aos Algoritmos

Introdução aos Algoritmos Introdução aos Algoritmos Aula 05 Diogo Pinheiro Fernandes Pedrosa http://www2.ufersa.edu.br/portal/professor/diogopedrosa diogopedrosa@ufersa.edu.br Universidade Federal Rural do Semiárido Bacharelado

Leia mais

ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO

ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO Docente: Éberton da Silva Marinho e-mail: ebertonsm@gmail.com eberton.marinho@ifrn.edu.br

Leia mais

Algoritmos e Técnicas de Programação

Algoritmos e Técnicas de Programação Algoritmos e Técnicas de Programação Introdução filipe.raulino@ifrn.edu.br Créditos O material utilizado neste curso é composto de adaptações dos Slides do Professor Diego Silveira. Objetivos Fazer uma

Leia mais

Fábio Rodrigues / Israel Lucania

Fábio Rodrigues / Israel Lucania Fábio Rodrigues / Israel Lucania Lógica de programação; Sequência lógica; Instruções. Lógica de programação é a técnica de encadear pensamentos para atingir determinado objetivo. Programar não é um ato

Leia mais

Aula I Introdução à Lógica de Programação

Aula I Introdução à Lógica de Programação Aula I Introdução à Lógica de Programação Referência bibliográfica BENEDUZZI H, METZ J. Lógica e Linguagem de Programação Introdução ao Desenvolvimento de Software. Ed. Livro Técnico Introdução A demanda

Leia mais

& somadosnumeros = valor

& somadosnumeros = valor Correção exercícios Exercício 1 Exercício 2 a) scanf( %d", &valor); b) printf("o produto de %d e %d e %d\n", x, y, z) ; c) somadosnumeros = primeironumero + segundonumero d) /* Programa para determinar

Leia mais

Introdução a Programação de Jogos

Introdução a Programação de Jogos Introdução a Programação de Jogos Aula 02 Algoritmos e Ciclo de Desenvolvimento Edirlei Soares de Lima Modelo de um Computador Linguagem de Máquina Um processador executa instruções

Leia mais

Lógica para programação II Seção 1 - Histórico e Introdução Primeiros Programas

Lógica para programação II Seção 1 - Histórico e Introdução Primeiros Programas Lógica para programação II Seção 1 - Histórico e Introdução Primeiros Programas Prof. Me. Hélio Esperidião Ferreira Objetivos: (Entender os principais conceitos atuais e históricos sobre o desenvolvimento

Leia mais

#Conceituação. Algoritmos. Eliezio Soares

#Conceituação. Algoritmos. Eliezio Soares INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPUS SÃO GONÇALO DO AMARANTE Algoritmos #Conceituação Eliezio Soares Eliezio.soares@ifrn.edu Computadores e Tarefas 1. O computador

Leia mais

Fundamentos de Lógica e Algoritmos. Aula 2.3 Introdução a Algoritmos. Prof. Dr. Bruno Moreno

Fundamentos de Lógica e Algoritmos. Aula 2.3 Introdução a Algoritmos. Prof. Dr. Bruno Moreno Fundamentos de Lógica e Algoritmos Aula 2.3 Introdução a Algoritmos Prof. Dr. Bruno Moreno bruno.moreno@ifrn.edu.br Fundamentos de Lógica e Algoritmos Aula 2.3 Introdução a Algoritmos Prof. Dr. Bruno Moreno

Leia mais

Introdução à Programação de Computadores Parte II

Introdução à Programação de Computadores Parte II Introdução à Programação de Computadores Parte II Prof. Dr. Edson Pimentel Centro de Matemática, Computação e Cognição Objetivos Aprender a redigir rotinas comuns do dia-a-dia forma de algoritmos Conhecer

Leia mais

Aula 3: Algoritmos: Formalização e Construção

Aula 3: Algoritmos: Formalização e Construção Aula 3: Algoritmos: Formalização e Construção Fernanda Passos Universidade Federal Fluminense Programação de Computadores IV Fernanda Passos (UFF) Algoritmos: Formalização e Pseudo-Código Programação de

Leia mais

Funcionamento do computador. Conceito e definição de algoritmos. Prof. Alex Camargo

Funcionamento do computador. Conceito e definição de algoritmos. Prof. Alex Camargo UNIVERSIDADE FEDERAL DO PAMPA CAMPUS BAGÉ ALGORITMOS E PROGRAMAÇÃO Funcionamento do computador. Conceito e definição de algoritmos Prof. Alex Camargo alexcamargoweb@gmail.com Funcionamento do computador

Leia mais

TÉCNICO EM MANUTENÇÃO E SUPORTE EM INFORMÁTICA FORMA SUBSEQUENTE. Professora: Isabela C. Damke

TÉCNICO EM MANUTENÇÃO E SUPORTE EM INFORMÁTICA FORMA SUBSEQUENTE. Professora: Isabela C. Damke TÉCNICO EM MANUTENÇÃO E SUPORTE EM INFORMÁTICA FORMA SUBSEQUENTE Professora: Isabela C. Damke isabeladamke@hotmail.com Linguagem de Programação Uma linguagem de programação é um conjunto de símbolos (

Leia mais

Sintática: como é escrito cada elemento da linguagem de programação.

Sintática: como é escrito cada elemento da linguagem de programação. 4ª. AULA Sintaxe e Semântica Para que uma linguagem de programação atenda aos requisitos especificados de forma eficiente, ela deve ser escrita de forma única (não ambígua). Isso envolve a definição: Sintática:

Leia mais

Linguagens de Programação Classificação

Linguagens de Programação Classificação Classificação Classificação A proximidade que a linguagem de programação tem com a humana determina sua classe (o nível): Linguagem de máquina (primeira geração) Linguagem assembly - de montagem (segunda

Leia mais

ALGORITMO: FASE 1 PARTE 1

ALGORITMO: FASE 1 PARTE 1 1 INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DA PARAÍBA CAMPUS CAMPINA GRANDE ALGORITMO: FASE 1 PARTE 1 Rhavy Maia Guedes rhavy.maia@gmail.com Algoritmo e Programação 2 Precisamos saber o que

Leia mais

Introdução a Programação

Introdução a Programação Introdução a Programação Prof. André Gustavo Duarte de Almeida andre.almeida@ifrn.edu.br docente.ifrn.edu.br/andrealmeida Aula 01 Informática e a Programação Roteiro Informática Pensar e Programar Atividades

Leia mais

Introdução à Programação. slides de Deise Sacol

Introdução à Programação. slides de Deise Sacol Introdução à Programação slides de Deise Sacol 1 2 Elaboração de um programa Problema Análise Programa Algoritmo 3 Processo de geração de um programa Análise do problema: Ler atentamente o enunciado do

Leia mais

Capítulo 1 - Lógica e Algoritmos

Capítulo 1 - Lógica e Algoritmos 1. Introdução à Lógica de Programação Capítulo 1 - Lógica e Algoritmos A lógica de programação é necessária para pessoas que desejam trabalhar com desenvolvimento de sistemas e programas, ela permite definir

Leia mais

Algoritmos Fundamento e Prática

Algoritmos Fundamento e Prática Everton Coimbra de Araújo Algoritmos Fundamento e Prática 3 a Edição Ampliada e Atualizada Visual Books Sumário Prefácio... 15 Introdução... 17 Capítulo 1 - Os Cursos de Informática e Computação... 23

Leia mais

AULA 02. OBJETIVO: Desenvolvimento e solução de Algoritmos. LÓGICA DE PROGRAMAÇÃO

AULA 02. OBJETIVO: Desenvolvimento e solução de Algoritmos. LÓGICA DE PROGRAMAÇÃO AULA 02 OBJETIVO: Desenvolvimento e solução de Algoritmos. LÓGICA DE PROGRAMAÇÃO A lógica é a ciência do pensamento correto. Esta declaração não implica, contudo em afirmar que ela seja a ciência da verdade.

Leia mais

Algoritmos. Um algoritmo pode ser expresso de diversas maneiras, dentre elas: Linguagem Natural Fluxograma Pseudocódigo Linguagem de Programação

Algoritmos. Um algoritmo pode ser expresso de diversas maneiras, dentre elas: Linguagem Natural Fluxograma Pseudocódigo Linguagem de Programação capa Um algoritmo pode ser expresso de diversas maneiras, dentre elas: Linguagem Natural Fluxograma Pseudocódigo Linguagem de Programação Método para resolver problemas. É a descrição de uma sequência

Leia mais

Prof. Antonio Almeida de Barros Jr. Prof. Antonio Almeida de Barros Junior

Prof. Antonio Almeida de Barros Jr. Prof. Antonio Almeida de Barros Junior Prof. Antonio Almeida de Barros Jr. Prof. Antonio Almeida de Barros Junior Meio pelo qual se pode indicar os passos que devem ser realizados pelo computador para resolver problemas; Através da linguagem,

Leia mais

Programação: Compiladores x Interpretadores PROF. CARLOS SARMANHO JR

Programação: Compiladores x Interpretadores PROF. CARLOS SARMANHO JR Programação: Compiladores x Interpretadores PROF. CARLOS SARMANHO JR Introdução Compiladores e interpretadores são formas de tradução de um código geralmente de alto nível (escrito em uma linguagem de

Leia mais

Métodos de Representação de Algoritmos

Métodos de Representação de Algoritmos Métodos de Representação de Algoritmos Contudo, quando falamos em algoritmo sob o enfoque computacional, como já foi mencionado, não podemos utilizar uma descrição narrativa para representar um algoritmo.

Leia mais

ANÁLISE DE ALGORITMOS: PARTE 1. Prof. André Backes. Como resolver um problema no computador? Precisamos descrevê-lo de uma forma clara e precisa

ANÁLISE DE ALGORITMOS: PARTE 1. Prof. André Backes. Como resolver um problema no computador? Precisamos descrevê-lo de uma forma clara e precisa ANÁLISE DE ALGORITMOS: PARTE 1 Prof. André Backes Algoritmos 2 Como resolver um problema no computador? Precisamos descrevê-lo de uma forma clara e precisa Precisamos escrever o seu algoritmo Um algoritmo

Leia mais

INTRODUÇÃO À PROGRAMAÇÃO

INTRODUÇÃO À PROGRAMAÇÃO INTRODUÇÃO À PROGRAMAÇÃO 1 - CONCEITO DE ALGORITMO A automação é o processo em que uma tarefa deixa de ser desempenhada pelo homem e passa a ser realizada por máquinas, sejam estas dispositivos mecânicos,

Leia mais

É neste ponto que entra o conceito de lógica de programação.

É neste ponto que entra o conceito de lógica de programação. AULA 01 OBJETIVO: Desenvolvimento e solução de Algoritmos. LÓGICA DE PROGRAMAÇÃO A lógica é a ciência do pensamento correto. Esta declaração não implica, contudo, em afirmar que ela seja a ciência da verdade.

Leia mais

Introdução ao Conceito de Algoritmo e Programação Estruturada

Introdução ao Conceito de Algoritmo e Programação Estruturada Prof. Alceu Britto Aula Teórica 02 Introdução ao Conceito de Algoritmo e O Conceito de Algoritmo e as Estruturas Básicas de Controle Enquanto existir um quadrado livre e não tenha vencido (ou perdido)

Leia mais

Programação de Computadores

Programação de Computadores 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 Conceito de Algoritmo Pseudocódigo Tipos de

Leia mais

Algoritmos e Programação. Noções de Lógica e Algoritmos Tarcio Carvalho

Algoritmos e Programação. Noções de Lógica e Algoritmos Tarcio Carvalho s e Programação Noções de Lógica e Algoritmos Tarcio Carvalho EMENTA Desenvolvimento de algoritmos; Tipos de dados básicos e estruturados; Comandos de uma linguagem de Programação; Metodologia de desenvolvimento

Leia mais

Algoritmos e Técnicas. Lógica de Programação. É a técnica de encadear pensamento para atingir determinado objetivo.

Algoritmos e Técnicas. Lógica de Programação. É a técnica de encadear pensamento para atingir determinado objetivo. Algoritmos e Técnicas Lógica de Programação É a técnica de encadear pensamento para atingir determinado objetivo. 1 Algoritmos - Conceitos Um algoritmo é uma seqüência de ações (passos) finitas, bem definidas,

Leia mais

Introdução à Programação de Computadores Fabricação Mecânica

Introdução à Programação de Computadores Fabricação Mecânica Introdução à Programação de Computadores Fabricação Mecânica Edilson Hipolito da Silva edilson.hipolito@ifsc.edu.br - http://www.hipolito.info Aula 04 - Linguagens de Programação, Interpretador, compilador

Leia mais

Introdução à Computação para Engenharia MAC2166 Prof. Dr. Paulo Miranda IME-USP. Aula 1 Introdução à Computação

Introdução à Computação para Engenharia MAC2166 Prof. Dr. Paulo Miranda IME-USP. Aula 1 Introdução à Computação Introdução à Computação para Engenharia MAC2166 Prof. Dr. Paulo Miranda IME-USP Aula 1 Introdução à Computação Eventos históricos: 1) Primeiro computador a válvulas, o Eletronic Numeric Integrator And

Leia mais

4 O conceito de variável

4 O conceito de variável 4 O conceito de variável Para resolver problemas no computador é necessário manipular dados, sejam números ou caracteres. Se alguém precisa calcular o resultado de uma única conta provavelmente o melhor

Leia mais

Aula 1: Desenvolvimento de Algoritmos

Aula 1: Desenvolvimento de Algoritmos Aula 1: Desenvolvimento de Algoritmos Profa. Dra. Elisa Yumi Nakagawa 1. Semestre de 2017 Slides inicialmente elaborados pela Profa. Dra. Simone do Rocio Senger de Souza (ICMC/USP) Motivação Na computação,

Leia mais

Algoritmos e Estrutura de Dados I Conceitos de Algoritmos. Prof. Elyssandro Piffer

Algoritmos e Estrutura de Dados I Conceitos de Algoritmos. Prof. Elyssandro Piffer Algoritmos e Estrutura de Dados I Conceitos de Algoritmos Prof. Elyssandro Piffer CONCEITO DE ALGORITMO O computador pode auxiliar em muitas tarefas, contudo ele não possui independência, não é inteligente,

Leia mais

Linguagem de Programação I Prof. Tiago Eugenio de Melo.

Linguagem de Programação I Prof. Tiago Eugenio de Melo. Linguagem de Programação I Prof. Tiago Eugenio de Melo tmelo@uea.edu.br www.tiagodemelo.info 1 Sumário Introdução Conceitos preliminares Introdução Variáveis Comandos Condicionais 2 Por que aprender a

Leia mais

Computação I: Representações de Algoritmos

Computação I: Representações de Algoritmos Computação I: Representações de Algoritmos reginaldo.re@utfpr.edu.br * Parte da apresentação foi gentilmente cedida pelo prof. Igor Steinmacher Agenda Objetivos Relembrando... Algoritmos para desenvolver

Leia mais

Resolução de Problemas com Computador. Resolução de Problemas com Computador. Resolução de Problemas com Computador

Resolução de Problemas com Computador. Resolução de Problemas com Computador. Resolução de Problemas com Computador Prof. Araken Medeiros araken@ufersa.edu.br O processo de resolução de um problema com um computador leva à escrita de um algoritmo ou programa e à sua execução. Mas o que é um algoritmo? Angicos, RN 15/9/2009

Leia mais

Unidade 1 Conceitos básicos

Unidade 1 Conceitos básicos Unidade 1 Conceitos básicos Agenda Conceito de algoritmo Características Dificuldades Representação de algoritmos Etapas na solução de problemas Desafio 01 O lobo, a ovelha e o capim Você tem um lobo,

Leia mais

Introdução aos algoritmos computacionais

Introdução aos algoritmos computacionais CAPíTULO 1 Introdução aos algoritmos computacionais é um procedimento que descreve, sem ambiguidade, uma sequência nita de passos a serem seguidos em uma ordem especíca para resolver um problema ou aproximar

Leia mais

Algoritmos e Programação

Algoritmos e Programação Universidade Federal do Pampa Campus-Bagé Algoritmos e Programação Aula 1 Apresentação da Disciplina Conceitos Introdutórios Prof. Julio Saraçol juliodomingues@unipampa.edu.br Slide1 APRESENTAÇÃO DA DISCIPLINA

Leia mais

Algoritmos e Programação

Algoritmos e Programação Algoritmos e Programação Prof. Alceu Britto Slides cedidos por Prof. Edson J. R. Justino (PUCPR) Aula Teórica 02 O Conceito de Algoritmo e as Estruturas Básicas de Controle Enquanto existir um quadrado

Leia mais

Fundamentos de Programação 1

Fundamentos de Programação 1 Fundamentos de Programação 1 Slides N. 2 D / Prof. SIMÃO Slides elaborados pelo Prof. Robson Linhares elaborados pelo Prof. Robson Linhares http://www.dainf.ct.utfpr.edu.br/~robson/ Jean Marcelo SIMÃO

Leia mais

Algoritmos e Linguagem de Programação I

Algoritmos e Linguagem de Programação I Algoritmos e Linguagem de Programação I Roberto Ferreira roberto.ferreira@lapa.ifbaiano.edu.br 2014.1 Módulo I Aula 3 Algoritmos Computacionais Na aula anterior vimos... Quais são os passos para solucionar

Leia mais

Algoritmos e Programação

Algoritmos e Programação ESTADO DE MATO GROSSO SECRETARIA DE ESTADO DE CIÊNCIA E TECNOLOGIA UNIVERSIDADE DO ESTADO DE MATO GROSSO CAMPUS UNIVERSITÁRIO DE SINOP FACULDADE DE CIÊNCIAS EXATAS E TECNOLÓGICAS CURSO DE ENGENHARIA ELÉTRICA

Leia mais

GABARITO Questão a b c d e

GABARITO Questão a b c d e Documento gerado por Contato: smarttest@smarttest.com.br Instituto Federal Catarinense Curso: Engenharia Mecânica Turma: 2016/Turma Extra Disciplina: Informática para Engenharia Docente: Ricardo Antonello

Leia mais

UNIDADE 1 CONCEITOS BÁSICOS EM ALGORITMOS

UNIDADE 1 CONCEITOS BÁSICOS EM ALGORITMOS 1 UNIDADE 1 CONCEITOS BÁSICOS EM ALGORITMOS 1.1 NOÇÕES DE LÓGICA a) Conceitos: - Lógica é a ciência que estuda as leis do raciocínio; coerência; raciocínio. - Lógica como técnica nos ensina a usar corretamente

Leia mais

CONCEITO DE COMPUTADOR. O que é um computador?

CONCEITO DE COMPUTADOR. O que é um computador? CONCEITO DE COMPUTADOR O que é um computador? CONCEITO DE COMPUTADOR Denomina-se computador uma máquina capaz de variados tipos de tratamento automático de informações ou processamento de dados. Contudo,

Leia mais

Desenvolvimento de Algoritmos. Slides elaborados pela Prof(a). Simone do Rocio Senger de Souza ICMC/USP

Desenvolvimento de Algoritmos. Slides elaborados pela Prof(a). Simone do Rocio Senger de Souza ICMC/USP Desenvolvimento de Algoritmos Slides elaborados pela Prof(a). Simone do Rocio Senger de Souza ICMC/USP Desenvolvimento de algoritmos Na computação, algoritmos representam os passos de um programa um conjunto

Leia mais

COMPILAÇÃO. Ricardo José Cabeça de Souza

COMPILAÇÃO. Ricardo José Cabeça de Souza COMPILAÇÃO Ricardo José Cabeça de Souza www.ricardojcsouza.com.br Programas Código-fonte escrito em linguagem de programação de alto nível, ou seja, com um nível de abstração muito grande, mais próximo

Leia mais

Aula 3 Primeiros programas

Aula 3 Primeiros programas Aula 3 Primeiros programas FACOM-UFMS 2012 OBJETIVOS DA AULA Introdução ao CodeBlocks; Criação dos primeiros programas; Esta aula foi baseada nos capítulos 3 e 4 da apostila de Programação de Computadores

Leia mais

Linguagens de Programação

Linguagens de Programação O estudante estuda muito. Regras: 7 9 12 14. . Regras: 2 4 . Regras: 1 Representar através de uma árvore de derivação. 77 O estudante estuda muito.

Leia mais