دستورهای خروجی بر اساس فايل عباسپور 1 دستور های ورودی-خروجی بر اساس استفاده از فايل File-based Input and Output.

Slides:



Advertisements
Similar presentations
Awe sim.
Advertisements

معاونت درمان امور مامایی اردیبهشت 90. برای ثبت اطلاعات در برنامه نرم افزاری نظام مراقبت مرگ پریناتال ابتدا لازم است برنامه نرم افزار info-path وپرنیان.
دستورهای انتقال کنترل عباسپور 1 دستورهای انتقال کنترل Control Statements.
Computer Programming برنامه سازی کامپيوتر1 مدل های رياضی مهندسی يعنی کاربرد علوم مختلف (رياضی، فيزيک) در حل مسائل کاربردی مدل های رياضی برای پيش بينی رفتار.
دستور های ورودی خروجی عباسپور 1 دستورهای ورودی و خروجی Input Output Commands.
فاکتورهای مهم در ایجاد یک مقاله علمی
دستور های منطقی، عباسپور1 دستور های منطقی مقايسه ای LOGICAL COMPARISON EXPRESION.
Decision Tree.
نويسه و رشته CHARACTER string رشته عبارتست از توالی از صفر يا چند کاراکتر مثل Ali برای ذخيره مواردی مثل اسم و آدرس و غيره.
نام و نام خانوادگي : فريد ملازم 1 آزمايشکاه سيستم هاي هوشمند ( موضوع ارائه Process and Deployment Design.
برنامه سازی کامپيوتری 1 نرم افزار در کامپيوتر. برنامه سازی کامپيوتری 2 نرم افزارها سخت افزار کامپيوتر بدون نرم افزار ان غير قابل استفاده است نرم افزار.
ادامه برنامه های فرعی عباسپور 1 متغير ها در برنامه های فرعی هر نوع متغيری که در برنامه فرعی اعلان می شود مخصوص همان برنامه است و در خارج از آن موجوديت.
مراحل مختلف اجرای يک برنامه
فایل پردازی در C File based Programming in C. انواع فایل متنی –سرعت بالا –حجم کمتر –امکان دسترسی تصادفی –حفظ امنیت داده ها دودویی (باینری) –امکان باز.
1 Network Address Translation (NAT). 2 Private Network شبکه خصوصی شبکه ای است که بطور مستقیم به اینترنت متصل نیست در یک شبکه خصوصی آدرس های IP به دلخواه.
فارسی سازی يکپارچه در سيستم عاملهای OS/390 & Windows واحد 1 مهندسی سيستم Integrated Farsi support on OS/390 & Windows.
1 بنام خدا زبان برنامه نویسی C (21814( Lecture 14 Structures.
به نام خدا برنامه سازی سمت سرور (php)
مظفر بگ محمدی دانشگاه ایلام Generics. کدهای عمومی 2 یکی از اهداف OOP ایجاد قابلیت نوشتن برنامه های عمومی با قابلیت استفاده ی مجدد است. کدهای چندریخت تا.
آشنايي با سيستم اعداد.
فایل ها.
[c.
تهیه و تنظیم: فاطمه قاسمی دانشگاه صنعتی شریف – پاییز 86
تهیه و تنظیم: فاطمه قاسمی دانشگاه صنعتی شریف – پاییز 86
نظریه رفتار برنامه ريزي شده Theory of Planned Behavior
تمرین هفتم بسم الله الرحمن الرحیم درس یادگیری ماشین محمدعلی کیوان راد
نکات بسیار مهم در مورد دانشگاه تبریز
انواع دستور در برنامه نويسی
ویژگی های DHCP جلوگیری از Conflict سرعت بخشیدن به کارها مدیریت متمرکز
بنام خدا زبان برنامه نویسی C (21814( Lecture 12 Selected Topics
SY800 router mode [AD-14-TB ].
دانلود جدیدترین مقالات برق الکترونیک و کامپیوتر
آشنایی مقدماتی با نرم افزار Endnote X4
نکات بسیار مهم در مورد دانشگاه تبریز
آزمایشگاه پایگاه داده ها قیود در جداول یک پایگاه داده در SQL Server
واحد های مختلف برنامه عباسپور
چگونه بفهمیم آیا ژورنالی ISI است؟ ایمپکت فاکتور دارد یا خیر؟
آموزش مقدمات MATLAB سیگنال ها و سیستم ها دانشگاه صنعتی شریف پائیز 86
به نام خدا.
بنام خدا زبان برنامه نویسی C (21814( Lecture 10 Chapter 11
مدیریت مالی و اقتصاد مدیریت موضوع : نقطه سر به سر زمستان 93
Route configuration for 5400W ADSL Router
تکنیک دیماتل DEMATEL: decision making trial and evaluation laboratory.
Microsoft Visual Basic
SSO Single Sign-on Systems
آشنایی با پایگاه داده mysql
آموزش کرک کردن نرم افزار ACTIVE HDL
آشنایی مقدماتی با نرم افزار Endnote X4
آموزش نرم افزار EndNote
هیدرولیک جریان در کانالهای باز
آشنایی با پایگاه ساینس دایرکت
تهیه و تنظیم: فاطمه قاسمی دانشگاه صنعتی شریف – پاییز 86
نظریه رفتار برنامه ريزي شده Theory of Planned Behavior
وبلاگ جامع مهندسی برق و الکترونیک
راهنمای استفاده از ابزار Mailings در Ms Word
آشنایی مقدماتی با نرم افزار Endnote X4
به نام خدا اين فايل راهنما جهت آشنايی کاربران گرامی با پايگاه اطلاعاتی Sciencedirect و نحوه جستجوی اطلاعات در آن تهيه شده است لطفاً اسلايدهای بعد را مشاهده.
بسم الله الرحمن الرحیم هرس درخت تصمیم Dr.vahidipour Zahra bayat
آشنایی مقدماتی با نرم افزار Endnote
کاربرد کامپیوتر در داروخانه
جستجوی منابع الکترونیک
به نام خدا Koha برنامه.
فصل ششم مدارهای ترتیبی.
Uniprocessor Scheduling
به نام یکتای دانا فصل اول: متدها و قواعد.
عملیات با رشته‌ها موسوی ندوشنی ویراست 1389 دانشگاه صنعت آب و برق.
kbkjlj/m/lkiubljj'pl;
مباني كامپيوتر و برنامه سازي Basics of Computer and Programming
مباني كامپيوتر و برنامه سازي Basics of Computer and Programming
طریقه ارسال اطلاعات به فیدا و دریافت شناسه فروشنده
Presentation transcript:

دستورهای خروجی بر اساس فايل عباسپور 1 دستور های ورودی-خروجی بر اساس استفاده از فايل File-based Input and Output

دستورهای خروجی بر اساس فايل عباسپور 2 مقدمه تاکنون در تمام دستورهای ورودی و خروجی از “*” استفاده می شد استفاده از “*” به معنی ورودی و خروجی اطلاعات از و يا به تجهيزات پيش فزض است در بسياری از موارد اينکار مناسب، پسنديده و يا امکان پذير نيست 1.ذخيره موقتی اطلاعات (intermediate results) 2.ذخيره مقدار متنابهی از اطلاعات 3.موقعی که خروجی يک برنامه موردنياز برای برنامه ديگر باشد 4.موقعی که اطلاعات خاصی به صورت تکراری مورد نياز باشد

دستورهای خروجی بر اساس فايل عباسپور 3 جهت ذخيره سازی اطلاعات از فايل هايي شبيه source file می توان استفاده کرد با استفاده از دستور FORMAT می توان به شکل دلخواهی اطلاعات را وارد نمود نام فايل را می توان با هر extension انتخاب تا توسط نرم افزار ديگری قابل باز خوانی باشد. فايلها به صورت Text هستند لذا با هر Editor مثل کامپايلر فرترن، MS Word و غيره قابل edit شدن هستند در برنامه هادسترسی به اين فايلها از طريق واحد های ورودی و خروجی Unit امکان پذير می شود به هر فايل يک شماره Unit Number می توان اختصاص داد لذا هر فايل در برنامه با آن شماره شناخته می شود در فرترن اين شماره می تواند از 1 تا 100 باشد.

دستورهای خروجی بر اساس فايل عباسپور 4 شماره واحد Unit Number برای دسترسی به يک فايل در داخل برنامه درواقع هر شماره، کانالی است که برنامه را به يک فايل يا يکی از تجهيزات جانبی متصل می کند UN می تواند يک INTEGER و يا يک عبارت محاسباتی با خروجی INTEGER باشد علامت “ * “ که مربوط به واحد های پيش فرض ( صفحه کليد و مونيتور) است بعضی از شماره ها به صورت پيش فرض به تجهيزات خاص اختصاص می يابد مثلاً 5 و 6 برای صفحه کليد و مونيتور ويا شماره 10 در سيستم های UNIX برای فايلی به نام fort10 اختصاص می يابد

دستورهای خروجی بر اساس فايل عباسپور 5 برای نوشتن در يک فايل و خواندن از يک فايل بايد از دستور WRITE و READ استفاده نمود هر فايلی که در برنامه مورد استفاده واقع می شود بايد توسط دستور OPEN باز و در اختيار برنامه قرار گيرد فرم کلی READ برای فايل: READ (clist) [I/O list] Clist عبارت از: [UNIT=] unit-number, [FMT=] format-spec [,REC= record-number] [,IOSTAT=ios] [,ADVANCE=adv] [,SIZE=integer-variable] [,EOR=label] [,END=label] [,ERR=label]

دستورهای خروجی بر اساس فايل عباسپور 6 مثال READ *,I,J از صفحه کليد READ *,LINE از صفحه کليد READ (*,*) A,B,C از صفحه کليد READ (5,*) LINE از صفحه کليد READ (5,100) X, Y, Z از صفحه کليد با فورمت 100 READ (UNIT=10,FMT=100,ERR=10,IOSTAT=ios) از فايل 10 با فورمت 100 در اخر اگر خطايي در خواندن باشد کنترل به دستور شماره 10 می رود و متغير ios يک مقدار مثبت (بسته به سيستم) می گيرد، اگر خواندن با موفقيت انجام شود ios مقدار صفر می گيرد در اين دستور حتما اول UNIT و سپس FMT آورده می شود. بقيه موارد اختياری هستند

دستورهای خروجی بر اساس فايل عباسپور 7 دستور خروجی WRITE (clist) [I/O list] where clist is defined as [UNIT=] unit-number, [FMT=] format-spec [,REC= record-number] [,IOSTAT=ios] [ADVANCE=adv] [,SIZE=integer-variable] [,EOR=label] [,ERR=label]

دستورهای خروجی بر اساس فايل عباسپور 8 مثال PRINT*, I,J بر روی مونيتور WRITE (*,*) I,J بر روی مونيتور WRITE (6,*) I,J بر روی مونيتور WRITE (6,100) I بر روی مونيتوربا فورمت 100 WRITE (6,*,ERR=10) LINE WRITE (UNIT=file1,FMT=100,REC=recordnumber, ERR=10) newline

دستورهای خروجی بر اساس فايل عباسپور 9 دستور OPEN برای باز کردن و در اختيار برنامه گرفتن فايل ها فرم کلی: OPEN (u, [olist] ) u: شماره اختصاص داده شده به فايل در دستور های ورودی و خروجی استفاده می شود WRITE (u,*) variables list Olist تعدادی لغات کليدی که وضعيت فايل را مشخص می کنند : OPEN(10) OPEN (UNIT=10) OPEN (UNIT=IFILE) OPEN (15, FILE=“output.test”)

دستورهای خروجی بر اساس فايل عباسپور 10 لغات کليدی در Olist 1- STATUS= st St: می تواند يکی از حالت های زير را به خود بگيرد Old: برای فايل هايي که قبلا ايجاد شده اند برای فايل های ورودی Input file اگر در لحظه اجرای دستور open موجود نباشند پيام خطا صادر می شود NEW: برای فايل هايي که قبلاً وجود ندارند با اجرای اين دستور يک فايل جديد ايجاد می گردد اگر در لحظه اجرا فايلی با اين نام باشد پيام خطا صادر می شود

دستورهای خروجی بر اساس فايل عباسپور 11 REPLACE: اگر فايلی از قبل با اين نام موجود باشد آن را Delete و فايل جديدی با همان نام ايجاد می کند اطلاعات قبلی بر روی اين فايل از بين می رود ُSCRATCH: در اين حالت وقتی دستور Close اجرا شود فايل حذف می شود برای استفاده موقتی از اطلاعات در داخل برنامه UNKNOWN: برای فايل های خروجی بکار می رود اگر از قبل موجود باشد آنرا باز کرده و اگر موجود نباشد آنرا ايجاد و باز خواهد کرد

دستورهای خروجی بر اساس فايل عباسپور ERR= Label همانطور که قبلاًً اشاره شد اگر در هنگام باز کردن فايل خطايي بروز کند کنترل به دستور با شماره Label می رود 3- IOSTAT=ivar در ارتباط با دستور ERR=Label می باشد. اگر در موقع باز کردن فايل خطايي بروز کند ivar به صورت زير مقدار می گيرد –اگر خطا بروز کند مقدار مثبت می گيرد –وقتی به انتهای فايل يا آخرين رکورد برسد مقداری منفی می گيرد –اگر دستور موفقيت آميز اجرا شود مقدار صفر

دستورهای خروجی بر اساس فايل عباسپور 13 مثال هايي از دستور OPEN OPEN (UNIT=10, FILE=‘data.out') OPEN (UNIT=11, FILE=‘data1.xls', & STATUS='NEW', ERR=10) CONTINUE WRITE(6,*) 'Error opening file: data1.xls' OPEN (UNIT=12, FILE='student.records', STATUS='OLD', & ERR=20) CONTINUE IF (ERR >= 0) THEN WRITE (6,*) 'Error opening file: student.records.' ENDIF STOP

دستورهای خروجی بر اساس فايل عباسپور 14 دستور بستن فايل ها Close با اين دستور اتصال برنامه با فايل مورد نظر در حين اجرای برنامه و يا در انتهای برنامه قطع می گردد. می توان با دستور Open ارتباط برنامه را با فايل ديگر و يا با همين فايل ولی با Option های ديگر بر قرار کرد اگر فايلی با دستور Close بسته شود و برنامه به هر دليلی قطع گردد اطلاعات موجود در فايل حفظ می شود فرم کلی: Close ([Unit=Unit_number], [ERR=label], & [STATUS=st]) St: می تواند Keep و يا Delete باشد. فايلی که به صورت SCRATCH باز شده است نمی تواند مقدار keep بگيرد

دستورهای خروجی بر اساس فايل عباسپور 15 مثال دستور Close CLOSE (10) CLOSE (UNIT=10, ERR=10) CLOSE (UNIT=NUNIT, STATUS='DELETE', & ERR=10)

دستورهای خروجی بر اساس فايل عباسپور 16 دستور های REWIND برگشت به اول رکورد در يک فايل BACKSPACE برگشت به يک رکورد قبل INCLUDE filename برای فايل هايي که حالت ورودی و خروجی ندارند حاوی عمدتاًً دستورات اعلان و ديگر دستورات غير اجرايي هستند

دستورهای خروجی بر اساس فايل عباسپور 17 مثال OPEN (UNIT=7, FILE=“test”, STATUS=“new”, IOSTAT& =m1, ERR=88) a=12.0;b=13.5c=14.7 WRITE (7,1) a, b, c 1 FORMAT (1x, 3f5.1) CLOSE (UNIT=7, STATUS=“keep”, IOSTAT =m2, & ERR=99) WRITE (*,2) 2 FORMAT (//, “file written successfully”) STOP 88 WRITE (6,3) m1 3 FORMAT (“Had trouble opening file, error code:”,I12) STOP 99 WRITE (6,4) m2 4 FORMAT (“Had trouble closing file, error code:”,I12) END

دستورهای خروجی بر اساس فايل عباسپور 18 با اجرای برنامه فايل test ايجاد می شود پس از اجرای برنامه در دايرکتوری اين فايل مشاهده خواهد شد اگر مجدداً برنامه را اجرا کنيد کنترل به دستور 88 می رود چون فايل test وجود دارد اگر در دستور CLOSE به جای keep از delete استفاده شود برنامه با مشکل مواجه نمی گردد اگر در دستور OPEN به جای NEW از Unknown استفاده شود چه تغييری حاصل می شود؟؟؟؟؟؟؟؟

دستورهای خروجی بر اساس فايل عباسپور 19 فایل پردازی در C File based Programming in C

دستورهای خروجی بر اساس فايل عباسپور 20 انواع فایل دودویی (باینری) –سرعت بالا (در مقایسه با پرینت) –حجم کمتر –امکان دسترسی تصادفی –حفظ امنیت داده ها متنی –امکان باز کردن در برنامه های ویرایش متنی مختلف –داده ها به دلخواه برنامه نویس مرتب می شوند –برای چاپ اطلاعات

دستورهای خروجی بر اساس فايل عباسپور 21 نحوه دستیابی به فایل ها دستیابی به یک فایل از طریق مراحل زیر –تعریف یک متغیر برای فایل –باز کردن فایل –خواندن و یا نوشتن در فایل –بستن فایل

دستورهای خروجی بر اساس فايل عباسپور 22 تعریف فایل استفاده از نوع داده ای به نام FILE –نوعی ساختار (زیر برنامه) است –در فایل سرآمد stdio.h اطلاعات موجود در ساختار FILE : –نام خارجی فایل (نام فایل در سیستم عامل) –نوع فایل (ورودی، خروجی، دودویی، متنی) –ادرس محل واسط بین برنامه و فایل –اشاره گر مکان فعلی فایل –وضعیت خطا ها در خواندن و نوشتن

دستورهای خروجی بر اساس فايل عباسپور 23 مراحل استفاده از فایل در برنامه 1.تعریف یک متغیر از نوع اشاره گر به ساختار فایل –مثال: FILE *inputFile; با این دستور متغیر inputFile که از نوع اشاره گر است به ساختار FILE تعریف می کند توجه: ازعملگر * برای تعریف اشاره گر استفاده می شود

دستورهای خروجی بر اساس فايل عباسپور باز کردن فایل –استفاده از تابع fopen : FILE* fopen (char fileName[ ], char [ ]); ارگومان این تابع حاوی دو رشته نویسه ای بعنوان پارامتر های ورودی است و یک اشاره گر به فایل را بعنوان خروجی باز می گرداند fileName رشته نویسه ای است که نام خارجی فایل را مشخص می کند. این رشته می تواند علاوه بر نام فایل مسیر فایل را نیز مشخص کند مثال: “C:\\myletters\\letter.txt” به علامت\\ توجه شود!!!

دستورهای خروجی بر اساس فايل عباسپور 25 پارامتر mode در تابع fopen رشته نویسه ای که نحوه باز کردن فایل را نشان می دهد –متشکل از دو بخش بخش اول تعیین کننده عملیات قابل اجرا بر روی فایل (خواندن و یا نوشتن) بخش دوم تعیین کننده نوع فایل است (باینری b و متنی t ). پیش فرض t است (متنی) رشتهعمل قابل اجراتوضیحات rخواندنفایل باید از قبل موجود باشد wنوشتنفایل جدید ایجاد می شود. اگر باشد اطلاعات ان از بین می رود aافزودن به انتهااگر فایل نباشد ایجاد ، اگر باشد به انتها اضافه می کند r+خواندن و نوشتنفایل باید موجود باشد w+نوشتن و خواندنفایل جدید ایجاد می شود. اگر باشد اطلاعات ان از بین می رود a+افزودن و خواندناگر فایل نباشد ایجاد ، اگر باشد به انتها اضافه می کند

دستورهای خروجی بر اساس فايل عباسپور 26 مثال باز کردن فایل FILE *inputFile; inputFile=fopen (“letter.txt”, “rt”); در این مثال فایل letter.txt بصورت متنی برای خواند باز می شود. حال می توان با استفاده از inputfile داده هایی را از این فایل خواند مثال: FILE *itemFile; itemFile=fopen (“C:\\data\\items”, “w+t”);

دستورهای خروجی بر اساس فايل عباسپور بستن فایل استفاده از تابع fclose بستن از طریق اشاره گر تعریف شده برای آن صورت می گیرد FILE *inputFile; ……… ………. fclose (inputFile); اگر فایل بسته نشود پس از خاتمه برنامه خود بخود بسته می شود. اگر برنامه به هر دلیلی قطع شود اطلاعات آن ممکن است ناقص و یا دچار اشکال شود

دستورهای خروجی بر اساس فايل عباسپور ورودی و خروجی از فایل (خواندن و نوشتن) نوشتن بر روی فایل –استفاده از تابع fprintf با فرم کلی زیر fprintf (,, ); مثال: FILE *outPut; outPut=fopen (“data.txt”, “wt”); fprintf(outPut, " %d\n",grade);

دستورهای خروجی بر اساس فايل عباسپور 29 مثال نوشتن # include void main() { FILE *outFile; int i, n,sum; outFile= fopen ("sales.txt","wt"); if (!outFile) { printf("can't open file"); return; } printf("enter the upper limit") ; scanf("%d", &n); sum=0; for (i=0;i<=n ; i++){ sum=sum+i fprintf(outFile, " %d\n",sum); } fclose (outFile); } این برنامه میزان فروش شرکتی را در طی سال از طریق صفحه کلید دریافت و در یک فایل ذخیره می کند

دستورهای خروجی بر اساس فايل عباسپور 30 خواندن خواندن از روی فایل –استفاده از تابع fscanf با فرم کلی زیر fscanf (,, );

دستورهای خروجی بر اساس فايل عباسپور 31 مثال خواندن # include void main() { FILE *inFile; int sales, counter=0; float average=0.0 inFile= fopen ("sales.txt",“rt"); if (!inFile) { printf("can't open file"); return; } printf(“calculation of average sale") ; while (!feof (inFile)) { average+=sales; counter++; fscanf(inFile,"%d", &sales); } fclose (inFile); average/=counter; printf (“average= %f”, average); } اگر فایل موجود نباشد اجرا می شود تابع feof دارای ارگومانی از نوع اشاره گر به فایل است در صورتی که اشاره گر به انتهای فایل برسد مقدار درست (غیر صفر) و در غیر اینصورت مقدار نادرست (صفر) را باز می گرداند