Решение задач с 1 по 9 урок

Lesson 3

9. Будет ли работать код: БУДЕТ!!

var i:integer; //Объявляем переменную с типом данных integer.

begin
  i := 123;  //Присваиваем значение 123 (числовой).
  writeln(i); //Выводим на экран. 
 
readln(); // удерживаем консоль
end.
Объясните что здесь происходит.
Будет ли работать код: НЕТ!!
var i:integer; //Объявляем переменную с типом данных integer.
begin
  i := '223'; //Присваиваем значение 223 (Строковое(Ошибка)).
  writeln(i); //Выводим на экран. 
 
readln(); // удерживаем консоль
end.
10. Есть программный код:

b := 8;
c := 9;
// чему равно "c" в этой строке 9
a := b + 3; 11
// чему равно "c" в этой строке 9
a := с * 9 + c * a; 81 + 99 = 180
b := 200 - a; 20
// чему равно b в этой строке ?

12. Запишите строку, в которой с помощью одного writeln() выводятся результаты трёх разных (любых) арифметических выражений.

 begin
    writeln((6 + 10) * 2);
  end.

12.1. Сделайте то же самое, но выводя уже три переменные, каждой из которых предварительно присвойте значение одного из арифметических выражений.

     var
            a,b,c :integer;
        begin
          a := 5;
          b := 20;
          c := 34;
          writeln(a + b * c);
        end.
16. Какие выражения можно присваивать переменным целого типа? Какие операнды могут входить в эти выражения?

var
a,b,c:integer;
begin
a := 3;
b := 2000;
c := a * b;
writeln(c);
end.

17. Объявите пять целочисленных переменных списком, ещё две списком и ещё две по одной. Тело программы можно сделать пусты

   var
      a,b,c,d,e :integer;
      i,g :integer;
      g:integer;
      q:integer;
      begin
      end.
18. Напишите программу, которая выводит на экран значения выражений
 var
      a,b,c:integer;
    begin
      a := 5 + 2*3;
      b := 6+7;
      c := 8*9;
      writeln(a);
      writeln();
      writeln(b);
      writeln();
      writeln(c);
    end.
      var
      a,b,c:integer;
    begin
      a := 5 + 2*3;
      b := 6+7;
      c := 8*9;
      write(a, ' ', b, ' ', c);
    end.
19. У вас есть целочисленная переменная a и два строковых литерала
   var
      a:integer;
    begin
      a := 5;
      writeln('У Васи', ' ', a, ' ', 'яблок');
    end.
20. Васе m лет, а Паше k лет. Напишите программу, в которая считает их суммарный возраст и выводит значение на экран. Конкретные значения возрастов этих двух человек задайте в коде в виде двух переменных, которым присвойте значения целочисленных литералов. Результат суммы запишите в третью переменную и выведите значение на экран.
 var
    v,
    p,
    l:integer;
  begin
    v := 10;
    p := 8;
    l := v + p;
    writeln(l); //18
  end.
21. Напишите программу с тремя переменными целого типа, первым двум присвойте значения, а третьей переменной их произведение за вычетом их суммы (например, для значений 5 и 2 должно получиться выражение эквивалентное: 5∗2−(5+2)). Выведете значение третей переменной на экран.
  var
    v,
    p,
    l:integer;
  begin
    v := 10;
    p := 8;
    l := 10 * 8 - (10 + 8);
    writeln(l); //62
  end.

Lesson 4

4. Происходит ли приведение типа в выражениях
5 + 2.3 //Да. Операнд 5 преобразуется с типа inreger в тип real;
5 + 2/4 //Да. Операнд 5 преобразуется с типа inreger в тип real. Используется оператор деления;
4 + 2 //Нет оба операнда типа integer
8.0 + 3 //Yes
8 + 3 //No

5. Что такое экспоненциальная форма записи числа? Запишите в такой форме числа:
0.00045 // 4.5E-4
154567.34 //1.5456734E+5
2.345 //2.345e+0

6. Выведите на экран сумму чисел 5 и 7.3

  begin
   writeln(5 + 7.3); //12.3 (1.2300000000000001E+001)
  end.
7. Выведите на экран сумму значений двух переменных, со значениями 8 и 71.3 (предварительно объявите эти переменные и присвойте им указанные значения).
  var
    a:integer;
    b,c:real;
  begin
    a := 8;
    b := 71.3;
    writeln(a + b); //79.3 (7.9299999999999997E+001)
  end.
8. Выведите на экран сумму чисел 9 и 4.3, записав результат в переменную и используя для вывода уже значение переменной.
  var
    a:integer;
    b,c:real;
  begin
    a := 9;
    b := 4.3;
    c := a + b;
    writeln(c); //13.3 (1.3300000000000001E+001)
  end.
9. Присвойте трем переменных значения 34, 36.7 и 7.3, в четвертую переменную запишите разность между произведением и суммой первых трёх переменных и выведете значение на экран.
  var
    a:integer;
    b,c,i:real;
  begin
    a := 34;
    b := 36.7;
    c := 7.3;
    i := (a * b * c) - (a + b + c)
    writeln(i); //9030.94 (9.0309400000000005E+003)
  end.

Lesson 5

7. Вам нужно получить от пользователя два вещественных числа и ещё два целых, запишите все эти 4 значения в переменные и выведете значения переменных на экран, чтобы было ясно значение какой переменной чему равно.

var
  i, o :integer;
  a, b :real;
begin
   writeln('vvedite vechestvennoe znachenie:');
   readln(a, b);  // читаем значение из консоли
   writeln('vvedite celie 4isla');
   readln(i, o); 
   writeln('Otvet i=', i, 'o=', o);
   writeln('Otvet: a=', a, '  b=', b);
end.
8. Получите от пользователя целое значение, умножьте его на значение вещественной переменной (присвойте ей его явно в коде), результат произведения запишите в третью переменную и выведете её значение на экран.
var
  i :integer;
  a, b :real;
begin
  a := 34.3;
   writeln('vvedite celoe 4islo');
   readln(i); 
   b := a * i;
   writeln('b=', b); //
end.
9. Получите от пользователя значений трех чисел -- два целых и одно вещественное и выведите на экран значение их суммы.
var
  i,a :integer;
 b :real;
begin
   writeln('vvedite 4islo');
   readln(i, a); 
   readln(b);
   writeln(i + a + b);
end.

Lesson 6

true AND true //true
false AND false //false
true AND (true AND true) //true
true OR false //true
true OR true //true
true OR true AND false //true Приоритет команды AND выше. Выполняется первой
false OR true AND true //true хотя бы один операнд должен быть ТРУ
false OR (true AND true) //true
true OR (true AND true) //true
true OR (false AND true) OR true //true
true OR (false AND true) OR true AND false //true

9. Сравните число 8 и число 9.55, выведите результат сравнения на экран.

 begin
    writeln(8 = 9.55);
  end.
10. ользователь вводит два значения, одно целое, а другое вещественное, проверьте больше ли первое число второго, выведя на экран надпись
var 
a:integer;
b:real;
begin
  writeln('Введите чисо: ');
  readln(a, b);
  writeln(a >= b);
end.
11. Даны два целых числа: $A$ и $B$. Проверить истинность высказывания: «Сумма чисел Число $A$ и число $B$ больше 12».
var
  a,b,c:integer;
begin
  writeln('Введите числа: ');
  readln(a,b);
  c := a + b;
  writeln(c > 12);
end.
12. Даны три целых числа: $A$, $B$, $C$. Проверить истинность высказывания: «Число $A$ находится между числами $B$ и $C$».
var
  a,b,c:integer;
begin
  writeln('Введите числа: ');
  readln(a,b,c);
  writeln(((a < b) AND (b < c) OR (a > b) AND (b > c)));
end.
13. Даны три целых числа: $A$, $B$, $C$. Проверить истинность высказывания: « Число $A$ и число $B$ больше 17, а $C$ > 7».
var
  a,b,c:integer;
begin
  writeln('Введите числа: ');
  readln(a,b,c);
  writeln(((a AND b ) > 17), C > 7);
end.
// Вариант с if
var
  a,b,c:integer;
begin
  writeln('Введите числа: ');
  readln(a,b,c);
  if ((((a AND b) > 17) AND (c > 7))) then
    writeln('Верно')
else
  writeln('Неверно');
end.
14. Пользователь вводит четыре числа, проверьте, что первое больше третьего и при этом (одновременно второе меньше четвертого).
var
  a,b,c,d:integer;
begin
  writeln('Введите числа: ');
  readln(a,b,c,d);
  writeln(((a > c) AND (b < d)));
end.

Lesson 7

1. Объявите три переменные типа char, присвойте им значения и выведите эти значения на экран:

var a, b, c: char; // объявляем переменную символьного типа
begin
 a := '$';
 b := '#';
 c := '*';
 write(a, ' ', b, ' ', c);
 writeln();
 writeln(a);
 writeln(b);
 writeln(c);
end.
2. Получите от пользователя значения переменной, сравните его со значением символа пятёрки $5$ и выведите результат сравнения на экран.
var a: char; // объявляем переменную символьного типа
begin
  writeln('Введите символ: ');
  readln(a);
  writeln(a = '5');
end.
var a: char; // объявляем переменную символьного типа
begin
  writeln('Введите символ: ');
  readln(a);
  if (a = '5') then
  writeln('a = 5: ', 'Угадали')
  else
    writeln('Неверно');
end.
3. Получите от пользователя значения двух символьных переменных, сравните значение каждой с символьным литералом (используйте два разных) и выведите два результата сравнения на экран -- 1) сравнение первой переменной с первым литералом и 2) сравнения второй переменной со вторым литералом.
var a, b: char; // объявляем переменную символьного типа
begin
  writeln('Введите символ a: ');
    readln(a);
  if (a = '^') then
  writeln('a = ^: ', 'Угадали')
    else
      writeln('Неверно');
  writeln('Введите символ b: ');
  readln(b);
  if (b = '$') then
    writeln('b = $:', 'Угадали')
    else
      writeln('Неверно');
end.
4. Получите от пользователя значения три символьных значения, выясните -- равны ли все они друг другу и уведомьте о результатах сравнения пользователя, выведя итог в консоль.
Подсказка: для получения итогового результата нескольких сравнений используйте одну из логических операций.
var a, b, c: char; // объявляем переменную символьного типа
begin
  writeln('Введите символы a, b, c: ');
    readln(a);  //why readln(a, b, c) not working??
    readln(b);
    readln(c);
  if ((a = b) AND (c = a)) then
     writeln('a, b, c: ', 'Равны')
    else
      writeln('Не равны');
end.
5. Получите от пользователя значения четырёх символьных значения, выясните -- выполняется ли следующее условие: """первая переменная равна третьей, не равна второй или третья равна четвертой"""
var a, b, c, d: char; // объявляем переменную символьного типа
begin
  writeln('Введите символы a, b, c, d: ');
    readln(a);
    readln(b);
    readln(c);
    readln(d);
  if ((((a = c) AND  (a <> b)) OR (c = d))) then
     writeln('Равны')
    else
      writeln('Не равны');
end.

Lesson 8

3. Объявите 5 переменных строкового типа. Одной из них присвойте значение и выведете значение этой переменной на экран.

var a, b, c, d, e: string; // секция объявления переменных

begin  // начало тела программы
  b := 'hello';
  writeln(b);
end.
4. Получите от пользователя 5 строк, сложите их и выведите полученный результат на экран.
var a, b, c, d, e: string; // секция объявления переменных

begin  // начало тела программы
    writeln('Введите строку а');
  readln(a);
    writeln('Введите строку b');
  readln(b);
    writeln('Введите строку c');
  readln(c);
    writeln('Введите строку d');
  readln(d);
    writeln('Введите строку e');
  readln(e);
    writeln(a + ' ' + b + ' ' + c + ' ' + d + ' ' + e);
end.
5. Получите от пользователя три произвольных строки, одним выражением выполните конкатенацию следующим образом:

""первая строка + произвольный литерал + вторая строка + третья строка""

var a, b, c: string; // секция объявления переменных

begin  // начало тела программы
    writeln('Введите строку а');
  readln(a);
    writeln('Введите строку b');
  readln(b);
    writeln('Введите строку c');
  readln(c);
    writeln(a + ' произвольный литерал ' + b + c);
end.
6. Получите от пользователя четыре строковых значения, выведете на экран результат проверки условия:

""первое значение равно третьему и первое НЕ равно четвертому или четвертое равно третьему"".

var a, b, c, d: string; // секция объявления переменных

begin 
    writeln('Введите строку а');
  readln(a);
    writeln('Введите строку b';
  readln(b);
    writeln('Введите строку c');
  readln(c);
    writeln('Введите строку d');
  readln(d);
    writeln(((a = c) AND (a <> d) OR (d = c)));
end.

Lesson 9

1. Сравните два числа, если первое больше второго, то выведите на экран "12". (здесь нужно использовать неполную форму условного оператора)

var a, b:integer;

begin
  writeln('Input integer');
  readln(a, b);
  if(a > b) then
    writeln('12');
end.
2. Сравните два числа, если первое больше второго, то выведите на экран "12", а если нет, то выведите на экран "888".
var a, b:integer;

begin
  writeln('Input integer');
  readln(a, b);
  if(a > b) then
    writeln('12')
  else
    writeln('888');
end.
3. Даны три целых числа: A, B, C. Проверить истинность высказывания: «Число A находится между числами B и C» -- выведите "да", если истинно и "нет" если ложно.
var a, b, c:integer;

begin
  writeln('Input integer');
  readln(a, b, c);
  if((a < b) AND (b < c)) then
    writeln('Yes')
else
  writeln('no');
end.
4. Даны три целых числа: A, B, C. Проверить истинность высказывания: « Число A и число B больше 17, а C > 7». -- выведите "да", если истинно и "нет" если ложно.
var a, b, c:integer;

begin
  writeln('Input integer');
  readln(a, b, c);
  if(((a AND b) > 17) AND (c > 7)) then
    writeln('Yes')
  else
    writeln('no');
end.
5. Пользователь вводит два числа, найдите из них максимальное.
var a, b:integer;

begin
  writeln('Input integer');
  readln(a, b);
  if(a > b) then
    begin
    writeln('$');
    writeln(a);
  end
  else
    writeln('$');
    writeln(b);

 end.

6. Пользователь вводит три числа, найдите из них максимальное.

Решите тремя способами:
1. С использованием логической операции and.

var a, b, c:integer;

begin
  writeln('Input integer');
  readln(a, b, c);
  if((a > b) AND (a > c)) then
      writeln(a)
  else 
    if((b > c) AND (b > a)) then
      writeln(b)
  else
    writeln(c);
end.
2. С вложенными блоками (без and).
  var a, b, c:integer;

begin
  writeln('Input integer');
  readln(a, b, c);
  if(a > b) then
    writeln(a)
  else if(b > c) then
    writeln(b)
  else
    writeln(c);
end.
3. Без вложенных блоков (без and) -- запомнив максимум из двух в специальной переменной.
 var a, b, c, max:integer;

begin
  writeln('Input integer');
  readln(a, b, c);
  if(a > b) then
    max := a
  else 
    max := b;
  if (c > max) then
    max := c;
    writeln('Max integer is: ', max);
end.
7. Пользователь вводит четыре числа, найдите из них максимальное.
  var a, b, c, d, max:integer;

begin
  writeln('Input numbers: ');
  readln(a, b, c, d);
  if (((a > b) AND (a > c) AND (a > d) )) then
      max := a
  else if ((b > c) AND (b > d)) then
    max := b
  else if ((c > d)) then
    max := c
else
  max := d;
  writeln(max);
end.
8. Коля набрал k баллов, Миша n баллов, а Петя d баллов в ходе соревнований. Если:

сумма баллов Коли и Миши больше 20

или произведение баллов Пети и Миши меньше 55

 var k, n, d:integer;

begin
  writeln('Input numbers: ');
  readln(k, n, d);
  if ((k + n > 20) OR ((d * n) < 55)) then
    writeln('Draw')
else
  writeln('Won K:');
 end.
vedro-compota's picture

проверим на консультации) для одного урока желательно делать один список - т.е. выкладывать их отдельными сообщениями. Пусть эти пока здесь до проверки, переделывать не надо, но следующие уроки лучше отдельными списками.

_____________
матфак вгу и остальная классика =)

Мне сказали что до 9-го урока сделать на одной а потом по отдельности))