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

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

Fundamentos de Programação Introdução

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

Projeto e Desenvolvimento de Algoritmos

INF 1005 Programação I

Introdução à Programação

Fundamentos de Programação

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

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

Desenvolvimento de Aplicações Desktop

Disciplina de Algoritmos e Programação

Unidade 1 Conceitos básicos

3 Introdução aos algoritmos

Introdução a Programação

1.1 Linguagens de Programação

Computadores podem ser úteis em problemas que envolvem: Grande número de dados. Grande número de cálculos. Complexidade. Precisão.

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

INTRODUÇÃO À PROGRAMAÇÃO. Introdução. Sérgio Carlos Portari Júnior

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

Algoritmos e Programação

Computadores, Algoritmos e Linguagens

Unidade 2: Algoritmos e programação

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

Introdução à Programação. Conceitos Básicos de Programação

Introdução a Programação de Jogos

Algoritmos e Programação

Programação de Computadores

INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO. ANÁLISE E DESENVOLVIMENTO DE SISTEMAS/PARANGABA PROF. MS. RONNISON REGES VIDAL Ceará, 01 de fevereiro de 2017

Lógica de Programação

4 O conceito de variável

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

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

Introdução à Programação

INFORMÁTICA APLICADA AULA 02 ALGORITMOS

PROGRAMAÇÃO I. Introdução

Introdução ao Python. Programa Computacional

Algoritmos e Programação

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

Fábio Rodrigues / Israel Lucania

Introdução à Computação

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

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

Informática I. Aula 14. Aula 14-10/10/2007 1

Fundamentos de Programação 1

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

Universidade de Santa Cruz do Sul UNISC Departamento de informática COMPILADORES. Introdução. Geovane Griesang

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

Programação de Computadores

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

Aula 02. Algoritmos e Pseudocódigo

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

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

Algoritmos Computacionais

& somadosnumeros = valor

Algoritmos e Programação

Algoritmos e Programaçã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..

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

Existem três categorias principais de linguagem de programação: linguagem de máquina, linguagens assembly e linguagens de alto nível.

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

Programação de Computadores

Algoritmos e Programação

Programação de Computadores III

Linguagem de Descrição de algoritmos

Programação de Computadores:

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

Métodos de implementação de linguagens. Kellen Pinagé

OFICINA DA PESQUISA PROGRAMAÇÃO APLICADA À CIÊNCIA DA COMPUTAÇÃO

Conceitos Básicos ENTRADA PROCESSAMENTO SAÍDA

Linguagem de Programação I. Aula 02 Algoritmos

Conceitos Básicos. Fundamentos de Programação de Computadores

Conceitos e Representação de Algoritmos

Linguagens de Programação Classificação

Algoritmos e Programação

Algoritmos e Ciclo de Desenvolvimento Aula 02: 01/03/2012

MC-102 Aula 01. Instituto de Computação Unicamp

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

Sistema Computacional

Engenharia de resolução de problemas

1 Introdução e Conceitos básicos

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

Programação de Computadores IV. Introdução a Algoritmos SLIDES CEDIDOS POR Bruno Marques

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

Noções de Algoritmos

TÉCNICO DE INFORMÁTICA - SISTEMAS

Programação de Computadores:

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

INFORMÁTICA: Informação automática

Conceitos Básicos de Programação

Algoritmos. Prof. Jonatas Bastos Site:

IFSC/Florianópolis - Programação Orientada a Objetos com Java - prof. Herval Daminelli

Computação. Introdução

LO GICA E TE CNICA DE PROGRAMAC ÃO. TÁSSIO JOSÉ GONÇALVES GOMES

Algoritmos e Linguagem de Programação I

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

Introdução à Computação Parte 2

Capítulo 1 - Lógica e Algoritmos

Transcrição:

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 de passos que permitam que o problema possa ser resolvido de maneira automática e repetitiva. Esta seqüência de passos é chamada de ALGORITMO. 2

Algoritmo Receita, procedimento, técnica, rotina. Conjunto finito de regras que fornece uma seqüência de operações para resolver um problema específico. Caminho para a solução de um problema, e em geral, os caminhos que levam a uma solução são muitos. Programa = Algoritmo + Estruturas de Dados 3

Algoritmo Um algoritmo opera sobre um conjunto de entradas de modo a gerar uma saída que seja útil (ou agradável) para o usuário. Exemplo: Fazer um bolo: Entrada: farinha ovos, fermento, etc. Saída: Bolo pronto. 4

Algoritmo Um algoritmo tem 5 características importantes: Finitude: Um algoritmo deve sempre terminar após um número finito de passos. Definição: Cada passo de um algoritmo deve ser precisamente definido. As ações devem ser definidas rigorosamente e sem ambiguidades. Entradas: Um algoritmo deve ter zero ou mais entradas, isto é informações que são lhe são fornecidas antes do algoritmo iniciar. Saídas: Um algoritmo deve ter uma ou mais saídas, isto é quantidades que tem uma relação específica com as entradas. Efetividade: Um algoritmo deve ser efetivo. Isto significa que todas as operações devem ser suficientemente básicas de modo que possam ser em princípio executadas com precisão em um tempo finito por um humano usando papel e lápis. 5

Algoritmo Você sabe construir algoritmos? Claro que sim!!! Se isto não fosse verdade, não conseguiríamos sair de casa pela manhã, ir ao trabalho, decidir qual o melhor caminho para chegar a um lugar, voltar para casa, etc. Para que tudo isto seja feito é necessário uma série de entradas do tipo: a que hora acordar, que hora sair de casa, qual o melhor meio de transporte, etc. 6

Algoritmo Um exemplo de algoritmo pode ser as instruções que um professor de ginástica passa aos seus alunos em uma academia de ginástica. Por exemplo: Repetir 10 vezes os quatro passos abaixo: Levantar e abaixar braço direito; Levantar e abaixar braço esquerdo; Levantar e abaixar perna esquerda; Levantar e abaixar perna direita. 7

Representação de Algoritmos As formas mais comuns de representação de algoritmos são as seguintes: Linguagem Natural Os algoritmos são expressos diretamente em linguagem natural, como nos exemplos anteriores. Fluxograma Convencional Esta é um representação gráfica que emprega formas geométricas padronizadas para indicar as diversas ações que devem ser executadas e decisões que devem ser tomadas para resolver o problema. Pseudo-linguagem Emprega uma linguagem intermediária entre a linguagem natural e uma linguagem de programação para descrever os algoritmos. 8

Linguagem Natural Quase todos os algoritmos que apresentamos até este ponto foram escritos em linguagem natural, ou seja, no nosso caso, habitantes do Brasil, o português. 9

Fluxogramas Esta forma de representação de algoritmos emprega várias formas geométricas para descrever cada uma das possíveis ações durante a execução do algoritmos. 10

Pseudo-linguagem Tabém chamado de Pseudo-código. Empregar uma linguagem que esteja o mais próximo possível de uma linguagem de programação de computadores, mas evitando de definir regras de construção gramatical muito rígidas. A idéia é usar as vantagens do emprego da linguagem natural, mas restringindo o escopo da linguagem. 11

Pseudo-linguagem Calcular a área de uma mesa retangular. Cálculo da área de uma mesa. Medir a largura da mesa e anotar o resultado. Medir o comprimento da mesa e anotar o resultado. Multiplicar o comprimento pela largura e anotar o resultado. O valor da área da mesa é o resultado anotado no passo anterior. Fim do cálculo da área da mesa. 12

Pseudo-linguagem Sintaxe: algoritmo NomeDoAlgoritmo ; inicio_do_algoritmo corpo do algoritmo Fim_do_algoritmo 13

Programa Um programa é um Algoritmo escrito em uma linguagem computacional. 14

Linguagens de Programação Softwares que permitem o desenvolvimento de programas. Possuem um poder de criação ilimitado, desde jogos, editores de texto, sistemas empresariais até sistemas operacionais. Existem várias linguagens de programação, cada uma com suas características próprias. Por exemplo: Pascal C C++ C# 15 Delphi Visual Basic Java Etc.

Compilação e Linkedição Quando escrevemos um programa em qualquer linguagem de alto nível (como C, C++, Pascal, Delphi, Java, VisualBasic, etc.), utilizamos um editor de textos para escrever uma série de comandos e códigos que desejamos que o computador execute. Este arquivo contendo estes códigos e comandos em linguagem de alto nível é chamado código fonte ou programa fonte. 16

Compilação e Linkedição O computador não é capaz de compreender os comandos contidos neste programa (ou arquivo) fonte, pois a única linguagem que o computador entende é a linguagem de baixo nível, conhecida como linguagem de máquina. É necessário realizar um processo de tradução que transforma o programa fonte em um programa equivalente escrito em linguagem de máquina. As duas principais maneiras de realizar este processo de tradução são chamadas de interpretação e compilação. 17

Compilação e Linkedição Interpretação: o programa interpretador analisa cada linha de seu programa fonte separadamente, verifica se esta linha está correta e, caso esteja, gera uma linha equivalente em linguagem de máquina e realiza a execução. No final, o código em linguagem de máquina resultante da tradução das linhas de seu programa fonte não é guardado. 18

Compilação e Linkedição Compilação: o programa compilador da linguagem analisa todo o programa fonte gerado. Caso nenhum erro seja encontrado, todo o programa fonte será traduzido para uma linguagem de baixo nível e armazenado em um arquivo separado, chamado de arquivo objeto. Um processo adicional chamado de Linkedição, transforma este arquivo objeto em um arquivo executável, também capaz de ser compreendido pela máquina. O arquivo executável, como o próprio nome indica, está pronto para ser executado pelo computador. 19

Vantagens Uma vez gerado o arquivo executável, ele pode ser utilizado inúmeras vezes sem a necessidade da presença do compilador ou qualquer outro utilitário, ao passo que os interpretadores são sempre necessários para a execução de seus programas. Um programa compilado possui uma execução muito mais rápida que um equivalente interpretado, pois a interpretação sempre tem de realizar a tradução de cada linha do seu programa fonte. Compiladores garantem segurança em relação ao seu código-fonte, já que ele não é necessário para a execução de um programa já compilado. 20