Análise e Solução de Problemas

Slides:



Advertisements
Apresentações semelhantes
SISTEMA BINÁRIO Hardware de Computadores. SISTEMA BINÁRIO Hardware de Computadores.
Advertisements

Técnicas e Projeto de Sistemas
Grupo Paralelismo – Unesp RC
FORTRAN 90 Denise Yumi Takamura.
Vetores Variável Composta Homogênea Unidimensional
Vetores (2) Continuação.
SISTEMAS DE NUMERAÇÃO Material elaborado pelo Prof. José Luiz Mendes e alterado pela Profa Janine.
Sintaxe de Fortran 25/abril/2006. Comandos Fortran PROGRAM PRINT READ STOP END.
Modularização de Código. Modularizar código Construção do algoritmo em um módulo único (Início...Fim/ Program... End) Único arquivo.
Introdução ao Fortran 4/abril/2006. Pseudocódigo Compreensão do problema Elaboração da lógica de resolução Tradução da lógica para pseudocódigo.
Introdução à Lógica de Programação
Prof. Dr. Helder Anibal Hermini
Arquiteturas de 4, 3, 2, 1 e 0 endereços.
Utilização do montador Daedalus
Algoritmos com laços (ou seja, com conjuntos de instruções que devem ser executados repetidas vezes)
Teste Estrutural de Software
Teste Funcional de Software
(Como implementar multiplicação e divisão uma vez só :-)
Gustavo Vieira Pereira
Algoritmos com Seleção
SECRETARIA DA EDUCAÇÃO E CULTURA x Fechar Avançar Secretaria da Educação e Cultura Maria Auxiliadora Seabra Rezende Governo do Estado do Tocantins Marcelo.
Profa. Graziela Santos de Araújo Algoritmos e Programação II, 2010
Geração de Código Algoritmo de Escalonamento de instruções – List Scheduling.
Conceitos iniciais Hardware/Software
O Fluxo de Testes © Alexandre Vasconcelos
UD de Sorocaba/ Iperó UNIVERSIDADE ESTADUAL PAULISTA Recursos Computacionais Antonio Martins.
Campus de Sorocaba UNIVERSIDADE ESTADUAL PAULISTA Recursos Computacionais Antonio Martins.
Funções de um computador
Agregado Homogêneo e Heterogêneo
2ª Aula Teórica Prof. Cesar Costa
Sistemas de Tutoria Inteligente (STI) Visam proporcionar instrução de forma adaptada a cada aprendiz. STIs adaptam o processo de instrução a determinadas.
CT-300 – Seminário de Tese 1/25 Um Framework Padrão para Simulação de Modelos de Robôs Móveis de Robôs Móveis Juliano A. Pereira Prof. Carlos H. C. Ribeiro.
01/08/20061 CT-282 Tutores Inteligentes ITA - INSTITUTO TECNOLÓGICO DE AERONÁUTICA.
CES-41 COMPILADORES Capítulo IV Complementos de Análise Léxica.
Técnicas de Diagnóstico. Objetivo Caracterizar técnicas de diagnóstico para o modelo do estudante Caracterizar técnicas de diagnóstico para o modelo do.
CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2013 Capítulo III Comandos de Controle.
1.3 – Interpretadores – Compiladores versus Interpretadores
Capítulo V Análise Sintática
Capítulo I – Conceitos Primários 1.1 – Estrutura de um computador 1.2 – Informações manipuladas por um computador 1.3 – Evolução das linguagens de programação.
Copyright, 2002 © Universidade de Caxias do Sul. Conceitos Básicos de Algoritmos.
Curso Técnico em Informática La Salle - Canoas
LA SALLE Curso Técnico em Informática
MAC499 - Trabalho de Formatura Supervisionado Sistema de Reconhecimento de Escrita On-Line.
Já definimos o coeficiente angular de uma curva y = f(x) no ponto onde x = x 0. Derivadas Chamamos esse limite, quando ele existia, de derivada de f em.
EEL170 COMPUTAÇÃO I Antonio Cláudio Gómez de Sousa 5a série de slides Versão 26/04/2012.
ALOCAÇÃO DINÂMICA DE MEMÓRIA
Função confirmar Em muitos programas temos de confirmar uma opção com S ou N. Vamos fazer então uma função que retorna a escolha realizada pelo usuário.
EEL170 COMPUTAÇÃO I Antonio Cláudio Gómez de Sousa 1a série de slides versão 19/03/2012.
Teorema do Confronto Se não pudermos obter o limite diretamente, talvez possamos obtê-lo indiretamente com o teorema do confronto. O teorema se refere.
Aritmética de ponto flutuante Erros
Representações na base decimal e binária
Resolução de Sistemas Não-Lineares- Parte 1
Resolução de Sistemas Lineares- Parte 1
Desempenho A rápida taxa de melhoria na tecnologia de computadores veio em decorrência de dois fatores: avanços na tecnologia utilizada na construção.
Laboratório de Programação Prof. Oscar Luiz Monteiro de Farias
Tecnologia para Web JavaScript Enrique Pimentel Leite de Oliveira
Recursividade Estrutura de Dados.
Marco Antonio Montebello Júnior
Introdução à Probabilidade
PRODUTOS E FATORES: UMA QUESTÃO NOTÁVEL Professor: Graciano Pianezzer Beletti.
Curso de Programação em C++ Universidade Federal do Ceará Departamento de Engenharia Estrutural e Construção Civil Prof: Evandro Parente Junior Monitor:
Baseado no documento do Prof. Ronaldo Martins da Costa
LINGUAGENS DE PROGRAMAÇÃO
Baseado no documento do Prof. Ronaldo Martins da Costa
04:27 Introdução Tipos de Fluxo de Dados e de Arquivos Manipulação de Arquivos em Java Classes FileReader e FileWriter Classes FileInputStream e FileOutputStream.
Sistemas de Informação Prof. Me. Everton C. Tetila Modelo de dados relacional Banco de Dados I.
Programação Concorrente com Thread Java
Introdução Ciência da Computação estudo de algoritmos –ÊNFASE ao estudo de DADOS armazenamento manipulação refinamento (a partir de dados cru) estrutura.
8. Uma Função de duas Variáveis Aleatórias
Exercícios de revisão.
Transcrição da apresentação:

Análise e Solução de Problemas Compreensão rigorosa do problema. Um método de solução é escolhido e desenvolvido. Descrição do processo de solução passo a passo. Programação do algoritmo e depuração do programa. Validação do algoritmo. Aula 1 - V.3 - Cida Livi

Enunciado em Português. Ex.: PROBLEMA: Enunciado em Português. Ex.: Calcular a média aritmética de três valores inteiros. ALGORITMO: Técnicas gráficas de apoio ao desenvolvimento: fluxograma diagramas de Nassi-Shneidermann Técnicas textuais: pseudocódigo, português estruturado, linguagem algorítmica IMPLEMENTAÇÃO: Tradução do algoritmo para PASCAL Aula 1 - V.3 - Cida Livi

SÍMBOLOS DE FLUXOGRAMA Terminal, indica início ou fim do fluxo Operação de Entrada ou Saída, genérica, sem indicar dispositivo Procedimento (por exemplo atribuição) Operação de Saída envolvendo impressora, ou ação de escrita (no vídeo) Aula 1 - V.3 - Cida Livi

Apresentação de um algoritmo usando fluxograma Início Apresentação de um algoritmo usando fluxograma Leia Numero1, Numero2, Numero3 Media <- (Numero1 + Numero2 + Numero3) div 3 Calcule Media de Numero1, Numero2, Numero3 ou Escreva Media Fim Aula 1 - V.3 - Cida Livi

Diagrama de Chapin ou Nassi-Shneidermann Seqüência Aula 1 - V.3 - Cida Livi

Apresentação de um algoritmo usando um diagrama de Chapin Cálculo da Média Aritmética de três Valores Leia Numero1, Numero2 , Numero3 Media <- (Numero1 + Numero2 + Numero3) div 3 Escreva Media Aula 1 - V.3 - Cida Livi

Apresentação de um algoritmo usando linguagem algorítmica Cálculo da Média Aritmética de três Valores Inicio Leia Numero1, Numero2 , Numero3 Media <- (Numero1 + Numero2 + Numero3) div 3 Escreva Media Fim Aula 1 - V.3 - Cida Livi

A linguagem do algoritmo Tipos de questões que não precisam aparecer na fase de construção do algoritmo: Qual o tipo (inteiro, real) de dado de média ? (e em conseqüência) Qual o operador de divisão que será usado ? Questões vinculadas à linguagem de programação. A linguagem do algoritmo não precisa seguir estritamente uma linguagem de programação. Aula 1 - V.3 - Cida Livi

Aprender a programar Conhecer as instruções (Comandos) Saber como escrever as instruções (Sintaxe dos comandos) Entender ações resultantes da execução das instruções (Semântica dos comandos) Possuir raciocínio lógico para chegar a uma seqüência de instruções que solucione o problema proposto. Aula 1 - V.3 - Cida Livi

Estrutura de um Programa Pascal Cabeçalho Declarações variáveis, tipos, constantes, procedimentos, ... Begin Comandos End. Aula 1 - V.3 - Cida Livi

{Calcula a média aritmética de três valores} var Program MediArit; {Calcula a média aritmética de três valores} var Numero1 , Numero2 , Numero3, Media : integer; begin readln(Numero1); readln(Numero2); readln(Numero3); Media := (Numero1 + Numero2 + Numero3) div 3; writeln(´Media: ´ , Media) end. Aula 1 - V.3 - Cida Livi

PASCAL Elementos da linguagem: conjunto de caracteres; identificadores; palavras reservadas; números; expressões; cadeias de caracteres; variáveis e tipos. Aula 1 - V.3 - Cida Livi

Conjunto de caracteres Letras: maiúsculas e minúsculas Dígitos: 0 a 9 _ (underscore) outros símbolos especiais: + - < >= <> / * := etc. Aula 1 - V.3 - Cida Livi

Palavras Reservadas Palavras com significado padrão pré-definido na linguagem. Não podem ser redefinidas. Ex.: and downto else begin Aula 1 - V.3 - Cida Livi

Identificadores Nome dado a um elemento do programa, ou seja, variável, constante, etc. Primeiro caracter: letra (ou _ ). Demais caracteres: letras, dígitos e _ Tamanho máximo: qualquer, mas apenas 63 são significativos. NÃO são permitidos ESPAÇOS. DEVEM SER auto-explicativos. Aula 1 - V.3 - Cida Livi

Números: formação Formados por: sinal + ou - (se ausente, número é positivo) Dígitos ponto decimal (se for o caso) Devem variar entre valores máximo e mínimo especificados para: seu tipo; computador e compilador específicos. Aula 1 - V.3 - Cida Livi

Números: formação Notação exponencial Ex.: -315.21e-3 ou -315.21E-3 (ou -315,21 x 10-3= -0,31521) Dígitos que seguem a letra e indicam a potência de 10 que deve multiplicar o número precedente. Aula 1 - V.3 - Cida Livi

Cadeias de caracteres Seqüência de caracteres entre apóstrofos. Inclusão de apóstrofos em uma cadeia: colocar dois em seqüência. ´com apóstrofo ´´ dentro´ Tamanho máximo : 255. Aula 1 - V.3 - Cida Livi

Variáveis Correspondem a uma posição de memória. Conteúdo pode variar ao longo do tempo. Armazenam um só valor por vez. Armazenam valores de um só tipo (logo tem um tipo definido) Ex.: Letra : char; NomeCompleto : string; ContaAlunos : integer; Repetir : boolean; Aula 1 - V.3 - Cida Livi

Variáveis (cont.) DEVEM SER inicializadas; Valor inicial imprevisível (posição de memória!). Aula 1 - V.3 - Cida Livi

Números: tipos Inteiros: sem ponto, com ou sem sinal. Reais: com ponto e/ou expoente notação científica: 1.2 e-3 (ou 0.0012) , 3e10 ( ou 30000000000) 0.0 é um real permitido, menor que 1e-38 Atenção: não esquecer que números reais são aproximações e não devem ser usados, por exemplo, para contagens. Aula 1 - V.3 - Cida Livi

Tipos Simples Inteiros Integer: -32768 a 32767 (2 bytes) Shortint: -128 a 127 (1 byte) Byte: 0 a 255 Longint: -2147483648 a 2147483647 (4 bytes) Aula 1 - V.3 - Cida Livi

Tipos Simples Reais Real : +-2.9e-39 +-1.7e38 , com 11 ou 12 dígitos significativos (6 bytes) Single (4 bytes) Double (8 bytes) Extended Comp Obs.: apenas o tipo Real pode ser usado sempre sem qualquer cuidado adicional Aula 1 - V.3 - Cida Livi

Tipos simples não numéricos Char: 1 caractere (caracteres ASCII(American Standard Code for Information Interchange)) String: 1 a 255 caracteres (não existe no Pascal padrão) Aula 1 - V.3 - Cida Livi

Tipos Simples não-numéricos Booleano: Valores true ou false Ex.: var Concluido : boolean; Concluido:= true; Aula 1 - V.3 - Cida Livi

Expressões: definição Conjuntos de operandos (números, constantes, variáveis, etc.) agrupados por certos operadores, constituindo formas algébricas que representam um valor. No Pascal terão que ser linearizadas, e todos os operadores deverão ser explicitados. Aula 1 - V.3 - Cida Livi

Expressões: tipos Numéricas: valor numérico. Ex.: Resultado := 2*pi*sqr(raio) (pi é uma constante e sqr uma função (eleva ao quadrado)) Lógicas: valor lógico Ex.: Nome = ´Maria´ Resultado > 5 (qualquer uma dessas expressões poderá em um certo momento ser verdadeira ou falsa) Aula 1 - V.3 - Cida Livi

Expressões numéricas Se reais e inteiros compuserem uma expressão, o seu resultado será um valor real! O uso do operador de divisão / , em uma expressão, implica que o resultado da expressão será real. Aula 1 - V.3 - Cida Livi

Operadores Aritméticos Adição : + Subtração : - Multiplicação : * Divisão: inteira DIV ; real /; Resto da divisão ou Módulo (opera sobre inteiros): MOD Ex.: Resto := Valor MOD Parcelas; Se Valor for 70 e Parcelas for 3, Resto receberá 1. Aula 1 - V.3 - Cida Livi

Operadores não aritméticos Relacionais : = , < , > , >= , <= , <> Booleanos : NOT AND OR XOR Ex.: (Sobrenome = ´Silva´) and ( Idade > 21) Resultado: true ou false Aula 1 - V.3 - Cida Livi

Funções padrão Sqr(x) : quadrado de x Sqrt(x): raiz quadrada de x Trunc(x): parte inteira de x Round(x): valor inteiro mais próximo Aula 1 - V.3 - Cida Livi

a) Devem ser linearizadas e b) os operadores devem ser explicitados: Expressões em Pascal: a) Devem ser linearizadas e b) os operadores devem ser explicitados: Seja a expressão: Em Pascal: C := 5 / 9 * (F - 32) {* é o operador da multiplicação } Aula 1 - V.3 - Cida Livi

b) os tipos de operandos e operadores devem ser compatíveis: 2 * n + 1 <> ´a´ ERRADO valor numérico não pode ser comparado diretamente com valor caractere c) os parênteses devem estar em equilíbrio: ((x-y) - 3 + (abs(u - v)) ERRADO Falta um parêntese à direita. Aula 1 - V.3 - Cida Livi

Forma exigida pelo Turbo: ( x > 0) AND (x < 100) d) os operandos de expressões lógicas devem ser colocados entre parênteses (exigência do Turbo Pascal): x > 0 and x < 100 ERRADO Forma exigida pelo Turbo: ( x > 0) AND (x < 100) Aula 1 - V.3 - Cida Livi

Regras de pontuação Pascal Ponto e vírgula é caracter separador, separa comandos ou declarações. Begin e End são delimitadores. Indicam início e fim de instrução composta. Todo programa termina por um ponto. Aula 1 - V.3 - Cida Livi

Algoritmos puramente seqüenciais Algoritmo cuja execução é efetuada estritamente em ordem ascendente de passo. Estrutura básica: Entrada (opcional) Processamento Saída (1 ou mais) Aula 1 - V.3 - Cida Livi

Apresentação de valores reais: Sem edição: Resultado := -3.45;{Resultado tipo real} writeln(Resultado); Na tela: -3.4500000000E+00 {Conteúdo de Resultado apresentado em notação científica] Aula 1 - V.3 - Cida Livi

Edição de valores reais: Para que os valores reais não sejam apresentados em notação científica, editá-los conforme segue: writeln(´Resultado = ´ , Resultado:8:2); Na tela: -3.45 (precedidos por três posições em branco) Primeiro valor, no caso 8, indica o número máximo de posições que o valor deverá ocupar ao ser apresentado. Ponto e sinal ocupam cada qual uma posição. O segundo valor, no caso 2, indica quantas posições do número máximo indicado deverão ser reservadas para casas decimais. Aula 1 - V.3 - Cida Livi

Edição de valores reais: Se parte inteira exigir mais posições que o previsto, o valor será apresentado de forma integral, sem cortes. Ex: Resultado:8:2 Valor a apresentar: 123456.78 (nove posições) Valor apresentado: 123456.78 (nove posições) Se a parte decimal exigir mais posições que o indicado, haverá arrendondamento da parte decimal. Valor a apresentar: 123456.789 (dez posições) Valor apresentado: 123456.79 (nove posições) Aula 1 - V.3 - Cida Livi

Edição de valores reais: Resumindo o uso dos : (dois pontos) na edição de valores reais: Parte inteira sempre será apresentada integralmente, independente do tamanho máximo declarado para a apresentação do valor. Parte decimal poderá ser arredondada, para que não ultrapasse o número máximo de posições indicadas para casas decimais do valor. Atenção: os valores usados nos exemplos, 8 e 2, podem ser alterados segundo a conveniência do usuário. Aula 1 - V.3 - Cida Livi