Copyright 2024 - Custom text here

Чайник - модуль 1

Содержание материала

 Модуль1.  Простые задачи на линейный алгоритм

Задача: Z1.0 Ввести с клавиатуры скорость катера v и скорость течения vt. Какой путь S пройдет катер по течению за t=2 часа?

 Program Z;
 Const t=2;                                                                    { объявляется константа t=2}
 var v,vt,vp,s: integer;                                                     
 begin                                                                             
 Write ('Введи v катера и v течения ');
 Readln (v, vt);
 vp:=v+vt;                                                                    {находим скорость по течению}
 s:=t*vp;                                                                      {находим расстояние по течению}
 Writeln ('Расстояние по теч.=',s);                                  {печать результата}
 end.

 Измени программу, чтобы время в пути – переменная, а катер плыл против течения.

Предложение от Андрея Вожегова: Известно расстояние, скорость катера и скорость течения. Найти время в пути в часах и минутах

 1.      Разминка

 Z1.1 В магазине предлагают конфеты по N рублей за килограмм. Сколько кг и гр можно купить на M рублей?  Оформить программу, M, N ввести с клавиатуры.

 Z1.2. Пожарных учат надевать штаны за 23 секунды. Ввести с клавиатуры время в минутах. Напечатать, сколько штанов успеет надеть хорошо обученный пожарный за это время (целое число: штаны - штучная вещь!).

 Z1.3 Написать программу, которая меняет местами значения двух переменных a и b, введенных с клавиатуры. Комментарий: чтобы решить эту задачу, используем следующий алгоритм:

 1) объявим в программе третью переменную Х;
 2) запомним в новой переменной Х значение А;
 3) скопируем в А значение из В;
 4) скопируем в В число из Х (исходное значение А).

 Решение - найди ошибку и исправь

 Program Change;
 Var a,b,x: integer;
 begin
 Write ('Введи А и В ');
 Readln (a, b);
   x:=a;                                                  
   a:=b;                                                  
   b:=a;                                                  
 Writeln('a=', a, '  b=', b);                    
 end.

 Z1.4 Что делает эта программа? Оформите программу понятным вводом и выводом.
Program pr;
 var
  a, b, c, d: longint;
 begin
  readln(a);
  b := a; c := a; d := a;
  b := a div 3600;
  c := (a mod 3600) div 60;
  d := a mod 60;
  writeln('',b, ':',c,':',d);
end.

Z1.5 За день машина проезжает n километров. Сколько дней нужно, чтобы проехать маршрут длиной m километров?


 2.      Функции Pascal

 Прочитать стр. 6-9 учебника. Обратить внимание  на функцию квадратного корня.

Z1.6  Ввести с клавиатуры длины катетов треугольника. Найти гипотенузу по теореме Пифагора.

 3.      Случайные числа.

 Иногда  при  решении  задач  удобно  не задавать значения переменным с клавиатуры,  а  вводить  их  случайным  образом:  пусть  число выбирает сам компьютер. Для этого следует:

 1) включить генератор случайных чисел "Randomize".  Он записывается в программе сразу после "begin";

 2) выбрать значение для переменной с помощью функции "Random"

 а) для дробных чисел из интервала  [ X0; X1 ):  X:=Random * (X1-X0) + X0;

 б) для  целых  чисел  из  интервала  [ X0; X1 ]:  X:=Random(X1-X0) + X0.

 3) напечатать полученное число, чтобы знать, что выбрал компьютер:   Writeln ('X=', X);

 ЗАДАЧА. Когда дядя Петя вышел во двор с ружьем, с 1-ой яблони упало f, а со 2-ой - g соседей. Ввести случайным образом значения для f и g, найти общее количество упавших соседей.

                Решение.

 Program D;
 const            x0=1;                         {х0 и х1 – границы интервала случайных чисел }
 x1=10;
 Var f, g, v: integer;
 begin
 Randomize;
 f:=Random(x1-x0)+x0;             {стандартные формулы для случайного числа}
 g:=Random(x1-x0)+x0;
 Writeln ('на 1 яблоне ',f,' соседей');
 Writeln ('на 2 яблоне ',g,' соседей');
 v := f+g;
 Writeln ('всего ', v ,' соседей');
 end.

 
 Z1.7 Петя получил по математике  оценку m, а Вася n. Напечатать полученные оценки.Интересно, а пятерки они когда-нибудь получают?

 Z1.8 Общая тетрадь стоит m р., а блокнот на n р. меньше. Сколько стоят общая тетрадь и блокнот вместе? m и n задать случайным образом.


4.      Данные символьного типа

 До этого мы работали только с числовыми переменными. Данные типа CHAR(1 символ)  и STRING(256 символов) позволяют представлять в программах тексты и производить над ними некоторые операции, например, вставлять и удалять отдельные буквы и слова и т.д.

 Тип STRING

 Program Name;
 Var c : string;
 Begin
 WriteLn( 'Как тебя зовут' );
 ReadLn( c );
 WriteLn( 'Давай дружить,', c,'!' );
 end.

 Z1.9 Программа спрашивает имя и год рождения. Обращаясь по имени, выводит количество лет.

 Z1.10 Программа спрашивает: Как вас зовут? Как зовут вашего друга? Выводит   Имя1+Имя2=ДРУЖБА

 Тип CHAR

 Все символы, которые могут быть значением переменных типа сhar, собраны в таблицу ASCII (как буквы в алфавит). Каждому символу соответствует уникальный код - число от 0 до 255

 Символы имеют коды от 0 до 255.

 ORD(w) - возвращает код символа w.

 CHR(i) - определяет символ с кодом i.

ЗАДАЧА. Ввести с клавиатуры символ . Напечатать его код

 Решение.

 Program simvol;
 Var x:char;
 begin
 Write ('введи символ ');
 Readln (x);
Writeln ('символ - ',x,' код-',ord(x))
end.

 Проведи эксперименты с программой и узнай коды чисел, русских букв.

Меня вдохновляют

22

победы моих учеников  в олимпиадах и конкурсах

конкурсыи олимпиады

Меня воодушевляют

travel

путешествия по стране и встречи с интересными людьми

путешествия

Меня радуют

flower

мои цветы на приусадебном участке

садоводство