|
Разбор и решение задач в ПАСКАЛЕ
Program pr32_8;
{Определение НОК}
Uses crt;
var i,n,m,k,nod,nok: integer;
f: boolean;
Begin
clrscr; writeln('n,m'); readln(n,m);
if n>m then k:=m else k:=n;
for i:=1 to k do
if (n mod i=0) and (m mod i=0) then nod:=i;
nok:=nod*(n div nod)*(m div nod);
writeln('nok ',n,' и ',m,' =',nok);
Repeat until keypressed;
End.
Program pr4_9;
{Определение суммы ряда с заданной точностью}
Uses
Crt,dos;
var x,y,z,e: real;
i: integer;
ch: char;
Begin
Clrscr;
Repeat
write('введите переменную ряда х='); readln(x);
write('введите точность е='); readln(e);
until (abs(x)<=1) and (e<=x);
y:=1; z:=1; i:=2;
Repeat
z:=(z*x*x)/i; if i mod 2=0 then y:=y+z else y:=y-z; i:=i+1;
until abs(z)<=e;
writeln('искомая суммаряда y= ',y);
writeln('для выхода нажмите esc ');
Repeat
ch:=readkey;
until ch=#27;
End.
Program pr4_9;
{Определение суммы ряда с заданной точностью}
Uses
Crt,dos;
var x,y,z,e: real;
i: integer;
ch: char;
Begin
Clrscr;
Repeat
write('введите переменную ряда х='); readln(x);
write('введите точность е='); readln(e);
until (abs(x)<=1) and (e<=x);
y:=1; z:=1; i:=2;
Repeat
z:=(z*x*x)/i; if i mod 2=0 then y:=y+z else y:=y-z; i:=i+1;
until abs(z)<=e;
writeln('искомая суммаряда y= ',y);
writeln('для выхода нажмите esc ');
Repeat
ch:=readkey;
until ch=#27;
End.
{Определить сколько символов до первого знака препинания}
Program pr6_11;
Uses
Crt,dos;
Label 10,11,12;
var str: string; l,i,j: integer; m: set of char; ch: char;
Begin
clrscr; m:=['.',',','!',':',';','?','-'];
writeln('введите текст '); readln(str); l:=length(str);
for i:=1 to l do
if not(str[i] in m) then write(str[i])
Else goto 10;
for j:=i+1 to l do
writeln(str[j]);
Writeln;
Goto 11;
10: writeln(' до первого знака препинания ',i-1,' символов'); goto 12;
11: writeln('знаков препинания нет!');
12: writeln; writeln('для выхода нажмите esc ');
repeat ch:=readkey; until ch=#27;
End
{В веденном тексте после каждой буквы а вставить еще 2 буквы а}
Program pr7_12;
uses
crt,dos;
var str: string; l,i: integer; ch: char;
begin
clrscr; writeln('введите текст '); readln(str); l:=length(str);
writeln('преобразованный текст ');
for i:=1 to l do
if (str[i] ='a') then write('aaa')
else write(str[i]);
writeln; writeln(' для выхода нажмите esc ');
repeat ch:=readkey; until ch=#27; end.
{Определить самое длинное и короткое слово в предложении, }
{оканчивающемся точкой}
Program pr8_13;
Uses
Crt,dos;
var s1: string; max,min,i,j: integer; ch: char;
Begin
clrscr; writeln('введите текст до точки '); readln(s1);
j:=pos('.',s1); s1:=copy(s1,1,j-1); max:=0; min:=256;
repeat i:=pos(' ',s1); delete(s1,1,i);
if i-1>max then max:=i-1;
if (i-1<min) and (i>1) then min:=i-1;
until i=0;
writeln('самое длинное слово ',max);
writeln('самое короткое слово ',min);
writeln(' для выхода нажмите esc ');
repeat ch:=readkey; until ch=#27;
End
{Записать предложение в обратном порядке}
Program pr9_14;
Uses
Crt,dos;
var s1: string; i,l: integer; ch: char;
Begin
clrscr; writeln('введите текст до точки '); readln(s1);
l:=length(s1);
for i:=l-1 downto 1 do
write(s1[i]); writeln('.'); writeln(' для выхода нажмите esc ');
repeat ch:=readkey; until ch=#27;
End.
{Семакин стр. 253 N 129}
{Дано 12345678910111213, вывести К цифру}
program N129;
Uses crt;
Var
k:integer;
i,j:byte;
c:array[1..10] of longint;
n,n1,n2,a,b,t:longint;
Begin
clrscr; n1:=123456789; n2:=10111213; b:=10;
writeln('Введите К цифру'); readln(k); writeln(n1,n2);
if k<=9 then writeln(k,' цифра ',k); if k>9 then
Begin
j:=8; a:=n2;
for i:=1 to 8 do
Begin
t:=a div b; a:=a mod b; c[j]:=a; a:=t; j:=j-1;
End;
writeln(k,' цифра ',c[k-9]);
Дата добавления: 2015-11-04; просмотров: 36 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Опробирование ИПТ | | | end; repeat until keypressed; |