A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Profª. Ms. Amélia Acácia M. Batista

Apresentações semelhantes


Apresentação em tema: "Profª. Ms. Amélia Acácia M. Batista"— Transcrição da apresentação:

1 Profª. Ms. Amélia Acácia M. Batista ameliabatista@hotmail.com
Faculdade Santo Agostinho - FSA Diretoria de Ensino Coordenação de Engenharia Elétrica INTRODUÇÃO À CIÊNCIA DA COMPUTAÇÃO Profª. Ms. Amélia Acácia M. Batista Teresina 2013.2

2 ALGORITMOS: CONCEITO, NOTAÇÃO E ESTRUTURA DE COMANDOS BÁSICOS
PARTE I ALGORITMOS: CONCEITO, NOTAÇÃO E ESTRUTURA DE COMANDOS BÁSICOS

3 Conceito de Algoritmo Sequência de passos que visa atingir um objetivo bem definido (Forbellone, 1999); Descrição de uma sequência de passos que deve ser seguida para a realização de uma tarefa (Ascenio, 1999); Sequência finita de instruções ou operações cuja execução, em tempo finito, resolve um problema computacional, qualquer que seja a instância (Salvetti, 1999); Regras formais para a obtenção de um resultado ou da solução de um problema, englobando fórmulas de expressões aritméticas (Manzano, 1997). Prof. Ms. Amélia Acácia M. Batista 01/12/2019

4 Etapas para o desenvolvimento de um programa
Análise: Estudo do enunciado do problema para definir os dados de entrada, processamento e saída; Algoritmo: Ferramenta do tipo descrição narrativa, fluxograma ou português estruturado; Codificação: O algoritmo é transformado em códigos da linguagem de programação. ICC - PARFOR 01/12/2019

5 Tipos de Algoritmos Descrição Narrativa: Fluxograma:
A língua natural abre espaços para várias interpretações; Fluxograma: É necessário a simbologia dos fluxogramas e o algoritmo resultante não apresenta muitos detalhes; Pseudocódigo ou Portugol: É necessário aprender as regras do pseudocódigo. ICC - PARFOR 01/12/2019

6 Exemplo Algoritmo para mostrar o resultado da divisão de dois números
Passo 1 – Receber os dois números que serão divididos; Passo 2 – Verificar se o divisor é igual a zero; Passo 3 – Se o divisor for igual a zero, a divisão não ocorre; caso contrário executar a divisão; Passo 4 – Mostrar o resultado da divisão; INICIO N1, N2 D = N1/N2 Não divide FIM N2=0 D Inicio do processo Entrada de dados Decisão Saída de dados Processamento fim do processo Algoritmo Divisão Declare N1, N2, D: Numérico Inicio Escreva (‘Digite dois números’) Leia (N1, N2) Se N2=0 então Escreva (‘Não há divisão’) Senão D  N1/N2 fim-se Escreva (‘Divisão =‘, D) Fim Divisão Prof. Ms. Amélia Acácia M. Batista 01/12/2019

7 Atividade I Faça um programa que receba o salário de um funcionário, calcule e mostre o novo salário, sabendo que: se o funcionário tiver mais de 15 anos de serviço, o salário sofrerá um aumento de 25%; caso contrário, o aumento é apenas de 5%. Apresentar o programa nos formatos: Descrição narrativa Fluxograma Portugol Prof. Ms. Amélia Acácia M. Batista 01/12/2019

8 Outros problemas! Construa um programa nos três formatos de algoritmo que receba duas notas, calcule e mostre a média ponderada dessas notas, considerando peso 2 para a primeira e peso 3 para a segunda; Faça um programa que receba a altura e sexo de uma pessoa, calcule e mostre seu peso ideal de acordo com a fórmula: P = h – 100 – (h – 150)/k, onde P é o peso ideal, h é altura e k é o índice que referencia o sexo (4 para os homens, 2 para as mulheres). Prof. Ms. Amélia Acácia M. Batista 01/12/2019

9 Comandos de Repetição Comando Para-Faça
Sintaxe: Para x de 1 até 10 faça inicio bloco de comandos 1 bloco de comandos 2 bloco de comandos n fim para/faça Prof. Ms. Amélia Acácia M. Batista 01/12/2019

10 Comandos de Repetição Comando Enquanto - faça Sintaxe: x  1
Enquanto x < 5 faça inicio bloco de comandos 1 bloco de comandos 2 bloco de comandos n x  x + 1 fim Enquanto Prof. Ms. Amélia Acácia M. Batista 01/12/2019

11 Comandos de Repetição Comando Repita - até Sintaxe: contador 1 Repita
inicio bloco de comandos 1 bloco de comandos 2 bloco de comandos n contador  x + 1 até contador > 5 Prof. Ms. Amélia Acácia M. Batista 01/12/2019

12 LINGUAGEM DE PROGRAMAÇÃO PASCAL
PARTE II LINGUAGEM DE PROGRAMAÇÃO PASCAL

13 Variáveis, Dados e Identificadores
Variável  posição de memória; possui nome, tipo e o conteúdo pode variar durante a execução do programa; Tipos de dados: Numérico  inteiros (positivos, negativos, sem parte fracionária) e reais (positivo, negativo, com parte fracionária); Exemplos: -23, 0, 98, 23.45, , 0.0; Lógico (booleanos)  verdadeiro ou falso; Literal (caracter)  formado por um único caracter ou uma cadeia deles; letras, números, símbolos; Exemplo: ‘aluno’, ‘A’, internet’, ‘0.34’, ‘1+2’; Prof. Ms. Amélia Acácia M. Batista 01/12/2019

14 Variáveis, Dados e Identificadores
Identificadores  são os nomes das variáveis, dos programas, das constantes, das rotinas, das unidades; Regras básicas: Números, letras maiúsculas, minúsculas e sublinhado; O primeiro caracter deve ser sempre uma letra ou o sublinhado; Não é permitido espaço em branco e caracteres especiais $, -, %, !); Não podemos usar palavras reservadas (BEGIN, DO, GO,...). Exemplo de identificadores inválidos: 5b, e 12, x-y, prova 2n, nota(2), CASE. Prof. Ms. Amélia Acácia M. Batista 01/12/2019

15 Regras de sintaxe do pascal
Um programa pascal possui 3 partes: Identificação: inicia com a palavra reservada Program seguida do nome do programa; Declaração de variáveis: inicia com a palavra reserva Var seguida das variáveis e seus respectivos tipos; Corpo de programa: inicia com a palavra reservada Begin e finaliza com End.; Linhas de código terminam com ; (ponto e vírgula); Deve existir um comando begin antes dos blocos de comandos; Prof. Ms. Amélia Acácia M. Batista 01/12/2019

16 Bibliotecas e funções Biblioteca: conjunto de funções;
Uses: palavra reservada que identifica o inicio da declaração das bibliotecas; Exemplo de biblioteca do pascal: crt; Sintaxe: Uses crt; Função: executa uma determinada operação; Clrscr (Clear Screen): limpa tela; localizada após o Begin principal; Readkey: localizada antes do End.; Outros exemplos: Div (divisão de inteiros), Mod (retorna o resto da divisão), sqr(x), sqrt(x), trunc(x), round(x), abs(x)... Prof. Ms. Amélia Acácia M. Batista 01/12/2019

17 Comando Case Verifica o valor de determinada variável (definida somente como char ou numérica); será executado o bloco de comandos cujo valor corresponder ao verificado; Síntaxe: Case variável of valor1: bloco de comandos 1; valor2: bloco de comandos 2; valorN: bloco de comandos N; Else bloco de comandos 3; End; Prof. Ms. Amélia Acácia M. Batista 01/12/2019

18 Estrutura Condicional
If-then-else Permite que uma sequencia de comandos seja executada caso uma determinada condição seja verdadeira; caso contrário, outra sequencia de comandos será executada; Sintaxe: if (Condição) then if (Condição) then bloco de comandos ; bloco de comandos1 else bloco de comandos2; Prof. Ms. Amélia Acácia M. Batista 01/12/2019

19 Estrutura de Repetição
For-do A sequencia de comandos é executada até finalizar o intervalo previamente definido, ou seja, o processo se repete até que o ultimo valor dentro do intervalo estipulado seja aplicado. Nesse momento, o comando for-do termina, e o controle passa para o próximo comando do programa. Sintaxe: for i:= x to y do begin bloco de comandos; end; Prof. Ms. Amélia Acácia M. Batista 01/12/2019

20 Estrutura de Repetição
Exemplo For-do Program Ex3; var i, soma: integer; Begin soma:=0; For i:= 1 to 5 do begin soma:=soma+i; writeln (soma); end; end. Prof. Ms. Amélia Acácia M. Batista 01/12/2019

21 Estrutura de Repetição
While-do Se a expressão lógica for Verdadeira, o comando é executado, e em seguida a expressão volta a ser avaliada. Enquanto o valor da expressão for Verdadeiro, o processo se repete; Caso a avaliação seja Falsa, o comando não é executado, e o controle passa para a próxima instrução após o while. Sintaxe: While (expressão lógica) do begin bloco1 de comandos; bloco2 de comandos; blocoN de comandos; end Prof. Ms. Amélia Acácia M. Batista 01/12/2019

22 Estrutura de Repetição
Exemplo While-do Program Ex1; //identificação do programa// var i: integer; //declaração de variáveis// Begin //inicio do corpo do programa// i:=0; while (i < 5) do begin i:=i+1; writeln(i); end End. Prof. Ms. Amélia Acácia M. Batista 01/12/2019

23 Estrutura de Repetição
Repeat-until A sequencia de comandos é executada até a expressão lógica for verdadeira; ou seja, o processo se repete até que o valor da expressão se torne verdadeiro. Nesse momento, o comando repeat termina, e o controle passa para o próximo comando do programa. Sintaxe: Repeat Begin bloco1 de comandos; bloco2 de comandos; until (condição); end Prof. Ms. Amélia Acácia M. Batista 01/12/2019

24 Estrutura de Repetição
Exemplo Repeat-until Program Ex2; var i: integer; Begin i:=0; Repeat begin i:= i+1; writeln (i); until ( i>5); end End. Prof. Ms. Amélia Acácia M. Batista 01/12/2019

25 Vetores No caso acima, a variável v[2] tem o valor 67;
Um vetor (array em inglês) é um agregado de variáveis do mesmo tipo (homogêneas). O exemplo abaixo mostra a representação gráfica de um vetor de 6 inteiros chamado v: No caso acima, a variável v[2] tem o valor 67; Podemos alterar esse valor exatamente como fazemos com qualquer variável: v[2] := 100; readln(v[2]); Prof. Ms. Amélia Acácia M. Batista 01/12/2019

26 Vetores Para declarar esse vetor em um programa Pascal, é usada a forma abaixo: Var v: array[1..6] of integer; A forma geral é: var <identificador do vetor>: array [<intervalo das posições>] of <tipo dos valores do vetor>   Cada variável do conjunto é representada por: <identificador do vetor>[<expressão cujo valor é a posição da variável> ], onde a expressão deve ser do tipo declarado. Por exemplo, a variável na posição 3 do vetor pode ser representada por: v[3] v[10-7] v[5*5-2*11] v[x-4], supondo que x tenha o valor 7, etc. Prof. Ms. Amélia Acácia M. Batista 01/12/2019

27 Uso do comando For com vetores
A manipulação de vetores é grandemente facilitada pelo uso dos comandos de repetição, especialmente o for. Por exemplo, para zerar (colocar o valor 0) todas as posições do vetor v definido acima, seria necessário escrever 6 comandos: v[1]:= 0; v[2]:= 0; v[3]:= 0; v[4]:= 0; v[5]:= 0; v[6]:= 0; A mesma operação pode ser feita com apenas um comando de repetição for, usando uma variável de controle para representar as posições do vetor: for i:= 1 to 6 do v[i]:=0; É fácil imaginar o que isso representa de simplificação para a manipulação de vetores grandes. Prof. Ms. Amélia Acácia M. Batista 01/12/2019

28 Uso do comando For com vetores
Da mesma forma, para ler do teclado todos os valores do vetor v, seriam também necessários 6 comandos: read (v[1]); read (v[2]); read (v[3]); read (v[4]); read (v[5]); read (v[6]); Todos esses comandos podem ser substituídos por um único comando for: for i:= 1 to 6 do read(v[i]); Prof. Ms. Amélia Acácia M. Batista 01/12/2019

29 Uso do comando For com vetores
Não é possível: a) Não se pode ler todo um vetor diretamente com um comando read. Não se pode escrever: read(v); É necessário ler casa a casa, diretamente, ou com um laço de repetição como for no exemplo acima. b) Não se pode escrever todos os elementos de um vetor com um único comando write. Não é permitido escrever: write(v). Também nesse caso cada elemento deve ser tratado como uma variável independente, por exemplo: for i:= 1 to 6 do write(v[i]); c) Não é possível copiar os valores dos elementos de um vetor para outro com um único comando de atribuição. Ou seja, dados dois vetores v e w, ambos do mesmo tamanho e do mesmo tipo, não é permitido fazer: w:= v; . Também aqui é necessário trabalhar elemento a elemento, e o comando for mais uma vez é indicado: for i:= 1 to 6 do w[i]:= v[i]; Prof. Ms. Amélia Acácia M. Batista 01/12/2019

30 Uso do comando For com vetores
Não é possível: d) Não existe comandos ou funções que dão o tamanho (número de elementos) de um vetor. e) Não é permitido tentar acessar uma posição fora do intervalo de posições definido para o vetor. A tentativa causará um erro em tempo de execução e o programa abortará. No caso do vetor v acima, por exemplo, não é permitido escrever: v[8]:= 20, read(v[8]) ou write (v[8]) porque a faixa de valores das posições vai de 1 a 6 apenas. Prof. Ms. Amélia Acácia M. Batista 01/12/2019

31 Uso do comando For com vetores
O que é permitido: a) A faixa de valores das posições não precisa começar em 1. Qualquer intervalo de valores pode ser usado na definição de um vetor. Por exemplo, podemos definir um vetor assim: var v:array[15..20] of real; Nesse caso o vetor v terá apenas os elementos: v[15], v[16], v[17], v[18], v[19] e v[20]; b) As posições não precisam ser necessariamente números inteiros. Podem ser qualquer tipo ordinal, ou seja, que possa ser definido por uma seqüência ordenada de valores. Por exemplo, os caracteres em Pascal formam uma seqüência ordenada na tabela de caracteres, e podem portanto serem marcadores de posição em um vetor. Prof. Ms. Amélia Acácia M. Batista 01/12/2019

32 Uso do comando For com vetores
Dados dois vetores x e y, ambos com n elementos, determinar o produto escalar desses vetores. Prof. Ms. Amélia Acácia M. Batista 01/12/2019

33 FUNDAMENTOS DA LINGUAGEM C
PARTE III FUNDAMENTOS DA LINGUAGEM C

34 História e Evolução Dennis Ritchie inventou a linguagem C;
Resultante de um processo evolutivo de linguagens: BCPL (Martin Richards), B (Ken Thompson), C (1970); Sistema Operacional Unix, versão 5; American National Standards Institute – ANSI, 1983; Linguagem C  C++. Prof. Ms. Amélia Acácia M. Batista 01/12/2019

35 Conceitos, estruturas e comandos básicos
Biblioteca são arquivos contendo várias funções que podem ser incorporadas aos programas escritos em C/C++; A linguagem C é sensível a letras maiúsculas e minúsculas; Idade é diferente de idade; As variáveis são declaradas após a especificação de seus tipos; Exemplo: int x, y; Não possui tipo de dados boolean (verdadeiro ou falso); considera verdadeiro qualquer valor diferente de 0 (zero); Não possui um tipo especifico para armazenar cadeia de caracteres (strings); usa-se vetor contendo elementos do tipo char; Prof. Ms. Amélia Acácia M. Batista 01/12/2019

36 Conceitos, estruturas e comandos básicos
As constantes são declaradas depois das bibliotecas; usa-se a palavra reservada define para essa declaração; O comando de atribuição é o sinal de = (igual); Comentários são representados por /* texto */ //texto Os caracteres são representados por ‘ (apostrofo); A cadeia de caracteres é representada por “ (aspas dupla); Cada comando é finalizado com ; (ponto e virgula); Parte inteira e parte fracionaria do numero são separadas por . (ponto). Prof. Ms. Amélia Acácia M. Batista 01/12/2019

37 Conceitos, estruturas e comandos básicos
Estrutura sequencial Sintaxe #include <nome da biblioteca> int main() { bloco_de_comandos; return 0; } Prof. Ms. Amélia Acácia M. Batista 01/12/2019

38 Conceitos, estruturas e comandos básicos
#include  diretiva que faz as funções contidas na biblioteca serem inseridas no programa; Stdio.h: funções de entrada e saída; String.h: funções para manipulação de strings; Math.h: funções matemáticas; Conio.h: funções clrscr () e getch () Int Main  definição da função Main; ponto de entrada do fluxo de controle nos programas C; As chaves delimitam o bloco de comandos; Return 0  indica que a função Main retorna zero. Prof. Ms. Amélia Acácia M. Batista 01/12/2019

39 Conceitos, estruturas e comandos básicos
Declaração de Variáveis Int x; Float y, z; Char sexo; Char nome[40]; Tipo Tamanho Valores válidos Char 1 byte letras e símbolos: 'a',  'b', 'H', '^', '*','1','0' Int 2 bytes de até (apenas números inteiros) Float 4 bytes de -3.4 x 1038 até +3.4 x 10+38com até 6 dígitos de precisão Double 8 bytes de -1.7 x 10308 até +1.7 x com até 10 dígitos de precisão Prof. Ms. Amélia Acácia M. Batista 01/12/2019

40 Conceitos, estruturas e comandos básicos
Declaração de Constantes Sintaxe  #define nome valor #define x 7 #define y 4.5 #define nome “Maria” Comando de atribuição X = 4; X = x + 2; Y = 2.5; Sexo = ‘F’; Prof. Ms. Amélia Acácia M. Batista 01/12/2019

41 Conceitos, estruturas e comandos básicos
Comandos de Entrada: scanf() Sintaxe  scanf(“tipo de variável a ser lidaComando para esvaziar o buffer”, & variável que armazenará o valor); %d: variáveis que armazenam números inteiros; %f: variáveis que armazenam números reais; %c: variáveis que armazenam um único caracter; %s: variáveis que armazenam um conjunto de caracteres; %*c: esvazia buffer; Exemplo: Scanf(“%d%*c”,&X), Scanf(“%f%*c”,&Y), Scanf(“%s%*c”,&NOME), Scanf(“%c%*c”,&SEXO) Prof. Ms. Amélia Acácia M. Batista 01/12/2019

42 Conceitos, estruturas e comandos básicos
Comandos de Saída: printf() Sintaxe  printf(“%valor a ser armazenado”, variável que armazenará o valor); printf(“%d%”,X) printf(“Conteúdo de Y = %d”, Y) printf(“%f”,X) printf (“%5.2f”,X) printf (“Conteúdo de X = %67.3f”,X) \n posiciona o cursor na próxima linha \t avança o cursor uma tabulação Prof. Ms. Amélia Acácia M. Batista 01/12/2019

43 Conceitos, estruturas e comandos básicos
Operadores aritméticos e lógicos Operador Exemplo Significado = X = Y O conteúdo da variável Y será atribuído a variável X; + X + Y - X – Y * X * Y / X/Y Quociente da divisão Int z = 5/2; o resultado de z é 2 Float z = 5.0/2.0; o resultado de z é 2.5 % X % Y Resto da divisão de X por Y Obs: só pode ser usado com operandos inteiros Prof. Ms. Amélia Acácia M. Batista 01/12/2019

44 Conceitos, estruturas e comandos básicos
Operadores aritméticos e lógicos Operador Exemplo Significado += X+=Y Equivale a X = X + Y -= X-=Y Equivale a X = X - Y *= X*=Y Equivale a X = X * Y /= X/=Y Equivale a X = X / Y %= X%=Y Equivale a X = X % Y ++ X++ Y=++X ou Y=X++ Equivale a X = X + 1 X = X + 1, depois Y=X ou Y=X, depois X = X + 1 -- X-- Y=--X ou Y=X-- Equivale a X = X - 1 X = X - 1, depois Y=X ou Y=X, depois X = X - 1 Prof. Ms. Amélia Acácia M. Batista 01/12/2019

45 Conceitos, estruturas e comandos básicos
Operadores aritméticos e lógicos Operador Exemplo Significado == X == Y O Conteúdo de X é igual ao conteúdo de Y != X != Y O Conteúdo de X é diferente do conteúdo Y <= X <= Y >= X >= Y < X < Y > X > Y Prof. Ms. Amélia Acácia M. Batista 01/12/2019

46 Conceitos, estruturas e comandos básicos
Funções matemáticas Função Exemplo Significado Abs Abs(x) Valor absoluto de X Floor Floor(x) Arredonda numero real para baixo; floor(3.2)=3 Ceil Ceil(x) Arredonda numero real para cima; floor(3.2)=4 Modf Z = Modf(x,&y) Decompõe o numero real X em duas partes:Y recebe a parte fracionária e z, a parte inteira do numero; Pow Pow(x,y) Potência de X elevado a Y Sqtr Sqtr(x) Calcula a raiz quadrada de X Prof. Ms. Amélia Acácia M. Batista 01/12/2019


Carregar ppt "Profª. Ms. Amélia Acácia M. Batista"

Apresentações semelhantes


Anúncios Google