Você está na página 1de 35

Programao Estruturada

MDULO 1
Conceitos Bsicos

Prof. Adriano Firmo de Paiva


adriano.paiva@prof.una.br

Introduo
Desde o incio dos tempos, o homem procurou criar mquinas que o auxiliassem em seu trabalho
Diminuir o esforo Economizar tempo

O computador vem se mostrando uma das mais versteis, rpidas e seguras

Introduo
Finalidade de um computador
Receber Manipular Armazenar dados

Programas
Armazenar dados em disco Imprimir relatrios Gerar grficos Realizar clculos etc.

Portanto, a finalidade principal de um computador realizar a tarefa de processamento de dados

Introduo
Processamento de dados:
Receber dados por um dispositivo de entrada (teclado, mouse, scanner etc.) Realizar operaes com esses dados Gerar resposta em um dispositivo de sada (impressora, monitor de vdeo etc.)

Componentes de um computador
Hardware parte fsica Software programas

Introduo

Introduo
Todo computador possui um conjunto de instrues que seu processador capaz de executar. Essas instrues, chamadas de cdigo de mquina, so representadas por seqncias de bits (0 e 1) As instrues correspondem a seqncias muito simples de operaes, como somar dois valores

Introduo
Os programas de computador raramente so criados em linguagem de mquina Para a criao de programas, so utilizadas as linguagens de programao de alto nvel (p. ex.: C, C++, Java, C# etc.) Comandos em linguagem de programao so traduzidos por compiladores para comandos em linguagem de mquina, para serem executados diretamente pelo computador.

Introduo
Compilador utilizado na disciplina: Visual Studio C#

O que um problema?

Conceito de problema
Problema (Dicionrio Michaelis): Substantivo Masculino. Questo matemtica proposta para ser resolvida. Questo difcil, delicada, suscetvel de diversas solues. Qualquer coisa de difcil explicao; mistrio,enigma. Dvida, questo.

Conceito de problema
Problemas fazem parte do nosso cotidiano. Exemplo de problemas cotidianos:
Trocar a resistncia de um chuveiro. Definir onde Almoar.

Sempre que nos deparamos com um problema buscamos um procedimento para solucionar o mesmo.

Exemplo de soluo
Por exemplo, para trocar a resistncia de um chuveiro devemos:
Adquirir uma resistncia nova; Localizar o chuveiro a ser manipulado; Abrir o chuveiro; Retirar a resistncia defeituosa; Colocar a resistncia nova; Fechar o chuveiro; Descartar a resistncia defeituosa.

Definir onde Almoar: ...

Conceito de Lgica
O que orientou a procedimentos para vislumbradas?
A lgica.

obteno dos as solues

O que lgica? A lgica o ramo da Filosofia e da Matemtica que estuda os mtodos e princpios que permitem fazer distino entre raciocnios vlidos e no vlidos, determinando o processo que leva ao conhecimento verdadeiro.

Exemplos de Lgica
A)
Todo mamfero um animal. Todo cavalo um mamfero. Portanto, todo cavalo um animal.

B)
A gaveta est fechada. A caneta est dentro da gaveta. Precisamos primeiro abrir a gaveta para depois pegar a caneta.

O uso da lgica primordial na soluo de problemas. Com ela possvel alcanar objetivos com eficincia e eficcia.

Conceito de algoritmos
Ao utilizarmos a lgica para listar passos ordenados que resultam na soluo de um determinado problema estamos construindo um algoritmo. Podemos definir um algoritmo como:
uma seqncia de passos que visa atingir um objetivo bem definido; uma seqncia de passos bem definida que deve ser seguida para a realizao de uma tarefa ou soluo de um problema.

Conceito de algoritmos
Exemplo: Somar 3 nmeros
PASSO 1 - receber os 3 nmeros PASSO 2 - somar os 3 nmeros PASSO 3 - mostrar o resultado obtido

3 + 5 + 11 = ?

Conceito de algoritmos
Exemplo: Trocar uma lmpada
PASSO 1 - pegar uma lmpada nova PASSO 2 - pegar uma escada PASSO 3 - posicionar a escada embaixo da lmpada queimada PASSO 4 - subir na escada com a lmpada nova na mo PASSO 5 - retirar a lmpada queimada PASSO 6 - colocar a lmpada nova PASSO 7 - descer da escada PASSO 8 - testar o interruptor PASSO 9 - guardar a escada PASSO 10 - jogar a lmpada velha no lixo

Conceito de algoritmos s vezes, um problema pode ser resolvido de maneiras diferentes, porm, obtendoobtendo-se a mesma resposta. Ou seja, podem existir vrios algoritmos para resolver o mesmo problema

Mtodo para a construo de algoritmos


1) Compreender completamente o
problema a ser resolvido 2) Definir os dados de entrada 3) Definir processamento/clculos 4) Definir dados de sada 5) Construir algoritmo 6) Testar algoritmo

Tipos de algoritmos
1) Descrio narrativa 2) Pseudocdigo (portugol) 3) Fluxograma

Tipos de algoritmos Descrio Narrativa


Consiste em analisar o enunciado do problema e escrever, utilizando uma linguagem natural (por exemplo, portugus), os passos a serem seguidos para sua resoluo
Vantagem: no necessrio aprender nenhum conceito novo, pois uma linguagem natural, neste ponto, j bem conhecida Desvantagem: a lngua natural abre espao para vrias interpretaes, o que posteriormente dificultar a transcrio desse algoritmo para programa

Tipos de algoritmos Pseudocdigo ou Portugol


Consiste em analisar o enunciado do problema e escrever por meio de regras predefinidas, os passos a serem seguidos para sua resoluo
Vantagem: a passagem do algoritmo para qualquer linguagem de programao quase imediata, bastando conhecer as palavras reservadas dessa linguagem que sero utilizadas Desvantagem: necessrio aprender as regras do pseudocdigo, que sero apresentadas nas prximas sees

Tipos de algoritmos Fluxograma


Consiste em analisar o enunciado do problema e escrever, utilizando smbolos grficos predefinidos, os passos a serem seguidos para sua resoluo
Vantagem: o entendimento de elementos grficos mais simples que o entendimento de textos Desvantagem: necessrios aprender a simbologia dos fluxogramas e , alm disso, o algoritmo resultante no apresenta muitos detalhes, dificultando sua transcrio para um programa

Tipos de algoritmos - Fluxograma


Fluxograma - Smbolos grficos prprdefinidos
INCIO E FIM FLUXO DE DADOS CLCULO E ATRIBUIO DE VALORES ENTRADA DE DADOS SADA DE DADOS TOMADA DE DECISO (DESVIOS)

Exemplo

Faa um algoritmo para mostrar o resultado da diviso de dois nmeros

Exemplo
Descrio narrativa:
PASSO 1 - receber os dois nmeros que sero divididos PASSO 2 - se o segundo nmero for igual a zero, no poder haver diviso; caso contrrio, dividir os nmeros e mostrar o resultado da diviso

Exemplo
Pseudocdigo:
ALGORITMO
DECLARE N1, N2, D NUMRICO ESCREVA "Digite os dois nmeros" LEIA N1, N2 SE N2 = 0 ENTO ESCREVA "Impossvel dividir" SENO INCIO D N1/N2 ESCREVA "Diviso = ", D FIM

FIM_ALGORITMO

Exemplo
Fluxograma:
INCIO N1, N2

N2 = 0

No

D N1/N2

Sim

DIVISO IMPOSSVEL

FIM

Variveis
Posio de memria, possuindo nome e tipo, cujo contedo pode variar ao longo do tempo, durante a execuo de um programa Embora uma varivel possa assumir valores diferentes, ela s pode armazenar um valor a cada instante Quando queremos buscar algum dado na memria, basta sabermos o nome da varivel

Tipos de Dados
Tipos de valores possveis que cada varivel pode possuir NUMRICO
INTEIRO
Ex.: -23, 98, 0, 560

REAL
Ex.: 23,45; -364,89; 0,0

LGICO (BOOLEANO)
VERDADEIRO/FALSO

Tipos de Dados
LITERAL OU CARACTERE
Letras (maisculas e minsculas) Nmeros Caracteres especiais (&, #, @, ?, + etc.) Ex.: 'aluno', '1234', '@ internet'

Formao de identificadores
Nomes de variveis Constantes Rotinas etc.

Formao de identificadores
Regras bsicas:
Caracteres permitidos: nmeros, letras, _ O primeiro deve ser sempre letra ou _ No so permitidos espaos em branco, nem caracteres especiais (@, $, +, - , %, ! etc.) No podem ser usadas palavras reservadas (palavras que pertencem a uma linguagem de programao)

Formao de identificadores
Exemplos:
A a nota NOTA X5 A32 NOTA_1 MATRICULA

Formao de identificadores
Exerccio:
Por que os identificadores abaixo so invlidos?
5b e 12 x-y nota(2)