Полькаа1642
14.07.2022 01:07

Найдите все ошибки в коде​


Найдите все ошибки в коде​

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
kamilyusupov123
13.06.2021 11:19
Вот так лучше и работает правильно:

var
a: integer;

begin
writeln('Введите номер дня недели');
read(a);
if (a < 1) or (a > 7) then
Write('Ошибка')
else
begin
if a = 1 then
writeln('Понедельник') ;
if a = 2 then
writeln('Вторник') ;
if a = 3 then
writeln('Среда') ;
if a = 4 then
writeln('Четверг') ;
if a = 5 then
writeln('Пятница') ;
if a = 6 then
writeln('Суббота') ;
if a = 7 then
writeln('Воскресенье') end ;
end.

А ещё лучше подобные задания через оператор case делать:

var
n: Integer;

begin
Write('Введите номер дня недели: ');
readln(n);
case n of
1: WriteLn('понедельник');
2: WriteLn('вторник');
3: WriteLn('среда');
4: WriteLn('четверг');
5: WriteLn('пятница');
6: WriteLn('суббота');
7: WriteLn('воскресенье') else Write('ошибка');
end;
end.
0,0(0 оценок)
Ответ:
Metalmekid
07.05.2021 15:15
PascalABC.NET 3.3.5, сборка 1662 от 29.04.2018
Внимание! Если программа не работает, обновите версию!

procedure RedFrac(a,b:integer; var c,d:integer); // сокращение дроби

function Gcd(a,b:integer):integer; // НОД
begin
  while b<>0 do begin a:=a mod b; Swap(a,b) end;
  Result:=a
end;

begin
  var sgnc:=Sign(a); // мы должны учитывать знак!
  var sgnd:=Sign(b); // мы должны учитывать знак!
  c:=Abs(a); d:=Abs(b);
  var g:=Gcd(c,d);
  c:=(c div g)*sgnc; d:=(d div g)*sgnd
end;

begin
  var p,q,r,s:integer;
  Write('Введите числитель и знаменатель: '); Read(p,q);
  RedFrac(p,q,r,s);
  Writeln(p,' / ',q,' = ',r, ' / ',s)
end.

Пример
Введите числитель и знаменатель: 384 4096
384 / 4096 = 3 / 32
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота