Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.03.2017, 07:14   #1
kanav2
 
Регистрация: 16.03.2017
Сообщений: 6
Восклицание PASCAL-Объясните пошагово что происходит в этом цикле пожалуйста

var f,g:text;
n,s,s1:string;
a,k,p:integer;
begin
assign(f,'family.txt');
reset(f);
assign(g,'note.txt');
reset(g);
writeln(' |Ф.И.О| ↓Оценки↓');
while not eof(g) do begin
readln(f,s1); readln(g,s);
writeln(s1,' ',s);
end;

close(f);
close(g);
assign(f,'family.txt');
reset(f);
assign(g,'note.txt');
reset(g);
writeln('Cписок студентов получающих стипендию:');
k:=0;
while not eof(f) do
begin
readln(f,n);
p:=0;
while not eoln(g)and(p=0) do
begin
read(g,a);
if not(a in [4,5])then p:=1;
end;
if p=0 then
begin
k:=1;
writeln(n);
end;
readln(g,s);
end;

close(f);
close(g);
if k=0 then write('Таких студентов нет');
end.
Объясните пошагово что происходит в этом цикле пожалуйста(выделено красным)
kanav2 вне форума Ответить с цитированием
Старый 17.03.2017, 08:21   #2
Pavia
Лис
Старожил
 
Аватар для Pavia
 
Регистрация: 18.09.2015
Сообщений: 2,409
По умолчанию

Код:
k:=0; // переменной k присвоить ноль
 while not eof(f) do // будем повторять цикл пока не будет достигнут конец файла
 begin                  // начало цикла
 readln(f,n);          // читаем переменную n из файла family.txt, с вычиткой до конца строки  
 p:=0;                 // переменной p присвоить ноль
 while not eoln(g)and(p=0) do  // повторять цикл  пока не закончится строка в файле note.txt и пока p не станет равным нулю
 begin
 read(g,a);          // читаем переменную a из файлы note.txt, вероятно это оценки
 if not(a in [4,5])then p:=1; // если a не равно 4 или 5 то присвоить p единицу
 end;
 if p=0 then // если  p равен нулю, то:
 begin
 k:=1;  // - присвоить k единицу;
 writeln(n); // - вывести на экран переменную n содержащую ФИО. 
 end;
 readln(g,s); // вычитываем строку из файла note.txt, что-бы перейти на следующую строку.
 end;
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
У дзен программиста программа делает то что он хотел, а не то что он написал .
Pavia вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите пожалуйста, объясните что происходит в каждой строчке программы. nason Помощь студентам 0 15.12.2015 19:22
объясните пожалуйста в коментариях что происходит в каждой строчке(С++Builder) Coca Colla Помощь студентам 6 13.05.2014 14:37
что происходит в этом коде Dimasik73 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 5 19.02.2012 23:54
Задачка на Pascal, объясните, пожалуйста, я тут что -то не могу разобраться. Girlo4ka Помощь студентам 6 28.12.2008 15:02