CURSO SUPERIOR DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS DISCIPLINA : INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO ASSUNTO: ALGORITMOS

Documentos relacionados
CONCEITOS DE ALGORITMOS

Prof. A. G. Silva. 14 de março de Prof. A. G. Silva INE5231 Computação Científica I 14 de março de / 26

Linguagem C/C++ Estrutura Condicional. Prof: Rosemary Melo

Oficina de Introdução de Programação usando Linguagem Python Prof. Ms. Perini

Programação Estruturada Aula VisualG

Introdução à Pseudo-código PROGRAMAÇÃO I (COM06842) LÓGICA E TÉCNICA DE PROGRAMAÇÃO (COM06039)

Oficina de Python Prof. Me. José Carlos Perini

Oficina de Python Prof. Me. José Carlos Perini

Algoritmos. Algoritmos e Linguagem de Programação - Prof Carlos Vetorazzi

Introdução à Programação. slides de Deise Sacol

Aula 02. Algoritmos e Pseudocódigo

Programação Estruturada

Lógica para programação II Seção 1 - Histórico e Introdução Primeiros Programas

Programação de Computadores I Dados, Operadores e Expressões PROFESSORA CINTIA CAETANO

Técnicas de Programação

Ciência da Computação A&P

01/08/2011. Tipos de dados Numéricos Alfanuméricos Lógicos. Numéricos. Tipos de dados. Dados Numéricos Inteiros. Dados Numéricos Reais.

Noções de algoritmos - Aula 1

Algoritmo e Programação Matemática

Linguagem Computacional

Introdução à Lógica de Programação. Adaptação de Luis Otavio Alvares

Variáveis, Expressões Aritméticas e Entrada e Saída de Dados

Variáveis, Tipos de Dados e Operadores

ALGORITMOS 3ª Aula. 3. Introdução Tipos de dados, variáveis e operadores Tipos de dados

Algoritmos I Introdução a Algoritmos. Carlos de Salles Soares Neto Segundas e Quartas, 17h40 às 19h10

A única diferença entre o difícil e o impossível é que o último demora um pouco mais de tempo para ser alcançado..

LÓGICA DE PROGRAMAÇÃO. Algoritmos Computacionais. Sérgio Carlos Portari Júnior

Computação I (MAB120) DCC/UFRJ

ALGORITMOS E APLICAÇÕES. FATEC IPIRANGA ADS Noturno 1º semestre de 2012 Prof. Luiz Carlos de Jesus Junior

Resolva os exercícios utilizando a linguagem de programação C

Estrutura de um Algoritmo, Variáveis, Comandos de Entrada e Saída e Expressões Aritméticas

Prof. José Remo / Prof. Ildeberto Rodello 1

Processamento de Dados aplicado à Geociências. AULA 3: Algoritmos computacionais Representação de Algoritmos Sintaxe Tipos de dados Expressões

Variável. Expressões. Atribuição. Tipos básicos Declaração. Aritméticas Lógicas. Professor Leandro Augusto Frata Fernandes

LÓGICA DE PROGRAMAÇÃO. PROFª. M.Sc. JULIANA H Q BENACCHIO

Conceitos Básicos. Professor: Juliano Lucas Gonçalves.

Introdução à Lógica de Programação

LINGUAGEM DE PROGRAMAÇÃO

Introdução à Programação. slides de Deise Sacol

Algoritmos. Prof. Jonatas Bastos Site:

CURSO BÁSICO DE PROGRAMAÇÃO AULA 3. Revisão Estrutura de Decisão Se Então

Constantes, Variáveis, tipos de dados e expressões

Algoritmos. Seqüência finita e ordenada de procedimentos que resolvem um determinado problema. Exemplo: O que preciso fazer para preparar um omelete?

CURSO BÁSICO DE PROGRAMAÇÃO AULA 3. Revisão Estrutura de Decisão Se Então

Pseudocódigo e Visualg

Programação de Computadores I. Professor Ilaim Costa Junior

Programação de Redes de Computadores

08/05/2012. Tipos de dados. Tipos de dados. Elementos Básicos. Tipos de dados. Elementos Básicos Tipos de dados. Dados e seus tipos:

ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO

Noções de algoritmos - Aula 1

LINGUAGEM ALGORÍTMICA

Algoritmos e Programação. Noções de Lógica e Algoritmos Tarcio Carvalho

Instruções, dados e expressões

Introdução a Lógica de Programação

Introdução à Lógica de Programação Aula 2. Adaptação de Luis Otavio Alvares

Introdução a Algoritmos - Revisão

PROGRAMAÇÃO COMPUTACIONAL I

Introdução aos Algoritmos

Programação em C. Variáveis e Expressões. Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação

I - CONCEITOS INICIAIS

CURSO BÁSICO DE PROGRAMAÇÃO AULA 11. Revisão Aula Anterior Vetores Cadeia de Caracteres

Portugol. Tiago Alves de Oliveira

Engenharia Civil. Introdução à Programação

Curso: Análise e Desenvolvimento de Sistemas. (Conceitos Práticos de Lógica de Programação)

Algoritmos Computacionais

Introdução à Ciência da Computação

BCC Introdu c ao ` a Programa c ao Portugol Guillermo C amara-ch avez UFOP 1/35

Algoritmos: tipos de dados, variáveis e expressões

Universidade Federal de Uberlândia Faculdade de Computação. Conceitos básicos de algoritmos Prof. Renato Pimentel. Computação

TECNOLOGIA EM REDES DE COMPUTADORES. computadores. Aula 4

Conceitos Básicos de Algoritmos

Introdução aos Algoritmos

Lógica de Programação e Algoritmos. Prof. André Y. Kusumoto

Linguagem C. Programação Estruturada. Estruturas de Controle. Prof. Luis Nícolas de Amorim Trigo

ALGORITMOS E ESTRUTURA DE DADOS

Curso Básico de Programação Aula 11. Revisão Aula Anterior Laços de Repetição While; Do-While; For.

Fábio Rodrigues / Israel Lucania

Apêndice A. Pseudo-Linguagem

ALGORITMOS COM SELEÇÃO 1 - ESTRUTURA CONDICIONAL (ESTRUTURAS DE CONTROLE)

Introdução. Prof. Paulo Cesar F. de Oliveira, BSc, PhD

Exercícios Repetição

1ª LISTA DE EXERCÍCIOS

ALGORITMO. Professor: RODRIGO GOBBI TIPOS DE DADOS E INSTRUÇÕES PRIMITIVAS

Programação de Computadores III

3) Faça um algoritmo para ler a base e a altura de um triângulo. Em seguida, escreva a área do mesmo. Obs.: Área = ( Base * Altura ) / 2

Universidade Federal de Uberlândia Faculdade de Computação. Expressões aritméticas, relacionais e lógicas Estruturas condicionais

Estruturas condicionais

Introdução a Computação

Algoritmos e Programação I

UNIDADE 2 ALGORITMOS E PSEUDOCÓDIGO

Algoritmo e Programação. Capítulo 2 Tópicos Preliminares

Linguagem C: Introdução

Introdução a Computação

PORTUGUÊS ESTRUTURADO: INTRODUÇÃO INTRODUÇÃO À PROGRAMAÇÃO PROF. ALEXANDRO DOS SANTOS SILVA

TÉCNICO DE INFORMÁTICA - SISTEMAS

Transcrição:

CURSO SUPERIOR DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS DISCIPLINA : INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO ASSUNTO: ALGORITMOS PROFESSOR : Romilson Lopes Sampaio

Introdução a Lógica de Programação Objetivo: Introduzir o aluno aos conceitos básicos de lógica de programação, estimulando o raciocínio lógico e estruturado para resolver problemas e desenvolver algoritmos. Ensinar ao aluno uma linguagem de programação estruturada; Ementa: Introdução aos Algoritmos, Lógica de Programação e Linguagens de Programação; Estruturas de Controle (Sequencial, seleção e repetição); Estruturas de Dados Simples Homogêneas (arranjos); Estruturas de Dados Simples Heterogêneas (estruturas).

Conceitos básicos LÓGICA é a forma de ordenar os pensamentos para solucionar um problema ou executar uma tarefa. Exemplos: João é pai de Maria Pedro é pai de João Portanto, Pedro é avô de Maria LÓGICA DE PROGRAMAÇÃO Significa contextualizar a lógica na programação de computadores, buscando a melhor seqüência de ações, voltadas para a solução do problema.

Conceitos básicos Na programação o nome dessa seqüência de ações é ALGORITMO ALGORITMO : Descrição de um conjunto de ações que, quando obedecido, resulta em uma sucessão finita de passos, atingindo o objetivo.

Expressão da Lógica Um exemplo genérico de algoritmo é uma Receita de bolo. Farinha de Trigo Ovos Fermento Manteiga Açúcar leite Instruções Algoritmo 1) Bater duas claras em neve, 2) Colocar duas gemas, 3) Colocar um xícara de açúcar, 4) Colocar duas colheres de manteiga, 5) Colocar uma xícara de leite de coco, 6) Colocar farinha e fermento. 7) Colocar em tabuleiro e assar em fogo médio.

Estrutura de um Algoritmo Todo ALGORITMO é composto por: Cabeçalho: Que começa com a palavra ALGORITMO seguido do nome dado ao programa pelo programador. Bloco: Que começa sempre com a palavra INICIO e termina com a palavra FIM, e é dividido em: Declarações de constantes e variáveis. Instruções, que é o corpo do programa. Exemplo: ALGORITMO nome_qualquer; Declaração das constantes e variáveis ; INICIO... bloco de comandos (entrada de dados, cálculo e saída de dados)... FIM.

Variáveis É uma região da memória previamente identificada e que tem por finalidade armazenar as informações de um programa temporariamente. Ela armazena apenas um valor por vez. O nome da variável, somente pode conter letras números e o caractere _(underscore) para separar palavras.

Declarando Variáveis Declarar variáveis é dar-lhe um rótulo. É determinar o conjunto de valores que aquela variável pode armazenar <identificador> : <tipo da variável> Exemplo: ALGORITMO Primeiro; VARIÁVEIS Turma : CADEIA; Número : INTEIRO; INICIO <comandos>; FIM.

Tipos de dados TIPO DE DADO DESCRIÇÃO a) Inteiro Representa números entre -32768 até +32767. ocupa 2 bytes na memória. b) Real Representa os números entre 2.9 x 10-39 até 1.7 x 10 38. Ocupa 6 bytes na memória. e) Caracter Representa um dos caracteres, da tabela ASCII. Ocupa 1 byte na memória. d) Cadeia Conjunto de caracteres ( CHAR ). Ocupa de 1 a 255 bytes na memória. g) Lógica Valor lógico. Assuma somente dois valores: TRUE(Verdade) ou FALSE(Falso). ocupa 1 byte na memória.

Operações Primitivas Comando de Atribuição: Fornecer um valor à uma variável Armazenar um valor numa posição de memória representada simbolicamente pela variável. Representação: variável expressão, onde variável é o identificador É o símbolo de atribuição expressão é a variável, constante ou expressão cujo resultado será armazenado na variável Exemplos: A 16 Obs: no caso das expressões, estas são avaliadas primeiramente e após o resultado será atribuído à variável.

Comando de Atribuição Exemplos: valor_inicial 1000 valor_acumulado valor_acumulado + 1 media (nota1 + nota2) / 2 mensagem saldo insuficiente sem_restricoes falso

Exercício 1 1 ) Identificar os erros no algoritmo a seguir. ALGORITMO Teste; VARIÁVEIS Nome : CADEIA; Idade : INTEIRO; Chave : CARACTER; Nome : REAL; INICIO Idade 23; Idade 68; Idade Nome; Chave ABC ; FIM. 2 ) É correto definir uma variável como sendo Caracter e atribuirmos a ela o valor: Maria? E se a variável fosse definida como CADEIA, a mesma poderia receber um valor do tipo CARACTER?

Expressões Matemáticas Expressões Aritméticas: Representam um valor numérico. Exemplo: A * B + C Operadores Aritméticos: soma + subtração - m ultiplicação * divisão / (divisão real) e DIV (divisão inteira) resto M O D (resto da divisão inteira) potenciação ** Obs.: 1) A ordem de prioridade é a mesma da matemática. 2) Os parenteses alteram a ordem de prioridade das operações. Ex: (A + B) / C A + (B / C)

Expressões Matemáticas Expressões Lógicas: Expressões que são formadas por operadores lógicos e/ou relacionais, envolvendo variáveis ou constantes. Exemplo: A + B > C Operadores relacionais = Igual > Maior que < Menor que >= Maior ou igual <= Menor ou igual <> Diferente Operadores lógicos: AND Conjunção E OR Disjunção OU NOT Negação NÃO

Expressões Matemáticas Tabela Verdade: É o conjunto de todas as possibilidades combinatórias ente os valores de diversas variáveis lógicas e um conjunto de operadores lógicos: A B A e B A B A ou B A não A F F F F F F F V F V F F V V V F V F F V F V V V V V V V Exemplos: (2 < 5) e ((15/3)=5)) (falso) ou ((20 div 6) > 3)

Concatenação Operação realizada para juntar Caracteres ou Cadeias usados na operação em uma só Cadeia. Utiliza-se o operador +. Exemplo: ALGORITMO Concatena; VARIÁVEIS Letra1, Letra2 : CARACTER; Nome1, Nome2, Nome : CADEIA; INICIO FIM. Letra1 D ; Letra2 e ; Nome1 Análise ; Nome2 Sistemas ; Nome Nome1 + Letra1 + Letra2 + Nome2; Resultado : armazenamento do Nome Análise De Sistemas na variável Nome.

Manipulação de caracteres em Cadeias Exemplo: Atribuir o primeiro caracter de uma CADEIA a uma variável do tipo CARACTER. ALGORITMO Manipulacaracter; VARIÁVEIS Letra : CARACTER; Nome : CADEIA; INICIO Nome Joao ; Letra Nome[1]; FIM. Resultado : Nome Letra 1 2 3 4 255 J o a o J

Operações Primitivas Comando de Entrada: Usado para ler dados de arquivos ou periféricos (teclado, p.e.), armazenado-os em variáveis. Sintaxe: leia (lista de variáveis). onde: Exemplos: lista de variáveis são os nomes das variáveis a serem alteradas com os valores lidos. leia (X) /* uma variável => tipicamente, leitura via teclado */ leia (Nome, Salario, Matricula) leia (Altura, Largura, Comprimento)

Comando de Saída: Usado Como saída de dados, normalmente em Vídeo. Sintaxe: escreva (lista de dados) onde: Exemplos: lista de dados são os nomes das variáveis, cadeias de caracteres (entre aspas) ou expressões a serem mostrados escreva (X) Operações Primitivas escreva (Nome, Salario, Matricula) escreva ( O resultado eh ', Total) /* vídeo */ escreva ('Média Final de ', Aluno, ': ', Media) escreva ('Total: ', Sub_Total1 + Sub_Total2)

Estrutura Sequencial Exemplo: Escrever um algoritmo para ler as três notas de um aluno e mostrar a sua média aritmética. ALGORITMO EXEMPLO1 ; VARIÁVEIS NOTA1, NOTA2, NOTA3, MEDIA : REAL ; INICIO LEIA (NOTA1); LEIA (NOTA2); LEIA (NOTA3) ; MEDIA ( NOTA1 + NOTA2 + NOTA3 ) / 3; ESCREVA ( 'A MEDIA DO ALUNO É: ', MEDIA); FIM.

Teste de Mesa Teste utilizado para verificar se o procedimento utilizado está correto ou não. NOTA1 NOTA2 NOTA3 MEDIA 5 6 10 7 ALGORITMO EXEMPLO1 ; VARIÁVEIS NOTA1, NOTA2, NOTA3, MEDIA : REAL ; INICIO NOTA1 5; NOTA2 6; NOTA3 10; MEDIA ( NOTA1 + NOTA2 + NOTA3 ) / 3; ESCREVA ( 'A MEDIA DO ALUNO É: ', MEDIA); FIM.

Teste de Mesa Defina os valores finais de A, B, C, D e X: Teste de Mesa X 0; A 10; B 20; C 30; D 40; A D + A; A D + B; C A; A D; B (B + B) + (B*A); B 40; A B 10; A B + 1; X A + B + C + D; X A B C D 0 10 20 30 40 181 50 60 40 30 41 840 40 60

Exercício 2 1 ) Fazer um algoritmo para ler os anos de nascimento de duas pessoas e calcular suas idades. Mostrar o nome e a idade de cada uma. 2 ) O preço de um automóvel é calculado pela soma do preço de fábrica com o preço dos impostos (45% do preço de fábrica) e a percentagem do revendedor (28% do preço de fábrica). Faça um algoritmo que leia o nome do automóvel e o preço de fábrica e mostre o nome do automóvel e o preço final. Obs : Para verificar se o algoritmo está correto, fazer o teste de mesa, onde o mesmo será executado passo a passo.

Estruturas de Controle Servem para alterar a seqüência (linear) de execução dos comandos de um algoritmo Estruturas de Controle de Decisão desviam o fluxo de execução das instruções baseado em determinadas condições de Repetição causam a repetição da execução de parte do fluxo até que determinada condição seja satisfeita

Estrutura de Decisão Sintaxe: Seleção Simples: se condição então comando(s) fim-se Seleção Binária: se condição então comando(s) senão comando(s) fim-se onde: condição representa uma expressão booleana (teste lógico) comandos são as instruções a serem executadas

Estrutura de Decisão Exemplo: Escrever um algoritmo para ler as três notas de um aluno e imprimir a sua média aritmética. Se a nota for maior ou igual a 5 deve ser impressa também a mensagem de aluno aprovado. ALGORITMO EXEMPLO2 ; VARIÁVEIS NOTA1, NOTA2, NOTA3, MEDIA : REAL ; INÍCIO LEIA (NOTA1, NOTA2, NOTA3) ; MEDIA ( NOTA1 + NOTA2 + NOTA3 ) / 3 ; ESCREVA ( 'A MEDIA DO ALUNO É: ', MEDIA); SE MEDIA >= 5 ENTÃO ESCREVA ( 'ALUNO APROVADO' ) FIM-SE; FIM.

Estrutura de Decisão Exemplo: Escrever um algoritmo para ler as três notas de um aluno e imprimir a sua média aritmética. Se a nota for maior ou igual a 5 deve ser impressa a mensagem Aluno Aprovado, do contrário Aluno Reprovado. ALGORITMO EXEMPLO3A ; VARIÁVEIS NOTA1, NOTA2, NOTA3, MEDIA : REAL ; INÍCIO LEIA (NOTA1, NOTA2, NOTA3) ; MEDIA ( NOTA1 + NOTA2 + NOTA3 ) / 3 ; ESCREVA ( 'A MEDIA DO ALUNO É: ', MEDIA); SE MEDIA >= 5 ENTÃO ESCREVA ( 'ALUNO APROVADO' ) SENÃO ESCREVA ( 'ALUNO REPROVADO' ); FIM-SE; FIM.

Estrutura de Decisão Exemplo: Modificar o algoritmo anterior, calculando e imprimindo o número de pontos que o aluno excedeu a média (no caso dele ter sido aprovado) ou o número de pontos que ficaram faltando para a média (no caso dele ter sido reprovado). ALGORITMO EXEMPLO3B; VARIÁVEIS NOTA1, NOTA2, NOTA3, MEDIA : REAL ; DIFER : REAL; INÍCIO LEIA (NOTA1, NOTA2, NOTA3) ; MEDIA ( NOTA1 + NOTA2 + NOTA3 ) / 3 ; ESCREVA ( 'A MEDIA DO ALUNO É: ', MEDIA); SE MEDIA >= 5 ENTÃO ESCREVA ( 'ALUNO APROVADO' ); DIFER MEDIA 5; ESCREVA ( 'COM ', DIFER,' PONTOS A MAIS') SENÃO ESCREVA ( 'ALUNO REPROVADO' ); DIFER 5 - MEDIA; ESCREVA( 'COM ', DIFER,' PONTOS A MENOS'); FIM-SE; FIM.

Estrutura de Repetição Repetição com Teste a Priori: Enquanto condição comando(s) fim-enquanto Onde:» condição representa uma expressão booleana (teste lógico), considerada a condição de controle da repetição» comandos são as instruções a serem executadas

Repetição com Teste a Priori Observações os comandos existentes dentro do laço devem alterar, no momento adequado, a condição de controle da repetição para permitir a saída do processo de repetição (condição F) o teste da condição de controle é efetuado antes do primeiro comando do laço ser executado se a condição falhar (for falsa) na primeira ocorrência do teste de controle, os comandos do laço (loop) não serão executados a repetição é feita enquanto a condição do teste de controle da repetição for verdadeira deve-se cuidar para que a condição do teste de controle deixe de ser verdadeira em determinado momento para evitar um laço infinito ( programa em loop )

Repetição com Teste a Priori Exemplo: Escrever um algoritmo para calcular a média das notas de uma turma que tem 20 alunos. ALGORITMO EXEMPLO5 ; VARIÁVEIS NOTA1, NOTA2, NOTA3, MEDIA : REAL; INICIO CONT : INTEIRO; CONT 0 ; ENQUANTO CONT < 20 LEIA (NOTA1, NOTA2, NOTA3) ; MEDIA ( NOTA1 + NOTA2 + NOTA3 ) / 3 ; ESCREVA ( 'A MEDIA DO ALUNO É: ', MEDIA); CONT CONT + 1 ; FIM-ENQUANTO ; FIM

Exercício 3 1 ) Fazer um algoritmo para calcular o fatorial de um número. 2 ) Fazer um algoritmo para ler três números quaisquer e coloca-los em ordem crescente, mostrando o resultado encontrado. 3 ) Faça um algoritmo que leia um número qualquer. Caso o número seja par menor que 10, escreva Número par menor que Dez, caso o número digitado seja ímpar menor que 10 escreva Número Ímpar menor que Dez, caso contrário Escreva Número fora do Intervalo. 4 ) Fazer um algoritmo, para ler 3 valores inteiros e: 1º Verificar se eles podem formar um triangulo, senão, mostrar uma mensagem. 2º Se for triangulo, Verificar se é um triangulo Escaleno, Isósceles ou eqüilátero. 5 ) Uma empresa decidiu fazer um recrutamento para preencher 5 vagas. Os candidatos serão cadastrados por computador. Faça um algoritmo para: a) ler o número do candidato, a idade, o sexo, a experiência profissional (Sim/Não); b) mostrar a idade média dos candidatos; c) mostrar o número total de candidatos e candidatas; d) mostrar os candidatos (homens e mulheres) maiores de idade que tenham experiência no serviço.

Exercício 3 6 ) Fazer um algoritmo para ler uma frase de exatamente 10 caracteres, escreva a frase de trás para frente, um caracter por linha. 7 ) A avaliação de um aluno nas disciplinas de uma escola segue os critérios abaixo. Em toda disciplina são aplicadas três provas A média final é obtida com a média aritmética das três notas. Para que o aluno seja aprovado, a sua média deve ser igual ou superior a 7,0 e ter a freqüência mínima de 80% das 32 aulas ministradas. Faça um algoritmo para: a) ler os números das matrículas de 10 alunos, as três notas de cada um e o número de aulas freqüentadas por eles; b) calcular e imprimir o número da matrícula do aluno, a sua média final e o resultado (se aprovado ou não); c) imprimir a média da turma, a maior e a menor média da turma de alunos; d) Imprimir o total de alunos aprovados; e) Imprimir o total de alunos reprovados por falta e por nota.. Obs : Para verificar se o algoritmo está correto, fazer o teste de mesa, onde o mesmo será executado passo a passo.