Шпаргалка по информатике (сборник Паскаль). Сборник_Паскаль1. 1. Найти значение выражения 1122 nn
Скачать 192 Kb.
|
1. Найти значение выражения 1*1+2*2+...+n*n. 2. Сумма. 3. Составить из двух таблиц 3-ю упорядоченную по возраст. 4. Найти максимальное число из трёх. 5. Найти максимальное число из четырёх. 6. Кол-во букв "а" в тексте. 7. Среднее арифметическое таблицы. 8. Степень числа. 9. Факториал числа. 10. Подсчет кол-ва часов, минут и секунд в данном числе суток. 11. Составить программу проверки есть ли в тексте буква "s". 12. Найти значение выражения. 13. Найти значение выражения. 14. Определить лежит ли точка а на прямой y=kx+l. 15. Расположить слова в порядке убывания их длины в предложении. 16. Найти кол-во отрицательных элементов таблицы. 17. Найти максимальный элемент таблицы а[1..10]. 18. Получить элементы таблицы, которые находятся между max и min. 19. Яв-ся ли треугольник равнобедренным. 20. Лежит ли точка на прямой. 21. Проверить существует ли строгое чередование. 22. Пересекаются ли отрезки. 23. Яв-ся ли n-угольник выпуклым. 24. Определить расстояния от точки до прямой. 25. Найти площадь треугольника (используя формулу Герона). 26. Даны координаты диагонали прямоугольника. Найти его площадь. 27. Найти номер максимального элемента таблицы а[1..10]. 28. Составить программу упорядочивания элементов таблицы. 29. Составить программу вычисления (min(a,c)-min(a,b)/(5+min(b,c)) 30. Яв-ся ли число b делителем числа a. 31. Составить программу определяющую яв-ся ли число простым. 32. Составить программу нахождения НОД и НОК двух чисел a и b. 33. Составить программу решения квадратного ур-я. 34. Найти сумму элементов прямоугольной таблицы размером [n:m] 35. Найти мaксимальный элемент прямоугольной таблицы размером [n:m]. 36. Найти число. 37. Найти максимальный элемент таблицы и их кол-во. 38. Дано предложение, определить кол-во слов в нём. 39. Дан текст, определить кол-во слов "кот". 40. Определить является ли данное слово перевертышем. 41. Найти количество различных чисел в одномерной таблице. 42. Каждую букву слова A поместить в таблицу. 43. Найти наименьшее однозначное число х удовлетворяющее условию x*x*x-x*x=n. 44. Составить алгоритм нахождения суммы цифр числа. 45. Найти двузначное число сумма кубов цифр которого равна n. 46. Получить из слова a, вычеркивание некоторого кол-ва букв, слово b. 47. Заданы 2 точки. Определить какой из отрезков AO или BO образует больший угол с осью OX. 48. Записать положительные элементы таблицы А в таблицу В, а отрицательные элементы таблицы А в табл С. 49. Яв-ся ли перевёртышем число. 50. Построить таблицу С в которой сначала размещаются все элементы А, затем все элементы таблицы В. 51. Решить систему ур-ий {ax+by+c=0 и a1x+b1y+c1=0. 52. Определить площадь и периметр треугольника. 53. Дана таблица содержащая группы одинаковых подряд идущих чисел. Вывести на экран "число - кол-во чисел в группе, число - кол-во чисел в группе, ... " 54. Определить площадь четырёхугольника. 55. Разбить выпуклый n-угольник на треугольники диагоналями так, чтобы... 56. Определить стоимость телеграммы. 57. Дана таблица a[1..n]. Ввести таблицу b[1..n] отбросив из а каждый второй элемент. 58. Дана таблица a[1..n] из целых чисел. Поставить сначала четные, а потом нечетные элементы. 59. Найти наибольшее кол-во одинаковых элементов. 60. Дана точка. Лежит ли она в кольце. 61. Примеры типов величин. 62. Табличные величины. Одномерный массив. 63. Табличные величины. Двумерный массив. 64. На оси Оx заданы N точек с координатами x1,x2,...,xn. Найти такую точку Z сумма расстояний от которой до данных точек минимальная. 65. Имеется n банок с целочисленными объёмами v1,v2,v3...,vn литров, пустой сосуд и кран с водой. Можно ли с помощью этих банок налить в сосуд ровно v литров воды. Решение: Обозначим s=nod(v1,v2...,vn). Если v делится нацело на s, то в сосуд с помощью банок можно налить v литров воды, иначе - нет. 66. Дана последовательность натуральных чисел. Найти наименьшее натуральное число, которое отсутствует в последовательности. 67. Дан выпуклый n-угольник и точка (х1,у1). Определить: а) является ли точка вершиной; б) принадлежит ли точка n-угольнику. 68. (1) Решение систем линейных уравнений методом Гаусса. 69. (2) Решение систем линейных уравнений подбором. 70. (3) Решение систем линейных уравнений методом Гаусса. program z1; { Найти значение выражения 1*1+2*2+...+n*n } var n,s,i : integer; begin write('n = '); readln(n); s:=0; for i:=1 to n do s:=s+i*i; writeln('s = ',s); readln; end. program z2; { Найти сумму. } uses crt; var a,b,s : integer; begin clrscr; write('a=');readln(a); write('b=');readln(b); s:=a+b; write('сумма s=',s); readln; end. program z3; { Даны две таб. Составить из них 3 таб. упорядоченную по возраст. } uses crt; var a : array [1..10] of longint; b : array [1..20] of longint; c : array [1..30] of longint; n,m,k,l,i,j,min : longint; begin clrscr; write('введ.кол.эл.таб.а n=');readln(n); write('введ.кол.эл.таб.b m=');readln(m); for i:=1 to n do begin write('a[',i,']=');readln(a[i]); end; for i:=1 to m do begin write('b[',i,']=');readln(b[i]); end; k:=n+m;{кол.эл.таб.с} (*заносим эл.таб.а в таб.с*) for i:=1 to n do c[i]:=a[i]; (*заносим эл.таб.в в таб.с*) for i:=1 to m do c[i+n]:=b[i]; (*упорядочим таб.с[1..k] по возраст*) for i:=1 to k-1 do begin l:=i;{номер мин.}min:=c[i]; for j:=i+1 to k do if c[j] begin min:=c[j];l:=j; end; c[l]:=c[i];{меняем местами 1-й и мин.эл.} c[i]:=min; end; for i:=1 to k do writeln('Ответ:c[',i,']=',c[i]); readln; end. program z4; { Найти максимальное число из трёх. } uses crt; var a,b,c,max : integer; begin clrscr; write('a=');readln(a); write('b=');readln(b); write('c=');readln(c); if (a>b) and (a>c) then max:=a; if (b>a) and (b>c) then max:=b; if (c>a) and (b write('max=',max); readln; end. program z5; { Найти наибольшее из четырёх чисел. } uses crt; var a,b,c,d,max,max1,max2 : real; procedure bol2( aa,bb : real; var maxmax : real ); begin if aa>bb then maxmax:=aa else maxmax:=bb; end; begin clrscr; write('введте a,b,c,d через пробел '); readln(a,b,c,d); bol2(a,b,max1); bol2(c,d,max2); bol2(max1,max2,max); writeln('max=',max); readln; end. program z6; { Кол-во букв "а" в тексте. } uses crt; var d : string[30]; n,i : integer; begin write('наберите текст '); readln(d); n:=0; for i:=1 to length(d) do if d[i]='а' then n:=n+1; write('В тексте а=',n); readln; end. program z7; { Сост. программу определения сред. ариф. таб. а} uses crt; var a : array [1..10] of integer; s : real; sum,n,i : integer; begin clrscr; write('n=');readln(n); for i:=1 to n do begin write('a[',i,']='); readln(a[i]); end; sum:=0; for i:=1 to n do sum:=sum+a[i]; s:=sum/n; writeln('ср ариф= ',s); readln; end. program z8; uses crt; { Записать программу возвед. числа а в степень n } var a,n,i,p : integer; begin clrscr; write('n=');readln(n); write('a=');readln(a); p:=1; for i:=1 to n do p:=p*a; write('p=',p); readln; end. program z9; uses crt; { Сост. прог. выч. факториала числа n. Пример: 5!=1*2*3*4*5 7!=1*2*3*4*5*6*7 } var f,n,i : integer; begin clrscr; write('n=');readln(n); f:=1; for i:=1 to n do f:=f*i; write('f=',f); readln; end. program z10; { Написать программу подсчета кол-ва часов, минут и секунд в данном числе суток. } uses crt; var syt,has,min,sec : extended; begin clrscr; write('сут = '); readln(syt); has:=24*syt; min:=60*has; sec:=60*min; writeln('часов : ',has:0:0); writeln('минут : ',min:0:0); writeln('секунд : ',sec:0:0); readln; end. program z11; { Составить программу проверки есть ли в тексте буква "s" } uses crt; var t : string; i : integer; ot : boolean; begin clrscr; writeln('введите текст:');readln(t); for i:=1 to length(t) do if t[i]='s' then ot:=true; if ot=true then write('да') else write('нет'); readln; end. program z12; { Найти значение выражения ( -натуральное число, а>0, х>0, у=1+(1/(1+(1/1+...1+1/x))..) ) n знаков "+" } uses crt; var x,n,i : integer; y : real; begin clrscr; write('n=');readln(n); write('x=');readln(x); y:=x; for i:=1 to n do y:=1+1/y; write('y=',y); readln; end. program z13; { Найти значение выражения ( -нат. число, а>0, х>0, f=sqr(a+sqr(a+sqr(a+..sqr(a))..) ) n знаков "+" } uses crt; var a,n,i : integer; f : real; begin clrscr; write('n=');readln(n); write('a=');readln(a); f:=a; for i:=1 to n do f:=a+sqr(f); write('f = ',f); readln; end. program z14; { Определить лежит ли точка а на прямой y=kx+l } uses crt; var x,y,l,k : integer; begin clrscr; write('x=');readln(x); write('y=');readln(y); write('k=');readln(k); write('l=');readln(l); if y=k*x+l then write('Да') else write('Нет'); readln; end. program z15; { Дано предложение составить программу располагающую слова в порядке убывания длины слов } uses crt; type slov = array [1..10] of string; var p,b : string; s : slov; i,j,l : integer; q : boolean; procedure maxdl( ii,jj : integer;ss : slov; var ll : integer ); var t:integer;m:string; begin m:=ss[ii]; { считает max(t) } ll:=ii; { l-номер max } for t:=ii+1 to jj do if length(m) begin m:=ss[t]; ll:=t; end; end; begin clrscr; write('текст p=');readln(p); j:=1; for i:=1 to length(p) do begin b:=p[i]; if b=' ' then j:=j+1 else s[j]:=s[j]+b;{ склеивание слова и заносим в таб } end; b:=''; for i:=1 to j do begin maxdl(i,j,s,l); { находим номер мах элм } b:=s[i]; { меняем местами мах элм: } s[i]:=s[l]; s[l]:=b; end; for i:=1 to j do write(s[i],' '); readln; end. program z16; { Дана вещ. таблица a[1..n]. Найти кол-во отрицательных элементов таблицы. } uses crt; var k,n,i : longint; a : array [1..10] of longint; begin clrscr; write('n = ');readln(n); for i:=1 to n do begin write('a[',i,']=');readln(a[i]); end; for i:=1 to n do if a[i]<0 then inc(k); write('k = ',k); readln; end. program z17; { Найти максимальный элемент таблицы а[1..10] } uses crt; var a : array [1..10] of longint; max,i,n : longint; begin clrscr; write('n = ');readln(n); for i:=1 to n do begin write('a[',i,']=');readln(a[i]); end; max:=a[1]; for i:=2 to n do if a[i]>max then max:=a[i]; write('max = ',max); readln; end. program z18; { Дана таб a[1..n] из целых чисел. Получить элементы, которые находятся между max и min} uses crt; var a,b : array [1..10]of longint; f,i,j,n,m,max,min,k,l : longint; label met; begin clrscr; write('кол-во элм. табл. n=');readln(n); for i:=1 to n do begin write('a[',i,']=');readln(a[i]); end; max:=a[1];k:=1; for i:=2 to n do if a[i]>max then begin max:=a[i];k:=i; end; min:=a[1];l:=1; for i:=2 to n do if a[i] begin min:=a[i];l:=i; end; if k begin for f:=k+1 to l-1 do begin j:=j+1;b[j]:=a[f];m:=m+1; end; goto met; end; if l begin for f:=l+1 to k-1 do begin j:=j+1;b[j]:=a[f];m:=m+1; end; end; met : writeln; for j:=1 to m do writeln(b[j]); readln; end. program z19; { Даны координаты вершин треугольника ABC A(x1;y1), B(x2;y2), C(x3;y3) яв-ся ли треугольник равнобедренным } uses crt; var x1,x2,x3,y1,y2,y3,a,b,c : real; begin clrscr; write('x1=');readln(x1); write('y1=');readln(y1); write('x2=');readln(x2); write('y2=');readln(y2); write('x3=');readln(x3); write('y3=');readln(y3); a:=sqrt(sqr(x1-x2)+sqr(y1-y2)); b:=sqrt(sqr(x2-x3)+sqr(y2-y3)); c:=sqrt(sqr(x1-x3)+sqr(y1-y3)); if (a=b)or(a=c)or(b=c) then write('равнобедренный') else write('не равнобедренный'); readln; end. program z20; { Составить программу для определения лежит ли точка (x3;y3), на прямой проходящей через точки (x1;y1),C(x2;y2) } uses crt; var x1,x2,x3,y1,y2,y3 : real; begin clrscr; write('x1=');readln(x1); write('y1=');readln(y1); write('x2=');readln(x2); write('y2=');readln(y2); write('x3=');readln(x3); write('y3=');readln(y3); if (x3-x1)*(y2-y1)-(y3-y1)*(x2-x1)=0 then write('лежит') else write('не лежит'); readln; end. program z21; { Дана таб. а[1..n],сост. из нулей и единиц. Проверить сущ. ли строгое чередование } uses crt; var a:array[1..10]of integer; flag,i,k,n:integer; begin clrscr; write('кол-во элм. таб. n=');readln(n); for i:=1 to n do begin write('a[',i,']=');readln(a[i]); end; i:=1; while i<=n-1 do begin flag:=0; if ((a[i]=1)and(a[i+1]=0))or((a[i]=0)and(a[i+1]=1)) then flag:=1 else begin write('нет');flag:=0; readln;halt; end; i:=i+2; end; if flag=1 then write('чередование существует'); readln; end. program z22; { Пересекаются ли отрезки задаными координатами (x1;y1),(x2;y2),(x3;y3),(x4;y4). } uses crt; var x1,x2,x3,x4,y1,y2,y3,y4, l,l1,l2,p,p1,p2 : real; begin clrscr; write('x1=');readln(x1); write('y1=');readln(y1); write('x2=');readln(x2); write('y2=');readln(y2); write('x3=');readln(x3); write('y3=');readln(y3); write('x4=');readln(x4); write('y4=');readln(y4); if x1 if x3 if l1>l2 then l:=l1 else l:=l2; if x1>x2 then p1:=x1 else p1:=x2; if x3>x4 then p2:=x3 else p2:=x4; if p1>p2 then p:=p2 else p:=p1; if l<=p then write('пересекаются') else write('не пересекаются'); readln; end. program z23; { Определить яв-ся ли n-угольник выпуклым Ввод состоит из n отрезков, n>3 и n<10 } uses crt; var m,n,k,i,j : integer; ot : boolean; x,y : array[1..10] of integer; z1,z2 : real; procedure haltproc; begin writeln('Неверные данные'); writeln('n >= 3'); readln; halt; end; begin clrscr; write('n=');readln(n); if n<3 then haltproc; for i:=1 to n do begin write('x[',i,']=');readln(x[i]); write('y[',i,']=');readln(y[i]); end; ot:=true; for i:=1 to n do begin j:=i+1; k:=j+1; if k=n+1 then k:=1; if i=n then j:=1; m:=i-1; if m=n-1 then k:=2; if i=1 then m:=n; z1:=(x[m]-x[i])*(y[j]-y[i])-(y[m]-y[i])*(x[j]-x[i]); z2:=(x[k]-x[i])*(y[j]-y[i])-(y[k]-y[i])*(x[j]-x[i]); if z1*z2<0 then ot:=false; end; if ot=true then write('выпуклый') else write('не выпуклый'); readln; end.0>3>10>0> |