• Nenhum resultado encontrado

Capítulo 2 Introdução à Programação

N/A
N/A
Protected

Academic year: 2021

Share "Capítulo 2 Introdução à Programação"

Copied!
26
0
0

Texto

(1)

Tecnologia em Análise e

Desenvolvimento de Sistemas

INTRODUÇÃO À CIÊNCIA DA

COMPUTAÇÃO

Prof. Claudinei Dias

email: prof.claudinei.dias@gmail.com

(2)

Plano de Ensino

2. Introdução à Programação

– Algoritmo (conceito, estruturas sequênciais, estruturas de

seleção, estruturas de repetição)

– Apresentação de uma linguagem hipotética

– Solução de problemas através do computador hipotético

– Vetores

– Dados Estruturados definidos pelo usuário

– Erros (sintaxe, lógica).

(3)

Algoritmo

Por exemplo na automação, os processo desempenhadas pelo

homem passa a ser realizadas por máquinas.

Seja dispositivos mecânicos (máquinas industriais) Seja dispositivos eletrônicos (computadores)

Ou de natureza mista (robôs)

A automatização segue uma

sequencia ordenada

de passos

para a realização da tarefa

são processos que garantem a sua repetibilidade.

Para esta sequencia ordenada dá-se o nome de “Algoritmo”

“Algoritmo é um conjunto finito de regras, bem definidas,

para a solução de um problema em um tempo finito e com

um número finito de passos”

(4)

Algoritmo

Um algoritmo é qualquer procedimento computacional bem

definido que recebe valores de

entrada

e produz valores de

saída

Para se ter um algoritmo é necessário:

Que se tenha um número finito de passos;

Que cada passo esteja precisamente definido, sem ambiguidades; Que exista zero ou mais entradas tomadas de conjuntos bem

definidas;

Que exista ações dentro de uma sequencia finita de passos Que exista uma ou mais saídas;

Que exista uma condição de fim sempre atingida para quaisquer entradas e num tempo definido.

(5)

Algoritmo

Portanto, algoritmo é:

um procedimento passo a passo para a solução de um problema

Uma sequencia detalhada de ações a serem executadas para realizar alguma tarefa

Fases de um algoritmo

Entrada: dados de entrada do algoritmo

informações necessárias para que o algoritmo possa ser executado

(pré-estabelecidas ou fornecidas no momento da execução). Teclado, mouse, arquivo...

Processamento: procedimentos para chegar no resultado final

avaliadas todas as expressões algébricas, relacionais e lógicas, assim como todas as estruturas de controle existentes no algoritmo (condição e/ou repetição);

Saída: dados processados

resultados do processamento (ou parte deles) são enviados para um ou mais

dispositivos de saída, como: monitor, impressora, ou até mesmo a própria memória do computador ou um arquivo.

(6)

Algoritmo

Tarefas

Ler e escrever dados

Avaliar expressões algébricas, relacionais e lógicas

Tomar decisões com base nos resultados das expressões

avaliadas

Repetir um conjunto de ações de acordo com uma condição

Exemplos:

Escovação de dentes Troca de pneu

(7)

Tipos de Estruturas

Estruturas Sequenciais

O algoritmo segue uma sequencia linear A

B C

Estruturas de Seleção

Seleção de um conjunto de ações, segundo uma determinada condição Representadas por expressões lógicas ou relacionais

Se B então A

Se B então A1 senão A2

Estrutura de Repetição

Quando um trecho do algoritmo deve ser repetido Enquanto B repetir A

(8)

Linguagem Hipotética

Descrição Narrativa

a forma de representação é descrita em linguagem natural

Exemplo 1: Troca de pneu furado

Afrouxar ligeiramente as porcas Suspender o carro

Retirar as porcas e o pneu Colocar o pneu reserva Apertar as porcas

Abaixar o carro

Dar o aperto final nas porcas

Exemplo 2: Cálculo da média de um aluno

Obter as notas da primeira e da segunda prova Calcular a média aritmética entre as duas notas

(9)

Linguagem Hipotética

Fluxograma Convencional

representação gráfica em que formas diferentes implicam ações (instruções, comandos) distintos

Inicio ou final do fluxograma Operação de entrada de dados Operação de saída de dados

Operações de atribuição e chamada ou retorno de

subalgoritmo

Decisão

Seta de fluxo de dados

(10)

Linguagem Hipotética

Fluxograma Convencional

(11)

Linguagem Hipotética

Pseudocódigo

Estruturação de um algoritmo com uma linguagem que permite a tradução direta para uma linguagem de programação específica

Algoritmo <nome_do_algoritmo> <declaracao_de_variaveis> <subalgoritmos> inicio <escopo_do_algoritmo> fim

Algoritmo: palavra que indica o inicio do algoritmo em pseudcódigo

<nome_do_algoritmo>: nome simbólico dado ao algoritmo

<declaracao_de_variaveis>: porção opcional onde são declaras as

variáveis globais usadas no algoritmo

<subalgoritmos>: porção opcional onde são definidos subalgoritmos

Inicio e Fim: delimitam respectivamente o inicio e fim do conjunto de instruções do corpo do algoritmo

(12)

Computador Hipotético

Representação do algoritmo de cálculo da média de um aluno

na forma de pseudocódigo

Algoritmo Media var N1, N2, Media inicio Leia N1, N2 Media := (N1+N2)/2 Se Media >= 7 entao Escreva “Aprovado” senao Escreva “Reprovado” fim

(13)

Erros

Um algoritmo pode conter erros devido a instruções que não

estão em uma sequencia correta, a sintaxe está errada, erro

de lógica, tipos de dados ou informações que não existam

Alguns erros que podem ocorrer

1. Algoritmo Media

2. var N1, N2, Media: real 3. inicio 4. Media <= (N1+N2)/2 5. Leia N1, M2 6. Se Media < 7 entao 7. Escreva “Aprovado” 8. senao 9. Escreva “Reprovado” 10. fim

(14)

Erros

Algumas instruções foram alteradas para simular erros

As linhas 4 e 5 estão invertidas, não se pode calcular a média sem antes saber quais são as notas

Na linha 5 temos uma instrução onde o programa pede informações que serão armazenadas em variáveis. Perceba que a variável M2 não existe. Este tipo de erro é bastante comum

Na linha 6, onde acontece uma comparação lógica, o programa escreverá “aprovado” se a média for menor que 7. Na realidade a instrução deverá ser média >= 7, ou seja, se a expressão for verdadeira então o programa escreverá “aprovado”, caso contrario (se a média for <7) então o programa escrevera “reprovado”

Máquinas não podem:

Tomar decisões com base em premissas Corrigir comandos mal redigidos

(15)

Linguagem de Alto Nível

Estruturação de algoritmos

Linguagens de alto nível se afastam da linguagem de máquina e se aproximam da “lógica humana”

Tarefa complexa para iniciantes, pois é dirigida a orientar uma máquina (e não pessoas)

Vantagens:

Mais próxima da “lógica humana” Menor tempo de desenvolvimento Maior portabilidade

(16)

Característica de uma linguagem

Rigidez sintática

Compilador é um tradutor sobre um “idioma” com construções muito bem definidas

Palavras da linguagem natural utilizadas com menos liberdade

Rigidez semântica

Não se pode lidar com ambiguidades (intenções devem sem expressas de forma exata)

O computador é um ótimo cumpridor de ordens, porém não tem idéia sobre elas

(17)

Manipulação de Dados

A manipulação de dados é uma das principais funções do

computador

São necessários diferentes tipos de dados (computador só

manipula números internamente)

Tipo de dados

Objeto que tem em comum o mesmo comportamento

diante de um conjunto definido de operações.

Exemplo:

Números suportam operações matemáticas Letras suportam operações como concatenação

(18)

Tipos de Dados

Linguagens manipulam um conjunto limitado de tipos,

normalmente:

Números inteiros

1, 2, 3, etc

Números reais

1.1, 5.6, ¾

Letras

A, B, C, etc

Objetos lógicos (booleanos)

Oriundos da lógica matemática ou de Boole

(19)

Valor Lógico

Operandos de uma operação lógica são necessariamente valores lógicos Um valor lógico pode ser obtido como resultado de uma afirmação ou proposição. Exemplos:

Cachorros são mamíferos Cachorros são aves.

Homens pensam. 5 > 3

7 = 3

Operadores Lógicos são operações que se definem sobre o conjunto {V,F}

Sempre opera com valores lógicos e tem como resultado um valor lógico Operadores lógicos (conectivos) úteis na construção de algoritmos:

e ou não

(20)

Valor Lógico

Tabela Verdade

Binários

Unário

Precedência dos operadores lógicos

1. Parênteses

2. não

3. e, ou

e V F V V F F F F ou V F V V V F V F não V F F V

(21)

Operadores Pseudocódigo

Aritméticos (+, -, *, /) Potenciação (pot) 10 pot 2 = 100 2 pot 10 = 1024 Radiciação (raiz) 9 raiz 2 = 3 1024 raiz 10 = 2

Divisão inteira (div)

10 div 4 = 2 22 div 6 = 3

Resto de divisão inteira (resto, mod)

10 resto 4 = 2 22 resto 6 = 4

Precedência dos operadores

aritméticos

1. Parênteses

2. pot, raiz

3. *, /, div, resto

4. +,

(22)

-Constantes de Variáveis

Durante a execução de um programa, dados/informações

ficam armazenadas temporariamente em memória

Para que possam ser manipulados, é preciso que haja algum

identificador

Informa o local da memória (endereço)

Constante

: definido inicialmente e não é mais modificado

Variável

: pode ser alterado durante a execução

Ambas identificadas por um nome

(23)

Constantes de Variáveis

Regras e Convenções de Nomenclaturas

Convém utilizar nomes significativos às variáveis e constantes de

acordo com os elementos (ou valores) que armazenarão para manter o algoritmo o mais legível e documentável possível.

Mnemônicos: nomes ou abreviatura que lembram o uso da variável no algoritmo

Nomes de variáveis:

podem começar com qualquer letra minúscula e os caracteres $ ou _, porém não podem começar com números.

Caso o nome de uma variável seja composto por mais de uma palavra, a primeira letra de cada palavra deve ser em maiúscula.

Exemplos de nomes de variáveis: x, y, resultado, valorDeX, valorDeY, ligado, ...

Nomes de constantes:

devem ser escritos em letras maiúsculas.

Usamos underline (_) para separar nomes compostos.

(24)

Teste de Mesa

Retrato da memória a cada passo de execução de um trecho de código Consiste na verificação do conteúdo de cada variável após a execução de cada instrução

Finalidade: verificar a correção da implementação

(25)

Bibliografia

BIBLIOGRAFIA BÁSICA:

SCHILDT H., C Completo e Total, Makron Books, São Paulo, 1997.

FEDELI R. D.; POLLONI E. G. F; PERES, F. E., Introdução à Ciência da Computação, Cengage Learning, 2010. MEDINA M; FERTIG C., Algoritmos e Programação – Teoria e Prática, Novatec, São Paulo, 2006.

BIBLIOGRAFIA COMPLEMENTAR:

GUIMARÃES A. e LAGES N. , Algoritmos e Estruturas de Dados , Ed. LTC Livros Técnicos e Científicos, Rio de Janeiro, 1985. JAMSA K., Salvo pelo C++, LTC Livros Técnicos e Científicos Editora, 1994.

ALCADE E. Informática Básica e outros Ed. Makron Books São Paulo 1991.

SALIBA, CARAM W. L. Técnicas de Programação: uma abordagem estruturada, Ed. Makron, McGrawHill, São Paulo, 1992. MACHADO F. M. Ed. LTC , Introdução à Arquitetura de Sistemas Operacionais Livros Técnicos e Científicos, Rio de Janeiro,

1992.

DAVIS W. S. D. Sistemas Operacionais: uma visão sistemática Ed. Campus, Rio de Janeiro, 1990.

Instituto Brasileiro de Pesquisa em Informática Técnicas de Programação com Pascal IBPI Rio de Janeiro, 1993. VASCONCELOS A., Computadores Eletrônicos Digitais Ed. LTC Livros Técnicos e Científicos, Rio de Janeiro.

MONTEIRO, M. Introdução a Organização de Computadores Ed. LTC Livros Técnicos e Científicos, Rio de Janeiro. EBERSPÄCHER A. L., FREDERICO H. Algoritmos e Estruturas de Dados Forbellone Ed. Makron, McGrawHill, São Paulo.

(26)

Tecnologia em Análise e

Desenvolvimento de Sistemas

INTRODUÇÃO À CIÊNCIA DA

COMPUTAÇÃO

Prof. Claudinei Dias

email: prof.claudinei.dias@gmail.com

Referências

Documentos relacionados

Entretanto, quando uma chamada de função não é a última expressão da lista, apenas um valor de retorno dela é usado, mesmo que ela retorne vários valores. O segundo retorno

No exercício acima o primeiro movimento deverá ser, portanto para a haste C, caso o disco seja movimentado para a haste B tem-se dois ou mais movimentos desnecessários, conforme

Resultados: foram analisados 32 estudos e organizados em duas macrocategorias: principais erros praticados pela equipe de enfermagem; e as causas relatadas e formas de prevenção

Nota: Pelo menos 30 minutos antes da lavagem, aqueça a solução de lavado 1 para 71°C (+/-1ºC).Com um termômetro calibrado confira a temperatura dentro do coplin. •

Lógica de programação é a forma como você organiza qual passo você deve dar em cada momento para realizar a ação que você deseja.. Em outras palavras, você vai aprender

Se nesse período crítico, ela encontra alguém que, ignorante e inescrupulosamente, lhe fornece exercícios respiratórios, e se ela segue as instruções fidedignamente na esperança

Em longa entrevista publicada em livro sobre os 10 anos de presidência petista –

O diretor da Agência Nacional de Energia Elétrica (Aneel), Edvaldo Santana, disse ontem que o atual cenário de turbulências no setor elétrico “está caminhando para