Домашние задания: Информатика
Информатика 10-11 класс Паскаль
Напишите программу, которая считывает с клавиатуры вещественное число x и отображает значение выражения 1/х. Очевидно, что значение х=0 недопустимо. Проведите проверку правильности ввода данных с клавиатуры с помощью оператора повторения с постусловием.
Что за идиотизм, а не задание? Нафига тут постусловие и повторение? Тут обычное условие нужно. Ибо что там повторять? Был ввод 1 числа, если оно не равно 0, то на него разделили, после чего вывели ответ. Что там надо повторять?
Вот нормальная программа:
Program P1;
uses crt;
var x, y: real;
begin
clrscr;
write ('Введите значение переменной x: x=');
readln (x);
if x=0 then write ('Нет решений') else begin
y:=1/x;
write ('Ответ: y=', y);
end;
readkey;
end.
А, вот так, что ли? - Но тоже не очень умно - лучше бы уж с метками сделать, но ладно:
Program P1;
uses crt;
var x, y: real;
begin
clrscr;
write ('Введите значение переменной x: x=');
readln (x);
if x=0 then begin
repeat
writeln ('x не может быть = 0. Попробуйте снова.');
write ('Введите значение переменной x: x=');
readln (x);
until x<>0;
end;
y:=1/x;
write ('Ответ: y=', y);
readkey;
end.
Вот нормальная программа:
Program P1;
uses crt;
var x, y: real;
begin
clrscr;
write ('Введите значение переменной x: x=');
readln (x);
if x=0 then write ('Нет решений') else begin
y:=1/x;
write ('Ответ: y=', y);
end;
readkey;
end.
А, вот так, что ли? - Но тоже не очень умно - лучше бы уж с метками сделать, но ладно:
Program P1;
uses crt;
var x, y: real;
begin
clrscr;
write ('Введите значение переменной x: x=');
readln (x);
if x=0 then begin
repeat
writeln ('x не может быть = 0. Попробуйте снова.');
write ('Введите значение переменной x: x=');
readln (x);
until x<>0;
end;
y:=1/x;
write ('Ответ: y=', y);
readkey;
end.
const
N1 = 100;
M1 = 100;
type
TRow = array[1..N1] of integer;
TTable = array[1..M1] of TRow;
procedure fill(var m: TTable;n,n2:longint);
var
i,j,ch:integer;
begin
for i:= 1 to n do
for j:= 1 to n2 do
read(m[i][j]);
end;
function output(const m: TTable;n,n2:longint):real;
var
i,j,s,col,min:integer;
otvet:real;
begin
s:=0;
col:=0;
for i:=1 to n2 do
begin
min:=m[1][i];
for j:=2 to n do
if m[j][i] < min then
min:=m[j][i];
inc(col);
inc(s,min);
end;
otvet:= s/col;
output:=otvet;
end;
var
a:ttable;
n,n2:longint;
begin
read(n,n2);
fill(a,n,n2);
writeln(output(a,n,n2):0:2);
end.
N1 = 100;
M1 = 100;
type
TRow = array[1..N1] of integer;
TTable = array[1..M1] of TRow;
procedure fill(var m: TTable;n,n2:longint);
var
i,j,ch:integer;
begin
for i:= 1 to n do
for j:= 1 to n2 do
read(m[i][j]);
end;
function output(const m: TTable;n,n2:longint):real;
var
i,j,s,col,min:integer;
otvet:real;
begin
s:=0;
col:=0;
for i:=1 to n2 do
begin
min:=m[1][i];
for j:=2 to n do
if m[j][i] < min then
min:=m[j][i];
inc(col);
inc(s,min);
end;
otvet:= s/col;
output:=otvet;
end;
var
a:ttable;
n,n2:longint;
begin
read(n,n2);
fill(a,n,n2);
writeln(output(a,n,n2):0:2);
end.
Похожие вопросы
- сколько чисел находится между CD 16 и D4 16 информатика 10-11 класс
- Информатика 10-11 класс Массивы Pascal1
- 10-11 класс информатика, дайте решение, пожалуйста
- Помогите с темой индивидуального проекта 10-11 класс.
- Информатика 10 класс. Паскаль
- Информатика 10 класс Паскаль.
- Помогите пожалуйста!!! Информатика 10 класс Паскаль
- Информатика 9 класс. Паскаль. Даю 10 баллов
- Информатика 10 класс паскаль
- Информатика 10 класс