Программирование на языке высокого уровня
Работа добавлена: 2015-11-24





Федеральное Агентство по Образованию РФ

Томский Университет Систем Управления и Радиоэлектроники (ТУСУР)

Кафедра компьютерных систем управления в проектировании (КСУП)

Отчет к лабораторной работе №3 (задачи №8 и №81)

По дисциплине

“Программирование на языке высокого уровня”

                                                                                                                  Выполнил:

             Студент группы 585-2

                                                                                                     Чекрыгин С.С.

 

                                                                                                Проверила:

                                                                                                     Потапова Е.А.

Томск 2005

Содержание:

  1.  Содержание……………………………………………………………………….2
  2.  Введение…………………………………………… …………………………….3
  3.  Условие задачи №8..……………………………………….………….……….. 4
  4.  Описание используемых переменных задачи №8..……………….…….…. 4
  5.  Формальное представление алгоритма задачи №8..……………….….……4
  6.  Текст задачи №8………………..……………………………………….…....…..5
  7.  Блок – схема задачи №8...……………………………………………….………6
  8.  Условие задачи №81…………………………………………………….…..……7
  9.  Описание используемых переменных задачи №81………………….…….... 7
  10.  Формальное представление алгоритма задачи №81…….……….……….… 7
  11.  Текст задачи №81………………………………………………………………....8
  12.  Блок – схема задачи №81……………………………………………………...…9
  13.  Вывод……………………………………………………………………………….10

ВВЕДЕНИЕ

   

Массив- это структурированный тип данных, состоящий из фиксированного числа элементов, имеющих один и тот же тип.

a : array[1..2, 1..2] of integer

Если в такой форме описания задан один индекс, массив называется одномерным,

если  два индекса - двумерным

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

Копированием массивов называется присваивание значений всех элементов одного массива всем соответствующим элементам другого массива.

          Сортировкой называется распределение элементов множества по группам в соответствии с определенными правилами.

Условие задачи 8:

8.  Даны  натуральное  m,  действительные  a[1], a[2],...a[n] (числa а[1],  a[2],...a[n]  попарно  различны,  m<=n).  В последовательности a[1],  a[2],...a[n]  поменять  местами  наибольший  член  и  член  с номером m.

Описание используемых переменных и обоснование выбора типа переменных.

 n - целочисленная без знаковая переменная –  число членов последовательности. 

 i- целочисленная без знаковая переменная – счетчик.

 s - целочисленная без знаковая переменная – номер наибольшего члена.

  m - целочисленный массив – номер члена последовательности, вводимый с клавиатуры

 a - вещественные члены массива -последовательности.

 max- вещественная переменная – наибольший член последовательности.

Формальное описание алгоритма решения задачи:

for вводим элементы массива A-последовательности;  

 

 

 

 

 

Текст программы:

program zad8;                                                     (название программы)

uses CRT;                                                     (включение дополнительной библиотеки)

var                                                                       (раздел переменных)    

n,m,s,i:integer;                                         (целые значения переменных)

a:array[1..100] of real;                                       (вещественные значения членов  массива)

max,b:real;                                                         (вещественные значения переменных)

begin                                          (начало программы)

clrscr;                                                                 (очистка экрана)

writeln('Vvedite kol-vo chlenov');                     (вывод строки на экран)   

write('n= ');                                                        (вывод строки на экран)   

readln (n);                                                          (ввод значения с клавиатуры)

writeln('Vvedite chisla');                                   (вывод строки на экран)   

for i:=1 to n do                                    (цикл от 1 до n)  

begin                                                                  (начало тела цикла)

write('a[',i,'] = ');                                                 (вывод строки на экран)   

read (a[i]);                                                          (ввод значения с клавиатуры)

end;                                                  (конец тела цикла)         

readln;

writeln('Vvedite m');                                         (вывод строки на экран)   

write('m= ');                                                      (вывод строки на экран)   

readln (m);                                                        (ввод значения с клавиатуры)

max:=a[1];                                        (присваивание значения переменной max)

s:=1;                                                                  (присваивание значения переменной s)

for i:=1 to n do                                                  (цикл от 1 до n)  

                 if max<a[i+1] then                (условие, если верно)

                 begin                                       (начало тела цикла) 

                 max:=a[i+1];                                  (присваивание значения переменной max)

                 s:=i+1;                                            (присваивание значения переменной s)

                end;                                                 (конец тела цикла)         

b:=a[m];                                                           (присваивание значения переменной b)

a[m]:=max;                                                      (присваивание значения элементу массива)

a[s]:=b;                                                             (присваивание значения элементу массива)

for i:=1 to n do write(' ',a[i]:3:1);                     (цикл от 1 до n)

readln;

end.                                                                  (конец программы)          

Блок  схема задачи №8.

 

 

 

                                                                              

Условие задачи 81:

 81.  Имеется  таблица  Т  результатов некоторого шахматного турнира, в котором участвовало n шахматистов (n>2):

 T: array [1..n,1..n]  of (w,e,f,s), где T[i,j]=w, если i-ый участник выиграл у j-го (при этом       T[j,i]=f);

 T[i,j]=e, если i-ый  и j-ый участники  сыграли вничью;

 T[i,i]=s.

Возможный вид таблицы:  

                       s w f

                       f s e

                       w e s

За выигрыш дается 1 очко, за ничью  - 0.5 очка, за проигрыш -  0 очков.  Выдать  на   печать  номера   участников  в   порядке
невозрастания набранных ими очков.

Описание используемых переменных и обоснование выбора типа переменных.

 n  - целочисленная без знаковая переменная - число шахматистов. 

 i, j  - целочисленные без знаковые переменные - счетчики .

 t  - элементы двухмерного  массива – таблица.

 u  - элементы одномерного  массива – последовательности.

Формальное описание алгоритма решения задачи:

 Шаг 1. Вводим число участников - n;

 Шаг 2. С помощью двух циклов for заполняем массив T - таблицу;

 Шаг 3. Выводим таблицу на экран;                     

 Шаг 4. Считаем кол-во очков у участников:

 Шаг 5. Рассматриваем каждую строку таблицы – результат одного участника;

 Шаг 6. Если строка содержит символ w, то прибавляем к результату участника 1 очко;

 Шаг 7. Если строка содержит символ e, то прибавляем к результату участника 0.5 очка;

 Шаг 8. Выводим на экран результаты.

Текст программы:

program zad81;                                            (название программы)

 uses CRT;                                   (включение дополнительной библиотеки)

type bukva='e'..'w';                                                (описание типа)

var                                                                    (раздел переменных)    

n,i,j:integer;                                                        (целые значения переменных)

T:array[1..100,1..100] of bukva;                           (элементы двухмерного массива )

U:array[1..100] of real;                           (вещественные элементы одномерного массива )

Begin                                                                     (начало программы)

clrscr;                                                                     (очистка экрана)

writeln('Vvedite kol-vo участников');                  (вывод строки на экран)   

readln (n);

for i:=1 to n do                                                        (цикл от 1 до n)  

for j:=1 to n do                                                        (цикл от 1 до n)  

begin                                                                        (начало тела цикла)

write('t[',i,j,'] = ');                                                     (вывод строки на экран)   

readln (t[i,j]);                                                           (ввод значения с клавиатуры)   

end;                                                                          (конец тела цикла)    

writeln('Таблица результатов:');                           (вывод строки на экран)   

for i:=1 to n do                                                        (цикл от 1 до n)  

begin                                                                        (начало тела цикла)

for j:=1 to n do                                                         (цикл от 1 до n)  

write(' ',t[i,j]);                                                           (вывод строки на экран)   

writeln;

end;                                                                           (конец тела цикла)    

for i:=1 to n do                                                          (цикл от 1 до n)  

             begin                                                           (начало тела цикла)

             u[i]:=0;                                           (присваивание значения элементу массива U)  

              begin                                                          (начало тела цикла)

              for j:=1 to n do                                           (цикл от 1 до n)  

               begin                                                         (начало тела цикла)

               if t[i,j]=chr(ord('w')) then u[i]:=u[i]+1;    (условие, если верно)

               if t[i,j]=chr(ord('e')) then u[i]:=u[i]+0.5; (условие, если верно)

               end;                                                           (конец тела цикла)    

              end;                                                            (конец тела цикла)    

             writeln(u[i]:3:1,'-кол-во очков у участника номер ',i);  (вывод строки на экран)   

             end;                                                             (конец тела цикла)    

readln;

end.                                      (конец программы)          

БлокСхема задачи №81

 

 

                                                               

 

                       

 

Вывод:.

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


Для
i от 1     до n

     s:=1

Для j от 1 до n

 Ввод a[i]

Для i от 1     до n

Конец.

    s:=i+1

    a[s]:=b

 Ввод m

  t[i,j]

Для i от 1  до n

Для i от 1 до n

max:=a[i+1]

 Ввод t[i,j]

max<a[i+1]

 Ввод n

Начало

Начало

Конец.

  u[i]:=0

 Ввод n

  u[i]:

u[i]:=u[i]+0.5

Для i от 1 до n

   a[m]:=max

a[i]    

max:=a[1];

    b:=a[m]

t[i,j]=chr(ord('e'))

u[i]:=u[i]+1

t[i,j]=chr(ord('w'))

Для j от 1 до n

Для i от 1 до n

Для j от 1 до n




1. Программирование на языке высокого уровня

2. Программирование на языках высокого уровня

3. Строки в программировании на языках высокого уровня

4. Программирование на языке JavaScript

5. Представление о программировании: язык программирования (на примере одного из языков высокого уровня); примеры несложных программ с линейной, ветвящейся и циклической структурой

6. Программирование на языке С++ с использованием классов

7.  Технологическое обоснование и разработка экологически безопасной технологию возделывания озимой ржи в условиях Тверской области , обеспечивающая получение ДВУ зерна высокого качества

8. Фразеологизмы в русском языке

9. Использование классов в языке Си++

10. Поведение ударений в русском языке