Файл: Контрольная работа 1 По дисциплине Информатике2 Вариант6 Студент гр. (номер группы).docx
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 11.01.2024
Просмотров: 83
Скачиваний: 3
| | Выполнил: Студент гр. (номер группы) _______________ / / (подпись) И. О. Фамилия «_г. (дата) |
| | Проверил: ______________________________ (должность, ученая степень, звание) ______________ /____________________/ (подпись) И. О. Фамилия «____»_______________20____г. (дата) |
При a=d будет деление на ноль, что невозможно.Затем подставить значение (х) в одно из уравнений для нахождения (y)Теперь можно составить алгоритм решения задачи.Алгоритм:Описание структуры программы:Для решения задачи необходимы шесть переменных: a, b, c, d, m, n. Переменные вещественного типа.Для очистки экрана используется специальная процедураClrScr из модуля CRTКодпрограммы:
Program z001;Uses CRT;Var a,b,c,d,m,n,x,x1,x2,y,y1.y2,di: real;BeginClr Scr;Writeln(‘Введите переменные a,b,c,d,m,n, через пробел:’);Readln(a,b,c,d,m,n);If a=b thenBeginWriteln(‘Неправильный ввод a,b’);Readln;End;di=sqr(b-m)-4*(a-d)*(c-n);if di<0 thenbeginwriteln(‘Нет точек пересечения’);end;if di>0 thenbeginwriteln(‘Имеют две точки пересечения’);x1:=(-(b-m)+sqrt(di))/(2*(a-d));y1:=a*x1*x1+b*x1+c;writeln(‘x1=’, x1:0:3, ‘y1=’, y1:0:3);x2:=(-(b-m)-sqrt(di))/(2*(a-d));y2:=a*x2*x2+b*x2+c;writeln(‘x2=’, x2:0:3,’y2=’, y2:0:3);end;if di=0 thenbeginwriteln(‘Имеют одну точку пересечения’);x:=-(b-m)/(2*(a-d));y:=a*x*x+b*x+c;writeln(‘x=’, x:0:3, ‘y=’, y:0:3);end;readln;end.Результат работы программы:Для тестирования программы использовалось четыре варианта набора переменных.Задание №2.Эту задачу необходимо решить три раза с использованиемтрех видов цикла: FOR, WHILE и REPEAT.В выводах обязательно сравнить все три цикла и определить, какой именно наилучшим образом подходит для решения этой задачи и почемуВводится последовательность из N произвольных чисел.
Найти среднее значение положительных элементов последовательности.
2.1Решение:
Введение последовательности ограничим введением числа «0». Используем оператора REPEAT.
Алгоритм:
Описание структуры программы:
Для решения задачи необходимо минимум одно положительное число вещественного типа.
Для очистки экрана используется специальная процедура
ClrScr из модуля CRT.
Код программы:
Program z0021
Uses Crt;
Var x,sr: real; k:byte;
Begin
ClrScr;
Writeln(‘Окончание ввода”0” ’);
K:=0; sr:=0;
Repeat
Write(‘Число=’); readln(x);
If x>0 then
begin
inc(k);
sr:=sr+x;
end;
until x=0;
if k>0 then writeln(‘среднее арифметическое введенных чисел=’,sr/k:0:3)
else writeln(‘Нету положительных’);
readln;
end.
Результаты работы программы:
Для тестирования программы использовалось два варианта набора чисел.
2.2Решение:
Введение последовательности ограничим введением числа «0». Используем оператора WHILE.
Алгоритм:
Описание структуры программы:
Для решения задачи необходимо минимум одно положительное число вещественного типа.
Для очистки экрана используется специальная процедура
ClrScr из модуля CRT.
Код программы:
Program z0022
Uses Crt;
Var x,sr: real; k:byte;
Begin
ClrScr;
Writeln(‘Окончание ввода”0” ’);
K:=0; sr:=0;
Write(‘Число=’); readln(x);
While x<>0 do
begin
while x>0 do
begin
inc(k);
sr:=sr+x;
write(‘Число=’); readln(x);
end;write(‘Число=’); readln(x);end;ifk>0 thenwriteln(‘среднее арифметическое введенных чисел=’,sr/k:0:3)elsewriteln(‘Нету положительных’);readln;end.Результаты работы программы:Для тестирования программы использовалось два варианта набора чисел.2.3Решение:Введение последовательности ограничием введением числа чисел. Используем оператора FOR.Алгоритм:Описание структуры программы:Для решения задачи необходимо минимум одно положительное число вещественного типа.Для очистки экрана используется специальная процедураClrScr из модуля CRT.Кодпрограммы:Program z0023Uses Crt;Var x,sr: real; i,n:integer; k:byte;BeginClrScr;Writeln(‘Число вводимых чисел= ’); readln(n);k:=0; sr:=0;For i:=0 to n-1 dobeginIf x>0 theninc(k);if x>0 thensr:=sr+x;Write(‘Число=’); readln(x);end;ifk>0 thenwriteln(‘среднее арифметическое введенных чисел=’,sr/k:0:3)elsewriteln(‘Нету положительных’);readln;end.Результаты работы программы:Для тестирования программы использовалось два варианта набора чисел.Вывод:Для решения данной задачи больше подходит цикл REPEAT. Поскольку количество циклов нам заранее не известно, что является необходимым условием для использования цикла
FOR.А так же на каждой итерации циклы FOR и WHILE выполняют только по одному оператору. В отличие от них, цикл REPEAT позволяет выполнить сразу несколько операторов, что в данных условиях более удобно.Задание №3.В файле хранятся действительные числа. Необходимоопределить (без использования массивов) максимальное число,минимальное число и их среднее арифметическое.Решение:Для набора чисел используем генератор случайных чисел с задаваемым пределом количества этих чисел и создадим файл.Алгоритм:Кодпрограммы:Program z_03Uses Crt;Var f: file of real; i,k,kol: integer; x,max,min,sr:real;Beginrandomize;writeln('Введите количество чисел');readln(kol);assign(f,'z003.txt');rewrite(f);for i:=1 to kol dobeginx:=random(kol);write(f,x);end;close(f);reset(f);read(f,x);max:=x;min:=x;while not eof(f) dobeginread(f,x);write(x:0:2,' '); if x>max then max:=x; if x min:=x; sr:=sr+x; end; close(f); writeln; writeln('Максимум: ',max:0:1); writeln('Минимум: ',min:0:1); writeln('Среднее арифметическое:',sr/kol:0:3); readln;end.Результаты работы программы:Для тестирования программы использовалось два варианта набора по 100 и по 150 чисел.ЛИТЕРАТУРА1. Острейковский В. А. Информатика : учебник для вузов /В. А. Острейковский. — М. : Высш. шк., 1999.2. Вирт Н. Алгоритмы и структуры данных / Н. Вирт. —М. : Мир, 1989.3. Епанешников А. М. Программирование в среде TurboPascal 7.0 / А. М. Епанешников, В. А. Епанешников. — 3-е изд.,стер. — М. : ДИАЛОГ-МИФИ, 1996.4. Культин Н .Б. Turbo Pascal в задачах и примерах / Н. Б.Культин. — СПб. : БХВ-Петербург, 2000.5. Немнюгин С. А. Turbo Pascal / С. А. Немнюгин. — СПб. :Питер, 2000.6. Шпак Ю. А. Turbo Pascal 7.0 на примерах / Ю. А. Шпак ; подред. Ю. С. Ковтанюка. — Киев : Юниор, 2003.0>