Вот что у меня есть и что еще нужно:
Задание на создание программы (ветвление)
Вопрос: Для двух чисел Х и У, вводимых с клавиатуры, на экран дисплея вывести sin большего числа и cos меньшего.
Ответ:
- Код: Выделить всё
- program xy;
 
 uses crt;
 
 var
 x, y: real;
 
 begin
 ClrScr;
 Write ('Введите число X:');
 ReadLn(x);
 WriteLn;
 Write ('Введите число Y:');
 ReadLn(y);
 WriteLn;
 
 If x = y then
 begin
 Writeln('Числа Х и Y равны. Запустите программу еще раз с разными значениями Х и Y');
 ReadLn;
 exit;
 end;
 
 If x > y then
 begin
 writeln('Большим является X и синус числа равен:',sin(x):3:3);
 writeln('Меньшее - Y и его косинус:',cos(y):3:3);
 end
 else
 begin
 writeln('Большим является Y и синус числа равен:',sin(y):3:3);
 writeln('Меньшее - X и его косинус:',cos(x):3:3);
 end;
 
 Readln;
 end.
Для введенного целого числа определить, делится ли оно нацело на два, три или на пять.
Решения и листинга нет.
Необходимо сделать.!!!
Вопрос:Линейные структуры, стандартные функции -- Найти значение функции
где a=0,5, b=3,2. Значение x>0 (тип данных: Real) вводится с клавиатуры.
Решение:
- Код: Выделить всё
- program func;
 
 uses crt;
 
 const
 a = 0.5;
 b = 3.2;
 
 var
 f, x: real;
 
 begin
 
 ClrScr;
 Write('Введите число X, оно должно быть > 0: ');
 ReadLn(x);
 Writeln;
 
 If x <= 0 then
 begin
 writeln('Число X <= 0. Запустите программу заново с Х > 0.');
 readln;
 exit;
 end;
 
 f := exp(2*x)*sin(a+x)/cos(a+x)-exp(ln(b)*3*x)*sin(b-x)/cos(b-x);
 
 writeln('Значение функции f = e^2x*tg(a+x) - b^3x*tg(b-x), при a = 0.5, b = 3.2, равно: ',f:5:3);
 readln;
 end.
Вопрос: Ветвление -- Даны две точки: A(x1, y1) и B(x2, y2). Определить, какая из точек находится ближе к началу координат. Координаты точек вводятся с клавиатуры
Решение:
- Код: Выделить всё
- program koor;
 
 uses crt;
 
 var
 x1,x2,y1,y2 : integer;
 res1, res2 : real;
 
 begin
 ClrScr;
 Write ('Введите через пробел координаты точки А:');
 Read(x1);
 Read(y1);
 WriteLn;
 Write ('Введите через пробел координаты точки B:');
 Read(x2);
 Read(y2);
 WriteLn;
 
 res1 := sqrt(sqr(x1)+sqr(y1));
 res2 := sqrt(sqr(x2)+sqr(y2));
 
 if res1 = res2 then
 begin
 writeln('Точки A и B симметричны отностительно начала координат');
 ReadLn;
 exit;
 end;
 
 if res1 < res2 then
 writeln('Точка А находится ближе к началу координат.')
 else
 writeln('Точка B находится ближе к началу координат.');
 
 Readln;
 end.
Вопрос:Циклы (все три вида: For, While, Repeat) -- Дана последовательность из N произвольных целых чисел. Написать программу, которая определяет, сколько в этой последовательности отрицательных чисел, кратных 5
Ответ:
- Код: Выделить всё
- program sequence;
 
 uses crt;
 
 var
 seq: array[1..100] of integer;
 n, i, cnt: integer;
 r: real;
 
 
 begin
 clrscr;
 write('Введите длину последовательности чисел: ');
 readln(n);
 for i:=1 to n do
 begin
 Write('Введите значение ',i,' элемента массива: ');
 readln(seq[i]);
 end;
 
 for i:=1 to n do
 if (seq[i] < 0) and (abs(frac(seq[i]/5)) = 0) then
 cnt := cnt + 1;
 
 write('В последоватеьности из ',n,' чисел: ');
 for i:=1 to n do
 Write(seq[i],' ');
 
 writeln;
 write('В этой последовательности отрицатеьных чисел кратных 5 - ',cnt);
 readln;
 
 end.
Вопрос:Двумерные массивы -- Заполнить массив по следующему правилу: элементы главной диагонали равны 3, ниже главной диагонали – 1, а выше – сумме индексов
Ответ:
- Код: Выделить всё
- program arrays;
 
 uses crt;
 
 var
 seq: array [1..100,1..100] of integer;
 i, j, m, n: integer;
 
 begin
 clrscr;
 write('Через пробел введите размерность двумерного массива: ');
 read(m);
 readln(n);
 writeln('Массив заполнился следующим образом:');
 
 for i:=1 to m do
 begin
 for j:=1 to n do
 begin
 if i < j then
 seq[i,j] := i + j;
 if i = j then
 seq[i,j] := 3;
 if i > j then
 seq[i,j] := -1;
 write(seq[i,j],' ');
 end;
 writeln;
 end;
 
 readln;
 
 end.
Вопрос:Строковые величины -- Найти, сколько раз в предложении встречаются заглавные гласные буквы
Ответ:
- Код: Выделить всё
- program strings;
 
 uses crt;
 
 const
 st = 'АЕИОУЫЭЮЯ';
 
 var
 str: string;
 i, cnt: integer;
 
 begin
 clrscr;
 write('Введите строку для обработки: ');
 readln(str);
 
 for i := 1 to length(str) do
 if pos(str[i],st) <> 0 then
 cnt := cnt + 1;
 
 writeln;
 writeln('В строке: ',str);
 writeln;
 write('Заглавных гласных букв - ',cnt);
 readln;
 end.
Вопрос:Записи -- Построить массив записей о студентах. Каждая запись должна содержать фамилию, группу, срок обучения. Рассчитать для каждого студента, сколько месяцев осталось до окончания обучения
Ответ:
- Код: Выделить всё
- program records;
 
 uses crt;
 
 type
 Tinfo = record
 Family: string[20];
 Group: string[5];
 Srok: integer;
 end;
 
 var
 info: array [1..100] of Tinfo;
 term: array [1..100] of Integer;
 n, i, tmp, err: integer;
 
 
 begin
 clrscr;
 write('Введите количество студентов: ');
 readln(n);
 Writeln('Через пробел введите фамилию студента, его группу и срок обучения в месяцах: ');
 for i := 1 to n do
 begin
 with info[i] do
 begin
 write('Введите фамилию ',i, ' студента: ');
 readln(family);
 write('Введите группу ',i, ' студента: ');
 readln(group);
 write('Введите срок обучения ',i, ' студента: ');
 read(srok);
 end;
 end;
 
 for i := 1 to n do
 begin
 with info[i] do
 begin
 val(copy(group,1,1),tmp,err);
 if err = 0 then
 term[i] := srok - tmp * 12;
 end;
 end;
 
 for i := 1 to n do
 begin
 writeln('Для студента ',info[i].family,' осталось учиться ',term[i],' месяцев');
 end;
 readln;
 end.
Все. Вопрос по поводу кодировки языка. Как сделать что-б по русски было???
Не работает переключение раскладки ctrl+shift правый
Прошу Вас помочь и проверить код и правильность листинга







