Search CSNewbs
Search this site
304 results found with an empty search
- Python | 6b - While Loops | CSNewbs
Learn how to create and use while loops in Python. Try practice tasks and learn through text and images. Perfect for students learning GCSE Computer Science in UK schools. top Python 6B - While Loops Types of Loop The third construct of programming (after Sequence and Selection) is Iteration . If you iterate something, then you repeat it. There are two key loops to use in Python: for loops and while loops . A for loop is count controlled – e.g. “For 10 seconds I will jump up and down”. The loop will continue until the count (e.g. 10 seconds) has finished . A while loop is condition controlled – e.g. “While I am not out of breath, I will jump up and down.” The loop will continue as long as the condition remains true . Simple While Loops A while loop keeps repeating as long as the starting condition is true . If the condition of the while loop becomes false , the loop ends . In this example, the number variable is increased by 1 inside of the loop until it is no longer less than or equal to 10 . number = 1 while number <= 10: print (number) number = number + 1 1 2 3 4 5 6 7 8 9 10 Comparison Operators == equal to != not equal to < less than <= less than or equal to > greater than >= greater than or equal to It is important to give the variable a value before you start the while loop . I have assigned number as 1. The last line increases the number by 1 otherwise the number would stay at 1 and the loop would repeat forever . While Loops Task 1 (Countdown from 100 ) Example solution (shortened): Create a simple while loop that starts at 100 and prints each number down to 1 . Think about the comparison operator you will need to check you have reached 1. 100 99 98 ... ... 3 2 1 Inputs Inside While Loops If you want the user to keep entering an input until they give a certain answer then you need to put the input inside the while loop : age = 0 while age < 18: print ( "Only adults allowed to the casino." ) age = int ( input ( "Enter your age: " )) print ( "Welcome and enjoy your visit." ) Only adults allowed to the casino. Enter your age: 14 Only adults allowed to the casino. Enter your age: 18 Welcome and enjoy your visit. month = " " while month != "July" : month = input ( "Guess the month I'm thinking of: " ) print ( "Correct! It was July!" ) Guess the month I'm thinking of: August Guess the month I'm thinking of: June Guess the month I'm thinking of: July Correct! It was July! Notice that the variable in the condition (age or month in these examples) has to be given a value first before it can be used in a while condition. The program will crash if the variable is not declared and assigned a value - for example, the age cannot be checked to see if it less than 18 if there is no age variable! For string variables like month in the example above then a blank default value like " " can be used. For integer variables often 0 will be used. While Loops Task 2 (Guess the Colour ) Example solution: Use a variable named colour and a while loop that allows the user to keep entering colours until a specific one (your choice) has been input. Guess the colour: blue Guess the colour: purple Guess the colour: yellow Correct! It was yellow! While Loops Task 3 (Integer Trivia ) Use a while loop to ask a question that has an integer (whole number) as an answer , such as "How many James Bond films did Daniel Craig appear in?" or "In which year did Wigan Athletic win the FA Cup?". Remember that integers do not use speech marks , e.g. year = 0 Example solution: Which year was the first Iron Man movie? 2010 Which year was the first Iron Man movie? 2009 Which year was the first Iron Man movie? 2008 Correct! It was 2008! While True Loops A while True loop will repeat indefinitely , only stopping when the break command is used to end the loop . While True loops are often preferred because you do not need to set default values for any variables before the loop begins. while True : password = input ( "Enter the password: " ) if password == "icecream21" : print ( "Correct Password!" ) break Enter the password: vanilla32 Enter the password: chocolate83 Enter the password: strawberry100 Enter the password: icecream21 Correct Password! The program below has been adapted to record the number of attempts made . The value is increased by 1 each time the loop restarts. guesses = 0 while True : guesses = guesses + 1 password = input ( "Enter the password: " ) if password == "goat7" : print ( "Correct Password! It took" ,guesses, "attempts!" ) break else : print ( "Incorrect. Try again!" ) Enter the password: sheep3 Incorrect. Try again! Enter the password: cow4 Incorrect. Try again! Enter the password: horse5 Incorrect. Try again! Enter the password: goat7 Correct Password! It took 4 attempts! The continue command will move to the next iteration (it can be considered as starting the loop again ). The program below allows numbers to be entered and keeps track of a running total. Entering 1 inputs a number, 2 displays the total and 3 stops the program. total = 0 while True : choice = input ( "\nType 1 to enter, 2 for a total and 3 to stop: " ) if choice == "1" : number = int ( input ( "Enter a number: " )) total = total + number continue elif choice == "2" : print ( "The total is" , total) continue elif choice == "3" : break print ( "\nProgram finished." ) Type 1 to enter, 2 for the total and 3 to stop: 1 Enter a number: 40 Type 1 to enter, 2 for the total and 3 to stop: 1 Enter a number: 35 Type 1 to enter, 2 for the total and 3 to stop: 2 The total is 75 Type 1 to enter, 2 for the total and 3 to stop: 3 Program finished. While Loops Task 4 (Guess the Planet ) Example solution: Use a while True loop to keep asking a user to input a planet . Keep track of the number of guesses that have been made and output the total when they input the correct planet. Use the second example in the 'While True Loops ' section above to help you. Enter a planet: Mars Incorrect guess, try again! Enter a planet: Mercury Incorrect guess, try again! Enter a planet: Neptune Correct it was Neptune! While Loops Task 5 (Up to 100 ) Create a while True loop that asks the user to enter a number . Add the number to a total variable and print it. When the total reaches 100 or more , stop the program. Don't forget to set the total variable to 0 at the start and to add the number entered by the user to the total. Example solution: Enter a number: 34 The current total is: 34 Enter a number: 29 The current total is: 63 Enter a number: 18 The current total is: 81 Enter a number: 22 The current total is: 103 Over 100! ⬅ 6a - F or Loops Section 6 Practice Tasks ➡
- 2.3 - Data States | F161 | Cambridge Advanced National in Computing | AAQ
Learn about the three data states - at rest, in transit (in motion) and in use. Resources based on Unit F161 (Developing Application Software) for the OCR Cambridge Advanced Nationals in Computing (H029 / H129) AAQ (Alternative Academic Qualification). Qualification: Cambridge Advanced Nationals in Computing (AAQ) Certificate: Computing: Application Development (H029 / H129) Unit: F161: Developing Application Software 2.3 - Data States Watch on YouTube: Data States You need to understand the characteristics and uses of the three data states (at rest , in transit (in motion) and in use ) What You Need to Know Data States Data states describe what is happening to data at a particular time - whether it is being stored , transferred or actively used . At Rest Data is at rest when it is stored on a device or storage system and is not currently being transferred or processed . It remains in a stable state until it is accessed , changed or deleted . It is for when data needs to be stored for later use , such as files saved on an SSD , customer details in a database or photos stored on a phone . In Transit Data in transit (also known as data in motion ) is actively moving from one location or device to another , often across a network . It may be sent to multiple users but is susceptible to interception or security attacks while being transferred . It is used when data needs to be sent or shared , such as loading a webpage , sending an email , uploading a file to cloud storage or streaming a video . In Use Data in use is currently being accessed , processed or changed by a user , application or computer system . It is used when an application needs to work with data , such as editing a document , calculating values in a spreadsheet , processing a database search or editing graphics . Q uesto's Q uestions 2.3 - Data States: 1. What is meant by a data state ? [ 1 ] 2. Describe the characteristics of data at rest , data in transit and data in use . [2 each ] 3. Give two examples of when data would be at rest , in transit and in use . [2 each ] 4. Explain how the same piece of data could move between all three data states . [3 ] 5. What might data in transit be particularly susceptible to? [2 ] When you stream a film on Netflix , its data can move through different states : it is at rest on a server , in transit while being sent across the internet , and in use when your device processes it for playback . D id Y ou K now? 2.2 - Data Flow Topic List 3.1 - APIs
- 4.1 - Data Types | OCR A-Level | CSNewbs
Learn about data types (integer, real, character, string, Boolean), positive and negative binary, denary, hexadecimal, sign and magnitude, two’s complement, binary addition, binary subtraction, normalisation of floating point numbers, floating point arithmetc, bitwise manipulation, masks (AND, OR, XOR) and character sets (ASCII, Unicode). Based on the OCR H446 Computer Science A-Level specification. Exam Board: OCR A-Level 4.1 - Data Types Specification: Computer Science H446 Watch on YouTube : Data types Binary Sign and magnitude & Two's complement Binary addition & subtraction Hexadecimal Convert between number systems Floating point Floating point normalisation Floating point addition & subtraction Binary shifts Masks (AND, OR, XOR) Character sets This is a mathematical topic that requires conversion between the binary , denary (decimal ) and hexadecimal number systems . Representing positive and negative binary values is included, as well as adding and subtracting binary numbers and using normalised floating point to represent decimal numbers . Data Types Data types are needed so that the computer knows how to store , process and interpret data correctly . They help ensure that only valid operations are performed on data . For example, you can add two numbers , but not a number and a word . Character : A single letter , digit or symbol , e.g. ‘k ’, ‘7 ’, or ‘? ’. String : A sequence of characters , e.g. “CSNewbs ”. Integer : A whole number , e.g. 7 or -12 . Real : A decimal number , e.g. 3.14 or -0.5 . Boolean : A data type with only two possible values - True or False . Converting from one data type to another is called casting , e.g. age = str(age) would convert the variable age to a string in Python . Binary Binary is a base-2 number system with all values comprised only of 0 and 1 , e.g. 01011001 . Denary (also called decimal ) is the base-10 number system you grew up learning, with 10 possible values between 0 and 9 , e.g. 453 . Computers use binary because they are built from electronic components (transistors ) that have two states (on and off ), which are easily represented by 1s and 0s . All data processed and stored by the computer (e.g. numbers , text , images and sounds ) are represented in binary . To convert an 8-bit binary value to denary , write 128 - 64 - 32 - 16 - 8 - 4 - 2 - 1 above the binary and add together the values with a 1 underneath . For example, 10101101 is 173 (128 + 32 + 8 + 4 + 1 ). Storing Negative Numbers -183 Sign and Magnitude and Two’s Complement are two methods of representing negative numbers in binary . In Sign and Magnitude , the most significant bit (MSB ) represents the sign - 0 for positive and 1 for negative - while the remaining bits store the number’s magnitude (value ). For example, in 8-bit form, 0 101 0010 is +82 and 1 101 0010 is -82 . However, this method has two representations of zero (+0 and -0 ), which can cause problems and may give incorrect results if used to add or subtract . In Two’s Complement , negative numbers are represented by inverting all bits of the positive value and adding 1 to the result. This method has only one zero and makes binary addition and subtraction simpler . Binary Addition & Subtraction Binary addition works from right to left but only uses the digits 0 and 1 . The key rules are: 0 + 0 = 0 0 + 1 = 1 1 + 0 = 1 1 + 1 = 10 (write down 0 and carry 1 to the next left column ). 1 + 1 = 1 = 11 (write down 1 and carry 1 to the next left column ). If the final addition produces an extra carry bit , it may indicate an overflow error , if the result is too large to fit in the available bits . Binary subtraction can be done using borrowing , similar to denary subtraction , or more commonly by using two’s complement . In two’s complement subtraction , you add the negative version of one number (found by inverting the bits and adding 1 ) to the other to perform subtraction using binary addition rules . Hexadecimal 9E8A Hexadecimal is a base-16 number system using the digits 0 to 9 and the letters A to F, where A = 10 and F = 15 in denary . It’s often used in computing because it provides a shorter , more readable way to represent long binary values . For example, two hex digits represent eight binary bits , making conversions quick and efficient . To convert from binary to hexadecimal , split the binary number into groups of four bits (from right to left ) and convert each group into its hex equivalent . Example: 1101 0110 → 1101 (14 → D ) and 0110 (6 ) → D6 . To convert hexadecimal to binary , replace each hex digit with its 4-bit binary equivalent . Example: 2F → 0010 (2 ) and 1111 (15 → F ) → 0010 1111 . The easiest method to convert between denary and hexadecimal is to convert the value to binary first . Example: 26 → 0001 1010 → 1A . Floating Point Floating point is a way of representing real (decimal ) numbers in binary using a mantissa and an exponent . It allows computers to store a wide range of values efficiently , including very small and very large numbers . Floating point normalisation means adjusting the number so that the mantissa begins with a 01 (if it is positive ) or 10 (if it is negative ). This ensures the representation is unique and uses all available bits in the mantissa for precision . To add or subtract floating point numbers , the exponents must first be made equal by shifting the mantissa of the smaller number . Once aligned , the mantissas are added or subtracted , and the result is then normalised again to maintain the correct form . Binary Shifts A binary shift moves all the bits in a binary number left or right by a set number of places . A left shift moves all bits to the left , filling the empty right-hand bits with zeros . Each left shift multiplies the number by 2 . For example, shifting 0001 0100 (20 ) one place left gives 0010 1000 (40 ). A right shift moves all bits to the right , discarding the rightmost bits . Each right shift divides the number by 2 . For example, shifting 0010 1000 (40 ) two places right gives 0000 1010 (10 ). Masks A mask is a binary pattern used with bitwise operations (such as AND , OR and XOR ) to manipulate specific bits within a binary value . An AND mask is used to clear (set to 0 ) specific bits . Any bit ANDed with 0 becomes 0 , and any bit ANDed with 1 stays the same . For example, 1011 0110 AND 0000 1111 = 0000 0110 - the mask keeps only the lower four bits . An OR mask is used to set (turn on ) specific bits . Any bit ORed with 1 becomes 1 , and with 0 stays the same . For example, 1010 0000 OR 0000 1111 = 1010 1111 . An XOR mask is used to toggle (invert ) specific bits . Any bit XORed with 1 flips (0 → 1 or 1 → 0 ), while XORed with 0 stays the same . For example, 1010 1010 XOR 0000 1111 = 1010 0101 . Character Sets A character set is a collection of characters (letters , numbers , symbols and control codes ) that a computer can recognise , store and process . Each character is represented by a unique binary code . ASCII (American Standard Code for Information Interchange ) is an early character set that uses 7 bits to represent 128 characters , including English letters , digits , punctuation and control characters . It’s simple and compact but limited to English and basic symbols . Extended ASCII uses 8 bits for 256 characters . Unicode was developed to overcome ASCII’s limitations by representing characters from all languages and writing systems . It uses up to 32 bits and includes over 140,000 characters , allowing consistent representation of text across different devices and platforms . Q uesto's K ey T erms Data Types: integer, real, Boolean, character, string Number Systems: binary, denary (decimal), hexadecimal, sign and magnitude, two's complement, binary addition, binary subtraction, floating point, floating point normalisation, floating point addition, floating point subtraction Binary shifts: left shift, right shift Masks: mask, bitwise operator, AND, OR, XOR Character Sets: character set, ASCII, Unicode D id Y ou K now? Gottfried Wilhelm Leibniz , a German mathematician , is credited with inventing the binary number system in the 17th century , hundreds of years before computers existed. Leibniz biscuits are named after him. 3.4 - Web Technologies A-Level Topics 4.2 - Data Structures
- 2.5 - Compression - OCR GCSE (J277 Spec) | CSNewbs
Learn about the benefits of compression and the differences between lossy and lossless compression. Also, learn how compression ratios work. Based on the J277 OCR GCSE Computer Science specification (first taught from 2020 onwards). 2.5: Compression Exam Board: OCR Specification: J277 Watch on YouTube : Compression Benefits Lossy Compression Lossless Compression What is compression? To compress a file means to make its size smaller . Benefits of compression include: Files take up less storage space (so more files can be stored). Files can be transferred quicker (because they are smaller). Files can be read from or written to quicker . There are two methods that are used to compress files: Lossy and Lossless . Lossy Compression Lossy compression uses an algorithm (set of instructions) to analyse a file and remove data that cannot be heard or seen by humans . For example, a lossy algorithm would analyse the sound waves of an audio file and remove any frequencies which humans cannot hear. This process reduces the size of the file . Further lossy compression will remove data that humans can see / hear . For example, the dog image to the right has been strongly compressed using a lossy algorithm and some data has clearly been removed. Lossy compression removes the data permanently , so the file can never return to its original form . Lossy compression is often used with images , audio and video to reduce the file size, for example to send over the internet. Lossless Compression Lossless compression reduces the size of a file without permanently removing any data . Because of this, the file is returned to its original form when decompressed, so no quality is lost . A file that is compressed with a lossless algorithm is usually larger than a file compressed with a lossy algorithm because no data has been permanently removed. Lossless compression is used with files that would not function properly if data were permanently removed, such as executable files (e.g., programs and games) or word documents . Remember that lossy and lossless compression do not just refer to images. Below is an audio file that has been compressed with lossy compression . Data has been removed so the audio quality has decreased. 197 KB 81 KB 43 KB Q uesto's Q uestions 2.5 - Compression: 1. Describe 3 benefits of compressing a file . [ 3 ] 2. Describe the differences between lossy and lossless compression . [4 ] 3. A student needs to compress a Microsoft Word document to send in an email. Suggest which type of compression they should use and why . [ 2 ] 2.4e Sound Storage Theory Topics 3.1a - Network Types & Performance
- 4.3 - Boolean Algebra | OCR A-Level | CSNewbs
Learn about boolean logic and expressions using NOT, AND OR and XOR, Karnaugh maps, Boolean algebra rules including De Morgan’s Laws, distribution, association, commutation and double negation, logic gate diagrams, truth tables, D-type flip flops, half adders and full adders. Based on the OCR H446 Computer Science A-Level specification. Exam Board: OCR A-Level Specification: Computer Science H446 4.3 - Boolean Algebra Watch on YouTube : Boolean Logic (NOT, AND, OR, XOR) Karnaugh maps Boolean algebra rules Logic gate diagrams D-type flip flops Half & full adders This topic explores how the logical operations NOT , AND , OR and XOR are used to process binary data and control digital systems . It also looks at how to simplify and represent logic using Karnaugh maps , Boolean algebra rules , logic gate diagrams and truth tables . Boolean Operators Boolean logic is a form of algebra in which all values are either True (1 ) or False (0 ). There are four Boolean operators to know: NOT (¬ ) reverses the input value - 1 becomes 0 and 0 becomes 1 . AND (∧ ) outputs 1 only if both inputs are 1 (e.g. 1 AND 1 = 1 , otherwise 0 ). OR (∨ ) outputs 1 if at least one input is 1 (e.g. 1 OR 0 = 1 ). XOR (v ) outputs 1 only if one input is 1 but not both (e.g. 1 XOR 1 = 0 , 1 XOR 0 = 1 ). A truth table is used to show all possible input combinations for a logic circuit or Boolean expression , along with the resulting output for each combination . Karnaugh Maps A Karnaugh map is a visual method used to simplify Boolean expressions and make logic circuits more efficient . It organises all possible input combinations into a grid , to more easily identify an expression's simplest form . By grouping together 1s (representing True outputs ) in powers of two (1 , 2 , 4 or 8 cells ), you can identify and remove redundant terms in a Boolean expression . The simplified result reduces the number of logic gates needed in a circuit, making it faster and easier to build . Boolean Algebra Rules Boolean algebra rules are used to simplify Boolean expressions . With Double Negation , two NOTs cancel each other out , returning the original value , e.g., ¬¬A = A . Commutation means the order of terms doesn’t matter in Boolean operations, e.g., A AND B = B AND A . Distribution allows expressions to be expanded or factored , e.g., A AND (B OR C) = (A AND B) OR (A AND C) . Association means the grouping of terms doesn’t affect the result . (A AND B) AND C = A AND (B AND C) . De Morgan’s Laws show how to distribute negation across AND and OR operations: ¬(A AND B) = (¬A OR ¬B) and ¬(A OR B) = (¬A AND ¬B) . Logic Gate Diagrams Logic gate diagrams are visual representations of Boolean expressions or digital circuits , showing how data flows through logic gates to produce an output . Each gate performs a basic logical operation (such as NOT , AND , OR or XOR ) and is represented by a distinct symbol : NOT AND OR XOR D-Type Flip Flops A D-type flip-flop i s a sequential logic circuit that stores a single bit of data (either 0 or 1 ). It has two inputs - D (data ) and C lock - and two outputs - Q and ¬Q . When a clock pulse occurs , the flip-flop copies the value of D to the Q output , and that value is held (stored ) until the next clock pulse . This makes D-type flip-flops useful for memory storage , registers and data synchronisation . Essentially, they act as a 1-bit memory cell , storing the last value of D whenever the clock signal triggers . Half Adders & Full Adders A half adder is a logic circuit with two inputs (A and B ) that are added to produce two outputs - S (sum ), the result of A XOR B - and C (carry ), the result of A AND B . Half adders can only add two bits and cannot handle an input carry from a previous addition . A full adder is an extension of a half adder with three inputs : A , B , and C in (a carry-in from a previous calculation ). It produces two outputs : S (sum ) (A XOR B XOR Cin ) and C out (carry out ) ((A AND B) OR (B AND Cin) OR (A AND Cin) ). Full adders can be linked together to perform multi-bit binary addition in arithmetic circuits. Q uesto's K ey T erms Boolean Logic: NOT, AND, OR, XOR, Karnaugh maps, logic gate diagrams, truth tables Boolean Algebra Rules: De Morgan’s Laws, distribution, association, commutation, double negation D-Type Flip Flops: data, clock, Q, NOT Q Adders: half adder, full adder D id Y ou K now? The word ' Boolean ' is always spelt with a capital B because it is named after George Boole , a 19th-century English mathematician . His work has become the foundation of all modern digital electronics and computing . 4.2 - Data Structures A-Level Topics 5.1 - Computing Legislation
- 5.1 - Data Structures - Eduqas GCSE (2020 Spec) | CSNewbs
Learn about different data structures such as arrays, lists and records. Also, the difference between static and dynamic data structures and how to design files. Based on the 2020 Eduqas (WJEC) GCSE specification. 5.1: Data Structures & File Design Exam Board: Eduqas Specification: 2020 What is a Data Structure? A data structure is a way of efficiently organising data . There are two general forms of data structures: Static Data Structures The size of a static data structure cannot change e.g. if a data structure has 20 elements, no additional elements can be added or removed. The values of the data elements can be changed, but memory size is fixed when allocated at compile time. Because a static data structure holds a certain number of data elements they are easier to program because the size of the structure and the number of elements never change. An array is an example of a static data structure. Examples: A static data structure could be an array of teams in the Premier League. The data elements will change each year when teams are relegated and promoted but there will always be 20 teams. Dynamic Data Structures The size of a dynamic data structure can change as the program is being run , it is possible to add or remove data elements. Dynamic data structures make the most efficient use of memory but are more difficult to program , as you have to check the size of the data structure and the location of the data items each time you use the data. A list is an example of a dynamic data structure. A dynamic data structure could be a list of all teams in the Premier League that won their last match. Data elements (teams) will be added or removed across the season. Types of Data Structures List A list is a dynamic data structure that has the data elements stored in the order they were originally added to memory . Every data structure starts at 0, not 1 . Lists store data elements in the order they were added, so the first doctor is 0 and the most recent doctor is 12. An example list of the main Doctor Who actors Array An array is a static data structure that can hold a fixed number of data elements . Each data element must be of the same data type i.e. real, integer, string. The elements in an array are identified by a number that indicates their position in the array. This number is known as the index. The first element in an array always has an index of 0 . You should know how to write pseudo code that manipulates arrays to traverse, add, remove and search data. The following steps uses Python as an example. Traversing an Array To traverse (' move through ') an array a for loop can be used to display each data element in order. 'Inserting' a value In an array the size is fixed so you cannot insert new values, but you can change the value of elements that already exist. Overwriting the fourth element (Daphne) with a new value (Laura) will change it from Daphne to Laura. Example code for traversing: Example code for inserting: Output: Output: 'Deleting' a value In an array the size is fixed so you cannot delete values, but you can overwrite them as blank . Overwriting the second element (Shaggy) with a blank space makes it appear deleted. Example code for deleting: Output: Searching an Array Example code for searching: For large arrays a for loop is needed to search through each element for a specific value . This example checks each name to see if it is equal to Velma. Output: Two-Dimensional Array Often the data we want to process comes in the form of a table . The data in a two dimensional array must still all be of the same data type , but can have multiple rows and columns . The two-dimensional array to the right shows the characters from Scooby Doo along with their associated colour and their species. Each value in the array is represented by an index still, but now the index has two values . For example [3] [0] is 'Daphne'. We measure row first , then column . Searching a two-dimensional array: To print a specific data element you can just use the index number like Daphne above. To search for a specific value you will need two for loops, one for the row and another for the values of each row. The example to the right is looking for the value of 'Velma' and when it is round it prints the associated data from the whole row. Example code for printing: Output: Example code for searching: Output: Records Unlike arrays, records can store data of different data types . Each record is made up of information about one person or thing. Each piece of information in the record is called a field (each row name). Records should have a key field - this is unique data that identifies each record . For example Student ID is a good key field for a record on students as no two students can have the same Student ID. Data files are made up of records with the same structure. It would be most efficient for the fields in a record to be stored next to each other so that the data can be read into the record data structure in memory for processing by the CPU. In an exam you may be asked to state and design a data structure for a given scenario. If the data structure can hold values of the same data type you should draw an array , usually a 2D array for multiple rows and columns. Remember that a record is required to store values of different data types . Example questions: "A video gamer has recorded their three lap times in four Mario Kart courses." " State and design the most suitable data structure for this data." A two-dimensional array is most suitable because only one data type ( real ) is stored. "A vet surgery stores data on all dogs and cats including the animal's name, age (in years), weight (in kg) and whether or not it has been vaccinated." " State and design the most suitable data structure for this data for four animals ." A record is most suitable because the data structure requires different data types . Q uesto's Q uestions 5.1 - Data Structures: 1. Give two differences between static and dynamic data structures . [ 4 ] 2. Describe the differences between a list , array and record . [ 3 ] 3. A one-dimensional array looks like this: TigerBreeds("Sumatran","Indian","Malayan,"Amur") Write the code to: a. Print the element with the index of 3. [ 2 ] b. Change Indian to South China. [ 2 ] c. Remove the Amur element. [ 2 ] d. Search through the array for 'Malayan'. [ 2 ] 4. State and design the most suitable data structure for these scenarios: a. For each book in a bookshop, the staff need to record the title, author, number of pages and whether or not it is a signed copy. Include data for three books. [ 3 ] b. Four dieters are recording how many kilograms they have lost each month for 5 months. [ 4 ] 5. Design a file that stores the first initial, surname, age and hair colour of each member of a family. [ 8 ] Designing Data Structures Data is stored in files when it needs to be kept after the program has stopped running . To learn how to write code for file handling (e.g. opening, writing to, reading from and closing files) in Python click here . Designing a file requires more than just the field name (e.g. Name) and data values (e.g. Rebecca). The data type (e.g. string) and any validation checks (e.g. format check) should also be considered. Below is an example file design for a bakery. Designing Files 4.8 Compression Theory Topics 6.1 - Operating Systems
- OCR CTech IT | Unit 1 | 4.5 - Job Roles | CSNewbs
Learn about the different skills and attributes that are required for IT roles including a network manager, programmer, animator and technician. Based on the 2016 OCR Cambridge Technicals Level 3 IT specification. 4.5 - Job Roles Exam Board: OCR Specification: 2016 - Unit 1 There are several different IT-related roles within most companies. Each role requires specific skills and attributes to be performed successfully. Try to apply the most suitable personal attributes that were described in 4.3 , as well as any other important skills relevant to the role , such as programming. Self-motivation Leadership Respect Dependability Punctuality Problem Solving Determination Independence Time Management Team Working Numerical Skills Verbal Skills Planning & Organisation Network Manager A network manager must control a group of employees with strong leadership to clearly set out their vision for the team. They must be able to motivate and encourage the team members to meet objectives . Because a network manager is high-ranking, there may not be many senior staff above them so they must be self-motivated and able to complete tasks independently , without being monitored . Network managers must be dependable and decisive , able to weigh up the consequences of a decision and make tough calls whilst under pressure . Time management is an important attribute for a network manager, they must be able to prioritise tasks and ensure deadlines are kept to . IT Technician IT technicians must have good interpersonal skills so that they can communicate clearly with other employees or customers. They should be able to use simplified terminology to help another person with their problem. They must be able to use questioning effectively to work out what the issue is to begin to solve it. IT technicians should have plenty of experience with hardware and software troubleshooting and be able to use a range of troubleshooting tools to solve a problem. They need to be respectful to customers and employees when solving a problem and show determination , as well as self-motivation , to fix issues within acceptable time limits . Programmer A programmer needs to be competent in specific programming languages that the company use. It would be beneficial to have knowledge of more than one programming language so they can be more versatile and approach a problem in different ways . Programmers need to have a logical mind so that they are able to creatively solve problems. Using computational thinking is an important set of skills that programmers should have - for example, by using decomposition to break a large problem into smaller, more manageable chunks. They must have good planning and organisational skills so that they can stay on top of the numerous tasks that need to be done. They need good time management skills to prioritise the more important tasks and stick to a deadline . Programmers must be patient individuals, all programs will contain errors that must be debugged and rewritten numerous times. Good interpersonal skills are necessary so programmers can work efficiently in teams - often multiple programmers will work on subsections of the same program that fit together later. Web Designer & Animator Web designers create , plan and code web pages to fit specific requirements made by their customers. They must create both the technical and graphical aspects of the web page, editing both how it looks and how it works. Web designers could also be responsible for maintaining a site that currently exists. They would need to have sufficient knowledge of using HTML (HyperText Markup Language ) for the structure and content of the webpage and CSS (Cascading Style Sheets ) for the formatting and style . An animator may use a mixture of digital and hand-drawn images or even puppets and models. The main skill of animation is still artistic ability , but there is an ever-increasing need for animators to be experienced with technical computer software . Animators usually work as part of a team with strict deadlines . Q uesto's Q uestions 4.5 - Job Roles: 1. Describe the key skills and personal attributes that a new programmer should have. [10 ] 2. A brief job description of a web designer and an animator are shown above on this page. Use the descriptions of what makes a suitable network manager, IT technician and programmer to help you explain which personal attributes and skills are required for: a) A web designer b) An animator [8 each ] 4.4 - Ready for Work Topic List 4.6 & 4.7 - Bodies & Certification
- 2.3 - Additional Programming Techniques - OCR GCSE (J277 Spec) | CSNewbs
Learn about arrays, records and SQL (structured query language) including the SELECT, FROM and WHERE commands. Based on the J277 OCR GCSE Computer Science specification (first taught from 2020 onwards). Exam Board: OCR Specification: J277 2.3: Additional Programming Techniques Watch on YouTube : String Manipulation File Handling Arrays Subprograms Random Numbers SQL This section of the specification includes programming topics that are outlined in 1.2 (Designing Algorithms). You must have an understanding of more complex programming techniques , such as how to manipulate strings , handle files and use subprograms . The best practice for learning is to try the tasks in the Python pages on this website (see the link to the right). Visit the Python section of CSNewbs ---> Subprograms What is a subprogram? Large programs are often broken down into smaller subprograms (also called subroutines ). Each subprogram focuses on a specific function of the code, helping to decompose a complex problem into more manageable chunks . Defining subprograms A subprogram is defined (identified) using the def command in Python. A program may use many subprograms , which are usually defined at the start of the code . Calling subprograms Running a line of code that includes the name of a subprogram will call (activate) it. When called , the program will run the subprogram code before returning back to the line that called it . Subprograms are only run when called , so depending on decisions made, a program may end without calling every (or any) subroutine. Parameters A parameter is a value that is passed into a subprogram when it is called , allowing the value to be used within the subprogram . A subprogram may not use a parameter , e.g. multiply() , or one parameter , e.g. multiply(num) , or several e.g. multiply(num1,num2) . Any parameters must be identified when the subprogram is defined , e.g. def multiply(num): Return The return command will send a value back to the line the subprogram was called on, allowing it to be used there . For example, the 'quad' subprogram in the example below returns the value of the 'result' variable back to the main program, allowing it to be printed . A subprogram will end either by reaching the last line of code within it, or when it reaches a return command . Subprograms that return a value are called functions . Subprogram example This subprogram is defined using the identifier 'quad ' with a parameter named number . The subprogram is called in the main program, multiplies the number passed in as a parameter by 4 and returns a value back to the main program to be printed. def quad (number): result = number * 4 return result #Main Program number = int ( input ( "Enter a number: " )) print ( "The number quadrupled is" , quad(number)) Enter a number: 5 The number quadrupled is 20 Functions and Procedures There are two types of subprograms . A function is a subprogram that returns a value , using the return command, which allows the value to be used in the line of code the function was called in. The 'divide' function below returns the value of the variable 'total' to the main program to be printed. A procedure is a subprogram that does not return a value . Example of a Procedure def multiply (num): total = num * 2 print ( "The number doubled is" , total) #Main Program num = int ( input ( "Enter a number: " )) multiply(num) Enter a number: 4 The number doubled is 8 Example of a Function def divide (num): total = num / 2 return total #Main Program num = int ( input ( "Enter a number: " )) print ( "The number halved is" , divide(num)) Enter a number: 9 The number halved is 4.5 Advantages of using subprograms Subprograms break a complex program down into smaller parts , making it easier to design and test . Each subroutine can be tested separately and abstraction can be used to simplify a complicated problem . Using subprograms allows code to be easily reused in other programs , as it has already been written , making it quicker to develop new programs or build on existing work. Using subprograms avoids code repetition , as they can be called as many times as necessary . This makes programs shorter and quicker to develop , making them easier to maintain and debug . Work can easily be split up between team members to work on different subprograms at the same time . Array An array is a static data structure that can hold a fixed number of data elements . Each data element must be of the same data type i.e. real, integer, string. The elements in an array are identified by a number that indicates their position in the array. This number is known as the index. The first element in an array always has an index of 0 . You should know how to write pseudo code that manipulates arrays to traverse , add , remove and search for data . The following steps use Python as an example, although Python does not use arrays and uses a similar data structure called a list (that can change in size as the program runs ). See the 8a and 8b Python pages for tasks on how to use lists . What Traversing an Array To traverse (' move through ') an array a for loop can be used to display each data element in order. Example code for traversing: Output: 'Inserting' a value In an array the size is fixed so you cannot insert new values, but you can change the value of elements that already exist. Overwriting the fourth element (Daphne) with a new value (Laura) will change it from Daphne to Laura. Example code for inserting: Output: 'Deleting' a value In an array the size is fixed so you cannot delete values, but you can overwrite them as blank . Overwriting the second element (Shaggy) with a blank space makes it appear deleted. Example code for deleting: Output: Searching an Array For large arrays a for loop is needed to search through each element for a specific value . This example checks each name to see if it is equal to Velma. Example code for searching: Output: Two-Dimensional Array Often the data we want to process comes in the form of a table . The data in a two dimensional array must still all be of the same data type , but can have multiple rows and columns . The two-dimensional array to the right shows the characters from Scooby Doo along with their associated colour and their species. Each value in the array is represented by an index still, but now the index has two values . For example [3] [0] is 'Daphne'. Unless stated in an exam , measure row first , then column . Searching a two-dimensional array: To print a specific data element you can just use the index number like Daphne above. To search for a specific value you will need two for loops , one for the row and another for the values of each row . The example to the right is looking for the value of ' Velma ' and when it is found it prints the associated data from the whole row . Example code for printing: Output: Example code for searching: Output: Records Unlike arrays, records can store data of different data types . Each record is made up of information about one person or thing . Each piece of information in the record is called a field (each row name). Records should have a key field - this is unique data that identifies each record . For example Student ID is a good key field for a record on students as no two students can have the same Student ID. A 2D array may be used to represent database tables of records and fields . SQL SQL (structured query language ) is a language that can be used to search for data in a database . The format of an SQL statement is: SELECT field1, field2, field3… FROM table WHERE criteria Example of an SQL statement using the Cars table: SELECT Make, Colour FROM Cars WHERE Miles > 1000 AND Age > 8 Cars table SQL uses wildcards which are symbols used to substitute characters . The * symbol represents ALL fields . Example: SELECT * FROM Cars WHERE Colour = “blue” < Click the banner to try a self-marking quiz (Google Form) about records and SQL. Q uesto's Q uestions 2.3 - Additional Programming Techniques: 1a. Describe what the following terms mean: subprogram , parameter , function , procedure . [ 2 each ] 1b. Describe three advantages of using subprograms . [ 6 ] 2. Describe the differences between a 1D array , 2D array and record . [ 3 ] 3. A one-dimensional array looks like this: TigerBreeds["Sumatran","Indian","Malayan,"Amur"] Write the code to: a. Print the element with the index of 3. [ 2 ] b. Change Indian to South China. [ 2 ] c. Remove the Amur element. [ 2 ] d. Search through the array for 'Malayan'. [ 2 ] 4a. Use the Cars table above to write the SQL statement to display the make and miles for cars that are grey OR blue . [ 3 ] 4b. Write an SQL statement to display all fields for cars that are 10 years old or less . [ 3 ] 2.2 Data Types Theory Topics 3.1 - Defensive Design
- 1.2 - Types of Processor | OCR A-Level | CSNewbs
Learn about the differences between CISC and RISC processors, GPUs and multicore and parallel systems. Based on the OCR H446 Computer Science A-Level specification. Exam Board: OCR A-Level 1.2 - Types of Processor Specification: Computer Science H446 Watch on YouTube : CISC and RISC GPUs Multicore & parallel systems Instruction Sets An instruction set is the complete list of machine code instructions a CPU is designed to execute as part of the FDE cycle . CISC (Complex Instruction Set Computer ) CPUs have a large set of complex instructions , so tasks can be achieved in fewer lines of code , but some instructions take multiple clock cycles . RISC (Reduced Instruction Set Computer ) CPUs use a smaller set of simple instructions , each designed to execute in a single clock cycle , making execution faster but sometimes requiring more instructions overall . GPUs A GPU (Graphics Processing Unit ) is a co-processor with thousands of smaller cores designed for parallel processing . This is in contrast to the CPU , which has fewer but more powerful cores . GPUs are used for rendering images , animations and video for fast , realistic graphics in games and multimedia . Because of their ability to handle many calculations at once , GPUs are widely used for non-graphical purposes too, such as machine learning , scientific simulations , data analysis and cryptocurrency mining . Multicore & Parallel Systems A multicore processor has multiple independent cores on a single CPU chip . Each core can carry out its own FDE cycle , so tasks can be split up , enabling multitasking and faster processing . However, only software designed to use multiple cores will benefit from this increased performance . A parallel system uses multiple processors (or cores ) working together on the same problem at the same time . This may involve multiple cores within one CPU or multiple CPUs in a single machine . Parallel processing greatly improves performance for tasks that can be divided into smaller sub-tasks , such as simulations and graphics rendering . However, some problems cannot be parallelised because they must be executed sequentially . Q uesto's K ey T erms Instruction Sets: instruction set, complex instruction set computer (CISC) , reduced instruction set computer (RISC) GPUs: graphics processing unit (GPU) Multicore Systems: multicore systems, parallel processing D id Y ou K now? Sony coined the term ' GPU ' for the PlayStation (1994), making it one of the first home consoles with a dedicated graphics processor . The term was later popularised further by NVIDIA in 1999 with the GeForce 256 . 1.1 - The Processor A-Level Topics 1.3 - Input, Output & Storage
- 1.3.1 - Application Types | F160 | Cambridge Advanced National in Computing | AAQ
Learn about the purpose and characteristics of the eight application types, including examples. Application types include communication, educational, entertainment, games, lifestyle, productivity, protection & utility and web browsers. Resources based on Unit F160 (Fundamentals of Application Development) for the OCR Cambridge Advanced National in Computing (H029 / H129) AAQ (Alternative Academic Qualification). Qualification: Cambridge Advanced National in Computing (AAQ) Unit: F160: Fundamentals of Application Development Certificate: Computing: Application Development (H029 / H129) 1.3.1 - Application Types Watch on YouTube : Application Types There are several types of applications that can be developed , each with a different purpose and common characteristics . There are eight application types you need to know for this 'Fundamentals of Application Development ' unit, including their purpose and common characteristics . Communication Purpose: Communication applications allow users to exchange information with others , most often in real-time . Data can be transferred in a range of formats including text , images and video . Education Purpose: To teach users about specific topics and help people learn new skills . This may be aimed at certain ages or user groups such as those learning a new language . Characteristics of Communication Applications: Has a simple user interface designed for quick and reliable data exchange . Supports multiple formats (text , images , audio , video and files ). Requires a network connection to send and receive data . Often has built-in security and privacy , such as end-to-end encryption . May use presence awareness such as showing ‘typing… ’ or ‘online now ’. Characteristics of Education Applications: It may be structured around learning milestones or long-term goals . Often interactive , such as quick quizzes or regular recaps of topics. Could include different formats of learning (such as text , visuals or audio ). Usually tracks skills or scores over time to show progress in a user-friendly way . Age-appropriate in content and design , possibly with difficulty levels . Examples: WhatsApp, Messenger, Zoom, Slack, Gmail Examples: Duolingo, Kahoot!, Quizlet, Memrise, Anki Entertainment Purpose: To provide enjoyment through formats such as video or audio , often with automatic suggestions based on previous interactions including watched videos , likes or comments . Characteristics of Entertainment Applications: Simple design to focus on keeping users engaged . May include streamed media content or the option to download . Designed for passive or relaxed use , e.g. watching or listening without interacting . Uses algorithms for recommendations based on user preferences . May include social features such as comments or sharing with friends . Examples: Netflix, Disney+, Spotify, YouTube, Twitch Games Purpose: To offer interactive challenges in a fun and possibly competitive way. Games may be played together online or offline for a single-player experience . Characteristics of Game Applications: Based on clear rules and objectives with reward systems , e.g. achievements . High interactivity and quick responsiveness to keep players engaged . Requires graphical rendering , user inputs and sound design . May support local multiplayer or online play with competition , like leaderboards . Often has a range of difficulty levels to keep players challenged . Examples: Minecraft, Fortnite, Among Us, EA Sports FC, Candy Crush Lifestyle Purpose: Supports a healthy and organised way of living . They often help people to manage their daily tasks and form positive personal routines . Productivity Purpose: To support users to complete tasks , manage their time or organise information in a helpful way , all to to maximise productivity . Characteristics of Lifestyle Applications: Often personalised to user preferences or personal data . May use real-time inputs such as location or health data , like steps taken . It may be integrated with smart wearable devices such as a smartwatch . Designed to be used briefly but daily (e.g. checking steps or logging meals ). Encourages improved habits or healthier improvements . Characteristics of Productivity Applications: Has a focus on efficiency , reliability and easy usability . Often allows collaboration and file sharing (e.g. working with colleagues ). Prioritises data organisation and quick access to relevant information . Usually integrated with cloud services or other apps like calendars . It may be designed for professional , personal or educational use . Examples: MyFitness Pal, Noom, Headspace, FitBit, Couch to 5k Examples: Microsoft Word, Calendar, Google Drive, Notion, Trello Protection & Utility Purpose: To secure the computer system against malicious threats and perform housekeeping tasks that maintain stability and a smooth performance . Characteristics of Protection & Utility Applications: Works in the background without frequent user interaction . Often requires permissions to access sensitive data . Needs to be updated frequently , e.g. adding new virus signatures to the database of an antivirus . May be event-driven (e.g. alerts or automatic scans at regular intervals ). Should use low system resources if it needs to be running constantly . Web Browsers Purpose: Accesses , retrieves and displays web pages from web servers . It provides tools like bookmarks , tabs and history to help users easily navigate the interne t. Characteristics of Web Browser Applications: Displays webpages that are built using HTML , CSS and JavaScript . Supports security protocols such as HTTPS , which uses encryption . Enables customisation and user control , e.g. bookmarks , extensions and themes . Contains an address bar to directly type in URLs or search terms . Allows for multiple tabs to run concurrently . Types of Application Examples: Avast Antivirus, CCleaner, 1Password, Battery Saver, Microsoft Defender Examples: Google Chrome, Safari, Mozilla Firefox, Microsoft Edge, Opera Q uesto's Q uestions 1.3.1 - Application Types: 1. Choose four application types and explain how each can be used in a school . [8 ] 2a. For two application types you did not mention in Q1 , explain their characteristics . [6 ] 2a. For the remaining two application types you have not mentioned , explain their purpose . [ 4 ] Minecraft is the best-selling video game of all time , with over 350 million copies sold since its official release in 2011 . D id Y ou K now? 1.2 - Operating Systems Topic List 1.3.2 - Application Software Categories
- Python | 4a - If Statements | CSNewbs
Learn how to use if statements in Python. Try practice tasks and learn through text and images. Perfect for students learning GCSE Computer Science in UK schools. top Python 4a - If Statements If Statements Selection is one of three constructs of programming , along with Sequence (logical order) and Iteration (loops). An if statement is a conditional statement that performs a specific action based on conditional values. Essentially, if thing A is true , then thing B will happen . If the user answers yes to the window question, then an appropriate statement is printed. Double equals stands for ‘is equal to ‘. The colon stands for THEN and the line after an if statement must be indented (press tab key once). answer = input ( "Is the window open? " ) if answer == "yes" : print ( "It's chilly in here!" ) Is the window open? yes It's chilly in here! But what if the window is not open? At the moment nothing will happen if you type no: Is the window open? no The elif command stands for else if . Essentially: If thing A is true then do thing B, else if thing C is true then do thing D: But what about any other answer than yes or no? The else command will submit a response if the value is anything else. The if and elif commands have a colon at the end, but else has it at the start. Also, else does not need to be on a new line. answer = input ( "Is the window open? " ) if answer == "yes" : print ( "It's chilly in here!" ) elif answer == "no" : print ( "It's quite hot in here!" ) answer = input ( "Is the window open? " ) if answer == "yes" : print ( "It's chilly in here!" ) elif answer == "no" : print ( "It's quite hot in here!" ) else : print ( "I'm not sure what you mean." ) Is the window open? no It's quite hot in here! Is the window open? banana I'm not sure what you mean. If Statements Task 1 ( Left or Right?) Use an input line to ask the user whether they want to turn left or right . Print a sentence of your choice if they chose left and a different sentence if they chose right . Include an else statement in case the user doesn't input left or right. Example solutions: There is a path ahead. Do you turn left or right? left The path turns and twists until it reaches a cliff. Dead end! There is a path ahead. Do you turn left or right? right A snake slithers across the path and bites your leg. Oh no! There is a path ahead. Do you turn left or right? backwards That's not an option! Nested If Statements Complex programs may require you to have if statements within if statements - when programming, one thing inside another is known as nesting . You must make sure that the related if , elif and else statements line up with each other . Use the tab key to indent a line. outer if inner if weather = input ( "What is the weather like today? " ) if weather == "sunny" : sunny = input ( "How hot is it? " ) if sunny == "very hot" : print ( "Take some sunglasses with you!" ) elif sunny == "cool" : print ( "Maybe take a jacket just in case?" ) else : print ( "Enjoy the sunshine!" ) elif weather == "rainy" : print ( "Take an umbrella!" ) else : print ( "Have a good day!" ) = What is the weather like today? rainy Take an umbrella! = What is the weather like today? sunny How hot is it? cool Maybe take a jacket just in case? = What is the weather like today? snowy Have a good day! = What is the weather like today? sunny How hot is it? very hot Take some sunglasses with you! If Statements Task 2 ( Nested Ifs) Use the weather program above as an example to help you write your own program with a nested if for at least one option. Be careful to have your nested if's if, elif and else statements in line with each other. Your program doesn't have to be about juice. Example solutions: Would you like orange, apple or tomato juice? orange Would you like your orange juice smooth or with bits? smooth One smooth orange juice coming up! Would you like orange, apple or tomato juice? orange Would you like your orange juice smooth or with bits? bits A pulpy orange juice is on its way! Would you like orange, apple or tomato juice? tomato Yuck, you can't be serious? Using Selection with Numbers Comparison operators such as > (greater than ) > = (greater than or equal to ) < (less than ) and < = (less than or equal to ) can be used with if statements. Logical operators such as and and or can also be used - more about them in section 4c . When comparing a variable's value to a specific number, such as 50, don't forget to use double equals ( == ) . Python Comparison Operators score = int ( input ( "Enter the maths test score: " )) if score == 50: print ( "You scored top marks!" ) elif score >= 40 and score < 50: print ( "You scored a great grade!" ) elif score >= 20 and score < 40: print ( "You did okay in the test." ) else : print ( "You have to try harder next time!" ) = Enter the maths test score: 50 You scored top marks! = Enter the maths test score: 43 You scored a great grade! = Enter the maths test score: 20 You did okay in the test. = Enter the maths test score: 13 You have to try harder next time! If Statements Task 3 ( Fastest lap) A racing video game has a challenging track that players try to get a quick lap on. The current fastest lap time is 37 seconds . Ask the player to enter their lap time and print a response based on their input . You need individual responses for the following inputs: Faster than 37 seconds. Between 37 seconds and 59 seconds. Between 60 seconds and 90 seconds. Slower than 90 seconds. Example solutions: Enter your lap time: 35 You have set a new record!!! Enter your lap time: 59 You did well this time! Enter your lap time: 83 A little bit slow this time! Enter your lap time: 110 Were you even trying!?! Hurry up! Not Equal To The opposite of equal to ( == ) is not equal to ( != ). != is often used with while loops to repeat code while an input is not what is expected , for example repeatedly asking for a password while the input is not equal to "fluffythecat123". The code below uses != for an incorrect answer (although it could easily be re-written to use == for a correct answer). answer = input ( "What is the capital of Eritrea? " ) if answer != "Asmara" : print ( "That is incorrect! It is Asmara." ) else : print ( "You got it right!" ) = What is the capital of Eritrea? Asmara You got it right! = What is the capital of Eritrea? Windhoek That is incorrect! It is Asmara. If Statements Task 4 ( True or False? ) Come up with your own true or false question that the user has to respond to. Depending on their answer , print whether they got it right or wrong . You may want to use an if statement with == for a correct answer or != for an incorrect answer , there's multiple ways to write this program. Example solutions: There are 140 million miles between Earth and Mars. TRUE or FALSE? TRUE That is correct! It is really that far! There are 140 million miles between Earth and Mars. TRUE or FALSE? FALSE You got it wrong, there really are 140 million miles between us! ⬅ Section 3 Practice Tasks 4b - Mathematical Operators ➡
- 1.1a - The CPU - OCR GCSE (J277 Spec) | CSNewbs
Learn about the components of the Central Processing Unit (CPU) and Von Neumann architecture. Based on the J277 OCR GCSE Computer Science specification (first taught from 2020 onwards). Exam Board: Cambridge OCR 1.1a: The CPU Specification: GCSE - J277 Watch on YouTube : The CPU The function of each CPU component : Control Unit (CU ) Arithmetic Logic Unit (ALU ) Registers Cache What Von Neumann architecture is. What You Need to Know The Central Processing Unit The Central Processing Unit ( CPU ) is the most important component in any computer system. Like many computer components, it is attached to the motherboard . The purpose of the CPU is to process data and instructions by constantly repeating the fetch-execute cycle . CPU Components The Control Unit (CU ) sends signals to control hardware and coordinate the flow of data inside the CPU and across the computer . It also decodes instructions as part of the fetch-execute cycle . The Arithmetic Logic Unit (ALU ) performs mathematical calculations , logical operations and binary shifts . The results of calculations made by the ALU are stored in a register called the accumulator . A register is a temporary storage space for one piece of data , instruction or address . Different registers are used during the fetch-execute cycle . Cache memory stores frequently accessed data and instructions because it is much faster for the CPU to access (fetch from) than RAM . Computer Architecture The way a computer is designed and structured is known as its architecture . A common type of computer architecture is Von Neumann (pronounced Von Noy-man), named after mathematician John Von Neumann . Von Neumann Architecture Instruction Data RAM ADD 53 A computer with Von Neumann architecture stores both program instructions and data in the same memory (RAM ). This is different from other architectures that have an instruction memory and a separate data memory . Instructions (technically called the opcode ) and data (technically called the operand ) are not the same . An instruction is an action to perform and data is the value to be used. For example with the command 'ADD 43 ', ADD is the instruction and 43 is the data . Von Neumann architecture also contains the key CPU components of a control unit , arithmetic logic unit (ALU ), registers and cache memory . Q uesto's Q uestions 1.1a - The CPU: 1a. What does 'CPU ' stand for ? [1 ] 1b. What is the purpose of the CPU ? [ 2 ] 2. Draw a diagram of the CPU , and l abel the four main components . [ 4 ] 3. Describe the purpose of: a. The Control Unit [ 2 ] b. The ALU [ 2 ] c. The registers [ 2 ] d. Cache memory [ 2 ] 4a. Describe the key feature of Von Neumann architecture . [ 2 ] 4b. Explain how an instruction is different to data . [ 2 ] 1.1b - Fetch-Execute Cycle Theory Topics




