BBS 514 YAPISAL PROGRAMLAMA (STRUCTURED PROGRAMMING)

Benzer belgeler
BBS 514 YAPISAL PROGRAMLAMA (STRUCTURED PROGRAMMING)

BLGM BÖLÜM. Problem Çözme Kavramları (Algoritma ve Akış Şemaları)

EBG101 PROGRAMLAMA TEMELLERİ VE ALGORİTMA

BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ

Hiyerarşik Yazılım Tasarımı Kavramı

Week 5 Examples and Analysis of Algorithms

How many sides has the polygon?

Unlike analytical solutions, numerical methods have an error range. In addition to this

Giri. Program yazmaya balamadan önce

BBS 514 YAPISAL PROGRAMLAMA (STRUCTURED PROGRAMMING)

BBM Discrete Structures: Final Exam Date: , Time: 15:00-17:00

Virtualmin'e Yeni Web Sitesi Host Etmek - Domain Eklemek

Programlamaya Giriş Karar Yapıları, Tekrarlı İfadeler(Döngüler)

WEEK 11 CME323 NUMERIC ANALYSIS. Lect. Yasin ORTAKCI.

IDENTITY MANAGEMENT FOR EXTERNAL USERS

ORACLE DA KÜRSÖRLER. Gerekli sistem değişkenleri

C++ Programming: Program Design Including Data Structures, Third Edition. Bölüm 1: Bilgisayarlar ve Programlama Dillerine Kısa Bakış

Algoritma Hazırlama. Programlama. nereden başlamalı? ALGORİTMA VE PROGRAMLAMA Öğr.Gör.Günay TEMUR

Önsöz. İçindekiler Algoritma Algoritma Nasıl Hazırlanır? Yazılımda Algoritma Mantığı Nedir? 1.2. Algoritma Örnekleri ve Sorular

Yarışma Sınavı A ) 60 B ) 80 C ) 90 D ) 110 E ) 120. A ) 4(x + 2) B ) 2(x + 4) C ) 2 + ( x + 4) D ) 2 x + 4 E ) x + 4

Multiplication/division

#include <stdio.h> int main(void) { float sayi; float * p; p = &sayi; printf("deger girin:"); scanf("%f", p); printf("girilen deger:%f\n", *p);

Nesne Yönelimli Programlama

EM205 26/9/2014. Programlamaya giriş Algoritmalar. Amaçlar

Çoktan Seçmeli Değerlendirme Soruları Akış Şemaları İle Algoritma Geliştirme Örnekleri Giriş 39 1.Gündelik Hayattan Algoritma Örnekleri 39 2.Say

ÖDEV (Vize Dönemi) CEVAPLAR. 1. Ekrana Merhaba Dünya! yazdıran algoritmanın akış diyagramını çiziniz ve sözde kod olarak yazınız.

Cases in the Turkish Language

DOKUZ EYLUL UNIVERSITY FACULTY OF ENGINEERING OFFICE OF THE DEAN COURSE / MODULE / BLOCK DETAILS ACADEMIC YEAR / SEMESTER

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-4 Döngü Yapıları. Yrd. Doç. Dr. Ümit ATİLA


YAKIN DOĞU ÜNİVERSİTESİ DIŞA AÇIK DERSLER KOORDİNATÖRLÜĞÜ BİLGİSAYAR MÜHENDİSLİĞİ - İNGİLİZCE

BİL1001 Bilgisayar Bilimlerine Giriş 1

4- Turbo Pascal Bilgisayar Programlamada Kullanılan Şart Yapıları

Bölüm 3 Yapısal Programlama

D-Link DSL 500G için ayarları

BBM Discrete Structures: Midterm 2 Date: , Time: 16:00-17:30. Question: Total Points: Score:

BİLGİSAYAR PROGRAMLAMA. Algoritma ve Akış Şemaları

BBM Discrete Structures: Final Exam - ANSWERS Date: , Time: 15:00-17:00

NATURAL LANGUAGE PROCESSING

Hafta 4 Döngü Yapıları

TBP101 (4. Hafta) Alıştırma Soruları ve Cevapları

Teori/Saat Uygulama/Saat Laboratuar/Saat AKTS BLM Dersin Amacı

ALGORİTMAYA GİRİŞ. Program: Belirli bir işi gerçekleştirmek için gerekli komutlar dizisi olarak tanımlanabilir.

2 PYTHON A GIRIŞ 13 PyCharm İle Python Projesi Oluşturma 15 Projenin Çalıştırılması 18 İlk Python Programımız 19 Açıklama Satırları 21

Hem lw hem de sw komutlarının ofseti 16-bitlik işaretli tamsayıdır.

CENG/BILM 341 FINAL REVIEW. Dr. Esma Yıldırım

YAKIN DOĞU ÜNİVERSİTESİ DIŞA AÇIK DERSLER KOORDİNATÖRLÜĞÜ BİLİŞİM SİSTEMLERİ MÜHENDİSLİĞİ - İNGİLİZCE

Kontrol Yapıları (2)

g Na2HPO4.12H2O alınır, 500mL lik balonjojede hacim tamamlanır.

M.E.B. ENG-4 Ünite-2 STUDENTS-4 UNIT-2 My Classroom ( Sınıfım ) Classroom Language ( Sınıf Dili )

BMÜ-111 Algoritma ve Programlama. Bölüm 5. Tek Boyutlu Diziler

BM-311 Bilgisayar Mimarisi

#include <stdio.h> int main(void) { FILE * dosya; dosya = fopen("soru1.txt", "w"); fprintf(dosya, "Merhaba Dunya!"); fclose(dosya); return 0; }

Adım Adım SPSS. 1- Data Girişi ve Düzenlemesi 2- Hızlı Menü. Y. Doç. Dr. İbrahim Turan Nisan 2011

Yüz Tanımaya Dayalı Uygulamalar. (Özet)

Python ile Programlamaya Giriş DERS 6: DÖNGÜLER DR. HÜSEYİN BAHTİYAR

YABANCI DİL I Zorunlu 1 1 4

Veri Yapıları ve Algoritmalar dönem

UBE Machine Learning. Kaya Oguz

Week 6: Bağlı Liste (Linked List) BAĞLI LİSTE KAVRAMI TEKİL (SINGLE) BAĞLI LİSTE ÇİFT (DOUBLE) BAĞLI LİSTE DAİRESEL (CIRCULAR) BAĞLI LİSTE

BBS515 Nesneye Yönelik Programlama. Ders 3 Zümra Kavafoğlu

MTK467 Nesneye Yönelik Programlama. Hafta 4 - Döngüler Zümra Kavafoğlu

can herhangi bir şeyi yapabilmeye yetenekli olduğumuzu belirtmek için

JAVA DÖNGÜ DEYİMLERİ. For Döngüsü

ALGORİTMA ANALİZİ. Cumhuriyet Üniversitesi Bilgisayar Mühendisliği Bölümü

Welcome. Hos Geldiniz. Summer Schools Presentation. Yaz Okulları Sunumu. Sandi Engler Overseas College Counselor Yurtdışı Üniversiteler Danışmanı

AB surecinde Turkiyede Ozel Guvenlik Hizmetleri Yapisi ve Uyum Sorunlari (Turkish Edition)

GÜMÜŞHANE ÜNĐVERSĐTESĐ MÜHENDĐSLĐK VE DOĞA BĐLĐMLERĐ FAKÜLTESĐ ELEKTRĐK-ELEKTRONĐK MÜHENDĐSLĐĞĐ EEM 114 ALGORĐTMA TASARIMI VE PROGRAMLAMA DĐLLERĐ

CmpE 320 Spring 2008 Project #2 Evaluation Criteria

A LANGUAGE TEACHER'S PERSONAL OPINION

BİL-142 Bilgisayar Programlama II

Lecture 11: Generics

Bölüm 1 PROGRAMLAMAYA GİRİŞ. Bölüm 2 ALGORİTMA

BİLGİSAYAR BİLİMİ DERSİ (KUR 1) PYTHON PROGRAMLAMA DİLİ ÇALIŞMA KÂĞIDI - 1

1 I S L U Y G U L A M A L I İ K T İ S A T _ U Y G U L A M A ( 5 ) _ 3 0 K a s ı m

Binary Search. (Yarılama) Bölüm Dizide Bir Öğe Arama

UYGULAMA 2 TABLO YAPIMI

YEDİTEPE ÜNİVERSİTESİ MÜHENDİSLİK VE MİMARLIK FAKÜLTESİ

GÜZ YY. - MKT103 - GÖRSEL PROGRAMLAMA DERSİ - ARA SINAVI

ENGLISH PROFICIENCY EXAM

Algoritmik Program Tasarımı, Akış Şemaları ve Programlama. Bilgisayar Mühendisliğine Giriş 1

Lesson 55 : imperative + and, or, otherwise Ders 55: Emir + ve, veya, aksi halde

Do not open the exam until you are told that you may begin.

YEDİTEPE ÜNİVERSİTESİ MÜHENDİSLİK VE MİMARLIK FAKÜLTESİ

Mantıksal Kontrol ve Döngü Komutları

Kodlanacak programlama dilinin kaynaklarından faydalanılarak kod yazımı yapılır.

Assembly Language Programming

ÖRNEKTİR - SAMPLE. RCSummer Ön Kayıt Formu Örneği - Sample Pre-Registration Form

Dersin Türü (Course Type) Zorunlu (Compulsory)[Χ] Seçmeli (Elective) [ ]

Teknoloji Servisleri; (Technology Services)

Maltepe Üniversitesi Bilgisayar Mühendisliği Bölümü BİL 203 Veri Yapıları ve Algoritmalar I

Kodlanacak programlama dilinin kaynaklarından faydalanılarak kod yazımı yapılır.

Bölüm 8. İfade Seviyesindeki Kontrol Yapıları ISBN

CSE225 DATA STRUCTURES 2006 Student Name: MIDTERM EXAM II M.B.T. Student Number:

Bölüm 6. Diziler (arrays) Temel kavramlar Tek boyutlu diziler Çok boyutlu diziler

Algoritma ve Programlamaya Giriş

Bil101 Bilgisayar Yazılımı I. M. Erdem ÇORAPÇIOĞLU Bilgisayar Yüksek Mühendisi

Bölüm 4 C de Program Kontrolü

C++ Statements. { ve } arasında ifade edilen bir dizi statement bir compound statement (birleşik ifade) oluşturur.

Transkript:

1 BBS 514 YAPISAL PROGRAMLAMA (STRUCTURED PROGRAMMING) LECTURE 1: ALGORITHMS Lecturer: Burcu Can BBS 514 - Yapısal Programlama (Structured Programming)

İçerik Bilgisayar için problem çözme süreci ve Pólya nın Nasıl Çözmeli listesi Algoritma kavramı Yalancı kod Kontrol yapıları

Problem Çözme Problem çözme (sözlük anlamı): çözülmesi gereken mesele, sorun veya aşılması gereken engel için çözüm bulma. Problem çözmeyi siz nasıl tanımlarsınız?

Problem Çözme Nasıl Çözmeli: Matematiksel Yöntem için Yeni Bir Bakış - George Pólya Matematiksel problemler için yazılmış Liste oldukça genel ve bilgisayar için de uyarlanabilir. Bilgisayarla ilişkili problemleri çözmek için de kullanabiliriz.

Problem Çözme Problemleri nasıl çözersiniz? Problemi anla Bir plan oluştur n Planı gerçekleştir. n Gözden geçir. Eğer bu yöntemle çözülmezse, Pólya şunu tavsiye ediyor: Bir problemi çözemiyorsanız, çözmenin mümkün olduğu daha basit bir problem vardır. Eğer problemiçözemiyorsanız, onunla ilişkili başka bir problemiçözmeye çalışın.

Stratejiler Sorular sor! Problem hakkında ne biliyorum? Çözümü bulmak için elimde nasıl bilgiler mevcut? Nasıl bir çözüm bulunması gerekiyor? Özel durumlar var mı?

Stratejiler Sorular sor! Tekerleği yeniden icat etme! Benzer problemler farklı biçimlerde karşımıza çıkabilir. İyi bir programcı, daha önce çözülmüş bir görevi tanıyarak başka bir problemin çözümü için onu yeni çözüme dahil eder. Birbirine benzer iki problem tanımlayın!

Stratejiler Böl ve Yönet Büyük bir problemi daha küçük parçalarına böl ve alt problemleri çöz. Her alt görev başa çıkılır oluncaya dek böl ve yönet taktiği tekrar tekrar uygulanabilir.

Bilgisayarda Problem Çözme Analiz ve tanımlama aşaması Analiz et Tanımla Algoritma geliştirme aşaması Algoritma geliştirme Algoritmayı test et Uygulama aşaması Algoritmayı kodla Algoritmayı test et Bakım aşaması Kullan Hataları/eksiklikleri gider Tekrar eden kısımlar hangileridir?

Kod Geliştirme Aşamaları

Algoritmalar Algoritma Bir problemi veya alt problemi belli bir zamanda, sonlu sayıda veriyle çözmek için gerekli olan komutlar kümesi

Algoritma Yemek tarifleri, yol tarifleri en bilinen algoritmalardandır. Kek tarifi: Fırını 180 dereceye getirelim. Yumurtaları ve toz şekeri bir kabın içersine döküp köpük köpük olana kadar mikserle çırpalım. Burada dikkat etmeniz gereken şey, 3 yumurtayı aynı anda değil, tek tek kırıp köpük yapıp üzerine diğer yumurtayı kırıp işleme devam edin. Köpük köpük yaptıktan sonra diğer tüm malzemeleri sırasıyla kabın içerisine dökün ve çırpmaya devam edin. Kolay kekin harcını yaptıktan sonra istediğiniz şekildeki kalıba dökün ve fırına verin. Yaklaşık olarak 30-35 dakika kadar pişirdikten sonra fırından alın ve biraz demlenmesini bekledikten sonra servis yapın.

Algoritma Kekin yapımı: Fırını 180 dereceye getir. Bir kap al. Kabın içine 3 yumurtayı kır ve 2 çay bardağı toz şeker koy WHILE (köpürmedi) yumurta ve toz şekeri çırp Diğer bütün malzemeleri (2 çay bardağı yoğurt, yarım su bardağı zeytinyağı, 1 paket kabartma tozu, 1 paket vanilin, 3 su bardağı un) kabın içine koy Bütün harcı birkalıba dök. Kalıbı fırına koy WHILE (kek pişmedi) Kalıbı fırında tut. Keki fırından çıkar.

Yöntemin Özeti Problemi analiz et Problemi anla! Saldırı planının geliştirilmesi. Ana görevleri listele (Ana modül) Problemi görev listesi olarak yeniden ifade et. Her göreve bir ad ver. Kalan modülleri yaz Her modülü bir görev listesiyle yeniden ifade et. Her göreve bir ad ver. Gerekirse yeniden sırala ve gözden geçir

Bir Algoritmanın Geliştirilmesi Bir problemi çözmede bilgisayar çözümü üretmenin iki yöntemi vardır: Yukarıdan aşağı tasarım (Top-down design) n Yapılacak görevlere yoğunlaşır. Nesneye yönelik tasarım (Object-oriented design) n Veriye yoğunlaşır. Algoritmaları ifade etmek için yalancı kodlar kullanılır!

Yukarıdan-Aşağı Tasarım

Yalancı Kod Yalancı kod (pseudocode): İngilizce idadelerle programlama dili ifadelerinin karışık bir şekilde kullanıldığı kodlar. Örnek:10 luk tabandaki bir sayının başka bir tabana çevrilmesi: While (the quotient is not zero) Divide the decimal number by the new base Make the remainder the next digit to the left in the answer Replace the original decimal number with the quotient While (bölüm sıfır değil) Yeni ondalıklı sayıyı yeni tabana böl Kalanı sola doğru birsonraki basamakyap Orjinal ondalıklı sayıyı bölümle yer değiştir.

Yalancı Kod While (bölüm sıfır değil) Yeni ondalıklı sayıyı yeni tabana böl Kalanı sola doğru birsonraki basamakyap Orjinal ondalıklı sayıyı bölümle yer değiştir. Ondalık tabanda 93 ün 8 lik tabandaki karşılığı nedir? 93/8 in sonucu 11, kalan 5 tir. 11/8 nın sonucu 1, kalan 3 tür. 1/ 8 in sonucu 0, kalan 1 dir. sonuç: 1 3 5

Yalancı Kod

Tam Çözüm için Yalancı Kod Yazdır: Yeni tabanı giriniz" Oku: yenitaban Yazdır: Çevrilecek sayıyı giriniz" Oku: ondalıksayı Bölümü 1 olarak kaydet. WHILE (bölüm 0 değil) Bölüme ondalıksayi/yenitaban değerini ata Kalana ondalıksayi % yenitaban değerini ata Kalanı sola doğru bir basamak olarak kaydet. ondalıksayı değerini bölüm olarak güncelle Yazdır: Sonuç: " Sonucu yazdır

Yalancı Koddaki İfadeler Değişkenler: Verilerin kaydedildiği depo alanları n Örnek: bölüm, ondalıksayı, yenitaban Atama ifadeleri: Bir değişkene yeni değer verme n Bölüme 64 değerini ata.

Yalancı Koddaki İfadeler Çıktı Bir çıktı aygıtına değerin yazdırılması: Girdi n Yazdır (Write, Print) Dış dünyadan değerlerin alınıp değişkenlere kaydedilmesi n Oku (Get, Read)

Kontrol Yapıları Kontrol yapısı: Programda komutların hangi sırada çalıştırılacağını belirleyen komuttur.

Seçim İfadeleri Seçim: Farklı ifadelerin içinden birini çalıştırmak için seçmek veya bazı ifadeleri atlamak için kullanılır. Sayıyı al IF (sayı < 0) Yazdır sayı + " 0 dan küçüktür." veya Yazdır Pozitif bir sayı giriniz." Sayıyı al IF(sayı < 0) Yazdır sayı + " 0 dan küçüktür." Yazdır Talimatlara uymadınız."

Seçim İfadeleri à if deyimi

Seçim İfadeleri Problem: Verilen birhava sıcaklığına göre uygun kıyafeti yazdır. Yazdır: Sıcaklık değerini girin: " Sıcaklık değerini al. Kıyafeti belirle.

Seçim İfadeleri Kıyafeti Belirle IF (sicaklik > 90) Yazdır Hava sıcak: şort giy. ELSE IF (sicaklik > 70) Yazdır ideal hava: Kısa kollu t- shirt giymekuygundur. ELSE IF (sicaklik > 50) Yazdır Biraz serin: ince bir ceket giy. ELSE IF (sicaklik > 32) ELSE Yazdır Oldukça soğuk: Kalın bir mont giy. Yazdır İçeride kal.

Döngü İfadeleri Tekrar: Bir dizi ifadenin tekrar edilmesi. Set count to 1 WHILE ( count < 10) Write "Enter an integer number" Read anumber Write "You entered " + anumber Set count to count + 1 Kaç değer okunur?

Döngü İfadeleri à while ifadesi

Döngü İfadeleri Sayaç kontrollü döngü: Toplama 0 değerini ver. Sayaca 1 değerini ver. While (sayac <= limit) Sayıyı oku Toplama, toplam+sayı değerini ata. Sayacı artır Yazdır: Toplam:" + toplam Neden sayaç kontrollü deyim deniyor?

Döngü İfadeleri Olay kontollü deyim: Toplama 0 değerini ver. Pozitif değişkenine dogru değerini ver WHILE (Pozitif) Sayı oku IF (Sayı > 0) Toplama toplam+sayı değerini ver. ELSE Pozitif e yanlış değerini ver. Yazdır: Toplam" + toplam Neden olaykontrollü döngü deniyor? Buradaki olaynedir?

Döngü İfadeleri Karekökü hesapla: Sayıyı oku Karekökünü hesapla Karekökünü yazdır.

Döngü İfadeleri Karekökü hesapla: Epsilonun değerini 1 olarak belirle WHILE (Epsilon > 0.001) Yeni tahmini hesapla Epsilonun değerini mutlakdeger(sayı - tahmin * tahmin) olarak belirle.

Döngü İfadeleri Yeni tahmini hesapla: Yeni tahminin degerini belirle: (tahmin + (sayi/tahmin)) / 2.0

Döngü İfadeleri Sayıyı oku Tahmini sayı/4 olarak belirle Epsilonun degerini 1 olarak belirle WHILE (epsilon > 0.001) Yeni tahmini hesapla Epsilonun degerini mutlak deger(sayı - tahmin * tahmin) olarak belirle. Sayıyı ve tahmini yazdır.

Yalancı Kod Örneği Problem: Tekrarlı bir şekilde bir çift sayı al ve değerleri yazdır. WHILE (not done) Write "Enter two values separated by blanks" Read number1 Read number2 Print them in order

Yalancı Kod Örneği Değerlerisırayla yazdır: Write "How many pairs of values are to be entered?" Read numberofpairs Set numberread to 0 WHILE (numberread < numberofpairs) Write "Enter two values separated by a blank;; press return" Read number1 Read number2 IF(number1 < number2) Print number1 + " " + number2 ELSE Print number2 + " " number1 Increment numberread

Yalancı Kodun Çevrilmesi Hangi dile çevrilecek? Assembly dili Çok ayrıntılı ve zaman alır. Üst düzey programlama dili Yazması dahakolay.

From problem to program 39 In real world Problem in Natural language Top Down Design in pseudo-code Program in computer code (code in almost any computer language.) Requirements: A program that does this and that and the other. It must take data from this source and DESIGN The Problem Do this repeat if something then do this else do the other Print all done The Design (Algorithm) The Program Reduce cognitive load separating design and coding using top-down design IMPLEMENT BBS 514 - Yapısal Programlama (Structured Programming)

Steps of Software Development 40 1. Problem Understanding Read the problem carefully and try to understand what is required for its solution. 2. Analysis Identify problem inputs and outputs. 3. Design Develop a list of steps (algorithm) to solve the problem Refine steps of this algorithm. (Divide and Conquer) Verify that the algorithm solves the problem, i.e. the algorithm is correct. 4. Implementation Implement the algorithm as a (java) program. You have to know a specific programming language (java) Convert steps of the algorithm into programming language statements. 5. Testing and Verification Test the completed program, and verify that it works as expected. Use different test cases (not one) including critical test cases. BBS 514 - Yapısal Programlama (Structured Programming)

Algorithm 41 An algorithm is a design written in pseudo code. (in English, but a formal style) Algorithms contains: Sequence Decision Repetition BBS 514 - Yapısal Programlama (Structured Programming)

Everyday Algorithms 42 Problem: To drink a glass of milk. Algorithm: 1. Enter the kitchen 2. Get a glass 3. Get the milk from the refrigerator 4. Fill the glass with milk 5. Drink it Refine step 1: 1. Walk to the kitchen door 2. If the door is close then 2.T. Open it 3. Walk into the kitchen Refine step 3: 1. Open the refrigerator 2. Get the milk 3. Close the refrigerator Refine step 4: 1. while the glass is not full 1.1. Pour some milk into the glass BBS 514 - Yapısal Programlama (Structured Programming)

Area- Circumference Problem 43 Requirements: Design an algorithm to find and report the area and circumference of a circle whose radius the user gives. Example interaction Welcome to circle computer Please enter the radius: 5 The area of a circle of radius 5 is 78.55 and its circumference is 31.42 BBS 514 - Yapısal Programlama (Structured Programming)

Area- Circumference Problem 44 To find area & circumference of circle 1. Print welcome message 2. Ask for & get radius from user 3. Compute area as pi.radius.radius 4. Compute circumference as 2.pi.radius 5. Report area, circumference & radius Identify preconditions & ensure they are satisfied. Once we are sure that this is correct, move on to solve any nontrivial sub-problems. BBS 514 - Yapısal Programlama (Structured Programming)

Area- Circumference Problem (cont.) 45 Solve 2. Ask for & get radius from user 1. Ask (prompt) the user to enter radius 2. Get radius value from user Solve 5. Report area, circumference & radius 1. Print msg The area of a circle with radius 2. Print radius value 3. Print msg is 4. Print area value and move to next line 5. Print msg and its circumference is 6. Print circumference value 7. Print blank line BBS 514 - Yapısal Programlama (Structured Programming)

Calculating the average score of an exam 46 Problem: Calculating the average score of an exam Inputs : Scores of an exam Output: Average score of the exam Algorithm: 1. Set count to zero 2. Set sum to zero 3. while there is an exam sheet do 3.1. Read the score on the sheet 3.2. Add the score on the sheet to sum 3.3. Add one to count 3.4. Move to the next sheet 4. Compute average as sum/count 5. Display average BBS 514 - Yapısal Programlama (Structured Programming)

Prime Number 47 Problem: Deciding that a given integer number is prime or not. Input : An integer number N Output: A sentence indicating that N is prime or not. Algorithm: 1. Read the number N 2. Test whether N is prime or not 3. Display the result. Refine step 2: 1. set counter to 2 2. set PrimeFlag to true 3. while (counter < N and PrimeFlag = true) do 3.1. if N is divisible by counter then 3.1.T. set PrimeFlag to false 3.2. Increment counter by 1 BBS 514 - Yapısal Programlama (Structured Programming) Refine step 3: 1. if PrimeFlag = true then 1.T. Display that N is prime else 1.F. Display that N is not prime

Factorial 48 Problem: Calculating N! Inputs: A positive integer N Output: N! Algorithm: 1. Read a positive integer N 2. Calculate NFactorial 3. Display NFactorial Refine step 2: 1. Set NFactorial to 1 2. Set counter to 2 3. while (counter <= N) do 3.1. Multiply NFactorial by counter 3.2. Increment counter by 1 BBS 514 - Yapısal Programlama (Structured Programming)

Types & Layout (of algorithm steps) 49 Sequence Decision 1. step 2. step 3. step 4. step Repetition Any step can be replaced with one of the other types n. if condition then nt step else nf step indent n. while condition do step n. do step while condition indent n. for so many times do step indent BBS 514 - Yapısal Programlama (Structured Programming)