Паскаль. Кіріс, шығыс файлдары
Миржан Темірбеков. Семей облысы, Өскемен қаласы
Ең алдымен информатика пәнінен олимпиадға қатыспас бұрын сіз текстік файлдармен жұмыс істеп үйренуіңіз керек, бұл қиын емес оны төмендегі мысалдан оқып көре аласыздар. Оны сіз олимпиадаға келмей тұрып пысықтап көріп тексеріп алғаныңыз жақсы. Егер олимпиадаға бірінші рет қатысқалы тұрсаңыз оны олимпиада архивтерінен, сайттарынан қарап қалай шешілетінін пысықтап қарап алғаныңыз абзал.
Сіздің программаңыз ешқандай жазуды экранға немесе клавишаны басуды, тағы да басқа қорытындыны тосып тұрмауы керек. Оны іске қосқанда ол ашылып қайта жабылып қалуы керек. Өйткені тапсырманы ол файлдан ашып оқып қорытындысын шығыс файлына жазады да жабылып қалады.
Ең қарапайым есептің шығарылуын қарастырайық. Мысалы a+b осы екі санның қосындысын табу керек болатын программа құру керек.
Мысал:
a.in | a.out |
5 1 | 6 |
6 5 | 11 |
Ең алдымен ол оңай есеп болсын қиын есеп болсын берілгенін жақсылап тусінгенше оқу керек. Сосын оның шығарылу формуласын және формасын құруымыз керек.
Мысалы ең қарапайым турмен шығарып аламыз:
program A;
var x, a,b: integer;
begin
Write(‘a,b= ’); Readln(a.b);
X:=а+b;
Writeln(‘x= ’, x)
end.
Қарапайым түрі осылай болады енді оны кіріс файлынан оқып, шығыс файлын жасап соның ішіне қорытындысын жазатын программаға айналдыруымыз керек.
program A;
var F,G:text; - кіріс, шығыс файлын текстік түрмен аламыз
x, a,b: integer;
begin
assign(f,’A.in’); { f айнымалыны a.in файлымен байланыстырамыз}
reset(f) ; { f айнымалымен байланысқан файлды оқу үшін ашамыз }
read(f, a,b); {f айнымалысымен байланысқан файлды ашып оқимыз}
close(f); {Файлды жабамыз}
X:=a+b; {Тапсырманы шешеміз }
assign(g,’a.out’); { g айнымалысын a.out файлымен байланыстырамыз}
Rewrite(g); { g айнымалымен байланысқан файлды жазу үшін ашамыз }
Writeln (g,x) ; {Файлға қорытындысын жазамыз}
close(g); {Файлды жабамыз}
end.
Кіріс файлы A.in ді сол программа жұмыс істеп тұрған жерге создать етеміз де оның ішіне сандарын жазып сақтап қоямыз. Ал a.out ты программа жазып шығарады да ішін ашып қорытындысын жазады.
Ұқсас тақырыптар:
- ІІ-тур. Информатикадан 2011-2012 жылғы аудандық олимпиадасы, 2-этап.
- I-тур. Информатикадан 2011-2012 жылғы аудандық олимпиадасы, 2-этап, 5 сағат (2012 облыстық І-тур)..
- Pascal-да программалар: 2-лік->10 сан, 10-дық->2 сан, 4 амал, Қазақша жыл.
- Информатика. Аудандық олимпиада есептерінің шығарылуы, II этап, 2008-2009
- 2008-2009 Олимпиада есептері шешулерімен.
- Қалалық олимпиада тапсырмалары 2012.
- Информатикадан мектеп олимпиадасы 2011-2012
- Repeat және While циклдік операторлары
- Информатика бойынша олимпиада есептерінің шығарылуы, II этап, 2009-2010.
- Паскаль. «Бақытты билет», Бүтін санды жай көбейтінділерге бөлшектеу, ASCII таблицасын шығару, Фамилияларды сұрыптау, Хоар процедурасы
ммммммммм тым карапайым есеп((
Бұл жерде мәселе есепте емес, кіріс, шығыс файлда ғана болып түр менімше.