1. Запись НЕ ВЕРНА. В операторе цикла for i:= 1 to sqrt(k) do значение, возвращаемое функцией sqrt имеет тип real, а в этом операторе все значения должны приводиться к целочисленному типу. Автоматическое приведение типа real к integer в языке Паскаль невозможно, его нужно осуществлять явно при функции Trunc() или Round().
2. НИ РАЗУ И НИЧЕГО НЕ БУДЕТ НАПЕЧАТАНО. Программа не откомпилируется из-за ошибок, которых в операторе if k write(k); сразу две. Первая - после k пропущено ключевое слово then. Вторая состоит в том, что после if должно следовать логическое выражение, а k имеет тип char, но не boolean.
3. ОДИН РАЗ, БУДЕТ ВЫВЕДЕНО True. В цикле должны быть значения порядкового типа и тип boolean этому требованию удовлетворяет. При входе в цикл f=false, цикл выполняется, затем f=true и цикл завершается. При однократном проходе по циклу выполнится оператор g:= not f и g получит значение true. Это значение и будет выведено.
float vychislenie(float X1, float X2, float Y1, float Y2);
float vqvod_rezultatov(float K1,float K2);
int main(){
float X1=0,X2=0,X3=0,X4=0;
float Y1=0,Y2=0,Y3=0,Y4=0;
float K1=0, K2=0;
printf("Vvedite koordinaty pervoj prjamoj cherez probel (X1 Y1 X2 Y2): ");
scanf("%f %f %f %f", &X1, &Y1, &X2, &Y2);
printf("\nA(%.1f ; %.1f), B(%.1f ; %.1f)\n\n", X1, Y1, X2, Y2);
printf("Vvedite koordinaty vtoroj prjamoj cherez probel (X1 Y1 X2 Y2): ");
scanf("%f %f %f %f", &X3, &Y3, &X4, &Y4);
printf("\nC(%.1f ; %.1f), D(%.1f ; %.1f)\n", X3, Y3, X4, Y4);
K1=vychislenie(X1,X2,Y1,Y2);
K2=vychislenie(X3,X4,Y3,Y4);
vqvod_rezultatov(K1, K2);
return 0;
}
float vychislenie(float X1, float X2, float Y1, float Y2){
float K=0;
K=((Y2-Y1)/(X2-X1));
return K;
}
float vqvod_rezultatov(float K1, float K2){
printf("\nKoefficient K1 = %.2f\n", K1);
printf("Koefficient K2 = %.2f\n", K2);
if(K1==K2){
printf("\nPrjamye parallelny\n");
}else{
printf("\nPrjamye ne parallelny\n");
}
return 0;
}
В операторе цикла for i:= 1 to sqrt(k) do значение, возвращаемое функцией sqrt имеет тип real, а в этом операторе все значения должны приводиться к целочисленному типу. Автоматическое приведение типа real к integer в языке Паскаль невозможно, его нужно осуществлять явно при функции Trunc() или Round().
2. НИ РАЗУ И НИЧЕГО НЕ БУДЕТ НАПЕЧАТАНО. Программа не откомпилируется из-за ошибок, которых в операторе if k write(k); сразу две.
Первая - после k пропущено ключевое слово then.
Вторая состоит в том, что после if должно следовать логическое выражение, а k имеет тип char, но не boolean.
3. ОДИН РАЗ, БУДЕТ ВЫВЕДЕНО True.
В цикле должны быть значения порядкового типа и тип boolean этому требованию удовлетворяет. При входе в цикл f=false, цикл выполняется, затем f=true и цикл завершается. При однократном проходе по циклу выполнится оператор g:= not f и g получит значение true. Это значение и будет выведено.