loops, databases, procedures, and lists dr. josé m. reyes Álamo

27
Loops, Databases, Procedures, and Lists Dr. José M. Reyes Álamo

Upload: amanda-west

Post on 03-Jan-2016

220 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Loops, Databases, Procedures, and Lists Dr. José M. Reyes Álamo

Loops, Databases, Procedures, and Lists

Dr. José M. Reyes Álamo

Page 2: Loops, Databases, Procedures, and Lists Dr. José M. Reyes Álamo

2

Outline

Loops

Databases

Procedures

Lists

Page 3: Loops, Databases, Procedures, and Lists Dr. José M. Reyes Álamo

Loops

Page 4: Loops, Databases, Procedures, and Lists Dr. José M. Reyes Álamo

4

Some times you need to repeat…

While the test is TRUE do

Page 5: Loops, Databases, Procedures, and Lists Dr. José M. Reyes Álamo

5

Page 6: Loops, Databases, Procedures, and Lists Dr. José M. Reyes Álamo

6

Some times you need to repeat…

For each element in the list do

Page 7: Loops, Databases, Procedures, and Lists Dr. José M. Reyes Álamo

7

Page 8: Loops, Databases, Procedures, and Lists Dr. José M. Reyes Álamo

8

Some times you need to repeat…

For each value of i in the range of start to end on steps of step do

Page 9: Loops, Databases, Procedures, and Lists Dr. José M. Reyes Álamo

9

Page 10: Loops, Databases, Procedures, and Lists Dr. José M. Reyes Álamo

Databases

Page 11: Loops, Databases, Procedures, and Lists Dr. José M. Reyes Álamo

11

Permanent Storage

• TinyDB – Persistent storage in your device

• TinyWebDB– Persistent storage in the Web

Page 12: Loops, Databases, Procedures, and Lists Dr. José M. Reyes Álamo

12

TinyDB

Item (tag) Quantity (valueToStore)

Pasta 1 Box

Sauce 1 Jar

Grocery List

Page 13: Loops, Databases, Procedures, and Lists Dr. José M. Reyes Álamo

13

Page 14: Loops, Databases, Procedures, and Lists Dr. José M. Reyes Álamo

14

Page 15: Loops, Databases, Procedures, and Lists Dr. José M. Reyes Álamo

Procedures

Page 16: Loops, Databases, Procedures, and Lists Dr. José M. Reyes Álamo

16

What is a procedure?

A procedure is a named sequence of blocks that encapsulate some functionality and can be called from any place in your app.

Page 17: Loops, Databases, Procedures, and Lists Dr. José M. Reyes Álamo

17

More about procedures

• Procedures are an abstraction since they represent a recognizable name for a sequence of lower-lever instructions.

• In other programming languages procedures are called functions or subprograms.

Page 18: Loops, Databases, Procedures, and Lists Dr. José M. Reyes Álamo

18

Why are procedures useful?

• Procedures can be a good tool to develop large apps.

– You create new functionality by using procedures.

– You can use them to break down a large problem or project into more manageable sub problems.

– While designing the app, you can define a procedure ignoring the details of how it works and refer to the empty procedure. When your finish your design, you can add code to the empty procedures to complete the functionality of your app.

– You can put chunks of code in one place and call it from various places in your app.

Page 19: Loops, Databases, Procedures, and Lists Dr. José M. Reyes Álamo

19

Two blocks to define procedures

• The procedure block collects a sequence of blocks together. – When you create a procedure, AppInventor automatically generates a call

block and places it in the My Definitions drawer.

– You use the call block to invoke the procedure.

• The procedureWithResults block works similarly to procedure but also returns a result. – After the procedure executes, the result is returned to the block

connected to the return socket.

Page 20: Loops, Databases, Procedures, and Lists Dr. José M. Reyes Álamo

20

Refactoring

Page 21: Loops, Databases, Procedures, and Lists Dr. José M. Reyes Álamo

21

Refactoring

• Refactoring is programming technique that consist on reorganizing the code, for example create a procedure to substitute redundant code, to make it easier to maintain and easier for the programmers to work with.

Page 22: Loops, Databases, Procedures, and Lists Dr. José M. Reyes Álamo

Lists

Page 23: Loops, Databases, Procedures, and Lists Dr. José M. Reyes Álamo

23

What is a list?

• They are variables that instead of holding a single value, they hold several values distinguished by an index.

• Simple variables– score = 100

– phoneNumber = 201-122-4322

• Lists– bestScores = [100, 98, 89]

– myContactsPhoneNumbers =

[201-122-4322, 803-234-3293, 977-121-5383]

Page 24: Loops, Databases, Procedures, and Lists Dr. José M. Reyes Álamo

24

What is a list?

• Simple variables– score = 100

– phoneNumber = 201-122-4322

• Lists– bestScores = [100, 98, 89]

– myContactsPhoneNumbers =

[201-122-4322,

803-234-3293,

977-121-5383]

Page 25: Loops, Databases, Procedures, and Lists Dr. José M. Reyes Álamo

25

List operations

Page 26: Loops, Databases, Procedures, and Lists Dr. José M. Reyes Álamo

26

OpenLab and Blackboard

• Check OpenLab for any new lab.

• Check Blackboard for any new quiz.

• Project:

– Brainstorm an idea

– Get professor's approval

– Post your idea in your portfolio

– Must work in teams of 2 or 3

– It must be an app and the topic is open: a game, a tool, an enhanced version of a previous app

Page 27: Loops, Databases, Procedures, and Lists Dr. José M. Reyes Álamo

27

OpenLab and Blackboard

• Finish your labs and post them in OpenLab.

• Finish quizzes on Blackboard.

• Work on your project the next few weeks.

• Study for the Final Exam.