Общее·количество·просмотров·страницы

среда, 29 октября 2014 г.

Программирование циклов в Паскале.
При решении задач может возникнуть необходимость повторить одни и те же действия несколько или множество раз. В программировании блоки кода, которые требуется повторять не единожды, оборачиваются в специальные конструкции –циклы. У циклов выделяют заголовок и тело. Заголовок определяет, до каких пор или сколько раз тело цикла будет выполняться. Тело содержит выражения, которые выполняются, если в заголовке цикла выражение вернуло логическую истину (True, не ноль). После того как достигнута последняя инструкция тела, поток выполнения снова возвращается к заголовку цикла. Снова проверяется условие выполнения цикла. В зависимости от результата тело цикла либо повторяется, либо поток выполнения переходит к следующему выражению после всего цикла.
В языке программирования Паскаль существует три вида циклических конструкций.
Цикл while
Цикл while является циклом с предусловием. В заголовке цикла находится логическое выражение. Если оно возвращает true, то тело цикла выполняется, еслиfalse – то нет.
Когда тело цикла было выполнено, то ход программы снова возвращается в заголовок цикла. Условие выполнения тела снова проверяется (находится значение логического выражения). Тело цикла выполнится столько раз, сколько раз логическое выражение вернет true. Поэтому очень важно в теле цикла предусмотреть изменение переменной, фигурирующей в заголовке цикла, таким образом, чтобы когда-нибудь обязательно наступала ситуация false. Иначе произойдет так называемое зацикливание, одна из самых неприятных ошибок в программировании.
Program zadacha;
var
    i, n: integer;
begin
    write ('Количество знаков: ');
    readln (n);
         i := 1;
    while i <= n do begin
        write ('(*) ');
        i := i + 1
    end;
    readln
end.

понедельник, 1 апреля 2013 г.

Тема "Программирование линейных и условных алгоритмов"
 Некоторые стандартные математические функции
При использовании стандартных функций необходимо контролировать тип аргумента  (возможные типы указаны в скобках).
a:=random(x) – случайное число (если аргумент не указан, то результат real – число в  интервале от 0 до 1, если x целое число от 0 до 65535, то результат случайное целое  число в интервале от 0 до х-1;
a:=abs(x) – модуль (абсолютная величина) x (real или integer);
a:=b div x – целая часть, полученная при делении числа b на число x (число real, результат integer), 
a:=b mod x –остаток от деления числа b на число x,
a:=round(x) – целое число, полученное в результате округления числа x по правилам математики
a:=sqr(x) – квадрат числа x (real, integer);
a:=sqrt(x) – квадратный корень из числа x (real, x>0);
 Наберите следующую программу и разберитесь в ее работе:
Вычислить сумму цифр трехзначного числа a, введенного с клавиатуры.  В  программе  каждая цифра определяется как количество сотен, десятков и единиц с помощью арифметических  операций.
program summa;
uses crt;
   var  a, s, d, e, o : integer;
begin
  writeln('Сумма цифр трехзначного числа');
  write('Введите целое трехзначное число  ');
  readln(a);
  clrscr;
 s:=a div 100;                                          {количество сотен}
  o:=a mod 100;               
  d:=o div 10;                                            {количество десятков}
  e:=a-s*100-d*10;                                    {количество единиц}
  writeln('Сумма цифр трехзначного числа=', s+d+e);
end.
  Структура условного оператора:
      If условие Then группа операторов [Else группа операторов];
Перед Else знак " ; " никогда не ставится. В квадратных скобках указана необязательная часть.
     В качестве условия может быть использовано любое  выражение логического типа.
     Условия можно объединять с помощью OrИли и с помощью AndИ.  Если  условий  несколько, то каждое из них необходимо заключить в скобки:
If  (a>2) and (b<2) Then
Наберите и отладьте программу trеug1
Программа  должна  запросить  три  стороны  треугольника  и  по  ним    определить тип треугольника. Определение типа производится сравнением сторон. После отладки проверьте ее при работе со сторонами
                 а) 2, 2, 2;             ответ должен быть "равносторонний"
                 б) 4, 4, 8;             ответ должен быть "равнобедренный"
                 в) 4, 3, 5              ответ должен быть "разносторонний".
Задачи для самостоятельного решения
1.     Написать  программу  вычисления  расстояния  между    двумя точками с координатами x1, y1, x2, y2. Использовать теорему Пифагора. Результат вывести на экран с поясняющим текстом.
2.    Написать программу вычисления у в зависимости от значения х
              y = 1/x   при х < 0          y = 2*x2 при других х
Задание

Тема "Информационный объем сообщения".

Сегодня мы рассмотрим  примеры задач на определение информационного объема сообщения и попробуем несколько из них решить самостоятельно. Удачи!