Помощничек
Главная | Обратная связь


Археология
Архитектура
Астрономия
Аудит
Биология
Ботаника
Бухгалтерский учёт
Войное дело
Генетика
География
Геология
Дизайн
Искусство
История
Кино
Кулинария
Культура
Литература
Математика
Медицина
Металлургия
Мифология
Музыка
Психология
Религия
Спорт
Строительство
Техника
Транспорт
Туризм
Усадьба
Физика
Фотография
Химия
Экология
Электричество
Электроника
Энергетика

Приведите алгоритм. Найдите ошибки

Задачи к экзамену и зачету для групп А1-08,09,10,11.21

Задача №1

Сформулируйте задачу, решаемую в программе. Представьте блок схему программы.

Program Ave;

const N = 1000;

MAX_VALUE = 100+1;

var m : array [1..N] of Integer;

i : Integer;

max, min : Integer; s : Real; {Сумма чисел}

begin

for i := 1 to N do

m[i] := random(MAX_VALUE);

s := 0;

max : = m [ 1 ] ;

min : = m [ 1 ] ;

for i := 1 to N do

begin

s : = s + m [ i ] ;

if m[i] < min then

min := m[i]

else if m[i] > max then

max := m[i]

end;

WriteLn('MMH = ',min,' Макс = ', max, ' Среднее = ',s/N)

end.


 

 

Задача №2

Сформулируйте задачу, решаемую в программе. Представьте блок схему программы.

program mb;

var A: array[1..15] of integer;

X, i: integer;

Begin

X:= 10;

Randomize;

for i:= 1 to 15 do begin

A[i]:= Random(46)-15;

if A[i] < X then write(A[i],' '); {выводим элементы, меньшие Х}

end;

Write(X, ' '); {сам Х}

for i:= 1 to 15 do

if A[i] > X then write(A[i],' '); {и элементы больше него}

Readln;

End.


 

  Задача №3 Данные о температуре воды на Черноморском побережье за декаду сентября хранятся в массиве Определить, сколько за это время было дней, пригодных для купания (Т > 20 ). Код:
  program Temperature; var i,n: integer; T: array[1..10] of integer; Begin Randomize; for i:= 1 to 10 do begin T[i]:= 15 + Random(15); Write(T[i], ' '); if T[i] > 20 then inc(n); end; Writeln; Write('Дней для купания: ',n); Readln; End.

Приведите алгоритм. Найдите ошибки


 

  Задача:№4 Запишите алгоритм. Найдите ошибки Даны K,L,P. Вычислить Z=корень квадратный из (L-P2 )/L*P; и S=sinZ+K2/cosK Код:
    program klp; var k,l,p: integer; s,z: real; Begin repeat Write('Введите k,p,l: '); Readln(k,p,l); until (p*l <> 0) and ((l- sqr(p))/(l*p) > 0); {чтобы не было деления на 0 и} {подкоренное выражение не меньше 0} z:= sqrt( (l- sqr(p))/(l*p) ); s:= sin(z) + sqr(k)/cos(k);   Writeln('z= ',z:6:6); Writeln('s= ',s:6:6);   Readln; End.

 


 

Разложение ln(x) в ряд Тейлора   Задача:№5 Запишите алгоритм. Найдите ошибки Используя разложение в ряд Тейлора найти значение ln(x) с заданной точностью e. Описание: Код:
    program lnx_teilor; var x,stx,lnt,e: real; i,fakt,z: integer; Begin Write('Введите 1 < x < 2: '); Readln(x); Write('Введите точность e: '); Readln(e); stx:= x-1; {x в степени} fakt:= 1; {значение знаменателя} lnt:= 0; {первый элемент в разложении} i:= 1; {счётчик} z:= 1; {знак элемента} while stx/fakt>=e do begin {до тех пор, пока элемент в разложении не меньше точности} lnt:=lnt+z*stx/fakt; inc(i); stx:=stx*(x-1); fakt:=i; z:=z*(-1); {смена знака} end; Writeln('Количество элементов в разложении = ',i); Writeln('Значение ln(',x:6:6,')= ',lnt:6:6); Writeln('Значение компьютера: ',ln(x):6:6); Readln; End.  

 


 

Разложение ex в ряд Тейлора   Задача: :№6 Запишите алгоритм. Найдите ошибки Используя разложение в ряд Тейлора найти значение ex с заданной точностью e. Описание: Код:
      program ex_teilor; var x,stx,ex,e: real; i,fakt: integer; Begin Write('Введите x: '); Readln(x); Write('Введите точность e: '); Readln(e); stx:=x; {x в степени} fakt:=1; {значение факториала в знаменателе} ex:=1; {первый элемент в разложении} i:=1; {счётчик} while stx/fakt>=e do begin {до тех пор, пока элемент в разложении не меньше точности} ex:=ex+stx/fakt; inc(i); stx:=stx*x; fakt:=fakt*i; end; Writeln('Количество элементов в разложении = ',i+1); Writeln('Значение e^',x:6:6,'= ',ex:6:6); Writeln('Значение компьютера: ',exp(x):6:6); Readln; End.  

 


 

Разложение гиперболического косинуса в ряд Тейлора   Задача: :№7 Запишите алгоритм. Найдите ошибки Используя разложение в ряд Тейлора найти значение ch(x) с заданной точностью e. Описание: Код:
    program ch_teilor; var x,stx,ch,e: real; i,fakt: integer; Begin Write('Введите x: '); Readln(x); Write('Введите точность e: '); Readln(e); stx:= x*x; {x в степени} fakt:= 2; {значение факториала в знаменателе} ch:= 1; {первый элемент в разложении} i:= 2; {счётчик} while stx/fakt>=e do begin {до тех пор, пока элемент в разложении не меньше точности} ch:=ch+stx/fakt; inc(i,2); stx:=stx*x*x; fakt:=fakt*(i-1)*i; end; Writeln('Количество элементов в разложении = ',i div 2 + 1); Writeln('Значение ch(',x:6:6,')= ',ch:6:6); Readln; End.  

 


 

Разложение синуса в ряд Тейлора   Задача: :№8 Запишите алгоритм. Найдите ошибки Используя разложение в ряд Тейлора найти значение sin(x) с заданной точностью e. Описание: Код:
    program sin_teilor; var x,stx,sint,e: real; i,fakt,z: integer; Begin Write('Введите x: '); Readln(x); Write('Введите точность e: '); Readln(e); stx:= x; {x в степени} fakt:= 1; {значение факториала в знаменателе} sint:= 0; {первый элемент в разложении} i:= 1; {счётчик} z:= 1; {знак элемента} while stx/fakt>=e do begin {до тех пор, пока элемент в разложении не меньше точности} sint:=sint+z*stx/fakt; inc(i,2); stx:=stx*x*x; fakt:=fakt*(i-1)*i; z:=z*(-1); {смена знака} end; Writeln('Количество элементов в разложении = ',i div 2); Writeln('Значение sin(',x:6:6,')= ',sint:6:6); Writeln('Значение компьютера: ',sin(x):6:6); Readln; End.  

 


 

Сортировка массива I   Задача: :№9 Запишите алгоритм. Найдите ошибки Сортировка массива методом пузырька. Описание: Эту сортировку так называют потому, что при обработке массива более "лёгкие" элементы перемещаются вверх. Код:
    program pyz; const n = 20; var V:array[1..n] of integer; i,j,tmp:integer; begin Randomize; for i:=1 to n do V[i]:= Random(100); Writeln('Исходный массив: '); for i:=1 to n do Write(V[i],' ');   for i:=1 to n-1 do for j:=i+1 to n do if V[i] >= V[j] then begin tmp:= V[i]; V[i]:= V[j]; V[j]:= tmp; end; Writeln; Writeln('Упорядоченный по неубыванию массив: '); for i:=1 to n do Write(V[i],' '); Readln; End. По убыванию элементов: Код: program pyz; const n = 20; var V:array[1..n] of integer; i,j,tmp:integer; begin Randomize; for i:=1 to n do V[i]:= Random(100); Writeln('Исходный массив: '); for i:=1 to n do Write(V[i],' ');   for i:=1 to n-1 do for j:=i+1 to n do if V[i] < V[j] then begin tmp:= V[i]; V[i]:= V[j]; V[j]:= tmp; end; Writeln; Writeln('Упорядоченный по убыванию массив: '); for i:=1 to n do Write(V[i],' '); Readln; End.  

 


 

 




Поиск по сайту:

©2015-2020 studopedya.ru Все права принадлежат авторам размещенных материалов.