Решения (задачи 105-130)
Задача 128
{ Проверка умения складывать и вычитать числа. } uses Crt; var numb1,numb2:integer; { числа } op:integer; { Действие над числами 0 – сложение, 1 – вычитание } sop: char; { знак операции – "плюс" или "минус" } res:integer; { Результат } otv:integer; { Ответ испытуемого } kol:integer; { Количество правильных ответов } buf:integer; { буфер для обмена numbl и numb2, в случае, если numbl<numb2 } i: integer; { счетчик циклов } begin ClrScr; writeln('Проверка умения складывать и вычитать числа.'); writeln('После примера введите ответ и нажмите Enter.'); 106 l: = 0; Randomize; for i: = l to 10 do begin { сгенерируем пример } numb1: = Random(9)+1; { первое число } numb2: = Random(9)+1; { второе число } op: = Random(2); (действие над числами } if op=0 then begin { сложение} res: = numbl+numb2; sop: = '+'; end else begin { Вычитание } if numbl < numb2 then begin { обменяем numbl и numb2} buf: = numb2; numb2: = numbl; numbl: = buf; end; res: =numbl-numb2; end; write(' ',numbl,sop,numb2,'='); { вывести пример } readln(otv); { получить ответ испытуемого } if otv = res then kol: = kol+l else begin writeln(' Вы ошиблись! ',numbl,sop,numb2,'=',res); end; end; writeln(' Правильных ответов:',kol); write(' Ваша оценка:'); case kol of 10: writeln(?5'); 9.8: writeln(l4l); 7.6: writelrK'31); 0..5:writeln('2'); end; writeln ('Для завершения работы с программой нажмите Enter'); readln; end.
Задача 129
{ Простые электронные часы } uses Crt; { используем процедуры и функции библиотеки Crt } var min,sec: integer; { минуты, секунды } begin ClrScr; { очистить экран } for min: = l to 3 do begin for sec: = l to 60 do begin Delay(lOOO); { задержка 1000 ms } GotoXY(l,l); { установить курсор в 1-ю колонку 1-й строки) write(min,':',sec,' '); if KeyPressed (если нажата клавиша } then HALT; { завершить программу } end; end; end.
Задача 130
{ Вычисление среднего арифметического последовательности положительных чисел } var а: integer; { число, введенное с клавиатуры } n: integer; { количество чисел } s: integer; { сумма чисел } m: real; { среднее а=0; writeln('Вычисление среднего арифметического последовательности положительных чисел.'); writeln('Вводите после стрелки числа. ', 'Для завершения ввода введите ноль.'); repeat write C> '); readln(a); s: = s+a; n: = n+l; until a <= 0; n: = n-l; writeln('Введено чисел:',n); writeln('Сумма чисел: ',s); m: = s/n; writeln('Среднее арифметическое: ',m:6:2); writeln('Для завершения работы программы нажмите Enter'); readln; end.