Скачать презентацию Algoritmos e Programação Thyago Maia Tavares de Farias Скачать презентацию Algoritmos e Programação Thyago Maia Tavares de Farias

c544086c4cc02e1fbc29e9723324ebe8.ppt

  • Количество слайдов: 39

Algoritmos e Programação Thyago Maia Tavares de Farias Aula 12 Algoritmos e Programação Thyago Maia Tavares de Farias Aula 12

Sumário n Pascal – Conceitos e Ambiente Sumário n Pascal – Conceitos e Ambiente

Passos para a construção de Software 1º passo: Conhecimento do problema; n 2º passo: Passos para a construção de Software 1º passo: Conhecimento do problema; n 2º passo: Construção do algoritmo; n 3º passo: Codificação do algoritmo em uma linguagem de programação; n Problema !!! Solução Codificação

Linguagens de programação Para armazenar um algoritmo na memória de um computador, e para Linguagens de programação Para armazenar um algoritmo na memória de um computador, e para que o mesmo seja executável, é necessário que o mesmo seja programado (codificado); n Precisamos transcrever nossos algoritmos para uma linguagem de programação; n Exemplos: Pascal, C, Java, Cobol, etc. n Na disciplina, utilizaremos a linguagem de programação Pascal; n

A linguagem Pascal Desenvolvida em 1968 por Niklaus Wirth, da Universidade Técnica de Zurique, A linguagem Pascal Desenvolvida em 1968 por Niklaus Wirth, da Universidade Técnica de Zurique, na Suíça; n Objetivo: Oferecer uma linguagem para o ensino de programação que fosse simples, coerente e capaz de confeccionar programas claros e legíveis; n Batizada em homenagem a Blaise Pascal, filósofo, matemático e inventor da primeira calculadora mecânica; n

A linguagem Pascal Linguagem parecida com a linguagem algorítmica; n Usa o paradigma estruturado, A linguagem Pascal Linguagem parecida com a linguagem algorítmica; n Usa o paradigma estruturado, onde qualquer problema pode ser resolvido utilizando três estruturas: n Sequencial; n Condicional; n Iterativa (repetição); n

Adaptando algoritmos para a linguagem Pascal n Ex. : PORTUGOL Algoritmo “exemplo” PASCAL Var Adaptando algoritmos para a linguagem Pascal n Ex. : PORTUGOL Algoritmo “exemplo” PASCAL Var numero: inteiro program exemplo; Uses crt; Var numero: integer; Inicio begin escreva(“Informe um número: ”) leia(numero) numero <- numero + 10; escreva(“Novo número: ”, numero) fimalgoritmo write(‘Informe um número: ‘); readln(numero); numero : = numero + 10; write(‘Novo número: ‘, numero); end.

Área de Declarações Declaração de Uso das Unidades: • Um programa Pascal pode fazer Área de Declarações Declaração de Uso das Unidades: • Um programa Pascal pode fazer uso de algumas unidades padrão, tais como: CRT, PRINTER, etc. • A unidade CRT faz a adequação do hardware com seu programa. PASCAL program exemplo; Uses crt; Var numero: integer; begin Declaração de Variáveis: var : onde, : lista variáveis de um mesmo tipo : nome de um dos tipos pré-definidos ou criados pelo programador write(“Informe um número: ”); readln(numero); numero : = numero + 10; write(“Novo número: ”, numero); end.

Tipos de variáveis n Integer n Equivalente ao tipo inteiro em algoritmos; Nome Valor Tipos de variáveis n Integer n Equivalente ao tipo inteiro em algoritmos; Nome Valor mínimo Valor máximo Bytes ocupados Integer -32. 768 32. 767 2 Exemplo de declaração: n Em algoritmos: var numero: inteiro n Em Pascal: var numero: integer; n

Tipos de variáveis n Integer n Tipos variantes: Nome Valor mínimo Valor máximo Bytes Tipos de variáveis n Integer n Tipos variantes: Nome Valor mínimo Valor máximo Bytes ocupados Shortint -128 127 1 Byte 0 255 1 Word 0 65. 535 2 Longint -2. 147. 483. 648 2. 147. 483. 647 4

Tipos de variáveis n Real n Equivalente ao tipo real em algoritmos; Nome Valor Tipos de variáveis n Real n Equivalente ao tipo real em algoritmos; Nome Valor mínimo Valor máximo Bytes ocupados Real -2. 9 x 10 -39 1. 7 x 1038 6 Exemplo de declaração: n Em algoritmos: var numero: real n Em Pascal: var numero: real; n

Tipos de variáveis n Real n Tipos variantes: Nome Valor mínimo Valor máximo Bytes Tipos de variáveis n Real n Tipos variantes: Nome Valor mínimo Valor máximo Bytes ocupados Single -1. 5 x 10 -45 1. 7 x 1038 4 Double 5. 0 x 10 -324 1. 7 x 10308 5 Extended 3. 4 x 10 -4932 1. 1 x 104932 10 Comp -2 -63+1 2 -63 -1 8

Tipos de variáveis n Boolean n Equivalente ao tipo lógico em algoritmos; Valores True Tipos de variáveis n Boolean n Equivalente ao tipo lógico em algoritmos; Valores True False Exemplo de declaração: n Em algoritmos: var valor: logico n Em Pascal: var valor: boolean; n

Tipos de variáveis n String n Equivalente ao tipo literal em algoritmos (tamanho máximo Tipos de variáveis n String n Equivalente ao tipo literal em algoritmos (tamanho máximo de caracteres: 255); n n Exemplo de declaração: Em algoritmos: var time: literal Em Pascal: var time: String; n Exemplo de atribuição: n Em algoritmos: time <- “Sport Recife” n Em Pascal: n time : = ‘Sport Recife’;

Tipos de variáveis n String n Podemos limitar o tamanho de um string, utilizando Tipos de variáveis n String n Podemos limitar o tamanho de um string, utilizando [ + tamanho do texto + ] ao lado da especificação de tipo Exemplo de declaração: n var time: String[10]; n var sexo: String[1]; n Var nome_completo: String[100]; n

Tipos de variáveis n Char n Equivalente ao tipo literal em algoritmos, porém representa Tipos de variáveis n Char n Equivalente ao tipo literal em algoritmos, porém representa um único caractere; n n Exemplo de declaração: Em algoritmos: var sexo: literal Em Pascal: var sexo: char; n Exemplo de atribuição: n Em algoritmos: sexo <- “M” n Em Pascal: n sexo : = ‘M’;

Variáveis Representam os espaços reservados na memória para armazenar informações; n Funcionamento, declaração e Variáveis Representam os espaços reservados na memória para armazenar informações; n Funcionamento, declaração e atribuição semelhantes às variáveis utilizadas em algoritmos; n Assim como em algoritmos, cada variável possui um nome (identificador) e um tipo; n As regras para criação de nomes de variáveis são as mesmas utilizadas em algoritmos; n

Variáveis n Regras para identificadores de variáveis: Não devem ser extensas demais; n Caracteres Variáveis n Regras para identificadores de variáveis: Não devem ser extensas demais; n Caracteres permitidos: números, letras e sublinhado; n Primeiro caractere é sempre uma letra; n Identificadores não podem se repetir; n Não são permitidos caracteres em branco; n Não são permitidos caracteres especiais; n Não podemos utilizar palavras reservadas em nomes de variáveis; n

Variáveis n Exemplos de declaração: var numero: integer; nome: string; sexo: char; salario: real; Variáveis n Exemplos de declaração: var numero: integer; nome: string; sexo: char; salario: real;

Palavras Reservadas n Nomes utilizados pelo computador para representar comandos, operadores e nomes de Palavras Reservadas n Nomes utilizados pelo computador para representar comandos, operadores e nomes de seção de programas;

Constantes Variáveis que assumem um determinado valor atribuído e não pode ser alterado ao Constantes Variáveis que assumem um determinado valor atribuído e não pode ser alterado ao longo do programa; n Constantes assumem o tipo de valor a ela atribuído (não é necessária a definição de tipo na declaração!); n Uma constante, assim como uma variável, deverá ser declarada na área de declarações; n

Constantes Para declarar constantes, utilizamos a palavra reservada CONST, seguido do seu identificador (nome) Constantes Para declarar constantes, utilizamos a palavra reservada CONST, seguido do seu identificador (nome) + = + valor da constante + ; n Exemplos: CONST time_professor = ‘Sport Recife’; CONST pi = 3. 1416; CONST max = 10; n

Comentários Texto delimitado entre {} ou (* *) n Seu conteúdo não é compilado; Comentários Texto delimitado entre {} ou (* *) n Seu conteúdo não é compilado; n Pode conter qualquer tipo de caractere; n Pode conter mais de uma linha; n Pode ser colocado em qualquer região do programa; n Utilizado para documentar código, esclarecer alguma região de código, etc. ; n

Comentários n Exemplo: program exemplo; {área de declarações} Uses crt; Var numero: integer; begin Comentários n Exemplo: program exemplo; {área de declarações} Uses crt; Var numero: integer; begin {lista de instruções} write(“Informe um número: ”); readln(numero); numero : = numero + 10; write(“Novo número: ”, numero); end.

Área de Comandos: PASCAL • Delimitada pelo BEGIN e END. • Os comandos são Área de Comandos: PASCAL • Delimitada pelo BEGIN e END. • Os comandos são separados entre si pelo delimitador ponto-e-vírgula. • A forma geral é: Begin End. < comando >; . . . < comando >; program exemplo; Uses crt; Var numero: integer; begin write(“Informe um número: ”); readln(numero); numero : = numero + 10; write(“Novo número: ”, numero); end.

Comando de atribuição Utilizado para atribuir um valor a uma variável, um resultado de Comando de atribuição Utilizado para atribuir um valor a uma variável, um resultado de uma expressão ou o valor de outra variável; n Equivalente ao comando de atribuição

Comando de atribuição n OBS: No comando de atribuição, a variável e seu valor Comando de atribuição n OBS: No comando de atribuição, a variável e seu valor devem ter o mesmo tipo, exceto nos seguintes casos: Variáveis reais podem receber valores integer; n Variáveis string podem receber valores char; n n Exemplos: nome : = ‘Thyago’; media : = (nota 1+nota 2) / 2;

Comandos de Entrada Utilizado para receber dados digitados pelo usuário; n Funcionamento similar ao Comandos de Entrada Utilizado para receber dados digitados pelo usuário; n Funcionamento similar ao comando leia utilizado em algoritmos; n Comandos de entrada disponíveis em Pascal: n readln (similar ao read, realizando também a leitura do “new line” (nova linha) após o pressionamento da tecla Enter); n

Comandos de Entrada n Exemplo: programa que lê o nome e a idade de Comandos de Entrada n Exemplo: programa que lê o nome e a idade de um usuário: program exemplo; Uses crt; Var nome: string; idade: integer; begin readln(nome); readln(idade); end.

Comandos de Saída Utilizado para exibir dados; n Funcionamento similar ao comando escreva e Comandos de Saída Utilizado para exibir dados; n Funcionamento similar ao comando escreva e escreval utilizados em algoritmos; n Comandos de saída disponíveis em Pascal: n write (similar ao escreva) n writeln (realiza a escrita de dados e passa o cursor para a próxima linha). Similar ao escreval n

Comandos de Saída No caso de variáveis do tipo integer ou real, podemos apresentar Comandos de Saída No caso de variáveis do tipo integer ou real, podemos apresentar os dados na formatação desejada; n Exemplo: n Media : = (8 + 2) / 2; Writeln(Media); {escreveria 5. 0000 E + 01} Writeln(Media: 0: 2); {escreveria 5. 00}

Comandos de Saída n Exemplo: programa que lê o nome e a idade de Comandos de Saída n Exemplo: programa que lê o nome e a idade de um usuário: program exemplo; Uses crt; Var nome: string; idade: integer; begin writeln(‘Digite seu nome: ’); readln(nome); writeln(‘Digite sua idade: ’); readln(idade); writeln(‘Seu nome: ’, nome); writeln(‘Sua idade: ’, idade); end.

Operadores Operador Exemplo Comentário : = X : = 1 O valor 1 é Operadores Operador Exemplo Comentário : = X : = 1 O valor 1 é atribuído a variável X. + X+Y Soma o conteúdo de X e de Y. - X–Y Subtrai o conteúdo de Y do conteúdo de X. * X*Y Multiplica o conteúdo de X pelo conteúdo de Y. / X/Y Obtém o quociente da divisão de X por Y. DIV X DIV Y Obtém o quociente inteiro da divisão de X por Y. MOD X MOD Y Obtém o resto da divisão inteira de X por Y. = X=Y Testa se o conteúdo de x é igual ao conteúdo de Y. <> X <> Testa se o conteúdo de x é diferente do conteúdo de Y. >= X >= Y Testa se o conteúdo de x é maior ou igual ao de Y. <= X <= Y Testa se o conteúdo de x é menor ou igual ou de Y. > X>Y Testa se o conteúdo de x é maior do que o conteúdo de Y. < X

Funções Predefinidas Funções Matemáticas Função Comentários ABS (x) Obtém o valor absoluto de x. Funções Predefinidas Funções Matemáticas Função Comentários ABS (x) Obtém o valor absoluto de x. LOG(x) Obtém o logaritmo de x. TRUNC (x) FRAC(x) ROUND (x) Obtém a parte inteira do número real armazenado em x. Obtém a parte fracionária do número real armazenado em x. Arredonda x. SIN (x) Calcula o seno de x. COS (x) Calcula o cosseno de x. PI SQRT (x) SQR (x) Retorna o valor de ¶ Calcula a raiz quadrada de x. Calcula x elevado ao quadrado. INC (x, Y) Incrementa a variável x com o valor da variável Y. DEC (x, y) Decrementa a variável x com o valor da variável Y

Ambientes de Programação n Free Pascal Compiler Código aberto e gratuito; n Interpreta Pascal Ambientes de Programação n Free Pascal Compiler Código aberto e gratuito; n Interpreta Pascal e Object Pascal; n Criado em 1993; n Versões para vários sistemas operacionais; n

Ambientes de Programação n Dev-Pascal Gratuito; n Código Aberto; n Ambientes de Programação n Dev-Pascal Gratuito; n Código Aberto; n

Ambientes de Programação n Turbo Pascal n n Compilador Pascal; Software Proprietário da Borland Ambientes de Programação n Turbo Pascal n n Compilador Pascal; Software Proprietário da Borland International; Em 1995, deixou de ser desenvolvido; Licença de uso livre;

Ambientes de Programação n Pascal ZIM n n n Desenvolvido no Departamento de Ciências Ambientes de Programação n Pascal ZIM n n n Desenvolvido no Departamento de Ciências da Computação da Universidade de Brasília, sendo utilizado pelo curso desde 2000. O compilador implementa um subconjunto da linguagem Pascal e contém as estruturas de dados, funções e comandos mais utilizados. É freeware.

Ambientes de Programação n Download: n Free Pascal Compiler: http: //www. freepascal. eti. br/ Ambientes de Programação n Download: n Free Pascal Compiler: http: //www. freepascal. eti. br/ n Dev-Pascal: http: //www. bloodshed. net/devpascal. html n Turbo Pascal: http: //www. netdownloads. com. br/Download/2303/Turbo. Pascal-70. html n Pascal ZIM: http: //pascalzim. tripod. com/index. html