Construção de Algoritmos
Construção de Algoritmos
AULA 05
Aquiles Burlamaqui
UERN
Professor: Aquiles Burlamaqui
Construção de Algoritmos
…previously

Revisão geral





Algoritmos
Evolução das Linguagens
Interpretação vs Compilação
Estrutura de condicionais

If

switch
Estruturas de repetição

For

While

Do...while
Professor: Aquiles Burlamaqui
Construção de Algoritmos
Conteúdo Programático
Unidade I


Fundamentos de Lógica de Programação









Algoritmo (metalinguagem)
Conceitos de memória, variáveis e constantes.
Tipos básicos de dados
Operadores aritméticos, relacionais e lógicos.
Comandos básicos de entrada e saída e atribuição
Conceito de bloco de comandos
Estruturas de controle de fluxo – condicionais (se, se-senão e caso)
Estruturas de controle de fluxo – repetições (para, enquanto e repita-enquanto)
Estruturas de Dados Homogêneas (vetores e matrizes)
Unidade II



Estruturas de Dados Heterogêneas (registros)
Modularização





Variáveis locais e globais
Funções
Passagem de parâmetros por valor e por referência
Funções recursivas
Biblioteca de funções
Unidade III



Algoritmos de Busca
Ponteiros




Conceitos
Operador endereço e operador de acesso indireto
Alocação dinâmica de memória
Arquivo
Professor: Aquiles Burlamaqui
Construção de Algoritmos
Estrutura de dados Heterogêneas

Estrutura

Uma estrutura (struct) ou registro em C
é uma coleção de um ou mais valores,
agrupados sob um único nome.
Estruturas constituem um recurso
importante para organizar os dados
utilizados por um programa graças à
possibilidade de tratar um grupo de
valores como uma única variável.
Exemplos:
Professor: Aquiles Burlamaqui
Construção de Algoritmos
Estrutura
struct ponto
{
int x;
int y;
};
struct funcionario
{
int registro;
char nome[30];
char depto[5];
float salario;
};
Professor: Aquiles Burlamaqui
Construção de Algoritmos
Estrutura

Declarando variáveis do tipo estrutura


struct ponto p1, p2, p3;
struct funcionario Joao;
Professor: Aquiles Burlamaqui
Construção de Algoritmos
Estrutura

Atribuindo valores




p1.x
p1.y
p2.x
p2.y
=
=
=
=
10;
20;
p1.x + 5;
p2.y + 5;
Professor: Aquiles Burlamaqui
Construção de Algoritmos
Estrutura

Atribuindo outra Estrutura


funcionario f = Joao;
p3 = p2;
Professor: Aquiles Burlamaqui
Construção de Algoritmos
Estrutura

Inicialização de Estruturas


struct ponto origem = {0,0};
struct ponto trapezio[] = { { 5,5}, {5,
10}, {10,5}, {10,13} };
Professor: Aquiles Burlamaqui
Construção de Algoritmos
Getch no Linux

#include <stdio.h>
#include <termios.h>
#include <unistd.h>
int getch() {
struct termios oldt,
newt;
int ch;
tcgetattr( STDIN_FILENO, &oldt );
newt = oldt;
newt.c_lflag &= ~( ICANON | ECHO );
tcsetattr( STDIN_FILENO, TCSANOW, &newt );
ch=getchar();
tcsetattr( STDIN_FILENO, TCSANOW, &oldt );
return ch;
}
Professor: Aquiles Burlamaqui
Construção de Algoritmos
Exercícios T4(Revisão)

1)Construa um algoritmo que, tendo como dados de entrada dois pontos quaisquer no
plano, P(x1,y1) e P(x2,y2), escreva a distância entre eles. A fórmula que efetua tal
cálculo é: d=sqrt((x2-x1)²+(y2-y1)²);

2)Escreva um algoritmo que leia três números inteiros e positivos (A, B, C) e calcule a
seguinte expressão: d=(r+s)/2, onde r=(a+b)² e s=(b+c)²

3)Faça um algoritmo que leia a idade de uma pessoa expressa em anos, meses e dias e
mostre-a expressa apenas em dias.

4)Faça um algoritmo que leia o tempo de duração de um evento em uma fábrica
expressa em segundos e mostre-o expresso em horas, minutos e segundos.

5)O custo ao consumidor de um carro novo é a soma do custo de fábrica com a
percentagem do distribuidor e dos impostos (aplicados ao custo de fábrica). Supondo
que a percentagem do distribuidor seja de 28% e os impostos de 45%, escrever um
algoritmo que leia o custo de fábrica de um carro e escreva o custo ao consumidor.

6)Faça um programa que implemente um menu com 10 opções de piadas. Quando o
usuário escolher uma delas a piada deverá ser exibida.

7)Faça um programa que verifique e mostre os números entre 1000 e 2000 (inclusive)
que, quando divididos por 11, produzam resto igual a 5.

8)Faça um programa que leia um valor n, inteiro e positivo, calcule e mostre a seguinte
soma: S=1 + 1/2 + 1/3 + 1/4 + ... + 1/n.

9)Faça um programa que mostre a tabuada dos números de 1 a 10.

10)Faça um programa que receba a idade de 10 pessoas e que calcule e mostre a
quantidade de pessoas com idade maior ou igual a 18 anos.
Professor: Aquiles Burlamaqui
Construção de Algoritmos
Exercícios


T5: Implementar um Jogo da Velha
T6:

Problema da Tartaruga;


Problema das 8 rainhas;


Uma tartaruga tem um a caneta e ela anda pela tela
desenhando, como um rasto por onde ela passe. Mas caso o
usuário queira, ele pode pedir para a tartaruga andar sem
deixar um rasto.
O problema das oito rainhas consiste em posicionar 8 rainhas
em um tabuleiro de xadrez de modo que nenhuma das rainhas
ataque a outra. Lembrando, uma rainha no jogo de xadrez se
move na horizontal, vertical e ao longo das diagonais. Uma
possível solução para esse problema está exemplificada na
figura abaixo. Quais e quantas são as configurações possíveis ?
Construir uma agenda telefonica
Professor: Aquiles Burlamaqui
Construção de Algoritmos
Problema das 8 rainhas
Professor: Aquiles Burlamaqui
Download

Aula05 - Aquiles Burlamaqui