Написать программу на паскале! написать программу для решения следующей : вычислить сумму объёмов и сумму полных поверхностей трёх круглых конусов,если для каждого конуса известны высота и радиус основания.использовать подпрограмму-функцию.
1. Надо добавить точку в последней строке программы. Иначе работать не будет. 2. Меняется всего одна строка в программе:
program pr2;
type student = record {объявление нового типа данных student} LastName: string; {фамилия студента} bal: array [1..5] of integer; {массив для 5-ти оценок} average: real {средний студента} end;
var pupil: array [1..100] of student; {массив pupil (максимум из 100 элементов) типа student} n, i, j, s: integer;{переменные целого типа}
begin write('Введите количество студентов: '); readln(n); for i := 1 to n do begin{запрос данных по n студентам} with pupil[i] do begin Write('Введите фамилию студента №', i, ': '); {запрос фамилии студента под номером i} Readln(LastName); s := 0; {целочисленная переменная для определения суммы студента} for j := 1 to 5 do begin{цикл для обработки 5-ти оценок каждого студента} write('Введите оценку за экзамен №:', j, ': ' ); readln(bal[j] ); s := s + bal[j]; {суммирование 5-ти оценок студента} end; average := s / 5; {определение среднего значения и запись в переменную average} end; end; writeln; writeln( 'Студенты, имеющие средний больший или равный 4'); for i := 1 to n do begin if pupil[i].average >= 4 then {если средний студента >=4} write(pupil[i].LastName,', '); end; end.
В запись student добавляете новое поле kurs, Type student = recordLastName: string ; bal: array [1..5] of integer; kurs: integer;average: real end; В цикле по студентам добавляете ввод курса with pupil[i] do begin Write ('Введите фамилию студента №', i ,': '); Readln (LastName); Write('Введите курс '); Readln(kurs); В конце программы изменяете вывод writeln ( 'Студенты первокурсники, имеющие средний больший или равный 4'); For i:=1 to n do beginif (pupil[i].average >=4) and (pupil[i].kurs = 1) then write (pupil[i].LastName,', ');
Begin
result:=1/3*Pi*r*r*h // ABC, ABC.net
// V:=1/3*Pi*r*r*h // Turbo, Free
End;
Function SPP(h,r:real):real;
Begin
result:=Pi*r*(R+Sqrt(r*r+h*h));
End;
Var
h,r,V0,S,SumS,SumV:real;
Begin
Write('h1 = ');ReadLn(h);
Write('r1 = ');ReadLn(r);
V0:=V(h,r);
SumV:=V0;
S:=SPP(h,r);
SumS:=S;
WriteLn('V1 = ',V0);
WriteLn('S1 = ',S);
WriteLn;
Write('h2 = ');ReadLn(h);
Write('r2 = ');ReadLn(r);
V0:=V(h,r);
SumV:=SumV+V0;
S:=SPP(h,r);
SumS:=SumS+S;
WriteLn('V2 = ',V0);
WriteLn('S2 = ',S);
WriteLn;
Write('h3 = ');ReadLn(h);
Write('r3 = ');ReadLn(r);
V0:=V(h,r);
SumV:=SumV+V0;
S:=SPP(h,r);
SumS:=SumS+S;
WriteLn('V3 = ',V0);
WriteLn('S3 = ',S);
WriteLn;
WriteLn('Sum V = ',SumV);
WriteLn('Sum S = ',SumS);
End.