O APL (Atividades Práticas de Laboratório) 009 pode ser baixado aqui
segunda-feira, 27 de maio de 2013
Algoritmos e Estruturas de Dados - Técnico em Informática para Internet - Aula 27/05/2013
Agenda com struct
Nas aulas teóricas introduzimos o conceito de estruturas e vetores de estruturas, bem como alguns comandos de leitura/escrita e manipulação de estruturas em C/C++.
Agora apresentamos uma agenda telefônica completa que usa struct para armazenar as informações de nome e telefone. De quebra, você ainda verá como pode ser feito um menu simples para uma aplicação em C/C++.
SUGESTÃO
Tente alterar a agenda acrescentando mais informações para serem armazenadas, como endereço, cidade, estado, cep, e-mail etc.
LEMBRETE
Esta agenda só funciona enquanto o programa está em execução (tudo está na memória e quando você sair do programa, tudo se perderá, portanto, não se empolgue em cadastrar todos os seus amigos).
#include <cstdlib>
#include <iostream>
using namespace std;
struct agenda {
int cod;
char nome[30];
int tel;
int vazio; //VAZIO = 0 e DISPONIVEL = 1.
} registros[100];
void cadastrar(int cod, int pos);
void consultar();
int verifica_pos();
void zerar();
int verifica_cod(int cod);
void excluir();
int main(int argc, char *argv[]) {
zerar();
int op=0,retorno,codaux,posicao;
while(op!=4){
printf("\n\n\t\t\t\t** AGENDA **\n\n\nMENU\n\n1 - Cadastrar\n2 - Consultar\n3 - Excluir\n4 - Sair\n\nOpcao: ");
scanf("%d",&op);
fflush(stdin);
switch(op) {
case 1: { // CADASTRAR
posicao=verifica_pos();
if (posicao!=-1) {
printf("\nEntre com o codigo desejado\n");
scanf("%d",&codaux);fflush(stdin);
retorno=verifica_cod(codaux);
if (retorno==1)
cadastrar(codaux,posicao);
else
printf("\nCodigo ja existente\n");
}
else
printf("\nA agenda esta cheia\n");
break;
}
case 2: { // CONSULTAR
consultar();
break;
}
case 3: {
excluir();
break;
}
case 4: {
printf("\n\nTchau\n\n");
break;
}
}
}
system("PAUSE");
return EXIT_SUCCESS;
}
void cadastrar(int cod, int pos) {
pos=verifica_pos();
registros[pos].cod=cod;
printf("\nNome:\n");
gets(registros[pos].nome);
printf("\nTelefone\n");
scanf("%d",®istros[pos].tel);
registros[pos].vazio=1;
printf("\nCadastro Realizado com Sucesso!\n\n");
}
void consultar() {
int cont=0, cod;
printf("\nEntre com o codigo\n");
scanf("%d",&cod);
while(cont<=100) {
if (registros[cont].cod==cod) {
if (registros[cont].vazio==1) {
printf("\nNome: %s",registros[cont].nome);
printf("\nTelefone: %d",registros[cont].tel);
break;
}
}
cont++;
if (cont>100)
printf("\nCodigo nao encontrado\n");
}
}
int verifica_pos() {
int cont=0;
while (cont<=100) {
if (registros[cont].vazio==0)
return(cont);
cont++;
}
return(-1);
}
void zerar() {
int cont;
for (cont=0;cont<=100;cont++)
registros[cont].vazio=0;
}
int verifica_cod(int cod) {
int cont=0;
while (cont<=100) {
if (registros[cont].cod==cod)
return(0);
cont++;
}
return(1);
}
void excluir() {
int cod, cont=0;
printf("\nEntre com o codigo do registro que deseja excluir\n");
scanf("%d",&cod);
while (cont<=100) {
if (registros[cont].cod==cod)
if (registros[cont].vazio==1) {
registros[cont].vazio=0;
printf("\nExclusao feita com sucesso\n");
break;
}
cont++;
if (cont>100)
printf("\nCodigo nao encontrado\n");
}
}
Nas aulas teóricas introduzimos o conceito de estruturas e vetores de estruturas, bem como alguns comandos de leitura/escrita e manipulação de estruturas em C/C++.
Agora apresentamos uma agenda telefônica completa que usa struct para armazenar as informações de nome e telefone. De quebra, você ainda verá como pode ser feito um menu simples para uma aplicação em C/C++.
SUGESTÃO
Tente alterar a agenda acrescentando mais informações para serem armazenadas, como endereço, cidade, estado, cep, e-mail etc.
LEMBRETE
Esta agenda só funciona enquanto o programa está em execução (tudo está na memória e quando você sair do programa, tudo se perderá, portanto, não se empolgue em cadastrar todos os seus amigos).
#include <cstdlib>
#include <iostream>
using namespace std;
struct agenda {
int cod;
char nome[30];
int tel;
int vazio; //VAZIO = 0 e DISPONIVEL = 1.
} registros[100];
void cadastrar(int cod, int pos);
void consultar();
int verifica_pos();
void zerar();
int verifica_cod(int cod);
void excluir();
int main(int argc, char *argv[]) {
zerar();
int op=0,retorno,codaux,posicao;
while(op!=4){
printf("\n\n\t\t\t\t** AGENDA **\n\n\nMENU\n\n1 - Cadastrar\n2 - Consultar\n3 - Excluir\n4 - Sair\n\nOpcao: ");
scanf("%d",&op);
fflush(stdin);
switch(op) {
case 1: { // CADASTRAR
posicao=verifica_pos();
if (posicao!=-1) {
printf("\nEntre com o codigo desejado\n");
scanf("%d",&codaux);fflush(stdin);
retorno=verifica_cod(codaux);
if (retorno==1)
cadastrar(codaux,posicao);
else
printf("\nCodigo ja existente\n");
}
else
printf("\nA agenda esta cheia\n");
break;
}
case 2: { // CONSULTAR
consultar();
break;
}
case 3: {
excluir();
break;
}
case 4: {
printf("\n\nTchau\n\n");
break;
}
}
}
system("PAUSE");
return EXIT_SUCCESS;
}
void cadastrar(int cod, int pos) {
pos=verifica_pos();
registros[pos].cod=cod;
printf("\nNome:\n");
gets(registros[pos].nome);
printf("\nTelefone\n");
scanf("%d",®istros[pos].tel);
registros[pos].vazio=1;
printf("\nCadastro Realizado com Sucesso!\n\n");
}
void consultar() {
int cont=0, cod;
printf("\nEntre com o codigo\n");
scanf("%d",&cod);
while(cont<=100) {
if (registros[cont].cod==cod) {
if (registros[cont].vazio==1) {
printf("\nNome: %s",registros[cont].nome);
printf("\nTelefone: %d",registros[cont].tel);
break;
}
}
cont++;
if (cont>100)
printf("\nCodigo nao encontrado\n");
}
}
int verifica_pos() {
int cont=0;
while (cont<=100) {
if (registros[cont].vazio==0)
return(cont);
cont++;
}
return(-1);
}
void zerar() {
int cont;
for (cont=0;cont<=100;cont++)
registros[cont].vazio=0;
}
int verifica_cod(int cod) {
int cont=0;
while (cont<=100) {
if (registros[cont].cod==cod)
return(0);
cont++;
}
return(1);
}
void excluir() {
int cod, cont=0;
printf("\nEntre com o codigo do registro que deseja excluir\n");
scanf("%d",&cod);
while (cont<=100) {
if (registros[cont].cod==cod)
if (registros[cont].vazio==1) {
registros[cont].vazio=0;
printf("\nExclusao feita com sucesso\n");
break;
}
cont++;
if (cont>100)
printf("\nCodigo nao encontrado\n");
}
}
Informática Básica (Graduação) - Aula 20/05/2013
Informática Básica (Graduação) - Aula 13/05/2013
quinta-feira, 23 de maio de 2013
Informática Básica e Aplicada - Técnico em Secretariado - Aula 23/05/2013
LibreOffice Calc - Criando uma Planilha de Orçamento
Hoje trabalharemos com uma planilha maior (na verdade só tem tamanho mesmo, mas é bem simples na essência), de orçamento para diversos fins. Veja este exemplo (obrigado Ricardo Guedes).
Escolha uma das planilhas e tente entendê-la. Depois tente implementá-la no LibreOffice Calc.
Depois acesse o tutorial aqui, e tente executá-lo no Calc. Ele contém o desenvolvimento passo a passo de uma planilha de orçamento doméstico.
Marcadores:
Alunos,
Apostilas,
Downloads,
Informática Aplicada,
Link,
Planilhas e Sistemas Computacionais Aplicados,
Secretariado
terça-feira, 14 de maio de 2013
Calendário de Provas 2013 - Alteração
Calendário de Provas 2013 Atualizado
O calendário de provas 2013 foi alterado. Clique aqui e veja as alterações.
segunda-feira, 6 de maio de 2013
Onde este blog está sendo visto
Você sabia?
Paises em verde é onde estamos sendo vistos (hoje, 06/05/2013) |
Em números:
Entrada | Visualizações de página |
---|---|
Brasil
|
440
|
Estados Unidos
|
81
|
Alemanha
|
19
|
Angola
|
12
|
Rússia
|
8
|
Portugal
|
6
|
Moçambique
|
3
|
França
|
1
|
Reino Unido
|
1
|
Itália
|
1
|
Algoritmos e Estruturas de Dados - Técnico em Informática para Internet - Aula 06/05/2013
Tutorial Dev-C++ 004 - Operações Matemática Básicas
4º tutorial aqui.
ATENÇÃO
Lembro que haverá um trabalho em grupo (9 pontos) no dia 08/05/2013 -- próxima aula, e nossa segunda avaliação (16 pontos) no dia 13/05/2013 -- próxima segunda-feira.
Algoritmos e Estruturas de Dados - Técnico em Informática para Internet - Aula 15/04/2013
Tutorial Dev-C++ 001 - Introdução
Em nossa primeira aula prática vamos conhecer o ambiente de programação Dev-C++.
Você pode baixar o Tutorial de Dev-C++ 001 clicando aqui. Todas as nossas aulas práticas de C/C++ serão realizadas usando a série de tutoriais que serão publicados. Desse modo, você não perde conteúdo e pode seguir no mesmo ritmo que o restante da turma.
Outrossim,
é atendido o preceito legal da recuperação paralela de conteúdo. Aliás,
preceito que venho atendendo desde 1996 quando comecei com esse tipo de
atendimento online.
Algoritmos e Estruturas de Dados - Técnico em Informática para Internet - Aula 10/04/2013
Teste de Mesa e Algoritmos com Qualidade
No quadro um algoritmo para gerar n primos e seu respectivo teste de mesa |
Hoje vimos como realizar os testes de mesa, ou seja, como verificar se o algoritmo funciona (teoricamente, é claro). Também aprendemos um pouco sobre qualidade de algoritmos, isto é, como diversos algoritmos levam à mesma solução, mas que alguns levam à soluções melhores e mais rápido que outros.
Algoritmos e Estruturas de Dados - Técnico em Informática para Internet - Aula 03/04/2013
Expressões, Prioridades de execução e Comentários
Nesta aula discutimos como converter expressões matemáticas complexas em suas formas computacionais. Também vimos as prioridades de avaliação dos operadores lógicos e aritméticos, além do uso de comentários para facilitar o entendimento do código do programa.Informática Básica (Graduação) - Aula 06/05/2013
Informática Básica (Graduação) - Aula 29/04/2013
APL 005 - LibreOffice Calc
O APL (Atividades Práticas de Laboratório) número 5 pode ser baixado aqui.Informática Básica e Aplicada - Técnico em Secretariado - Aula 06/05/2013
APL 006 - LibreOffice Calc
Continuando o APL 006 da aula do dia 02/05/2013. O APL (Atividades Práticas de Laboratório) número 6 pode ser baixado aqui.Você pode baixar a planilha iniciada nas aulas anteriores aqui.
Lembro que este APL vale nota e é para ser enviado ao professor quando estiver completo.
Informática Básica e Aplicada - Técnico em Secretariado - Aula 02/05/2013
APL 006 - LibreOffice Calc
Continuando o APL 006 da aula do dia 29/04/2013. O APL (Atividades Práticas de Laboratório) número 6 pode ser baixado aqui.
Você pode baixar a planilha iniciada nas aulas anteriores aqui.
Lembro que este APL vale nota e é para ser enviado ao professor quando estiver completo.
Informática Básica e Aplicada - Técnico em Secretariado - Aula 29/04/2013
APL 006 - LibreOffice Calc
O APL (Atividades Práticas de Laboratório) número 6 pode ser baixado aqui.
Como na aula passada tivemos alguns problemas de ordem técnica no laboratório e muitos alunos não conseguiram enviar as planilhas já feitas para seus próprios e-mails, você pode baixar a planilha iniciada na aula anterior aqui.
Lembro que este APL vale nota e é para ser enviado ao professor quando estiver completo.
Informática Básica e Aplicada - Técnico em Secretariado - Aula 25/04/2013
Informática Básica e Aplicada - Técnico em Secretariado - Aula 22/04/2013
Assinar:
Postagens (Atom)
Quem sou eu
NOSSO OBJETIVO
OBJETIVO
Este blog será usado para divulgação de minhas ideias, notícias sobre tecnologia, disponibilização de links para download de materiais diversos (incluindo materiais didáticos -- que poderão ser usados em minhas aulas e/ou cursos). Gostaria de DEIXAR BEM CLARO que quaisquer materiais disponibilizados através deste blog são, tão somente, para acompanhamento de aulas e/ou cursos, e não constituem de modo algum, aulas na modalidade "ensino à distância" (EAD). Alunos têm total acesso aos materiais disponíveis, mas somente como tutoriais passo a passo. Apostilas disponibilizadas através deste blog não são materiais obrigatórios em disciplinas cursadas ou cursos ministrados.RESPONSABILIDADE
O autor deste blog não é responsável pelo mau uso, intencional ou não, de qualquer código de programa disponibilizado aqui. Os códigos de programas disponíveis neste blog para download é e serão sempre, e tão somente, para uso didático durante o aprendizado. Seja bem-vindo.