Фонд Освітніх та Інформаційних Технологій


Скачати 116.76 Kb.
Назва Фонд Освітніх та Інформаційних Технологій
Дата 15.06.2013
Розмір 116.76 Kb.
Тип Документи
bibl.com.ua > Інформатика > Документи

Фонд Освітніх та Інформаційних Технологій

Рішення (Частина 3)

Завдання 105

( Обчислення суми ряду 1+1/2+1/3+ ... }
var
n: integer; { к-ть підсумовуваних членів ряду }
i:integer; { номер елементу ряду }
elem:real; { значення елементу ряду }
summ:real; { сума елементів ряду }
begin
writeln('Обчислення часткової суми ряду 1+1/2+1/3+...');
writeln('Введіть к-ть підсумовуваних членів ряду');
write('->');
readln(n);
suinm:=o;
for i:=1 to n do
begin
elem:=l/i;
summ: =suimH-elem; end;
write('Сума перших *,n); writeln(' членів ряду рівна ', suram: 6: 4); readln;
end.


Завдання 106

{ Таблиця ступенів двійки } vax
n: integer; { показник ступеня } x: integer; { значення 2 в ступені п } begin
writeln('Таблиця ступенів двійки'); х:=1;
for n:=0 to 10 do begin
writeln(n:2,x:6); x:=x*2; end; readln; end.


Завдання 108

{ Таблиця функції } const
Lb=-2; { нижня межа діапазону зміни аргументу }
Нв=2; { верхня межа діапазону зміни аргументу }
Dx=0.5; { приріст аргументу } var
х,у: real; { аргумент і значення функції }
n: integer; { к-ть крапок }
i: integer; { лічильник циклів }96 in
n:=round((HB - LB)/DX)+1;
x:=lb;
writelnc-------------------') ;
writeln(' x I у');
writeln('-------------------');
for i:=1 to n do begin
y:=-2.4*x*x+5*x-3; writeln(x:8:2', I ',y:8:2); x:=x+dx; end;
writelnc-------------------') ;
readln; end.


Завдання 111

{ Обчислює середнє арифметичне послідовності
дробових чисел, що вводиться з клавіатури } const
L=5; { довжина послідовності } var
а: real; { число }
n: integer; { к-ть введених чисел } sum: real; { сума введених чисел }
sred: real; { середнє арифметичне введених чисел } begin
writeln('Обробка послідовності дробових чисел'); writeln('Після введення кожного числа натискайте '); sum:=0;
for n:=l to L do begin
write('->'); readln(a); sum:=sum+a; sred:=sum/n;
writelnf'введено чисел:',п:3, ' Сума: ', sum:6:2 ' Сред.аріфметічеськоє:',sred:6:2); end;
writeln('Для завершення роботи програми натисніть '); readln; end.


Завдання 112

{ Обчислює середнє арифметичне і визначає
мінімальне і максимальне число послідовності
дробових чисел, що вводяться з клавіатури } var
а: real; { чергове число }
n: integer; { кількість чисел }
sum: real; ( сума введених чисел }
sred: real; { середнє арифметичне }
min: real; ( мінімальне число послідовності }
max: real; { максимальне число послідовності }
i: integer; { лічильник циклів }
begin
writeln('Обробка послідовності дробових чисел.'); write ('Введіть кількість чисел послідовності ->'); readln(п);
writeln('Вводите послідовність.'); writeln('Після введення кожного числа натискайте '); write('->');
readln(a); { вводимо перше число послідовності } { припустимо, що:}
min:=a; { перше число є мінімальним } шах:=а; { перше число є максимальним } sum:=a;
{ введемо решту чисел } for i:=l to n-1 do begin
write('->');
readln(a);
sum:=sum+a;
if а < min then min:=a;
if а > max then max:=a; end; sred:=sum/n;
teln('Кількість чисел:*,п); writeln('Середнє арифметичне:',sred:6:2); writeln('Мінімальне число:',min:6:2); writeln('Максимальне число:',шах:б:2);
writeln('Для завершення роботи програми натисніть '); readln; end.


Завдання 114

( Генерує три послідовності випадкових чисел і обчислює середнє арифметичне кожній послідовності } const
N=3; { к-ть послідовностей } L=10; { довжина послідовності ) var
г: integer; ( випадкове число } sum: integer; { сума чисел послідовності } sred: real; ( середнє арифметичне } i,j: integer; { лічильники циклів } begin
writeln('Випадкові числа');
Randomize; { ініціалізація генератора случ. чисел } for i:=l to N do begin
{ генеруємо послідовність } sum:=0; { не забути обнулити ! } for j:=1 to L do begin
r:=random(10)+1; write(r:3); sum:=sum+r; end;
sred:=sum/l;
writeln(' Сред.аріфм.: ',sred:6:2); end;
writeln('Для завершення роботи програми натисніть '); readln; and.


Завдання 116

( Таблиця функції у»|х| } const
Lb=-4; { нижня межа діапазону зміни аргументу } Нв=4; ( верхня межа діапазону зміни аргументу } Dx=0.5; { приріст аргументу } var
х,у: real; { аргумент і значення функції } n: integer; ( к-ть крапок } 1: integer; { лічильник циклів } begin
writeln('Таблиця значень функції у=iхi '); n:=round((НВ - LB)/DX)+1; x:=lb;
for i:=l to n do begin
y:=abs(x);
writeln(x:6:2,y:6:2); x:=x+dx; end; readln; end.


Завдання 119

{ Вьшодіт таблицю множення на 7 } var
m: integer; { число, для якого треба вивести таблицю множення (множене) }
n: integer; { множник }
р: integer; { твір } begin
m:=7;
for n:=l to 10 do
begin
p:=ra*n;
writeln(m,'x',n' =', p);
end;
readln; { щоб результат не зникав з екрану } end.


Завдання 120

( Перетворення десяткового числа в двійкове } var
dec:'integer; { десяткове число }
v: integer; { вага формованого розряду }
i: integer; { номер формованого розряду } begin
writeln('Перетворення десяткового числа в двійкове');
writeln('Введіть ціле число від 0 до 255 і натисніть ',
''); write('->'); readln(dec);
write('Десятковому числу ',dec', відповідає двійкове '); v:=128; { вага старшого розряду } for i:=l to 8 do begin
if dec >= v then begin
write('1'); dec:=dec-v; end
else write('0'); v:=round(v/2); { вага наступного розряду в два рази }
{ менше ваги поточного розряду } end; readln; end.


Завдання 121

{ Виводить на екран квадрат Піфагора - таблицю множення. } var
i,j: integer; { номер рядка і стовпця таблиці }
р: integer; { твір i на j } begin
write('':4); { ліва верхня клітка таблиці }
for j:=l to 10 do { перший рядок - номери стовпців } write(j:4);
writeln;
for i:=l to 10 do 101
begin
write(i:4); { номер рядка } for j:=l to 10 do { рядок таблиці }
write(i*j:4); writeln; end;
readln; { щоб результат не зникав з екрану } end.


Завдання 122

{ Обчислення суми ряду 1 -1/3 + 1/5 - 1/7 + ... } var
х: real; { член ряду }
n: integer; { кількість підсумовуваних членів } summ: real; { часткова сума } i: integer; { лічильник циклів } begin
writeln('Обчислення суми ряду 1 -1/3 + 1/5 - 1/7 + ...'); write('Введіть к-ть підсумовуваних членів ряду ->'); readln(п); summ:=0;
for i: = 1 to n do begin
x:=l/(2*i - 1); if (i mod 2) = 0 then x:=-l*x; summ:=summ+x; end;
writeln('Сума ряду: ',summ:8:6);
writeln('Значення pi/4 ',pi/4:8:6); { pi - іменована
константа } readln; end.


Завдання 123

{ Наближене обчислення інтеграла методом прямокутників } var
а,b: real; { межі відрізання }
dx: real; ( приріст аргументу (величина інтервалreal; { наближене значення інтеграла} n: integer; { кількість інтервалів } х: real; { аргумент }
у: real; { значення функції на початку інтервалу } 1: integer; begin
writeln('Наближене обчислення інтеграла');
write('Нижня межа відрізання -> ');
readln(a);
write('Верхня межа відрізання -> ');
readln(b);
write('Приріст аргументу -> ');
readln(dx);
n:=round((b-a)/dx);
x: =a ;
s:=0;
for i:=l to n do
begin
y:=5*x*x-x+2; { значення функції на початку інтервалу }
s:=s+y*dx;
x:=x+dx; end;
writeln{'значеніє інтеграла: *,s:9:3);
writeln('Для завершення роботи програми натисніть '); readln; end.


Завдання 124

{ Наближене var
а,b: real;
dx: real;
s: real; n: integer; x: real; yl,y2: real;
i: integer;
обчислення інтеграла методом трапецій }
{ межі відрізання }
{ приріст аргументу (величина інтервалу)}
{ наближене значення інтеграла} { кількість інтервалів } { аргумент }
{ значення функції на початку і в кінці інтервалу }
begin
writeln('Наближене обчислення інтеграла1);
write('Нижня межа відрізання -> ');
readln(a);
write('Верхня межа відрізання -> ');
readln(b);
write('Приріст аргументу -> ');
readln(dx);
n:=round((b-a)/dx);
x: =a;
s:=0;
for i:=l to n do
begin
yl:=5*x*x-x+2; { значення ф-і на початку інтервалу }
x:=x+dx;
у2:=5*х*х-х+2; { значення ф-і в кінці інтервалу }
s:=s+(yl+y2)*dx/2; end;
writeln('Значення інтеграла: ',8:9:3);
writelnf'для завершення роботи програми натисніть '); readln; end.


Завдання 126

{ Перетворення десяткового числа в двійкове } var
dec: integer; { десяткове число }
v: integer; { вага формованого розряду }
i: integer; { номер формованого розряду } begin
writeln('Перетворення десяткового числа в двійкове');
writeln('Введіть ціле число від 0 до 255 і натисніть ', '');
write('->');
readln(dec);
write('Десятковому числу ',dec', відповідає двійкове ');
v:=128; { вага старшого (восьмого) розряду )
for i:=l to 8 do
in
if dec >= v then begin
write('1');
dec:=dec-v; end else write('0');
v:=round(v/2); { вага наступного розряду в два рази менша }
end;
readln; end.


Завдання 127

( Програма перевіряє знання таблиці множення }
uses Crt;
var
numbl, пшть2:integer; { Перше і* друге число }
res:integer; ( Результат множення першого числа на друге }
otv:integer; { Відповідь випробовуваного }
kol:integer; { Кількість правильних відповідей }
i:integer;
begin
Clrscr; { очистити екран }
writeln(' *** Перевірка знання таблиці множення ***•);
writeln(' Після прикладу введіть відповідь і натисніть .');
writeln;
kol:=0; ( правильних відповідей )
Randomize; ( ініціалізація генератора випадкових чисел }
for i:=l to 10 do { 10 прикладів }
begin
numbl:=random(9)+ 1;
numb2:=random(9)+1;
res:=numbl * numb2;
write(' (,numbl,'x',numb2,'=');
readln(otv);
if otv=res
then
kol:=kol+l else begin
writeln(' Ви помилилися! ',numbl,'*',numb2,'=',res);
end; end;
writeln(' Правильних відповідей:',kol); write(' Ваша оцінка: '); case kol of
10: writelnс51); 9,8: writeln('4'); 7,6: writeln('3'); 0..5:writeln('2') ; end;
writeln(' Для завершення роботи з програмою натисніть ');
readln; end.


Завдання 128

{ Перевірка уміння складати і віднімати числа. } uses
Crt;
var
numbl,numb2:integer; { числа }
op:integer; { Дія над числами 0 - складання
1 - віднімання }
sop: char; { знак операції - "плюс" або "мінус" } res:integer; { Результат } otv:integer; { Відповідь випробовуваного } kol:integer; { Кількість правильних відповідей }
buf:integer; { буфер для обміну numbl і numb2, у випадку, якщо numbl
i: integer; { лічильник циклів }
begin
Clrscr;
writeln('Перевірка уміння складати і віднімати числа.');
writeln('Після прикладу введіть відповідь і натисніть .');
106
l:=0;
Randomize;
for i:=l to 10 do
begin
{ згенеруємо приклад }
numbl:=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; writelnc Для завершення роботи з програмою натисніть
'); 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 а <= 0; n:=n-l;
writeln('Введено чисел:',n); writeln('Сума чисел: ',s); m := s/n; writeln('Середнє арифметичне: ',m:6:2);
writeln('Для завершення роботи програми натисніть ');
readln;
end.


Завдання 131

( Визначення максимального числа послідовності позитивних чисел }
var
а : integer; { чергове число } m : integer; { максимальне число } begin
write('Визначення максимального числа');
writeln('послідовності позитивних чисел.');
writeln('Вводите після стрілки числа. ',
'Для завершення введення введіть нуль.'); т:=0; repeat
write('> ');
readln(a);
if а > т then m := а; until а <= 0; writeln('Максимальне число: ',т);
завершення роботи програми натисніть ');
readln;
end.


Завдання 132

{ Перевірка, чи є введене з клавіатури
ціле число простим } program prost; var
n: integer; d: integer; r: integer; begin
write('Введіть ціле число-> ');
readln(n);
d:=2; { спочатку ділитимемо на два }
repeat
r:=n mod d;
if r<>0 ( n не розділилося без остачі на d }
then d:=d + 1;
until r=0; { поки не знайшли число, на яке ділиться п ) if d=n
then writelnf n', - просте число. ') else writeln(n', — не просте число.');


Завдання 134

{ Гра "Вгадай число" } const
Npop=5; { кількість спроб, що надається гравцеві } var
comp: integer; { число, "задумане" комп'ютером }
igrok: integer; { варіант гравця }
n: integer; { к-ть спроб, зроблена гравцем } begin
Randomize; { ініціалізація генератора випадкових чисел }
comp:=random(9)+1; { комп'ютер задумав число }
110
teln('Гра "Вгадай число". ');
writeln('Комп'ютер "задумав" число від 1 до 10.');
writeln('Вгадайте його за ',npop', спроб.');
writeln('Введіть число і натисніть .');
repeat
n:=n+l;
write('->');
readln(igrok);
until (n = NPOP) or (comp = igrok); if comp = igrok
then writeln('Ви виграли!')
else writeln('Ви програли! Комп'ютер задумав число ',
comp); readln;
end.


Завдання 135

{ Таймер )
uses Crt;
var .
mm, sec: integer; { затримка: хвилин і секунд } begin
writeln('Введіть величину затримки в хвилинах і секундах');
writeln('наприклад 2 30 і натисніть .');
write('->');
readln(min,sec);
Clrscr;
GOTOXY(2,2);
write(min':',sec', ');
repeat
if sec = 0 then begin
min:=min-l;
sec:=60; end; repeat
Delay(1000);
sec:=sec-l;
GOTOXY(2,2); { затримка 1 сік } write(min':',sec', '); if Keypressed { якщо натиснута клавіша } then Halt; { завершити програму } until sec = 0; until (min = 0) and (sec = 0);
{ звуковий сигнал }
Sound(1000); { включити звук - сигнал частотою 1000 герц} Delay(500);
Nosound; { вимкнути звук} end.


Завдання 136

{ обчислюване значення ПІ }
{ точність обчислення }
{ номер члена ряду }
{ значення члена ряду }
{ Обчислення числа "ПІ" var
p:real;
t:real;
n:integer;
elemrreal; begin
p:=0;
n:=l;
elem:=l; { початкове значення}
write('Задайте точність обчислення ПІ-> ');
readln(t);
writeln('Обчислення ПІ з точностью',t:9:6);
while elem >= t do
begin
elem:=l/(2*n-l); if (n MOD 2) = 0
then p:=p-elem else p:=p+elem; n:=n+l;
end;
p:=p*4;
writeln('Значення ПІ з точностью',t:9:б', равно1,р:9:6);
writeln('Підсумоване ',п', членів ряду.');
readln; end.


Завдання 137

{ Обчислення найбільшого загального дільника двох цілих чисел }
var
nl,n2:integer; { числа, НОД яких треба знайти } nod:integer; { найбільший обший дільник } г:integer; { залишок від ділення nl на п2 }
begin
writeln('Обчислення найбільшого загального делітеля1);
writeln('для двох цілих чисел.');
write('Введіть в одному рядку два числа ');
writeln('і натисніть ');
write('->');
readln(nl,n2);
while (nl mod n2) <>0 do
begin
r:=nl mod n2; { залишок від ділення} nl:=n2; n2:=r;
end;
nod:=n2;
writelncнод чисел ',nl', і ',п2', це ',nod); readln;


Завдання 138

{ Вітання } var
name: string[40]; { ім'я користувача } begin
writelnc Як Вас звуть?');
writeln('(введіть своє ім'я і натисніть ');
write('->');
readln(name);
writeln('Здрастуйте, ',name'!');
readln; end.


Завдання 139

{ Посимвольне виведення повідомлення ) uses
Crt; { для доступу до процедури Delay } var
msg: string[80]; ( повідомлення } n: integer; ( номер символу, що виводиться } begin
msg:='пріветствую великого програміста! '; for n:=1 to Length(msg) do begin
write(msg[n]);
Delay(loo); { затримка 0.1 сік } end; readln; end.


Завдання 140

{ Виводить код введеного символу } var
sim: char; { символ } code: integer; ( код символу } begin
writeln('Введіть символ і натисніть .');
writeln('Для завершення роботи програми введіть крапку.');
repeat
write('->'); readln(sim); code:=ord(sim);
writeln('Символ: *,sim, ' Код: ',code); until sim = '.';
end.


Завдання 141

{ Виведення таблиці кодування символів } var
ch:char; { символ }
dec:integer; { десятковий код символу }
i,j:integer;
114
in
dec:=o;
for i:=0 to 15 do ( шістнадцять рядків } begin
' dec:=i; { щоб отримати таблицю кодування} { для символів з кодами 128-255 } { цю інструкцію треба ) { замінити на dec:=i+128;} for j:=l to 8 do { вісім колонок } begin
if(dec<7) or (dec>=14> then
write(dec:4, '-' ' ',
chr(dec):l,chr(179)) else { символи Cr,lf,tab не відображаються }
write(dec:4,'- ',chr(179)); dec:=dec+16; and;
writeln; { перехід до нового рядка екрану } end; readln; end.


Завдання 142

var
st: string[80]; { рядок тексту } len: integer; { довжина рядка } i: integer; { номер оброблюваного символу ) begin
writeln('Введіть рядок тексту і натисніть '); write('->'); readln(st); len:=length(st); for i:=l to len do
case st[i] of
•a'..'n': st[i]:=chr(ord(st[i])-32); 'р'-.'я1: st[i]:=chr(ord(st[i])-80);
end;
writeln('Рядок, перетворений до верхнього регістра: writeln(st); );
readln; end.


Завдання 143

{ Видалення початкових пропусків рядка } var
st:string[80]; { рядок } begin
writeln('Видалення початкових пропусків строки.1);
write('Введіть рядок:');
readln(st);
while (post1 ',st) = 1) and (length(st) >0) do delete(st,1/1);
write('Рядок без початкових пропусків:',st);
readln; end.


Завдання 144

( Перевірка, чи є введений
з клавіатури рядок цілим числом } var
st: string[40]; { рядок }
n: integer; { номер символу, що перевіряється } begin
writeln('Введіть число і натисніть ');
write('->');
readln(st);
n:=l;
while (n <= Length(St)) and
((st[n] >= '0') and (st[n] <-'9')) do n:=n+l;
write('Введений рядок '); if n < Length(st)
then write('не '); writeln('є цілим числом. '); readln; end.


Завдання 146

{ перевіряє, чи є введений рядок
шестнаддатерічним числом } var
st: string[20]; { рядок }
i: integer; { номер символу, що перевіряється }
error: boolean; { у рядку є невірний символ } begin
writeln('Введіть шістнадцятиричне число і натисніть ');
write('->');
readln(st);
{ перетворимо введений рядок до верхнього регістра for i:=l to Length(st)
do st[i]:=UpCase(st[i]);
error:=false;
while (i <= Length(st)) and fnot error)
do if ((st[i] >= '0') and (st[i] <= '9')) or
((st[i] >= 'a') and (st[i] <= 'f')) then i:=i+l else error:=true;
write('Рядок '); if error
then write('не ');
writeln('є шістнадцятиричним числом. '); readln; end. { перевіряє, чи є введений рядок дробовим числом без знаку }
var
st: string[20]; { рядок }
i: integer; { номер символу, що перевіряється }
err: boolean; { TRUE - рядок не дробове число }
begin
writeln('Введіть дробове число і натисніть ');
write('->');
readln(st);
i:=l;
err:=true; { хай рядок - не дробове число }
if (st[i] >='l') and (st[i] <='9') then { перший символ
цифра )
begin
{ за цифрою можливо следут ще цифри } while (st[i] >='l') and (st[i] <='9') and (Klength(st))
do i:=i+l;
{ за цифрами слідує крапка, але вона не останній символ } if ((st[i]= '.') and (i < Length(st))) then { крапка } begin
{ за крапкою повинна бути хоч би одна цифра } if ((st[i] >='l') and (st[i] <='9')) then begin
while ((st[i] >='l') and (st[i] <='9') and (Klength(st)) ) do i:=i+l;
if i= Length(st) { останній символ — цифра} then err:=false; { припущення
про помилку помилково } •nd; end; end;
write('Рядок '); if err
then write('не ');
writeln('є дробовим числом.'); readln; end.


Завдання 148

{ Програма перетворить введене з клавіатури двійкове восьмирозрядне число в десяткове } var
bin: string[8]; { зображення двійкового числа }
: integer; { десяткове число }
г: string[1]; { i-й розряд двійкового числа }
v: integer; ( вага i-ro розряду двійкового числа }
i: integer; { номер розряду двійкового числа }
in
writeln('Введіть восьмирозрядне двійкове число');
writeln('n натисніть .');
write ('->');
readln(bin);
if Length(bin) <> 8 then
writeln('Число повинне бути восьмирозрядним.') else begin dec:=0;
v:=128; {вага старшого (8-го) розряду двійкового числа } for i:=l to 8 do begin
r:=bin[i]; { виділити i-й розряд } if г = 'I1 then
dec:=dec+v; t
v:=round(v/2); { обчислити вагу наступного розряду } end;
write('Двійковому числу ',bin'); writeln(' відповідає десяткове ',dec); end;
writeln('Для завершення роботи програми натисніть .');
readln;


Завдання 149

var
st: string[2]; { шістнадцятиричне число }
d: integer; { десяткове число, відповідне
введеному шістнадцятиричному }
v: integer; { вага розряду шістнадцятиричного числа } 1: integer; begin
writeln('Введіть дворозрядне шістнадцятиричне число 'і натисніть .');
write('->'); readln (st);
{ перетворимо введений рядок до верхнього регістра } for i:=l to Length(st)
do st[i]:=UpCase(st[i]);
i:=length(st); { обробляємо з молодшого розряду } v:=l; {і його вага рівна одиниці }
while (i>0) and
(((st[i] >= '0') and (st[i] <= '9')) or
((st[i] >= 'a') and (st[i] <= 'f'))) do begin
{ тут символ - цифра або
латинська буква від А до F) if (st[i] >= '0') and (st[i] <= '9') then d:=d + v * ( Ord(st[i])-48 )
{ Ord('o')= 48, Ord('l')= 49, і так далі } else d:=d + v * (Ord(st[i]) - 55);
{ Ord('a')= 65, Ord('b')= 66, і так далі }
i:=i-l; { до попереднього розряду } v:=v*16;
end;
if i=0 { оброблені всі розряди }
then writeln('Шістнадцятиричному числу ',st
' соответствує десяткове ',d) else writeln('Введений рядок немає ',
'шеснадцатерічної цифрою.');
readln; end.


Завдання 150

{ Програма перетворить десяткове число
в число у вказаній користувачем системі числення (від 2-х до 10-ти) )
uses Crt;
о:integer; n:integer; г:integer;
s:string[16]
{ Підстава системи числення }
{ Початкове число }
{ Залишок від ділення числа на підставу
сист. счисл. } { Представлення числа в заданій
сист. счисл. }
buf:string[1]; begin
Clrscr;
write('Введіть ціле число -> '); readln(n);
write('Введіть підставу системи числення -> '); readln(o); s: = " ;
{ ділимо початкове число на підставу системи числення до тих пір, поки залишок від ділення більше підстави системи числення. Залишок від ділення на кожному кроці - чергова цифра. } repeat
r:=n mod про; n:=n div про; Str(r,buf); s:=buf+s; until(n
( чергова цифра } { ціла частина ділення } ( перетворення цифри в рядок}
( Програма перетворить десяткове число
в шістнадцятиричне } uses Crt;
var
n:integer; { Початкове число }
r:integer; { Залишок від ділення числа на підставу сист. счисл. }
s:string[16]; { Представлення числа в заданій сист. счисл. }
buf:string[1]; begin
Clrscr;
write('Введіть ціле число -> ');
readln(n);
s: = " ;
{ ділимо початкове число на підставу системи
числення (16) до тих пір, поки залишок від ділення
більше підстави системи числення.
Залишок від ділення на кожному кроці - чергова
цифра. }
write('Десятковому числу ',п); write (' соотвествуєт шістнадцятиричне ') ; repeat
r:=n mod 16; ( чергова цифра } n:=n div 16; { ціла частина ділення } if r<10
then buf:=chr(r+48){ chr(48)= '0', chr(49)='l'
і так далі }
else buf:=chr(r+55); { chr(65)= 'a', chr(66)='B'
і так далі } s:=buf+s; until(n<16); if n <> 0 then begin if n<10
then buf:=chr(n+48) else buf:=chr(n+55); s:=buf+s; end;
writeln(s); readln;
end.
{ Програма обчислює значення арифметичного
виразу, введеного з клавіатури } uses Crt;
s: string[80]; { сторока }
1: integer; { довжина рядка }
z: integer; { значення виразу }
n: integer; { чергове число }
i: integer; { номер числа в рядку }
err: integer; { код помилки, при перетворенні символу в число }
begin
Clrscr;
writeln('Введіть арифметичне вираженіє,1);
writeln('наприклад, 4+5-3-5+2 і натисніть клавішу ');
write('->');
readln(s);
val (s[1],z,err);
i: =3 ;
repeat
val(s[i],n,err); { отримати чергове однозначне
число }
if s[i-l]= '+' then z:=z+n else z:=z-n;
until i > Length(s);
writeln('Значення введеного виразу: *,z); writeln('Для завершення програми натисніть .'); readln; end.



Oleksa.Inc

Схожі:

Фонд Освітніх та Інформаційних Технологій
Оголосите змінні, необхідні для обчислення вартості покупки, що складається з декількох зошитів, олівців і лінійки
Фонд Освітніх та Інформаційних Технологій
Дані дві цілі змінні а, b. Скласти фрагмент програми, після виконання якого значення змінних поменя
Фонд Освітніх та Інформаційних Технологій
Середнє зростання: ',sred: 6: 1', см'; writeln ГУ ',m,'-x учнів зростання перевищує ', 'середній.'
Фонд Освітніх та Інформаційних Технологій
У наступних завданнях змінні x, у, z передбачаються опісанними як array n] of integer (n деяке натуральне число, більше 0), якщо...
Фонд Освітніх та Інформаційних Технологій
Проте, в Turbo Pascal аргумент функції Sin повинен бути виражений в радіанах (1 радий. = 180 1415925, де 1415926 число "ПІ").)
Фонд Освітніх та Інформаційних Технологій
Проте, в Turbo Pascal аргумент функції Sin повинен бути виражений в радіанах (1 радий. = 180 1415925, де 1415926 число "ПІ").)
ВИКОРИСТАННЯ НОВІТНІХ ІНФОРМАЦІЙНИХ ТЕХНОЛОГІЙ НА УРОКАХ ФІЗИКИ
Для гармонійного поєднання останніх досягнень інформаційних технологій та шкільного курсу вивчення фізики постає проблема створення...
Фонд Освітніх та Інформаційних Технологій
Якщо на одну шальку терезів посадити Даринку, яка важить кілограмів, і Наталку, яка важить на 5 кілограмів менше, а на іншу насипати...
СТВОРЕННЯ ОСВІТНЬОГО СЕРЕДОВИЩА ДЛЯ ПІДГОТОВКИ ПЕДАГОГІВ ЗАСОБАМИ ІНФОРМАЦІЙНИХ ТЕХНОЛОГІЙ
Т педагогічних наук, доцент кафедри інноваційних та інформаційних технологій. Шевченко Людмила Станіславівна – кандидат педагогічних...
Лекція Інформатизація діяльності інформаційних установ
Лекція Інформатизація діяльності інформаційних установ. Електронний документний фонд як модель управління інформаційними ресурсами....
Додайте кнопку на своєму сайті:
Портал навчання


При копіюванні матеріалу обов'язкове зазначення активного посилання © 2013
звернутися до адміністрації
bibl.com.ua
Головна сторінка