Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
informatika_kolonki__1.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
250.88 Кб
Скачать

37.Алго. Введення значень змінних з клавіатури. Введення з клавіатури та виведення двовимірних масивів.

Текстові файли. Ввід даних з клавіатури

для введення даних з клавіатури передбачений спеціальний рядок символів, який називається буфером введення. Під час запуску програми на виконання буфер введення порожній. Коли зустрічається перший Read, виконання програми припиняється доти, поки користувач не введе з клавіатури в буфер рядок символів, завершивши його натисканням Enter. До натискання цієї клавіші користувач може перевіряти і виправляти рядок. Виконання програми поновлюється, а ввід здійснюється з буфера доти, поки не буде прочитаний останній символ, який міститься в ньому. Коли даних не вистачає, то система очікує вводу в буфер нового рядка. Таким чином, введення з клавіатури повністю аналогічне введенню з файлу, тільки при цьому кожний рядок вводиться користувачем.Наприклад, якщо при виконанні фрагменту програми Read ( a ); WriteLn ( 'A=', a );Read ( b );WriteLn ( 'B=', b ); ввести два числа одразу, то програма не очікуватиме вводу другого числа, а введе його з буфера, Program NoName; Var a: array [1 ..9,1 ..9 ] of integer; i,j,k:integer; Begin for i:=1 to 9 do Begin for j:=1 to 9 do Begin a [i,j]:=random (10); Write( a [i,j]:2 ); end; WriteLn; end; for i:=1 to 9 do for j:=1 to 9 do Begin k:= a [i,j]; a [i,j]:= a [j,i]; a[j,i]:= k; end; Begin for i:=1 to 9 do Begin for j:=1 to 9 do Write( a [i,j]:2 ); WriteLn; end; end; end.

38.Алго. Процедури randomize та функція random. Призначення та приклади використання.

Функція random. Функція random використовується для вибору значення цілого випадкової змінної, розподіленого за рівномірним розподілом. Синтаксис:ціла_змінна:=random(ціле_число)де ціла_змінна – змінна цілого типу, у яку буде записано випадкове ціле значення, ціле_число – верхня границя випадкових значень. Після запуску цієї функції цілій змінній буде присвоєно випадкове значення у діапазоні від 0 до ціле_число-1. У багатьох випадках потрібно використовувати числа, значення яких вибрані випадково із заданого діапазону. З цією метою використовують функцію Випадкове, яку можна використовувати з аргументом, або без аргументу:Function Random : real…Function Random ( x )Якщо функцію Випадкове вживати без параметра, то результатом є дійсне випадкове число в діапазоні [0 , 1]. У варіанті з фактичним параметром, яким може бути вираз дійсного або цілого типу, результат має такий самий тип, як аргумент, а його значення належить до діапазону [0 , x]. Зрозуміло, що комп'ютер випадково нічого не робить. "Випадкові" числа насправді генеруються за спеціальним алгоритмом на основі цілого деякого числа. Це число утворюється автоматично з показів системного годинника у момент запуску програми на виконання, тому під час кожного виконання тої самої програми генерується інша послідовність випадкових чисел. Якщо потрібно, щоб послідовність завжди була однаковою, звертаються до процедури СтартГенер:Procedure Randomize( x : integer).Параметром процедури СтартГенер є ціле число, на основі якого генеруються випадкові числа.

39.АЛГО. Відкривання текстового файлу для читання. Приклад зчитування інформації з файлу та виведення його на екран по рядкам.

for ‑ to – do

repeat – until

while ‑ do

Через те, що загальна кількість ітерацій (у нашому випадку кількість рядків файлу c:\a.txt) невідома, цикл for – to – do використати неможливо (або досить складно).

Repeat

    readln(f,s);

    ListBox1.Items.Append(s);

until eof(f);

closefile (f);

while not eof(f) do

    begin

          readln(f,s);

          ListBox1.Items.Append(s);

    end;

closefile (f);

У цьому прикладі використовувати можна тільки цикли repeat – until та while – do, причому якщо відомо, що у файлі є хоч один рядок, то можна використовувати обидва цикли, а якщо ж ця інформація – відсутня, то тільки цикл while ‑ do;

Program NoName;

Var

t : text;

n, f : string;

Begin

n := 'C:\TEXT\a.txt';

Assign( t,n );

Reset( t );

repeat

ReadLn( t,f );

WriteLn( f );

until eof ( t );

close ( t );

end.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]