View
18
Download
0
Category
Preview:
Citation preview
Slides trabalhados durante a quinta aula práticaprática
Estruturas de Controle de Fluxo
3. Laços de repetição (continuação)
Exercício:
Construa um algoritmo, representando-oatravés de um pseudocódigo e de um
127127
através de um pseudocódigo e de umfluxograma, que leia da entrada padrão umnúmero inteiro positivo e retorne na saída padrãouma mensagem indicando se o número lido é ounão um número primo. As entradas devem servalidadas.
algoritmo "exercício"var A, i, numeroDeDivisoes : inteiroinicio
repitaescreva ("Entre com um valor inteiro positivo: ")leia (A)
ate (A>0)numeroDeDivisoes <- 0para i de 1 ate A faca
se (A%i=0) entao
128128
se (A%i=0) entaonumeroDeDivisoes <- numeroDeDivisoes + 1
fimsefimparase (numeroDeDivisoes = 2) entao
escreva ("O número ",A," é primo")senao
escreva ("O número ",A," não é primo")fimse
fimalgoritmo
algoritmo "exercício"var A, i: inteiro
eh_primo: logicoinicio
repitaescreva ("Entre com um valor inteiro positivo: ")leia (A)
ate (A>0)eh_primo <- verdadeiropara i de 1+1 ate A -1 faca
129129
para i de 1+1 ate A -1 facase (A%i=0) entao
eh_primo <- falsofimse
fimparase (eh_primo e A<>1) entao
escreva ("O número ",A," é primo")senao
escreva ("O número ",A," não é primo")fimse
fimalgoritmo
Fim
Inicio
A, i: inteiroeh_primo : logico
"O número ",A,falsoA>0
a
"Entre com umvalor inteiro positivo: "
130
Fim
verdadeiro falso
"O número ",A," é primo"
i<=a-1
verdadeiro
A>0
i <- 1+1
eh_primo<-verdadeiro
verdadeiro
falsoA%i=0
eh_primo<-falso
i <- i+1verdadeiro
falso
"O número ",A," não é primo"
eh_primoe A<>1
algoritmo "exercício - usando interrompa"var A, i: inteiro
eh_primo: logicoinicio
repitaescreva ("Entre com um valor inteiro positivo: ")leia (A)
ate (A>0)eh_primo <- verdadeiropara i de 1+1 ate A-1 faca
se (A%i=0) entao
131131
se (A%i=0) entaoeh_primo <- falsointerrompa //causa uma saída imediata do laço
fimsefimparase (eh_primo e A<>1) entao
escreva ("O número ",A," é primo")senao
escreva ("O número ",A," não é primo")fimse
fimalgoritmo
Fim
Inicio
A, i: inteiroeh_primo : logico
"O número ",A,falsoA>0
a
"Entre com umvalor inteiro positivo: "
132
Fim
verdadeiro falso
"O número ",A," é primo"
i<=a-1
verdadeiro
A>0
i <- 1+1
eh_primo<-verdadeiro
verdadeiro
falsoA%i=0
i <- i+1verdadeiro
falso
"O número ",A," não é primo"
eh_primoe A<>1
eh_primo<-falso
Slides trabalhados durante a sexta aula teórica teórica
Linguagens de Programação
134 13
Linguagens de ProgramaçãoUma linguagem de programação é um vocabulário e
um conjunto de regras gramaticais usadas paraescrever programas de computador. Esses programasinstruem o computador a realizar determinadas tarefasespecíficas. Cada linguagem possui um conjunto únicode palavras-chaves (palavras que ela reconhece) euma sintaxe (regras) específica para organizar asinstruções dos programas.
Os programas de computador podem ser escritos
135135
Os programas de computador podem ser escritosem várias linguagens de programação, algumasdiretamente compreensíveis pelo computador e outrasque exigem passos de tradução intermediária. Aslinguagens de programação podem ser divididas emtrês tipos, com relação à sua similaridade com alinguagem humana:
Linguagem de máquina;Linguagem simbólica;Linguagem de alto nível.
Linguagens de ProgramaçãoLinguagem de máquina (machine languale): é
a linguagem de mais baixo nível de entendimentopelo ser humano e a única, na verdade, entendidapelo processador (UCP).
É constituída inteiramente de números (0’s e1’s), o que torna praticamente impossível entendê-la diretamente. Cada UCP tem seu conjunto único
136136
la diretamente. Cada UCP tem seu conjunto únicode instruções que definem sua linguagem demáquina, estabelecido pelo fabricante do chip.
Uma instrução típica em linguagem de máquinaseria algo como:
0100 1111 1010Essa linguagem é também classificada como
uma linguagem de primeira geração.
Linguagens de ProgramaçãoLinguagem simbólica (assembly): é a
linguagem de nível imediatamente acima dalinguagem de máquina. Ela possui a mesmaestrutura e conjunto de instruções que alinguagem de máquina, porém permite que oprogramador utilize nomes (chamadosmnemônicos) e símbolos em lugar de números.
137137
mnemônicos) e símbolos em lugar de números.A linguagem simbólica é também única para
cada tipo de UCP, de forma que um programaescrito em linguagem simbólica para uma UCPpoderá não ser executado em outra UCP de umafamília diferente.
Nos primórdios da programação os programaseram escritos nessa linguagem.
Linguagens de ProgramaçãoHoje a linguagem simbólica, é utilizada quando a
velocidade de execução ou o tamanho doprograma executável gerado são essenciais. Aconversão da linguagem simbólica para alinguagem de máquina se chama montagem, e éfeita por um programa chamado montador (ouassembler).
138138
assembler).Uma típica instrução em linguagem simbólica
seria:ADD A, B
Essa linguagem é também classificada comolinguagem de segunda geração, e, assim como alinguagem de máquina, é considerada umalinguagem de baixo nível.
Linguagens de ProgramaçãoLinguagem de alto nível : São as linguagens de
programação que possuem uma estrutura epalavras-chave que são mais próximas dalinguagem humana. Tornando os programas maisfáceis de serem lidos e escritos. Esta é a suaprincipal vantagem sobre as linguagens de nívelmais baixo.
139139
mais baixo.Os programas escritos nessas linguagens são
convertidos para a linguagem de baixo nívelatravés de um programa denominado compiladorou de um interpretador.
Uma instrução típica de uma linguagem de altonível é:
if (A>10) then A:=A-7;
Linguagens de Programação
140140
Linguagem C
141
Breve histórico de “C”
Criada por Dennis Ritchie;
Em 1972;
Centro de Pesquisas da Bell Laboratories;
142142
Centro de Pesquisas da Bell Laboratories;
Para utilização no S.O. UNIX.
Características básicas da linguagem
O C é uma linguagem de propósito geral;
Sensível ao caso (Case sensitive);
Tipos de dados primitivos: caractere, inteiro e real;
Possui estruturas de controle de fluxo;
Possui operadores aritméticos, lógicos e relacionais;
143143
Possibilita a modularização viabilizando aprogramação imperativa ou procedural;
Todo programa tem uma função principal chamadamain() ;
Todo linha de instrução em um programa é finalizadacom um “;”.
ANSI
Devido à falta de padronização da linguagem C,em 1983, o Instituto Norte-Americano dePadrões (ANSI) formou um comitê, X3j11, paraestabelecer uma especificação do padrão dalinguagem C. O padrão foi completo em 1989 e
144144
linguagem C. O padrão foi completo em 1989 eratificado como ANSI X3.159-1989 “ProgrammingLanguage C” (C ANSI).
Estrutura de um programa em C
main()
Declarações e definições globais
145145
main()
Outras funções
ObrigatórioOpcional
Conceitos Básicos – Linguagem C
13
Constantes
Exemplos:
Decimal (10, -23768)
Hexadecimal (0x12,0x1fea28)
147147
Hexadecimal (0x12,0x1fea28)
Octal (0123)
Real (2.34, 2.34E+05, 2.14E-9)
Caractere (‘a’,’%’)
Palavras -reservadas
Palavras Reservadas
break case char continue dodouble else float for ifint return sizeof switch structtypedef void while long shortunsigned signed
148148
unsigned signed
Comentários/* ccccccccccccccccccccccccccccccccccccccccccc cccccccccccccccccccccccccccccccccccccccccc*/
Tipos Primitivos
CaractereDefinido pela palavra reservada char;Ocupa 8 bits (1 byte)Faixa de valores: -128 à 127
149149
Faixa de valores: -128 à 127Exemplo:
char letra;letra = ‘A’;
Tipos Primitivos
InteiroDefinido pela palavra reservada int;Ocupa 16 bits (2 bytes)Faixa de valores: -32768 à 32767
150150
Faixa de valores: -32768 à 32767Exemplo:
int num;num = -73;
Tipos Primitivos
Ponto flutuante e ponto flutuante de precisão dupla
Definido pela palavra reservada floatOcupa 4 bytesDefinido pela palavra reservada doubleOcupa 8 bytes
151151
Ocupa 8 bytesFaixa mínima de um valor em ponto flutuante
1E-37 a 1E+37Exemplo: float a,b,c=2.34;
double x=2.38,y=3.1415,z;
Operadores
A linguagem C disponibiliza, praticamente,o mesmo conjunto de operadoresaritméticos, lógicos e relacionaisapresentados anteriormente durante oestudo de algoritmos.
152152
estudo de algoritmos.
Operadores AritméticosUnários: +, -, ++, --
Exemplos: +1-5a=-b;
Operadores
Operador de atribuição
153
a++; ⇔ a=a+1;a--; ⇔ a=a-1;b=a++; ⇔ b=a;
a=a+1;b=++a; ⇔ a=a+1;
b=a;Obs.: a e b são variáveis numéricas.
Recommended