Задать целочисленный массив из 6-10 элементов, составить алгоритм для задачи "Подсчет элементов массива, удовлетворяющих условию" и разобрать задачу с использование трассировки "ручная прокрутка".
//PascalABC.NET (версия 3.1, сборка 1198 от 11.03.2016) var a,n,k,i,j,s:integer; begin writeln('Количество учеников и количество оценок'); readln(n,k); for i:=1 to n do begin for j:=1 to k do begin write('Ученик № ',i, ' оценка № ',j,' = '); readln(a); s:=s+a; end; end; println('Средняя оценка группы ',s/(n*k):6:3); end.
var a,n,k,i,j,s:integer;
begin
writeln('Количество учеников и количество оценок');
readln(n,k);
for i:=1 to n do begin
for j:=1 to k do begin
write('Ученик № ',i, ' оценка № ',j,' = ');
readln(a);
s:=s+a;
end;
end;
println('Средняя оценка группы ',s/(n*k):6:3);
end.
Тестовое решение:
Количество учеников и количество оценок
3 3
Ученик № 1 оценка № 1 = 3
Ученик № 1 оценка № 2 = 4
Ученик № 1 оценка № 3 = 4
Ученик № 2 оценка № 1 = 5
Ученик № 2 оценка № 2 = 4
Ученик № 2 оценка № 3 = 4
Ученик № 3 оценка № 1 = 4
Ученик № 3 оценка № 2 = 3
Ученик № 3 оценка № 3 = 3
Средняя оценка группы 3.778
using System;
class Program
{
static void Main()
{
int x1 = 2, y1 = 1;
int x2 = 6, y2 = 5;
int x3 = 10, y3 = 1;
var a = Distance(x2, y2, x3, y3);
var b = Distance(x1, y1, x3, y3);
var c = Distance(x2, y2, x1, y1);
Console.WriteLine("S = {0}", Square(a, b, c));
Console.ReadKey();
}
//растояние между точками
static double Distance(int x1, int y1, int x2, int y2)
{
return Math.Sqrt((x2 - x1) * (x2 - x1) + (y2 - y1) * (y2 - y1));
}
//формула герона
static double Square(double a, double b, double c)
{
var p = (a + b + c) / 2;
return Math.Sqrt(p * (p - a) * (p - b) * (p - c));
}
// теорема косинусов
static double Angle(double a, double b, double c)
{
return Math.Acos((b * b + c * c - a * a) / (2 * b * c));
}
static bool IsAcuteAngel(double alpha)
{
return alpha < Math.PI / 2;
}
}