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

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

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

Elementos básicos das linguagens de programação

Introdução à Programação

No segundo caso, se a condição for verdadeira é executado o bloco-instruções1

Um algoritmo deve conter passos não ambíguos, executáveis e que sejam terminados quando seguidos.

Fundamentos de Programação

Aula 6: Entrada e Saída

& somadosnumeros = valor

Programação de Computadores

Aula Teórica 03. Comandos Condicionais (Decisão)

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..

AULA TEÓRICA 1 Tema 6. Algoritmos e Fluxogramas

Algoritmos e Estruturas de Dados I (DCC/003) Estruturas Condicionais e de Repetição

Material Didático Proposto

Programação Estruturada Comandos Condicionais (Decisão) Operadores Relacionais

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

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

Introdução aos algoritmos computacionais

SSC304 Introdução à Programação Para Engenharias

Programação Estruturada

Unidade 2: Algoritmos e programação

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

Introdução à Programação 2006/07. Algoritmos

Manipulação de informação. Algoritmos computacionais

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

Para instalar o Visual Basic 2010 Express.

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

2 Fluxogramas e Pseudocódigo. 18 Programação em C/C++ estrutura básica e conceitos fundamentais

Programação de Computadores

Pseudocódigo e Visualg

ALGORITMOS AULA 1. Profª Amanda Gondim

Ivanovitch Medeiros Dantas da Silva. Natal, 01 de setembro de 2011

Fundamentos de Algoritmos (5175/31)

Comandos de desvio de fluxo. Expressões lógicas.

2 Fluxogramas e Pseudocódigo

Estruturas de Decisão. APROG (Civil) Aula 6

Python 3.x Estrutura de Repetição while

Estruturas de Repetição

Fluxogramas. Vanessa Braganholo

Fluxogramas. Leonardo Gresta Paulino Murta.

ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO

Unidade 2: Algoritmos e programação

ESTRUTURAS DE CONTROLE

Algoritmos Fundamento e Prática

Comandos de desvio de fluxo. Expressões lógicas.

Oficina de Python Prof. Me. José Carlos Perini

Noções de algoritmos - Aula 1

Hugo Pedro Proença. Universidade da Beira Interior Departamento de Informática

Introdução à Algoritmos INF 1005 e INF Programação I

Prof. Tiago Alves de Oliveira. Tiago Alves de Oliveira - 1

LINGUAGEM ALGORÍTMICA

Noções de algoritmos - Aula 1

Programação Procedimental

Oficina de Python Prof. Me. José Carlos Perini

Programação de Computadores

Processamento Sequencial e Condicional

TÉCNICO DE INFORMÁTICA - SISTEMAS

Procedimento. Função. Selecção Condicional - a instrução if-then-else. expressão if lógica then instrução else instrução

Introdução a Computação

Aula 2 - Introdução Cleverton Hentz

Noções de Algoritmos

Aula 4 Objetivos if/else while

CAPÍTULO 4 ESTRUTURAS DE CONTROLE

Algoritmos. Laura Goulart. 11 de Dezembro de 2018 UESB. Laura Goulart (UESB) Algoritmos 11 de Dezembro de / 12

Algoritmos e Estruturas de Dados

Curso de C. Introdução by Arnaldo V. Moura e Daniel F. Ferber 3/10/ :43 AM

Universidade Federal de Uberlândia Faculdade de Computação. Conceitos básicos de algoritmos Prof. Renato Pimentel. Computação

1.3. Algoritmos e Fluxogramas

Planificação Anual da disciplina de Programação e Sistemas de Informação 10º 1PI

Introdução à Programação. Prof. Gustavo Callou

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

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

Teoria da Computação e Algoritmos. Introdução à Linguagem Pascal. ALGORITMO <Nome do algoritmo>; <definições>; INÍCIO <Comandos>; FIM.

2. Algoritmos. Prof. Renato Tinós. Local: Depto. de Computação e Matemática (FFCLRP/USP) Introdução à Computação I IBM1006

Capítulo 5: Algoritmos

Resolução De Problemas Em Informática. Docente: Ana Paula Afonso Resolução de Problemas. 1. Analisar o problema

AULA TEÓRICA 03 COMANDO CONDICIONAL

Aula 15: Repetição (Parte 3)

ALGORITMOS COM SELEÇÃO 1 - ESTRUTURA CONDICIONAL (ESTRUTURAS DE CONTROLE)

Programação de Computadores:

SSC304 Introdução à Programação Para Engenharias

Introdução à Programação I

RESOLUÇÃO. Computação e Programação (2009/2010-1º Semestre) 1º Teste (11/11/2009) Nome. Número. Leia com atenção os pontos que se seguem:

PROGRAMAÇÃO ESTRUTURADA E ORIENTADA A OBJETOS

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

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

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

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

Algoritmos. Algoritmos e Linguagem de Programação - Prof Carlos Vetorazzi

Introdução à Lógica de Programação. Adaptação de Luis Otavio Alvares

Oficina de Introdução de Programação usando Linguagem Python Prof. Ms. Perini

GFM015 Introdução à Computação. Plano de Curso e Introdução. Ilmério Reis da Silva UFU/FACOM

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

Programação. Folha Prática 5. Lab. 5. Departamento de Informática Universidade da Beira Interior Portugal. Copyright 2010 All rights reserved.

Algoritmos e Técnicas de Programação

Introdução à Programação

PROGRAMAÇÃO OBJECTIVOS DA CADEIRA

Transcrição:

A palavra ALGORITMO teve origem com um Matemático Persa, al Khawarizmi. O seu trabalho mais famoso foi Al-jabr walmuquabalah, ou a ciência das Equações que, em última análise suscitaram o desenvolvimento da ÁLGEBRA e dos ALGORITMOS. «Um algoritmo é constituído por um conjunto de expressões simbólicas que representam acções (escolher, atribuir, etc.) testes de condições (estruturas condicionais) e estruturas de controlo (ciclos na estrutura sequencial do algoritmo) de modo a especificar o problema e respectiva solução.» Vasconcelos e Carvalho (2005)

A algoritmia é uma disciplina basilar na área das ciências da computação, e por isso muito relevante no desenvolvimento de competências noutras áreas do conhecimento. A execução de um algoritmo é também designada por processamento de dados e consiste em três fases de execução: Entrada dados (input), processamento de dados, e saída de dados (output). O termo programa computacional refere-se à representação de um algoritmo numa linguagem de programação. Que linguagens de programação conhece?

Um algoritmo é uma lista de instruções para realizar uma determinada tarefa. No dia-a-dia quando se dá instruções para guiar um carro ou fazer um bolo, por exemplo, está ser criado de algum modo um algoritmo. Claro que estes algoritmos são apresentados de um modo bastante informal e vago:. assegure-se que o carro está no parque;. verifique que tem o travão de mão;. retire a chave, etc..

No conjunto das instruções atrás assume-se que quem está a ler consegue compreender os inúmeros detalhes que não estão explícitos. Quando se escreve uma algoritmo para o computador toda a informação tem que estar explícita. É um exercício interessante tentar escrever um algoritmo para uma tarefa do dia-adia. Voltando ao exemplo do carro: If a porta está fechada then Inserir a chave na porta dar a volta à chave If a porta ainda está fechada then abrir a porta ( ) dar a volta chave para o outro lado

Características de um ALGORITMO Deve ser constituído por um número finito de instruções; Cada etapa deve ser definida de forma precisa; Cada instrução deve ser precisa e não ambígua; Cada resposta deve depender unicamente nos valores de input para resolver o problema em particular; O algoritmo deve funcionar para qualquer conjunto de valores de input. A sua execução termina num período finito de tempo

Sintaxe e Semântica Para evitar a ambiguidade das linguagens naturais, foram criadas as linguagens de programação para exprimir algoritmos. O pseudocódigo é considerado uma linguagem intermédia entre a linguagem natural e a de programação. Problema (mundo real) Algoritmo Linguagem natural Pseudocódigo Linguagem de programação Entrada de dados Computador Saída de resultados

Componentes de um algoritmo: Estrutura de dados Instruções Estruturas condicionais Estruturas de controlo Módulos

Componentes de um algoritmo: Estrutura de dados São as representações dos dados nos algoritmos. Quando um algoritmo é implementado e executado através de um programa, os valores dos dados necessitam de ter um suporte para o seu armazenamento e manipulação. Uma variável é o exemplo mais simples de uma estrutura de dados, na qual o seu conteúdo poderá ter diferentes valores (dados) durante a execução do programa

Componentes de um algoritmo: Estrutura de dados Exemplo de variável x=5 x = x+10 y=7 x = y+7 x=1 Que valores assume a variável x?

Componentes de um algoritmo: Estrutura de dados Exemplo de variável x=5 [ x assume o valor 5] x = x+10 [x assume o valor 15] y=7 x = x+y [x assume o valor 22] x=1 [x assume o valor 1] Que valores assume a variável x?

Componentes de um algoritmo: Instruções As instruções permitem manipular os dados. Existem diferentes tipos de instruções: instruções de atribuição, instruções de entrada de dados, instruções para a saída de dados e instruções de controlo. Estruturas condicionais ou de decisão Uma estrutura ou expressão condicional (If then else ) permite a tomada de decisões através da definição de condições lógicas que assomem um dos dois valores lógicos.

Componentes de um algoritmo: Estruturas de controlo Estas estruturas permitem a repetição controlada de determinadas instruções, ou seja, através da declaração de ciclos iterativos permitem uma repetição contínua de grupos de instruções Módulos Os módulos são interpretados como grupos independentes e coerentes de instruções, normalmente associados a uma determinada funcionalidade. A utilização de módulos facilita o entendimento do algoritmo e também permite a reutilização de módulos já existentes. Existem 2 tipos (procedimentos e funções)

Existem duas formas standard para representar os ALGORITMOS: 1 FLUXOGRAMAS 2 PSEUDOCÓDIGO FLUXOGRAMAS: são usadas para começar e terminar são usadas para fazer input ou output de dados são usadas para cálculos ou instruções são usados para decisões

Exemplo de FLUXOGRAMA (Cálculo de raízes de uma equação do 2ºgrau fórmula resolvente) Ler A, B, C D = B 2 4AC Não D < 0? Sim Imprime sem Raízes D = 0? Sim X = B 2A Não X1 = X 2 = ( B + D ) 2A ( B D ) 2A Imprime X Imprime X1, X2 TERMINA

Quando se utiliza PSEUDOCÓDIGO, ou seja, quando um Algoritmo é escrito como uma série de instruções: As instruções são escritas de forma simples; -Existem palavras reservadas para as estruturas condicionais (Ifthen-else); paras as estruturas cíclicas (For, Do While) entre outras.

Exercício: Escreva agora o PSEUDOCÓDIGO, necessário para algoritmo que resolve equações de 2º grau do tipo: Ax 2 + Bx + C = 0 A fórmula para resolver equações quadráticas deste tipo é: X = B ± ( ) B 2 4AC 2A

Exemplo de PSEUDOCÓDIGO Algoritmo em PSEUDOCÓDIGO: Entrada de Dados A, B, C Calcular D = B 2 4AC If D<0 Then Imprimir Não há raízes Else If D=0 Then Fazer Imprimir X Else Calcular B X = 2A X1 = ( B + D ) 2A X 2 = ( B D ) 2A TERMINAR Imprimir X1 e X2

Experimente agora Escreva agora um algoritmo (utilizando pseudocódigo ou fluxograma) que determine se: 1. Dados dois números se a sua soma é par ou ímpar. 2. Dados dois números se o seu produto é positivo ou negativo sem calcular o produto.

Bibliografia Stephens, R. (1996). Visual Basic Algorithms. John Wiley & Sons, Inc.: New York Vasconcelos, J., Carvalho, J. (2005). Algoritmia estruturas de dados. Centro Atlântico: Lisboa